9057|13

23

帖子

1

TA的资源

一粒金砂(中级)

楼主
 

ADC0808为啥仿真出来的数字不正确呢,算法都正确啊,但是 [复制链接]


#include
#include
#include
#define uchar  unsigned char
#define uint   unsigned int
sbit lcdrs=P2^0;
sbit lcdrw=P2^1;
sbit lcden=P2^2;
sbit ST=P2^4;
sbit EOC=P2^5;
sbit OE=P2^6;
sbit CLOCK=P2^7;
uchar a,b,c,d,VOL;
unsigned char code table1[]={"VOL:"};
void delay1ms()
{ unsigned int x,y; for(x=0;x<10;x++) for(y=33;y>0;y--); }
void delay(unsigned int z)
{ unsigned char x; for(x=z;x>0;x--)   delay1ms();}
void write_com(unsigned char com)
    {
lcdrs=0;  
               P3=com;         
            delay(5);
lcden=1;
delay(5);
lcden=0;
   }
void write_data(unsigned char dat)
{
lcdrs=1;      
            P3=dat;                             
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void init(void)
{
              lcden=0;
           lcdrw=0;
write_com(0x01);   
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x80);
}

   
void display(void)
{
    unsigned int i=0;
    write_com(0x80);   
     {
         while(table1!='\0')
        {
          write_data(table1);
          i++;
          }
     }
}
void readtemp()
     {
      OE=0;ST=0;ST=1;ST=0;
         while(!EOC); OE=1;
         a=P1; OE=0;  delay(10);
         VOL=a*500/255;
         b=VOL/100;c=VOL/10%10;d=VOL%10;            
     
       write_com(0x85); write_data(b+48);write_data(0x2e);write_data(c+48);
       write_data(d+48);
       write_data('V');
      }
void main()
{
     init();
     TMOD=0x01;
    TH0=(65536-2)/256;
    TL0=(65536-2)%256;
    TR0=1;
    ET0=1;
    EA=1;
    CLOCK=0;
    display();
  while(1)
    {  
     readtemp();
    }   
}
void t0(void) interrupt 1 using 0                                          //这个中断左右是使CLOCK产生500kHZ的脉冲
{
    TH0=(65536-2)/256;
    TL0=(65536-2)%256;
    CLOCK=!CLOCK;                          
}                                                       这个例子应该很简单,但是不知道哪里有差错,就是数值不对,哪位大神有空帮忙看看,先谢谢了。我上次看了个网上资料也是这样,我就纳闷,为啥都没人帮人家指出来呢!

xu.jpg (138.87 KB, 下载次数: 1)

xu.jpg
此帖出自51单片机论坛

最新回复

你好。我也有这个问题。  详情 回复 发表于 2016-4-28 12:22
点赞 关注
 

回复
举报

30

帖子

0

TA的资源

一粒金砂(中级)

推荐
 
你需要改两个地方:
1、uint a,b,c,d,e,VOL;改为uint a,b,c,d,e,VOL  因为要显示5v,uchar型范围不够,超过2.55V就显示不正常
2、VOL=a*500/256;改为VOL=a*1.0/256*500;这个应该是和分辨率有关,ADC0808是8位并行,分辨率就是1/256.
另外,仿真电路中ADC0808的输出顺序和标号是相反的,不是1对1,而是1对8。改过后就能正常显示

此帖出自51单片机论坛

点评

虽然我昨晚仿真好了 ,但是你回答的太完美了 谢了 哈哈  详情 回复 发表于 2014-9-9 09:28
 
 
 

回复

23

帖子

1

TA的资源

一粒金砂(中级)

沙发
 
                 这个好上面的 keil文件和仿真图  ,那位大神有空可以看看   哈哈              我一直感觉好纳闷  

AD转换.zip

113.28 KB, 下载次数: 74

此帖出自51单片机论坛
 
 
 

回复

106

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
我记得有个使能端好像不用关来关去的!!!
此帖出自51单片机论坛
 
 
 

回复

106

帖子

0

TA的资源

一粒金砂(中级)

4
 
你试试接下地~
此帖出自51单片机论坛
 
 
 

回复

23

帖子

1

TA的资源

一粒金砂(中级)

5
 
while(!EOC); OE=1;
         a=P1; OE=0;  delay(10);
         VOL=a*500/255;                                    哥,你指的是OE吗,还是,这个是自锁功能呀,接地的 话,  OE=0; 就会输不出结果呀

此帖出自51单片机论坛
 
 
 

回复

106

帖子

0

TA的资源

一粒金砂(中级)

7
 
jxw82284134 发表于 2014-9-8 16:12
你需要改两个地方:
1、uint a,b,c,d,e,VOL;改为uint a,b,c,d,e,VOL  因为要显示5v,uchar型范围不够,超 ...


此帖出自51单片机论坛
 
 
 

回复

23

帖子

1

TA的资源

一粒金砂(中级)

8
 
jxw82284134 发表于 2014-9-8 16:12
你需要改两个地方:
1、uint a,b,c,d,e,VOL;改为uint a,b,c,d,e,VOL  因为要显示5v,uchar型范围不够,超 ...

    虽然我昨晚仿真好了 ,但是你回答的太完美了  谢了              哈哈

此帖出自51单片机论坛

点评

不用客气  详情 回复 发表于 2014-9-12 15:07
 
 
 

回复

23

帖子

1

TA的资源

一粒金砂(中级)

9
 
此帖出自51单片机论坛
 
 
 

回复

30

帖子

0

TA的资源

一粒金砂(中级)

10
 
1322685712 发表于 2014-9-9 09:28
虽然我昨晚仿真好了 ,但是你回答的太完美了  谢了              哈哈

不用客气
此帖出自51单片机论坛
 
 
 

回复

87

帖子

1

TA的资源

一粒金砂(中级)

11
 
正在学习中..................................
此帖出自51单片机论坛
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(初级)

12
 


你好。现在能正常运行吗。我也遇到了同样问题
此帖出自51单片机论坛
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(初级)

13
 


能看到吗
此帖出自51单片机论坛
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(初级)

14
 


你好。我也有这个问题。
此帖出自51单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表