《单片机应用项目化教程》项目7.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《单片机应用项目化教程》项目7

单片机原理与应用;项目七:制作简易数字电压表;任务1 制作简易数字电压表;;A/D转换的概念;ADC0809的内部结构及引脚;;;;通道选择表;CLK:时钟信号,可由单片机ALE信号分频得到。;ADC0809与单片机的接口;单片机系统扩展三总线;2. 地址锁存器 由于P0口是作为分时复用的地址/数据线,为此要使用地址锁存器把地址信号从地址/数据线中分离出来。地址锁存器可以使用三态缓冲输出的8D 锁存器芯片74LS373或8282,也可以使用带消除端的8D 锁存器芯片74LS273。;单片机的三总线结构 ;ADC0809与单片机的接口;P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 ALE WR P2.0 RD INTO;;;ADC0809的初始化编程及应用;#includeabsacc.h //该头文件中定义XBYTE关键字 #includereg51.h #define uchar unsigned char #define IN0 XBYTE[0xfef8] //设置AD0809的通道0地址 sbit ad_busy=P3^2; //定义EOC状态 void ad0809(uchar idata *x) //A/D采样转换函数 { uchar i; uchar xdata *ad_adr; //定义指向外部RAM的指针 ad_adr=IN0; //通道0的地址送ad_adr for(i=0;i8;i++) //处理8通道 { *ad_adr=0; //写外部I/O地址操作,启动转换 ; ; //写的内容不重要,只需写操作 while(ad_busy==0); //查询等待转换结束 x[i]=*ad_adr; //读操作,输出允许信号有效,存转换结果 ad_adr++; //地址增1,指向下一通道 } };;中断方式 #include reg51.h #include absacc.h //定义绝对地址访问 #define uchar unsigned char #define IN0 XBYTE[0x7FF8] //定义IN0为通道0的地址 static uchar data x[8]; //定义8个单元的数组,存放结果 uchar xdata *ad_adr; //定义指向通道的指针 uchar i=0; void main(void) { IT0=1; //初始化 EX0=1; EA=1; i=0; ad_adr=IN0; //指针指向通道0 *ad_adr=i; //启动通道0转换 for (;;) {;} //等待中断 };void int_adc(void) interrupt 0 //中断函数 { x[i]=*ad_adr; //接收当前通道转换结果 i++; ad_adr++; //指向下一个通道 if (i8) { *ad_adr=i; //8个通道未转换完,启动下一个通道返回 } else { EA=0;EX0=0; //8个通道转换完,关中断返回 } };小结

文档评论(0)

dajuhyy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档