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

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

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实用文案 实用文案 标准 标准 宁德师范学院计算机系 实验报告 (2014 — 2015学年 第2学期) 课程名称 单片机原理 实验名称 数码管动态显示实验 专 业计算机科学与技术(非师范) 年 级 2012级 学号 B2012102147 姓名 王 秋 指导教师 杨烈君 实验日期 2015417 实验目的: 巩固Proteus软件和Keil软件的使用方法 学习端口输入输出的高级应用 掌握7段数码管的连接方式和动态显示法 掌握查表程序和延时等子程序的设计 实验要求: 在Proteus软件中画好51单片机最小核心电路,包括复位电路和晶振电路 在电路中增加八位 7段数码管(共阳/共阴自选),将P2 口作数据输出口与 7段数码管数据 引脚相连,P3引脚输出位选控制信号 在Keil软件中编写程序,采用动态显示法,实现数码管分别显示数字 1-8 实现指定数值的显示 (可使用 缓存数值) 实现类似时钟的效果,如“ 13-23-25 ” 13时23分25秒 实现时钟的自动计时 扩展要求: 结合LED显示,实现带数码显示的交通灯 实验设备(环境): .计算机 . Proteus ISIS 7 Professional 应用程序 . Keil应用程序 实验内容: 数码管动态显示技术要求实现: ?动态显示法,实现数码管分别显示数字 1-8 ; .实现指定数值的显示 (可使用缓存数值) ); .实现类似时钟的效果,如“ 13-23-25 ” 13时23分25秒; .实现时钟的自动计时; 扩展要求: 结合LED显示,实现带数码显示的交通灯; 实验步骤、实验结果及分析: 1实验步骤: 1、 使用Proteus ISIS 7 Professional 应用程序,建立一个 .DSN文件 2、 在“库”下拉菜单中,选中“拾取元件” (快捷键P),分别选择以下元件: AT89C51、CAP、 CAP-ELEC、CRYSTAL > RESPACK-8。 3、 构建仿真电路: 火曲x> 00 ld ru ?仪旺u ru WWW 丽 实用文案 实用文案 标准 标准 红绿灯效果图1 红绿灯效果图2 4、创建一个Keil应用程序:新建一个工程项目文件;为工程选择目标器件( AT89C52 );为工程 项目创建源程序文件并输入程序代码;保存创建的源程序项目文件;把源程序文件添加到项目中。 5、把用户程序经过编译后生成的HEX文件添加到仿真电路中的处理器中(编辑元件t 5、把用户程序经过编译后生成的 2实验程序 < 流程图> 定义数组Ledcode[]P3=1<<iP2=~Ledcode[i]i++调用延时 函数P3=1?i定义数组Ledcode[] 3r定义 Dispbug[]存放指定数11定义子函数PutTimeO{…}P2=~Ledco de[DispBu f[i]] 定义数组 Ledcode[] P3=1<<i P2=~Ledco de[i] i++ 调用延时 函数 P3=1?i 定义数组 Ledcode[] 3 r 定义 Dispbug[] 存放指定数 1 1 定义子函数 PutTimeO {…} P2=~Ledco de[DispBu f[i]] T i++ 调用延时 函数 While (1) For (i=0;i< 8) PutTimeO N 调用延 时函数 P2=~Ledcode[D ispBuf[i]] A ? Y P3=1<<i uchar code Ledcode[]={ 0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; // 定义一个数组里面放入 1-8 void delay( uint x) { while(x--); } void mai n() { uchar i; while(1) { for(i=0;i<8;i++) { P3=1<<i; 〃P3 口表示从第一个位开始显示数值 P2=~Ledcode[i]; 〃P2 口用来显示所需要显示的数值 delay(500); } } } 实现指定数值的显示 (可使用缓存数值) ); #in clude<reg51.h> un sig ned char code LedCode[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40 }; unsigned char DispBuf[8]={3,3,3,5,5,2,2,3}; // 指定要显示的数的位置 void delay (un sig ned int x){ while(x--); } void mai n() { un sig ned int i; for(i=0;i<8;i++){ P3=

文档评论(0)

157****8632 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档