天津机电职业技术学院教师备课纸
实验三LED数码管动态显示及4X4键盘控制实验
一、实验目的
1.巩固多位数码管动态显示方法。2.掌握行扫描法矩阵式按键的处理方法。3.熟练应用AT89S52学习板实验装置,进一步掌握keilC51的使用方法。
二、实验内容
使用AT89S52学习板上的4位LED数码管和4X4矩阵键盘阵列做多位数码管动态显示及行扫描法键盘处理功能实验。用P0口做数据输出,利用P1做锁存器74HC573的锁存允许控制,编写程序使4位LED数码管按照动态显示方式显示一定的数字;按照行扫描法编写程序对4X4矩阵键盘阵列进行定期扫描,计算键值并在数码管上显示。
三、实验系统组成及工作原理
1.4位LED数码管和4X4矩阵键盘阵列电路原理图
第
页
f天津机电职业技术学院教师备课纸
2多位数码管动态显示方式
IO1abcdefgdpabcdefgdpabcdefgdpabcdefgdp
comD3
comD2
comD1
comD0
IO2
说明4位共阴极LED动态显示3456数字的工作过程首先由IO口(1)送出数字3的段选码4FH即数据01001111到4个LED共同的段选线上,
接着由IO口(2)送出位选码××××0111到位选线上,其中数据的高4位为无效的×,唯有送入左边第一个LED的COM端D3为低电平“0”,因此只有该LED的发光管因阳极接受到高电平“1”的g、d、c、b、a段有电流流过而被点亮,
第
页
f天津机电职业技术学院教师备课纸
也就是显示出数字3,而其余3个LED因其COM端均为高电平“1”而无法点亮;显示一定时间后,
再由IO口(1)送出数字4的段选码66H即01100110到段选线上,接着由IO口(2)送出点亮左边第二个LED的位选码××××1011到位选线上,此时只有该LED的发光管因阳极接受到高电平“1”的g、f、c、b段有电流流过因而被点亮,也就是显示出数字4,而其余3位LED不亮;
如此再依次送出第三个LED、第四个LED的段选与位选的扫描代码,就能一一分别点亮各个LED,使4个LED从左至右依次显示3、4、5、6。
34X4矩阵式按键扫描处理程序
行扫描法又称逐行零扫描查询法,即逐行输出行扫描信号“0”,使各行依次为低电平,然后分别读入列数据,检查此(低电平)行中是否有键按下。如果读得某列线为低电平,则表示此(低电平)行线与此列线的交叉处有键按下,再对该键进行译码计算出键值,然后转入该键的功能子程序入口地址;如果没有任何一根列线为低电平,则说明此低电平行没有键按下。接着进行下一行的“0”行扫描与列读入,直到8行全部查完为止,若无键按下则返回。
有时为了快速判断键盘中是r