标题: 单片机驱动ADC0809 查询方式 中断方式程序 带Proteus仿真原理图 [打印本页]

作者: 51黑电子happy    时间: 2017-4-5 03:27
标题: 单片机驱动ADC0809 查询方式 中断方式程序 带Proteus仿真原理图
单片机驱动ADC0809采用查询方式或者中断方式工作的程序的仿真原理图(proteus仿真工程文件可到本帖附件下载):



单片机源代码:
  1. #include<absacc.h>
  2. #include<reg51.h>
  3. #define uchar unsigned char
  4. #define ADC08090 XBYTE[0x78ff]
  5. #define ADC08091 XBYTE[0x79ff]
  6. #define ADC08092 XBYTE[0x7aff]
  7. #define ADC08093 XBYTE[0x7bff]
  8. #define ADC08094 XBYTE[0x7cff]
  9. #define ADC08095 XBYTE[0x7dff]
  10. #define ADC08096 XBYTE[0x7eff]
  11. #define ADC08097 XBYTE[0x7fff]

  12. sbit P33=P3^3;

  13. void delay( )
  14. {uchar j;
  15. for(j=0;j<250;j++);}
  16. /*
  17. void main( )    //无条件
  18. { while(1)
  19.   { ADC08090=0;
  20.    // delay( );
  21.     P1=ADC08090;
  22.   }
  23. }
  24. */
复制代码
  1. #include<reg51.h>
  2. #define  uchar  unsigned char
  3. xdata  uchar  *ad;
  4. uchar  i=0;
  5. uchar  data  adtab[8];
  6. addv( )  interrupt  2
  7. {        adtab[i]=*ad;                                //读入转换数据
  8. ad=ad+0x100;                                //指向下一通道
  9. i++;
  10. *ad=0;                                        //启动转换
  11. }
  12. void  main( )
  13. {        EA=1;EX1=1;IT1=1;
  14. ad=0x7ff8;                                        //置地址指针
  15. *ad=0;                                        //启动转换
  16. while(i<8)                                        //8路未转换完,继续等待
  17. { }
  18. EA=0;
  19. }
复制代码




该系列源码包含有很多非常经典,代码风格十分规范,而且注释详细的单片机例程,还带仿真,对于MCU学习特别是初学者是很有帮助的,全部源码下载(共几十个项目):http://www.51hei.com/bbs/dpj-80575-1.html

本例程下载(含proteus仿真工程文件与源码):
单片机驱动ADC0809 查询方式 中断方式.rar (17.43 KB, 下载次数: 41)


作者: hstar    时间: 2017-4-19 00:32
感谢分享
作者: jamyg    时间: 2017-6-30 20:53
不懂不懂





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1