实验四动态显示与矩阵式键盘实验
一、实验目的
1、 进一步理解数码管与单片机的接口原理与动态显示原理,理解单片机矩
阵式键盘按键识别的原理;
2、 掌握单片机动态显示应用和编程方法; 3、 掌握单片机矩阵式键盘按键识别的方法。 二、实验前准备
1、 完成作业6;
2、 根据实验内容编写好相关程序,并进行Proteus仿真。 三、实验内容
实验内容为3项,其中第1、2项必做。 1、动态显示。
未按键不显示,按K1键,动态显示“19491001”;按K2键,动态显示“20141210”。
2、动态显示与按键识别。
矩阵式键盘键值分别是0-F,未按键不显示。每按键一次,键值在最低位显示,原键值向高位移一位。
3、可控动态显示与按键识别。
矩阵式键盘键值分别是0-9,最下面一排键位功能键,左右两个键分别为“清0键”“C”,和”“回车键”“?”,其它键无效。未按键不显示,每按键一次,键值在最低位显示,原键值向高位移一位。按8个键后,再按键无效。按清0键全显示“0”。按“?”后全部熄灭,再按键重新开始。 四、实验原理图
1918171615141312Q0Q1Q2Q3Q4Q5Q6Q774HC573LEOEQ0Q1Q2Q3Q4Q5Q6Q7U21918171615141312U374HC573LEOE1111RP81k1098765432D0D1D2D3D4D5D6D723456789D0D1D2D3D4D5D6D7111U119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD3938373635343332K121222324252627281011121314151617K2K3K418XTAL29RST293031PSENALEEA2345678912345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51U4AND_4 图3.4 动态显示与矩阵式键盘实验电路原理图
动态显示共8个共阴极数码管,采用两片74LS573进行驱动,74LS573与74LS373都是8D锁存器,只是573引脚排列更易于布线。其引脚功能为:D1-D8为数据输入端;Q1-Q8为数据输出端;LE为数据输入锁存端,LE=1数据输入D锁存器,LE=0数据不能输入D锁存器,即LE下降沿锁存当前输入数据;OE地址输出允许端,OE=0输出锁存数据,OE=1输出高阻。
电路中,U1输出段码a b c d e f g db,控制显示的字形与小数点,U2输出位选码,控制第几个数码管显示。单片机P14、P15分别连接到U1、U2的LE,连接U1、U2的OE。 五、软件设计思想 1、动态显示。
(1) 仿照例题编程,设置8个数据的一维显示数组disp[],设置位选码数组sled_bit[],对应每个数码管;设置2个一维数组,data ucharar[8]={1,9,4,9,1,0,0,1};data uchar br[8]={2,0,1,4,1,2,1,0};按K1、K2键进入外部中断0,在外部中断程序中根据按键将ar[]、br[]数据送人disp[]。
(2)T0每500us中断1次,在T0中断中点亮一个数码管。在T0中断函数中,① P1.3=1,U1、U2输出高阻;② P1.4=1,P0口输出段码,P1.4=0,U1锁存输入的段码;③ P1.5=1,P0口输出位选码,P1.5=0,U2锁存输入的位选码;④ P1.3=0,U1、U2同时输出段码和位选码,进行显示。
1、 矩阵式键盘按键识别
(1)行、列输出后要延时,才读出相应特征值; (2)进行键值分析前要具备如下条件:
①要有键按下,设a是得到的键值,if(a!=0xff)才继续进行; ②要等键弹起,若输出P2=0x0f,则P2!=0x0f要等待,while(P2!=0x0f); ③每次进行完键值分析后,要延时。
六、实验思考题
1、 电路中为什么要用74LS573,不用74LS573,可用什么器件代替?如果
U1、U2的OE都直接接地,应如何编程? 答:可用74ALS573,74S573,74AS573,74HC573,74HCT573替代。如果OE都接地也就是都置零,那么就没有关闭两块芯片的输出使能端。可以在送段码和位码时先送位码把P0置0xff,再送段码,最后再送要显示的位码 2、为什么要等键弹起,才进行键值分析?
答:消弹跳,因为若不消弹跳,可能会认为多次按此键。最好是等待松手后,再进行判断。
3、如果用简单按键与矩阵式键盘构成组合按键,组合按键如何编程得到键值?
答:组合按键是多个按键组合获得一个键值,因此我们可以先获取简单按键与矩阵式键盘分别的键值。得到分别的键值后,加判断语句分别要求独立按键的键值为某一值、矩阵按键获取的键值为某一值当它们都达到要求时则向系统反馈某个设定值。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库实验四实验报告(2)在线全文阅读。
相关推荐: