找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3984|回复: 2
收起左侧

单片机AD转换的问题,protues仿真

[复制链接]
ID:50525 发表于 2013-5-24 07:09 | 显示全部楼层 |阅读模式
  1. #include<reg52.h>
  2. #include<absacc.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. #define ADC0809 XBYTE[0x7ff8]    /* 定义ADC0809 端口地址 */
  6. #define LED        P1
  7. sbit EOC=P3^0;
  8. //sbit cs=P3^1;
  9. sbit start=P3^2;
  10. sbit oe=P3^3;
  11. sbit rs=P2^2;
  12. sbit e=P2^4;
  13. sbit lamp=P2^5;
  14. sbit ale=P2^0;
  15. void delayms(uint ms);

  16. void main(void)
  17. {
  18.         uchar  temp;
  19.         delayms(20);
  20.         start=1;
  21.         ale=0;
  22.         delayms(20);
  23.         start=0;//低脉冲启动
  24.         ale=1;//高脉冲开始转换
  25.         lamp=0;
  26.         delayms(5);                                               
  27.                 //delayms(1);
  28.                 while(EOC==0);
  29.                 oe=1;
  30.                 delayms(10);
  31.                 lamp=1;
  32.                 oe=0;
  33.                 temp=ADC0809;
  34.                 LED=temp; //采样结果输出到LED
  35.                 delayms(10);
  36.                 while(1);       
  37. }

  38. void delayms(uint ms)       
  39. // 延时子程序
  40. {                                               
  41.         uchar i,j;
  42.         while(ms--)
  43.         {
  44.                 for(i = 0; i < 120; i++)
  45.                         for(j=0;j<110;j++);
  46.         }
  47. }
复制代码
启动后不管IN0(模拟源)接电源还是地还是什么,输出8脚全是高电平,求解答,附件有图片还有DSN文件

电路图

电路图

数字电压表.zip

20.09 KB, 下载次数: 29

dsn文件

回复

使用道具 举报

ID:1 发表于 2013-6-15 10:53 | 显示全部楼层
我怀疑你的参考电压那边有问题,图上参考电压使用了二分之一的VCC,然后电位器连接电压输入端的电压范围却是0~vcc。一般来说,输入的电压最大就只有参考电压的样子吧。你这里貌似ADC的数字电路和模拟电路都没分开来,不知道做成硬件会不会出问题哦,干扰挺大的。
回复

使用道具 举报

ID:76287 发表于 2015-4-7 19:05 | 显示全部楼层
不懂,但是还是要顶,安抚楼主受伤心灵,每一个新手都是痛苦的开始,快乐的结局
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表