- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验四数码管显示控制
一、实验目的
1、熟悉Keil uVision2软件的使用;
2、掌握LED数码管显示接口技术;
3、理解单片机定时器、中断技术。
二、实验设备及仪器
Keil μVision2软件;单片机开发板;PC机一台
三、实验原理及内容
1、开发板上使用的LED数码管是四位八段共阴数码管(将公共端COM接地GND,其内部结构原理图,如图4.1所示。
图4.1共阴四位八段LED数码管的原理图
图4.1表明共阴四位八段数码管的“位选端”低电平有效,“段选端”高电平有效,即当数码管的位为低电平,且数码管的段为高电平时,相应的段才会被点亮。
实验开发板中LED数码管模块的电路原理图,如图4.2所示。
a~h
SP2
SP1
P0.0~P0.3
P0.4~P0.7图4.2 LED数码管模块电路原理图
图中,当P1.0“段控制”有效时,P0.0~P0.7分别对应到数码管的a~h段。当P1.1“位控制”有效时,P0.0~P0.7分别对应到DIG1~DIG8。
训练内容一:轮流点亮数码管来检测数码管是否正常。参考程序:
ORG 00H
AJMP MAIN
MAIN:
SETB P1.2;LED流水灯模块锁存器的控制位
MOV P0,#0FFH;关闭LED灯
CLR P1.2
SETB P1.3 ;点阵模块的行控制锁存器
MOV P0,#0 ;关闭点阵行
CLR P1.3
MOV A,;数码管“位选信号”初值,低电平有效
LOOP:SETB P1.1;数码管位控制锁存器有效
MOV P0,A
CLR P1.1
RL A ;形成新的“位选信号”,为选择下一位数码管做准备
SETB P1.0;数码管段控制锁存器有效
MOV P0,#0FFH ;数码管的所有段点亮,显示“8”
CLR P1.0
CALL DELAY
SJMP LOOP
DELAY:MOV R5,#0;延时子程序
D1: MOV R6,#0
D2:NOP
DJNZ R6,D2
DJNZ R5,D1
RET
END
训练内容二:静态显示,0~9计数。参考程序: ORG 00H
AJMP MAIN
MAIN:SETB P1.2
MOV P0,#0FFH;关闭LED灯
CLR P1.2
SETB P1.3
MOV P0,#0 ;关闭点阵行
CLR P1.3
MOV A,
SETB P1.1
MOV P0,A ;数码管位选
CLR P1.1
MOV DPTR,#TABLE;初始化表首地址
LOOP:MOV R0,#0;显示数字从0开始
MOV R1,#10;显示数字个数
NEXT:MOV A,R0
MOVC A,@A+DPTR;查表,获取显示字型码
SETB P1.0;数码管段控制锁存器有效
MOV P0,A ;显示
CLR P1.0
INC R0 ;下一个数字
ACALL DELAY
DJNZ R1,NEXT
SJMP LOOP
DELAY:MOV R5,#0
D1: MOV R6,#0
D2: NOP
NOP
DJNZ R6,D2
DJNZ R5,D1
RET
TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;共阴字码表0~9 END
训练内容三:动态显示,00~99计数。
动态显示:也称扫描显示,是一种按位轮流点亮各位数码管的显示方式,即在某个时刻,只让其中某一个数码管“位选端”有效,并送出相应的字型显示码,此时,其他的数码管因“位选端”无效而处于熄灭状态。下一时刻,按顺序选通另一个数码管,并送出相应的字型显示码,依此规律循环下去,即可使各位数码管分别间断地显示出相应的字符。由于人眼的“视觉驻留效应”,只要能保证每个数码管显示间断的时间间隔小于眼睛的驻留时间,就可以给人一种连续显示的视觉效果。
在显示位数较多时,动态显示方式可节省I/O接口资源,硬件电路与静态显示方式简单,但其显示亮度低于静态显示方式;由于CPU要不断地依次扫描显示程序,将占用CPU更多的时间,若显示位数较少,采用静态显示方式更加简便。参考程序:
ORG 00H
AJMP MAIN
MAIN:SETB P1.2;LED流水灯模块锁存器的控制位
MOV P0,#0FFH;关闭LED灯
CLR P1.2
SETB P1.3 ;点阵模块的行控制锁存器
MOV P0,#0 ;关闭点阵行
CLR P1.3
MOV DPTR,#TABLE;初始化表首地址
START:MOV R0,#0 ;显示数据的初值,从数字0开始显示
NEXT:MOV A,R0
MOV B,#10
DIV AB ;分解将要显示的数据,分为十位、个位
MOV R2,A ;十位送R2
MOV R3,B ;个位送R3
MOV R1,#100 ;每个数字显示的
文档评论(0)