首页 理论教育 单片机控制单管数码显示器

单片机控制单管数码显示器

时间:2023-11-16 理论教育 版权反馈
【摘要】:要求数码管依次显示0~F,每位数字显示1s。2 单片机用开关控制数码管显示实验电路原理图采用8位拨动开关作为输入控制元件,实际只用低4位。共阳极数码管作为显示元件。将8位拨动开关的低4位输入接在P1.0~P1.3上,则4位二进制数通过单片机控制接在P2口上的数码显示。上电后观察现象:看到当拨动开关的低4位时,其二进制数以十六进制数对应显示在数码管上。

单片机控制单管数码显示器

数码管的使用与发光二极管相同,根据其材料不同正向电压降一般为1.5~2V,额定电流一般为10mA,最大电流一般为40mA。静态显示时取10mA为宜,动态扫描显示时,可加大脉冲电流,但一般不要超过40mA。

静态显示时数码管的com端接不变的电平,共阴极数码管多用于多个数码管显示的场合,用该方式明显减少了单片机I/O接口线资源。

1 单片机控制单管数码管显示实验

978-7-111-54295-7-Chapter06-13.jpg

图6-9 单管显示电路原理图

(1)电路原理图

采用共阳型数码管,电路原理图如图6-9所示。晶振频率为12MHz。要求数码管依次显示0~F,每位数字显示1s。

(2)程序设计、汇编和编程(固化)

程序设计如下:

ORG 0000H

SJMP STAR

ORG 30H

STAR:MOV P1,#0FFH;数码管的8段LED全灭

ST1:MOV R0,#0;显示初值

ST2:MOV A,R0

ACALL SEG7;根据显示数字查显示码

MOV P1,A;显示码送P1口显示

ACALL DELAY;延时500ms

ACALL DELAY;延时500ms

INC R0;显示数字加1

CJNE R0,#10H,ST2;16个数没显示完转ST2

JMP ST1;16个数显示完转ST1,循环显示

DELAY:MOV R7,#250

D1:MOV R6,#250;延时子程序,500ms

D2:NOP

NOP

NOP

NOP

NOP

NOP

DJNZ R6,D2

DJNZ R7,D1

RET

SEG7:INC A;数字转换为显示码

MOVC A,@A+PC

RET(www.xing528.com)

DB 0C0H,0F9H,0A4H,0B0H;0~3的共阳型显示码

DB 99H,92H,82H,0F8H;4~7的共阳型显示码

DB 80H,90H,88H,83H;8~B的共阳型显示码

DB 0C6H,0A1H,86H,8EH;C~F的共阳型显示码

END

(3)电路连接及现象观察

根据电路原理图在单片机实验板(或面包板、实验PCB)上安装好电路,将已固化目标代码的单片机安装到单片机插座上。上电后观察现象,应可以看到数码管上以1s的间隔循环显示0~F。

2 单片机用开关控制数码管显示实验

(1)电路原理图

采用8位拨动开关作为输入控制元件,实际只用低4位。共阳极数码管作为显示元件。采用静态显示方式。将8位拨动开关的低4位输入接在P1.0~P1.3上,则4位进制数通过单片机控制接在P2口上的数码显示。例如,只拨开关1、2、4接地,则数码管显示4。电路原理如图6-10所示。晶振频率为12MHz。

978-7-111-54295-7-Chapter06-14.jpg

图6-10 开关电路原理图

(2)程序设计、汇编和编程(固化)

程序设计如下:

ORG 0000H

SJMP STAR

ORG 0030H

STAR:MOV P1,#0FFH;设置P1口为输入

MOV P2,#0FFH;P2口上数码管灭

ST1:MOV A,P1;读入P1口状态

ANL A,#0FH;屏蔽P1口高4位

ACALL SEG7;调数码管显示码

MOV P2,A;显示码送P2口显示

SJMP ST1;转ST1循环

SEG7:INC A;数字转换为显示码

MOVC A,@A+PC

RET

DB 0C0H,0F9H,0A4H,0B0H;0~3的共阳型显示码

DB 99H,92H,82H,0F8H;4~7的共阳型显示码

DB 80H,90H,88H,83H;8~B的共阳型显示码

DB 0C6H,0A1H,86H,8EH;C~F的共阳型显示码

END

(3)电路连接及现象观察

根据电路原理图在单片机实验板(或面包板、实验PCB)上安装好电路,将已固化目标代码的单片机安装到单片机插座上。上电后观察现象:看到当拨动开关的低4位时,其二进制数以十六进制数对应显示在数码管上。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈