打印
[51单片机]

ADC0809跟51连接,接收的数据一直都是0,求大神解救

[复制链接]
1406|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
junlin1993|  楼主 | 2015-5-21 09:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我是希望通过光敏电阻的阻值变化控制LED灯灯的亮度,下面的代码只是控制开关而已。单片机接收的数据一直都是0。。。。下面是我编的代码:
#include<intrins.h>
#include<reg52.h>

#define uchar unsigned char
#define uint unsigned int
unsigned char v;
sbit ST=P2^0;
sbit OE=P2^1;
sbit EOC=P3^2;
sbit CLK=P2^6;
sbit led=P2^7;
sbit ALE=P2^2;
sbit AA=P2^3;
sbit BB=P2^4;
sbit CC=P2^5;

void systimer0_init(void)
{
        TMOD=0x01;//设置为1时用或(|)
    TH0 = 0xdc;              // 定时10ms
    TL0 = 0x00;
        EA = 1;
        ET0=1;  
        TR0=1;
}

void delayus(i)
{
        for(i;i>0;i--);
}

uint ADC_0809()
{        uchar getdata;
        ALE=ST=0;//关闭转换
    OE=0;//关闭输出
    AA=1;  
    BB=1;   
    CC=1;
    ALE=ST=1;//开启转换
    _nop_();
        _nop_();
        _nop_();
        ALE=ST=0;//关闭转换
        _nop_();
        _nop_();
        _nop_();
        while(!EOC);  //等待转换结束
        OE=1;//开启数据输出允许
    getdata=P0;//将数据取走,存放在变量getdata中
        delayus(10);
    v=getdata*1.0*5*1000/255;
        OE=0;//关闭输出
        return v;
}

void main(void)
{
        ALE=ST=0;//关闭转换
    OE=0;//关闭输出
        led = 0;
        systimer0_init();
        while(1)                                                     
        {                           
        if(v==0.00)
    led=1;
    else
    led=0;
        }
}

void time_0() interrupt 1
{
        TH0 = 0xDC;            
        TL0 = 0x00;
        v=ADC_0809();
}

相关帖子

沙发
ningling_21| | 2015-5-21 09:12 | 只看该作者
先排除硬件的问题再查程序

使用特权

评论回复
板凳
junlin1993|  楼主 | 2015-5-21 10:29 | 只看该作者
ningling_21 发表于 2015-5-21 09:12
先排除硬件的问题再查程序

LED灯刚接上电源的时候会闪一下,说明他能接收到信号0。光敏与ADC连接的排针上也是有输入电压。是时钟设置的问题吗?

使用特权

评论回复
地板
ningling_21| | 2015-5-21 10:34 | 只看该作者
junlin1993 发表于 2015-5-21 10:29
LED灯刚接上电源的时候会闪一下,说明他能接收到信号0。光敏与ADC连接的排针上也是有输入电压。是时钟设 ...

你的电路不知道有没有问题,光看程序就有不少问题

uchar 类型的数据不能当作浮点数来操作,结果通常都是0

使用特权

评论回复
5
gx_huang| | 2015-5-21 12:47 | 只看该作者
程序错误太多,v是uchar,但是公式最大可以到5000呀。
还有v和0.00比较,uchar和浮点数比较。

使用特权

评论回复
6
luofeng2g| | 2015-5-21 13:14 | 只看该作者
类型好乱

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝