简易的数码管显示系统实验报告

简易的数码管显示系统实验报告

ID:30846868

大小:414.46 KB

页数:8页

时间:2019-01-04

简易的数码管显示系统实验报告_第1页
简易的数码管显示系统实验报告_第2页
简易的数码管显示系统实验报告_第3页
简易的数码管显示系统实验报告_第4页
简易的数码管显示系统实验报告_第5页
资源描述:

《简易的数码管显示系统实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、金貶畧沒HEFEIUNIVERSITY工具软件应用课程设计BACHELORDISSERTATION题目:简易数码管显示系统系另I」:电子信息与电气工程系学号:专业(班级):参与人姓名:完成时间:简易数码管显示系统一・课程设计目标及内容利用单片机设计一个简易的数码管显示系统,实现0-59秒白动计数。要求:•可使用用软件延时或定时屮断的方法实现0-59秒白动计数。•使用6位数码管的第1、第2位显示当前数值。二.总体设计方案根据设计要求,要想只用数码管的两位显示,必然要先位选,再段选,最后到59后还要重新开始,所以这里应

2、该有个置零,又因为要循环,添加一个死循环即可。三.硬件设计及分析数码管是单片机控制系统中最常见的外部元件,常用来指示系统采集值、系统存储值或运行的结果。数码管是一种半导体发光器件,其基本单元是发光二极管。数码管按段数分为7段数码管和8段数码管,8段数码管比7段数码管多一个发光二极管单位;按能显示多少个“8”可分为1位、2位、4位等数码管;按发光二极管单位元连接方式分为共阳极数码管和共阴极数码管,其屮共阴级输入高电平有效,共阳级输入低屯平有1234567dp效。数码管屮的8个发光管称为段,分别是a段、b段、c段、d段

3、、e段、f段、g段、h段,其屮h段是小数点(如右图)。数码管的数码与显示段位对应关系如下表。值显示的段位值显示的段位0a、b、c、d、e、f5a>c^d、f、g1c6d^e^fg2a^b^d^c^g7a^b^c3a、b、c、d、g8a、b、c、d、c^f、g4b、c^fg9a^b、c^fg根据实验要求,所需元件清单如下:元件名称所属类所属子类7SEG-MPX6-CC-BLUEOptoelectronics7-SegmentAT89C51MicroprocessorICs8051Family电路图如下图:U!软件设计

4、及分析要想只用6位数码管的两位显示0-59循环,首先要选定位置,指定哪一块显示十位数或个位数,即位选。然后在该位置上显示数字,这里需要个for循环,让数字递增,假定数字设为n,那么n/10就是十位数字,n%10就是个位数字,先显示个位数字,然后再显示十位数字,由于十位数不经常变动,所以选取适当的延迟时间,利用人眼的视觉延迟效果即可完成0-59的演示,循环结朿后,令n置零,在最外面加个死循环,即可完成0-59循环演示。简易设计框图如下:先位选第一位然后段选显先位选第二位,然后段选显示五.调试结果及说明将Keil中生成

5、的hex文件添加至Proteus文件中,准备好后,进行Proteus与Ke订联合仿真,仿真结果如下:观察后基本满足实验要求,但是刚开始时delay函数延时时间调的较长,会出现如下情况:查阅资料后我才发现,原来0-59显示实际上是显示个位上的数字然后再显示是十位上的数字,0-0.1-0.2-0……'同时'将两个数字显示在数码管上并非真正同吋显示在数码管上,而是两个数码管依次显示,当然频率很高。因为视觉暂留,从而让人误认为两个数字是同时显示的。六.项目总结通过本次项目,我了解了数码管的工作原理,对Proteus和Kc订

6、的使用更加熟练,同时也让我认识了“视觉暂留”概念,在这次实验基础上,我们小组又做出了0-999的循环显示,不仅很有成就感,还增强了团队协作能力。七.参考文献陈海宴.51单片机原理及应用——基于KeilC与Proteus[M]•北京:北京航天航空大学出版社,2013.3附:#include#defineuintunsignedint#defineucharunsignedcharUcharcodetable[]={Oxfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xf

7、e,0xf6,0xee,0x3e、0x9c,0x7a,0x9e,Ox8e};〃共阴极数码管编码表ucharcodeaddress[2]二{0xfe,0xfd};//数码管位选voiddelay(uint);voidmain(){ucharm=0;while(l)//死循环for(;m<60;m++)P2=address[0];〃位选(个位数)Pl=table[m%10];//个位数字delay(5000);P2=address[l];//位选(十位数)Pl=table[m/10];//十位数字delay(5000)

8、;)m=0;//置零,重新开始}}/******延时子程序******/voiddelay(uintm)while(m—);

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。