利用keil5,使用stc89c52,设计程序,利用4*4键盘和七段数码管,使得当键盘某一按键按下时,数码管显示该按键按下键值。利用<reg52.h>。
根据需要,这个问题需要涉及四个部分:硬件连接、键盘扫描、数码管显示和主函数循环。
硬件连接:
将4*4键盘连接到P3端口和单片机的GND上,将七段数码管分别连接到P0.0~P0.6和P2.6、P2.7。其中,P0.0~P0.6对应数码管a~g段,P2.6和P2.7对应数码管的位选引脚DU和WE。
键盘扫描:
参考资料中提供了一个函数叫做KeyScan(),这个函数可以实现4*4键盘和独立按键的扫描。在按键按下后,会将按键对应的KeyValue值改变。
数码管显示:
根据KeyValue的值来显示相应的数字或字母,用tabel[]数组来表示每个数字或字母所对应的数码管段选信号。具体实现如下:
主函数循环:
在main()函数里,设置位选锁存器WE为高电平,设置要显示的数据P0,然后将位选锁存器WE拉低,将数据锁存。最后开始循环执行键盘扫描和显示功能。