内容正文:
子任务2-1-2 单数码管轮流显示十进制数
1.七段数码管显示十进制数的原理
2.掌握po口的应用
3.掌握实现七段数码管显示的软件译码方法
一.任务目标
二.任务要求
任务描述:单数码管轮流显示0~9数码。
三. 相关知识
1)八段数码管的基本知识
(数码管内部结构图)
(数码管的外形及管脚图)
八段数码管要显示的每一个十进制数码都对应了一个8位的二进制控制数,我们把这个8位的二进制控制数称为这个要显示的字符的字型码
2)P0口的应用
单片机有四个I/O口,分别为P0, P1, P2, P3,它们可以从单片机的相应管脚上输出高低电平去控制连接在单片机I/O脚上的电子元件,也可以做输入口,将外部的高低电平情况送入到单片机内部,在做输入时需要先做个“准备”,即要先送出0FFH
图2-1- 4 P0口上拉电阻
四、任务分析
1)、硬件电路
2)、程序分析
单数码管轮流显示十进制数码程序流程图
五.任务实施
(1)在Proteus中按照硬件电路图2-1-5连好线;
(2)用keil软件编写程序,并进行编译得到HEX格式文件;
(3)将所得的HEX格式文件在Proteus中加载到单片机芯片中;
(4)开始仿真,看数码管显示有怎样的变化;
(5)Proteus中结果正常后,用实际硬件搭接电路,通过编程器将HEX格式文件下载到AT89C51中;
(6)通电看效果。
想一想,做一做
元 件 名 称 型 号 数 量 Proteus中的名称
单片机芯片 AT89C51 1片 AT89C51
晶振 12MHz 1个 CRYSTAL
电容 22pF 2个 CAP
电解电容 22F/16V 2个 CAP-ELEC
电阻 1k,220 具体数量见电路图 RES
八段数码管(也可用七段数码管) 共阴极数码管 1个 7SEG-COM-CAT-BLUE
如果我不想按0,1,2,…,9轮流显示,而想按9,8,7,…,0这样轮流显示,想想该怎么做呢?你来试试看。(提示一下,可以通过交换字型码表格的排列顺序来实现)。
Thank you!
$$