首页 理论教育 单片机嵌入式系统学习指导与实验

单片机嵌入式系统学习指导与实验

时间:2023-10-18 理论教育 版权反馈
【摘要】:表14-4 位地址分配表d0~d3为数据,收到此指令时,HD7279按译码方式0进行译码,见表14-5。7279阵列式键盘电路原理如图14-19所示。7279阵列式键盘实验程序图14-20 7279阵列式键盘实验程序框图6.思考题51单片机直接连接阵列式键盘如何编程?

单片机嵌入式系统学习指导与实验

1.实验目的

(1)掌握用HD7279A芯片实现数码管显示的编程方法。

(2)熟悉键盘的工作原理,掌握用HD7279A芯片实现键盘扫描的编程方法。

2.实验说明

HD7279A是一片具有串行接口,可同时驱动8位共阴极数码管(或64只独立LED)的智能显示驱动芯片,该芯片同时还可连接多达64键的矩阵键盘,HD7279A内部含有译码器,可直接接受BCD码或16进制码,具有2种译码方式,还具有多种控制指令,如消隐、闪烁、左移、右移、段寻址等。HD7279芯片的引脚图如图14-18所示,引脚功能见表14-3。

978-7-111-50307-1-Chapter14-43.jpg

图14-18 HD7279芯片的引脚图

表14-3 HD7279A引脚表

978-7-111-50307-1-Chapter14-44.jpg

(续)

978-7-111-50307-1-Chapter14-45.jpg

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位)移动一位(包括处于消隐状态的显示位),但对各位所设置的消隐及闪烁属性不变。移位后,最右边一位为空(无显示)。例如,原显示为

978-7-111-50307-1-Chapter14-46.jpg

其中第2位‘3’和第4位‘L’为闪烁显示,执行了左移指令后,显示变为

978-7-111-50307-1-Chapter14-47.jpg

第2位‘9’和第4位‘P’为闪烁显示。

4)右移指令(A0H)。与左移指令类似,但所做移动为自左向右(从第8位向第1位)移动,移动后,最左边一位为空。

5)循环左移指令A3H。与左移指令类似,不同之处在于移动后原最左边一位(第8位)的内容显示于最右位(第1位)。在上例中,执行完循环左移指令后的显示为

978-7-111-50307-1-Chapter14-48.jpg

第2位‘9’和第4位‘P’为闪烁显示。

6)循环右移指令(A2H)。与循环左移指令类似,但移动方向相反。

(2)带有数据的指令

1)下载数据且按方式0译码

978-7-111-50307-1-Chapter14-49.jpg

注:X——无影响

命令由2个字节组成,前半部分为指令,其中a1、a2、a3为位地址,具体分配见表14-4。

表14-4 位地址分配表

978-7-111-50307-1-Chapter14-50.jpg

d0~d3为数据,收到此指令时,HD7279按译码方式0进行译码,见表14-5。小数点的显示由DP位控制,DP=1时,小数点显示;DP=0时,小数点不显示。(www.xing528.com)

表14-5 HD7279译码方式0

978-7-111-50307-1-Chapter14-51.jpg

2)下载数据且按方式1译码

978-7-111-50307-1-Chapter14-52.jpg

注:X——无影响

此指令与上一条指令基本相同,所不同的是译码方式,该指令的译码见表14-6。

表14-6 HD7279译码方式1

978-7-111-50307-1-Chapter14-53.jpg

3)下载数据但不译码

978-7-111-50307-1-Chapter14-54.jpg

其中a1、a2、a3为位地址,A~G和DP为显示数据,分别对应7段LED数码管的各段,相对应的数据为“1”时,该段点亮,否则不亮。

4)读取键盘数据指令(15H)

978-7-111-50307-1-Chapter14-55.jpg

该指令从HD7279读出当前的按键代码,宽度为16bit,前8 bit为微处理器发送到HD7279A的指令,后8 bit为HD7279A返回的键盘代码,其范围为0~3FH(无键按下时为

FFH)。当HD7279检测到有效的按键时,KEY引脚从高电平变为低电平,并一直保持到按

键结束。在此期间,如果HD7279接收到“读键盘数据指令”,则输出当前按键的键盘代码;

如果在收到“读键盘指令”时没有有效按键,HD7279将输出FFH。

3.实验电路图

本实验用到单片机最小应用系统模块、8位动态数码显示模块和7279阵列式键盘模块。7279阵列式键盘电路原理如图14-19所示。

978-7-111-50307-1-Chapter14-56.jpg

图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阵列式键盘实验程序

978-7-111-50307-1-Chapter14-57.jpg

978-7-111-50307-1-Chapter14-58.jpg

图14-20 7279阵列式键盘实验程序框图

978-7-111-50307-1-Chapter14-59.jpg

978-7-111-50307-1-Chapter14-60.jpg

978-7-111-50307-1-Chapter14-61.jpg

6.思考题

51单片机直接连接阵列式键盘如何编程?

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

我要反馈