单片机项目实践教程刘燎原项目五数字电压表教学教材.pptVIP

单片机项目实践教程刘燎原项目五数字电压表教学教材.ppt

  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文档。上传文档
查看更多
微控制器系统设计与应用;;;void main() { EA=1; ET0=1; TMOD=0x01; TH0=0x3c; TL0=0xb0; TR0=1; while(1) { disp(n); } } void lsd() interrupt 1 { TH0=0x3c; TL0=0xb0; if(++m19) {n++; m=0;} } ;;学时安排:;;;前言 ;逐次逼近式A/D转换器是一种转换速度较快、精度较高的转换器。其转换时间大约在几微秒到几百微秒之间。 ADC0801~ADC0805型8位MOS型A/D转换器,美国国家半导体公司产品。它是目前最流行的中速廉价型产品。片内有三态数据输出锁存器,单通道输入,转换时间约100μs左右。 ADC0808/0809型8位MOS型A/D转换器。可实现8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道地址锁存用译码电路,其转换时间为100μs左右。 ADC0816/0817。这类产品除输入通道数增加至16个以外,其他性能与ADC0808 /0809型基本相同。 Vref/Vin=2n/D ;;2.A/D转换器的主要技术指标 ;转换步骤: 1. A、B、C提供三位地址,ALE有效,实现模拟通道选择 2.有clock时钟信号(典型值500KHZ,周期2us)。 Start有效,开始转换Vin 3.转换过程中,EOC=0;当转换结束时,EOC=1.(转换时间大概100us左右) 4.转换结束后,设置ENABLE=1后,才可以读取转换后的数字量;4.ADC0809与单片机的接口 A/D转换后得到的是数字量的数据,这些数据应传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换完成,因为只有确认数据转换完成后,才能进行传送。 为此可采用下述三种接口方式。(什么时候转换结束): a.查询方式(查询EOC什么时候为1,即结束) ADC0809的EOC端就是转换结束状态信号。因此可以用查询方式,软件测试EOC的电平状态,即可确知转换是否完成,然后进行数据传送。 b.中断方式(转换结束,EOC向单片机提出中断,) 若转换速度较慢的话,单片机不必一直查询等待,可以把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。 什么时候转换结束了,即通过EOC向单片机提出中断,告诉单片机转换结束,让单片机来取转换后的数字量 。 c.等待延时方式(若转换速度较快的话,可以加一段延时等待转换结束) 对于一种A/D转换器来说,转换时间作为一项技术指标是已知的和固定的。 例如,若ADC0809转换时间为128μs,相当于6MHz的MCS-51单片机的64个机器周期。可据此设计一个延时子程序,A/D转换启动后即调用这个延时子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。 ;举例 例1:设计一个简易的数字电压表。(显示数字量) 电路: ; 转换步骤: 1.有clock时钟信号(典型值500KHZ,周期2us) 用定时器0产生周期2us方波信号作为CLOCK 2.Start、ALE有效,开始转换Vin Start、ALE需要正脉冲,通过置1或0得到 3.转换过程中,EOC=0;当转换结束时,EOC=1.(转换时间大概100us左右) 利用查询等待方式,while(eoc==0);…… 4.转换结束后,设置OE=1后,才可以读取转换后的数字量 OE=1;m=P0; 5.数字量送数码管显示 ;程序: #include REG51.h #include intrins.h unsigned char code sz2[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; sbit eoc=P2^0; sbit start=P2^1; sbit clock=P2^2; sbit oe=P2^3; sbit seg1=P3^4; sbit seg2=P3^5; void delay(unsigned int a) { unsigned char b; while(--a!= 0) { for(b=0;b125;b++); } };void disp0(unsigned char

文档评论(0)

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

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

1亿VIP精品文档

相关文档