首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

蓝桥杯单片机设计与开发 5 独立按键和矩阵键盘的应用

本章我们的主要内容分为两部分

独立按键的编程及使用

矩阵按键的扫描方式以及编程原理

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

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180214A0OO4V00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券