实训项目4 数码管显示
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实训项目4 单片机控数码管显示
一、实训目的
进一步熟悉单片机并口的应用,掌握P0口的特性,巩固数码管的知识。
二、实训内容
1)单片机并口直接驱动LED实现静态显示。
2)单片机并口直接驱动LED实现动态态显示。
三、实训器材
安装有Proteus7软件的计算机 1 台。
四、实训步骤
1.在Proteus仿真环境下,绘制实现功能的原理图,原理图如下所示。本实训中所要用到的元件如下表所示。
2. 任务要求:
1)单片机并口直接驱动单个LED显示。具体要求:将AT89C51单片机的P0口的P0.0~P0.7引脚连接到一个共阴数码管的a~h段上,数码管的公共端接地。在数码管上循环显示0~9数字,时间间隔为0.5s。
硬件设计如图P4_1所示。
图P4_1
所需元件清单如图P4_2所示。
图P4_2
LED数码显示原理:7段LED显示器内部由7个条形发光二极管和一个小圆点发光二极管组成,根据各管的公共端的接线形式,可分为共阴极型和共阳极型。
LED数码管的a~h段8个发光二极管加正向电压发亮,加反向电压不发亮,根据不同的亮暗组合就能形成不同的字形,这种组合称为段码,共阴极型和共阳极型的段码见表。
由于显示的数字0~9的段码没有规律可循,只能采用查表的方式来完成所需的操作。若采用共阴极型数码管,按照数字0~9的顺序,在程序中建立段码表如下:“TAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ”
2)设计0~59秒计时器(利用软件延时)。在AT89C51单片机的P2和P3端口分别接有2个共阴极数码管,P2口驱动显示秒时间的十位,而P3口驱动显示秒时间的个位。编写程序实现0~59秒循环计数,并将计数值在数码管上显示。
硬件设计如图P4_3所示。
图P4_3
所需元件清单如图P4_4所示
图P4_4
软件设计提示:
用一个存储单元作为秒计数单元,当1s到来时,就让秒计数单元加1,当秒计数达到60时,就自动返回到0,重新计数。
对于秒计数单元中的数据,要把它十位数和个位数分开,方法采用对10整除和对10求余,在数码管上显示,通过查表方式完成。
3)数码管动态显示
当显示器位数较多时,可采用动态显示。所谓动态显示就是一位一位地轮流点亮显示器的各个位(扫描)。对于显示器的每一位而言,每隔一段时间点亮一次。虽然在同一时刻只有一位显示器在工作(点亮),但由于人眼的视觉暂留效应和发光二极管熄灭时的余晖,我们看到的却是多个字符“同时”显示。显示器亮度既与点亮时的导通点亮有关,也与点亮时间长短和间隔时间有关。调整电流和时间参数,即可实现亮度较高较稳定的显示。
本例中显示器由4个共阴极LED数码管构成。AT89C51单片机的P0口输出显示段码,由一片74LS245驱动输出给LED数码管,由P1口输出位码,经74LS06输出给LED显示。4位数码管显示““1234”。
硬件设计如图P4_5所示。
图P4_5
所需元件清单如图P4_6所示:
图 P4_6