1.实验目的
(2)熟悉键盘的工作原理,掌握用HD7279A芯片实现键盘扫描的编程方法。
2.实验说明
HD7279A是一片具有串行接口,可同时驱动8位共阴极数码管(或64只独立LED)的智能显示驱动芯片,该芯片同时还可连接多达64键的矩阵键盘,HD7279A内部含有译码器,可直接接受BCD码或16进制码,具有2种译码方式,还具有多种控制指令,如消隐、闪烁、左移、右移、段寻址等。HD7279芯片的引脚图如图14-18所示,引脚功能见表14-3。
图14-18 HD7279芯片的引脚图
表14-3 HD7279A引脚表
(续)
HD7279A的指令结构有3种类型:
1)不带数据的纯指令,指令的宽度为8个bit,即微处理器需发送8个CLK脉冲;
2)带有数据的指令,宽度为16个bit,即微处理器需发送16个CLK脉冲;
3)读取键盘数据指令,宽度为16个bit,前8个bit为微处理器发送到HD7279的指令,后8个bit为HD7279A返回的键盘代码。
(1)纯指令
1)复位(清除)指令(A4H)。当HD7279A收到该指令后,将所有的显示清除,所有设置的字符消隐、闪烁等属性也被一起清除。执行该指令后,芯片所处的状态与系统上电后所处的状态一样。
2)测试指令(BFH)。该指令使所有的LED全部点亮,并处于闪烁状态,主要用于测试。
3)左移指令(A1H)。使所有的显示自右向左(从第1位向第8位)移动一位(包括处于消隐状态的显示位),但对各位所设置的消隐及闪烁属性不变。移位后,最右边一位为空(无显示)。例如,原显示为
其中第2位‘3’和第4位‘L’为闪烁显示,执行了左移指令后,显示变为
第2位‘9’和第4位‘P’为闪烁显示。
4)右移指令(A0H)。与左移指令类似,但所做移动为自左向右(从第8位向第1位)移动,移动后,最左边一位为空。
5)循环左移指令A3H。与左移指令类似,不同之处在于移动后原最左边一位(第8位)的内容显示于最右位(第1位)。在上例中,执行完循环左移指令后的显示为
第2位‘9’和第4位‘P’为闪烁显示。
6)循环右移指令(A2H)。与循环左移指令类似,但移动方向相反。
(2)带有数据的指令
1)下载数据且按方式0译码
注:X——无影响
命令由2个字节组成,前半部分为指令,其中a1、a2、a3为位地址,具体分配见表14-4。
表14-4 位地址分配表
d0~d3为数据,收到此指令时,HD7279按译码方式0进行译码,见表14-5。小数点的显示由DP位控制,DP=1时,小数点显示;DP=0时,小数点不显示。(www.xing528.com)
表14-5 HD7279译码方式0
2)下载数据且按方式1译码
注:X——无影响
此指令与上一条指令基本相同,所不同的是译码方式,该指令的译码见表14-6。
表14-6 HD7279译码方式1
3)下载数据但不译码
其中a1、a2、a3为位地址,A~G和DP为显示数据,分别对应7段LED数码管的各段,相对应的数据为“1”时,该段点亮,否则不亮。
4)读取键盘数据指令(15H)
该指令从HD7279读出当前的按键代码,宽度为16bit,前8 bit为微处理器发送到HD7279A的指令,后8 bit为HD7279A返回的键盘代码,其范围为0~3FH(无键按下时为
FFH)。当HD7279检测到有效的按键时,KEY引脚从高电平变为低电平,并一直保持到按
键结束。在此期间,如果HD7279接收到“读键盘数据指令”,则输出当前按键的键盘代码;
如果在收到“读键盘指令”时没有有效按键,HD7279将输出FFH。
3.实验电路图
本实验用到单片机最小应用系统模块、8位动态数码显示模块和7279阵列式键盘模块。7279阵列式键盘电路原理如图14-19所示。
图14-19 7279阵列式键盘电路原理图
4.实验内容及步骤
(1)把7279阵列式键盘模块J9的4只短路帽打在上方,J10打在VCC处,用8P排线将7279阵列式键盘模块的JD7、JD8分别连接8位动态数码显示模块的JD11、JD12。
(2)运行程序,然后等待按键输入,并在有按键按下后显示相应的键号,前一个键号左移。
5.程序框图及源程序
(1)程序框图7279阵列式键盘实验程序框图如图14-20所示。
(2)7279阵列式键盘实验程序
图14-20 7279阵列式键盘实验程序框图
6.思考题
51单片机直接连接阵列式键盘如何编程?
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。