当前位置:
文档之家› 单片机原理数码管动态显示实验单片机原理实验报告
单片机原理数码管动态显示实验单片机原理实验报告
于电路中采用共阳极的数码管,所以当 P2 端口相应的引脚为 0 时,对 应的数码管段点亮。程序中预设了数字 0-9 的段码。由于是让八个数码管 显示不同的数值,所以要用扫描的方式来实现。因此可定义扫描函数,接 到单片机的 P3 口。
在实验中,预设的数字段码表存放在数组 LedCode 中,由于段码表是 固定的,因此存储类型可设为 code.在 Proteus 软件中按照要求画出电路, 再利用 Keil 软件按需要实现的功能编写 c 程序,生成 Hex 文件,把 Hex 文件导到 Proteus 软件中进行仿真。
宁德师范学院计算机系
实验报告
(2014—2015 学年 第 2 学期)
课程名称
单片机原理
实验名称 数码管动态显示实验
专 业计算机科学与技术(非师范)
年级
2012 级
学号 47 姓名 王 秋
指导教师
杨烈君
实验日期
实验目的: 1. 巩固 Proteus 软件和 Keil 软件的使用方法 2. 学习端口输入输出的高级应用 3. 掌握 7 段数码管的连接方式和动态显示法 4. 掌握查表程序和延时等子程序的设计
实验要求: 1. 在 Proteus 软件中画好 51 单片机最小核心电路,包括复位电路和
晶振电路 2. 在电路中增加八位 7 段数码管(共阳/共阴自选),将 P2 口作数据
输出口与 7 段数码管数据引脚相连 ,P3 引脚输出位选控制信号 3. 在 Keil 软件中编写程序,采用动态显示法,实现数码管分别显示
评定等级:A(优秀) B(良好) C(中等) D(及格) E(不及格)
成绩评定
教师签字
年
月
日
备注:
注:1、报告内的项目或设置,可根据实际情况加以补充和调整 2、教师批改学生实验报告应在学生提交实验报告 10 日内
心得体会:
实验数码管显示程序的编程方法
1)先准备好要显示的数据,放入相应的显示存储单元中。
2)根据要使用的数码管的具体位置来确定扫描初值和扫描方向。
3)根据使用数码管的个数来确定扫描的位数。
4)查表将要显示的数据转换为能使数码管正确显示相对应的段码。
5)分时送段码和位码,数码管开始循环显示。
指导教师评语: 1、完成所有规定的实验内容,实验步骤正确,结果正确; 2、完成绝大部分规定的实验内容,实验步骤正确,结果正确; 3、完成大部分规定的实验内容,实验步骤正确,结果正确;
2、在“库”下拉菜单中,选中“拾取元件”(快捷键 P),分别选择以下元
件:AT89C51、CAP、CAP-ELEC、CRYSTAL、RESPACK-8。
3、构建仿真电路:
连接图
显示 1-8
时钟自动计时 连接图
红绿灯效果图 1 红绿灯效果图 2
4、创建一个 Keil 应用程序:新建一个工程项目文件;为工程选择目标器 件(AT89C52);为工程项目创建源程序文件并输入程序代码;保存创建的 源程序项目文件;把源程序文件添加到项目中。
实验内容:
数码管动态显示技术 要求实现:
1.动态显示法,实现数码管分别显示数字 1-8;
2.实现类似时钟的效果,如“ 13-23-25” 13 时 23 分 25 秒;
3.实现时钟的自动计时;
扩展要求: 结合 LED 显示,实现带数码显示的交通灯;
实验步骤、实验结果及分析: 1 实验步骤:
1、使用 eus ISIS 7 Professional 应用程序,建立一个.DSN 文件
数字 1-8 4. 实现指定数值的显示 (可使用 缓存数值) 5. 实现类似时钟的效果,如“ 13-23-25” 13 时 23 分 25 秒 6. 实现时钟的自动计时
7. 扩展要求: 结合 LED 显示,实现带数码显示的交通灯
实验设备(环境):
1.计算机 2.Proteus ISIS 7 Professional 应用程序 3.Keil 应用程序
5、把用户程序经过编译后生成的 HEX 文件添加到仿真电路中的处理器中
(编辑元件→文件路径)
2 实验程序 <流程图>
程序源代码:
1.动态显示法,实现数码管分别显示数字 1-8;
#include<> #define uchar unsigned char #define uint unsigned int uchar code Ledcode[]={ 0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};