本章我们的主要内容分为两部分
独立按键的编程及使用
矩阵按键的扫描方式以及编程原理
PS:因为比赛使用的是IAP15的转接板,该开发板不可使用按键处罚外部中断的方式检测按键,故不做讨论,
同时IAP15芯片的WR/RD功能不是P36/P37引脚功能,故用P42/P44引脚代替
故提供两种程序开头写法:
第一种使用reg52.h开头的程序
第二种使用stc15f2k60s2.h开头的程序
本文均以stc15为开头的程序做示例。
该函数为后续例程中所使用的延时函数。
独立按键
首先,我们依然是先来看这一部分的电路原理图
首先我们将左下角的端口选择用跳线帽将2、3连在一起,我们可以看到按键S4~S7分别连接的是单片机的P30~P33端口,本章我们就用按键来控制上一章教学的LED不同的点亮方式来体现按键的功能。(为节约空间,此处仅以S7按键讲解)
示例程序:
以上就是独立按键的编程过程。
矩阵键盘
现在我们将选择端口,转接到12上如原理图所示,将按键分为四行四列,然后编程中我们分别进行“行”扫描和“列”扫描,进行标志位的标致,就能判断出所按下的按键的是哪一个,详细方法见一下程序。
扫描函数
主函数
这些就是关于按键部分的内容部,最后再给大家留一道练习题,用以熟练按键的编程操作。
习题:用四个独立按键和八个LED做一个八位二进制加法器,一个按键表示“+1”,一个按键表示“-1”,一个按键表示“清零”,一个按键表示“清零前最后一次显示的数”。
本章资料下载地址见原文。
本章关于独立按键和矩阵键盘的编程的介绍到此就大致结束了,下一章将开始讲解定时器0和动态数码管的程序编程序。
本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息: 原文出处:Bkoak’s blog http://www.bkoak.com/2018/02/14/lanqiao5/ 联系博主 邮箱:wjf418224424@aliyun.com QQ交流群:693211073
领取专属 10元无门槛券
私享最新 技术干货