文档介绍:硬件纵横
!"#$%&’自动扫描键盘( 显示器的设计及其应用
烟台大学双得实业公司!"#$#%&’全为民
摘要: 一种以!"#$%&’单片机为核心设计的自动扫描的键盘和()* 数码管显示系统及其
在塔钟控制系统中的应用。
关键词: !"#$%&’单片机自动扫描段码位码塔钟
!"#$%&’是美国!"()* 公司生产的# 位单片机,内管的位码,对# 位*)7 数码管轮流输出其段码和位码,使
部集成有+,- 可编程序./012 存储器,’3#4# 位内部 5!(, # 位数码管轮流点亮, 利用其余光和人眼的视觉暂留效
完全可以满足小型控制系统的需要。作者在用!"#$%&’设应,使人觉得清晰的数据显示在*)7 数码管上。<+*=’@#
计的塔钟控制系统中, 为了减少系统成本、充分利用的输出 A8 ?A< 经按键后并接于 9B"8 端, 这样在
!"#$%&’的内外部资源,利用 63 口和 6’口的部分管脚,设!"#$%&’扫描显示的过程中 A8?A< 依次变低,当有键按
计了一种自动扫描的键盘和*)7 数码管显示系统。下时,产生 9B"8 中断,即键盘中断。
! 自动扫描键盘" 显示器的设计原理软件设计上,利用定时器"8 产生时间为’C1 的定时
以!"#$%&’为核心的自动扫描键盘和*)7 数码管中断,在定时中断服务程序中完成数码管的扫描显示。键
显示系统硬件原理如图’所示。!"#$%&’单片机的)! 盘按下产生 9B"8 中断,进入中断服务程序。在中断服务
脚接高电平,利用内部./012 存储器和 5!( 存储器进行程序中,由当前暂存的位码值确定是哪一个按键按下,转
工作,68 口和 63 口都作为标准的 9 : ; 接口使用。63 口外入相应的键盘处理程序。关 9B"8 中断时,置按键消抖常
接<+*=3++ 用于输出*)7 数码管的段码,6’>8?6’>@ 输数, 该常数在定时器"8 的’C1 定时中断中每次减去’,
出经<+*=’@# 译码后,再经<+*=3+8 及<&+$3 驱动数码直到减为 8 时,开放 9B"8 中断。程序设计如下:
区: : 口内容寄存器,初始值为
M’ 5!( 38D 6’ 8D
<+*=3++ 3’D:位码暂存单元
3 ’#
’!’’A’! 33D:按键消抖常数寄存器
+ ’!3 ’A3 ’K -
!"#$%&’ K ’!@ ’A@ ’+ % ;5E ******@D
# ’!+ ’A+ ’3
!%% 63>8 7 段码!F(6 ,)A-;!57;9B"8 中断
$
’’ 3!’ 3A’)
L < ;5E 888-D
’@ 3!3 3A3 .
%’&
5=" ’& 3!@ 3A@ E ;定时器中断
@ !F(6 "9()58 "8 ’C1
5’’< 3!+ 3A+ 6
79=6: ;显示数据缓冲区首址
’’E : ;消除中断标志
’$ "9()58 %*5 ".8
63><
3E (;G "*8,H’#D
, ;置定时常数
9B"8 (;G "D8 H8.%D
=’=3 =@ M@ ;启动定时器
M3 ⋯⋯=)"- "58 "8
J"!*’<+*=3+8
<+*=’