proteus课程设计(基于单片机的数据采集).docVIP

proteus课程设计(基于单片机的数据采集).doc

  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文档。上传文档
查看更多
电子设计应用软件训练总结报告 任务说明 (一)设计利用51单片机设计一个数据采集系统,用3位数码管显示输入的电压: 二.原理图绘制说明 电路原理图主要应包含数据采集电路,AD(模数)转换电路,数据显示电路三个部分。下面分三个部分进行说明。 数据采集电路 根据任务的要求,该部分电路需要对八路数据进行采集,然后输出到下一级电路,在这里,用八个显示不同电压值的电压源来构成,其输出端对应连接到AD 转换电路的输入端即可。 AD(模数)转换电路 根据任务的要求,本部分电路需要把数据采集电路采集到的模拟电压量转换成数字电压量,所以在这里选用一个ADC0808芯片作为AD转换电路,本部分电路需把转换之后的数字量输出到数据显示电路即可。ADC0808是一个有8路输入的AD转换器,可以根据需要来选择使用的输入通道个数,用ABC三个端口可以控制通道的选择,这里因为需要对八路数据进行采集转换,所以,这里需要使用ADC0808所有的输入通道,通道0到7分别和电压源0到7进行连接。转换启动信号START 和地址所存信号ALE都是用51单片机的P2.7和P3.6口通过与非门后的输出来控制,允许输出信号OE由P2.7口和P3.7口通过与非门后的输出控制,通道选择端控制端ABC分别用单片机的P0.0,P0.1和P0.2三个端口来控制。转换结果输出端(OUT0到OUT7)通过总线分别与51单片机的P0.7到P0.0口连接。具体连接方式如图1所示: 图1 AD转换电路的连接方式 (三)数据显示电路 本部分电路主要由AT89C51单片机和一个四位一体的共阴极的数码管以及电阻构成。其中,前三个数码管用来显示采集到的电压值,后一个数码管用来显示采集数据来自哪路通道。51单片机的P3.0,P3.1,P3.2,P3.3口分别用来控制数码管的开启和关闭,P2.0到P2.6以及P3.5分别与数码管的各段连接。具体链接方式如图2所示: 图2 数据显示电路 三.流程图绘制以及说明 (一)主程序流程图如图3所示: 说明:程序开始执行后,首先启动ADC0808,执行AD转换,接着判断转换是否结束,如果转换没有结束,则程序原地等待,如果转换结束,ADC0808允许转换后数据输出,同时将输出数据暂存起来,此时关闭输出;同时,由单片机将接收到得数字量转换成BCD码,再调用BCD码显示子程序来显示转换后的BCD码,到此,程序结束。这样,主程序就完成了一次模拟量采集,AD转换,BCD码转换,并最终显示的过程。 图3 主程序流程图 显示子程序流程图如图4所示: 说明:子程序开始后,通过查表法来获取数码管要显示的数据并且暂存,接下来选通某位数码管,来显示数据,然后调用延时子程序,延时结束后关闭该位数码管,各位数码管的显示都是这样的流程,当需要显示的数据都显示完毕后,返回主程序。 图4 显示子程序流程图 延时子程序如图5所示: 说明:首先是初始化,即赋初值。接着判断循环是否结束,如果未结束,则继续执行,如果进行第二层循环,同样,循环未结束则继续执行,如果结束,则返回。 图6 延时子程序流程图 运行结果示例图如图8所示: 图8 运行示例图 改变电压源的输出电压,实现采集数据的变化,采集数据即电压值由ADC0808的八个通道输入,实现模拟量到数字量的转换,再由单片机实现数字量到BCD码的转换,最后由单片机控制数码管输出,这样整个数据采集到显示的过程就实现了。图中,数码管显示的数据即为数据采集后变换为BCD码的输出,其中,前三位现实的是AD转换后的数据,最后一位现显示的是该时刻转换的通道号,其前面的小数点使用以区分数据输出是数字电压量还是通道号的。 附录Ⅰ 电路原理图 图9 电路原理图 附录Ⅱ 源程序 #ifndef __ABSACC_H__ #define __ABSACC_H__ #define CBYTE ((unsigned char volatile code *) 0) #define DBYTE ((unsigned char volatile data *) 0) #define PBYTE ((unsigned char volatile pdata *) 0) #define XBYTE ((unsigned char volatile xdata *) 0) #define CWORD ((unsigned int volatile code *) 0) #define DWORD ((unsigned int volatile data *) 0) #define PWORD ((unsigned int volatile pdata *) 0) #define XWORD ((unsigned int volatile x

文档评论(0)

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

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

1亿VIP精品文档

相关文档