单片机原理 数码管动态显示实验-单片机原理-实验报告.doc

单片机原理 数码管动态显示实验-单片机原理-实验报告.doc

ID:56123833

大小:1.94 MB

页数:15页

时间:2020-06-20

单片机原理 数码管动态显示实验-单片机原理-实验报告.doc_第1页
单片机原理 数码管动态显示实验-单片机原理-实验报告.doc_第2页
单片机原理 数码管动态显示实验-单片机原理-实验报告.doc_第3页
单片机原理 数码管动态显示实验-单片机原理-实验报告.doc_第4页
单片机原理 数码管动态显示实验-单片机原理-实验报告.doc_第5页
资源描述:

《单片机原理 数码管动态显示实验-单片机原理-实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、宁德师范学院计算机系实验报告(2014—2015学年第2学期)课程名称单片机原理实验名称数码管动态显示实验专业计算机科学与技术(非师范)年级2012级学号B2012102147姓名王秋指导教师杨烈君实验日期2015.4.17实验目的:1.巩固Proteus软件和Keil软件的使用方法2.学习端口输入输出的高级应用3.掌握7段数码管的连接方式和动态显示法4.掌握查表程序和延时等子程序的设计实验要求:1.在Proteus软件中画好51单片机最小核心电路,包括复位电路和晶振电路2.在电路中增加八位7段数码管(共阳/共阴自选),将P2口作

2、数据输出口与7段数码管数据引脚相连,P3引脚输出位选控制信号3.在Keil软件中编写程序,采用动态显示法,实现数码管分别显示数字1-84.实现指定数值的显示(可使用缓存数值)5.实现类似时钟的效果,如“13-23-25”13时23分25秒6.实现时钟的自动计时7.扩展要求:结合LED显示,实现带数码显示的交通灯实验设备(环境):1.计算机2.ProteusISIS7Professional应用程序3.Keil应用程序实验内容:数码管动态显示技术要求实现:1.动态显示法,实现数码管分别显示数字1-8;2.实现指定数值的显示(可使用缓

3、存数值)(33355223);3.实现类似时钟的效果,如“13-23-25”13时23分25秒;4.实现时钟的自动计时;扩展要求:结合LED显示,实现带数码显示的交通灯;实验步骤、实验结果及分析:1实验步骤:1、使用ProteusISIS7Professional应用程序,建立一个.DSN文件2、在“库”下拉菜单中,选中“拾取元件”(快捷键P),分别选择以下元件:AT89C51、CAP、CAP-ELEC、CRYSTAL、RESPACK-8。3、构建仿真电路:连接图显示1-8显示33355223显示时间13.23.25时钟自动计时连

4、接图红绿灯效果图1红绿灯效果图24、创建一个Keil应用程序:新建一个工程项目文件;为工程选择目标器件(AT89C52);为工程项目创建源程序文件并输入程序代码;保存创建的源程序项目文件;把源程序文件添加到项目中。5、把用户程序经过编译后生成的HEX文件添加到仿真电路中的处理器中(编辑元件→文件路径)2实验程序<流程图>程序源代码:1.动态显示法,实现数码管分别显示数字1-8;#include#defineucharunsignedchar#defineuintunsignedintucharcodeLedcod

5、e[]={0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//定义一个数组里面放入1-8voiddelay(uintx){while(x--);}voidmain(){uchari;while(1){for(i=0;i<8;i++){P3=1<unsignedc

6、harcodeLedCode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};unsignedcharDispBuf[8]={3,3,3,5,5,2,2,3};//指定要显示的数的位置voiddelay(unsignedintx){while(x--);}voidmain(){unsignedinti;for(i=0;i<8;i++){P3=1<

7、效果,如“13-23-25”13时23分25秒;#includeunsignedcharcodeLedCode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};unsignedcharHour=13,Min=23,Sec=25;unsignedcharDispBuf[8];voiddelay(unsignedintx){while(x--);}voidPutTime(){DispBuf[7]=Sec%10;//取对应秒数的个位放在最右边显示Di

8、spBuf[6]=Sec/10;//取对应秒数的十位放在右起第二位显示DispBuf[5]=10;//此处表示秒跟分之间用横杆隔开DispBuf[4]=Min%10;DispBuf[3]=Min/10;DispBuf[2]=10;DispBuf[1

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

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

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