一、要求
在CT107D单片机训平台上,实现独立按键对发光二极管的控制。其中,按键S7和S6为选择键,确定控制键控制哪组LED指示灯。按键S5和S4为控制键,按下该按键点亮指定的LED灯,松开后熄灭。具体控制如下:
(1)按下S7点亮L1指示灯,L1点亮后,S6不响应操作。此时,S5控制L3,S4控制L4。再次按下S7,L1指示灯熄灭,S6可响应操作。
(2)按下S6点亮L2指示灯,L2点亮后,S7不响应操作。此时,S5控制L5,S4控制L6。再次按下S6,L2指示灯熄灭,S7可响应操作。
简而言之就是,S7和S6未按下时,即L1和L2未点亮时,S4和S5不响应操作,也就是未做LED灯区域选择时,控制键不能操作。
二、按键
按键分为单个独立按键和行列式矩阵键盘。按键是一种机械结构,手动按键的过程中难免会产生抖动。所以我们在进行编程的时候必须进行消除抖动的设计,以免系统出现误判。消除抖动的方法就是利用延时程序,让系统稍等一段时间,然后再重新判断接收按键的数据。
三、硬件电路分析
本次实验中是使用独立按键实现对LED灯的控制,所以在单片机开发板上,要将J5位置的2、3引脚用跳线帽连接起来。由硬件连接可以看出,独立按键S7、S6、S5、S4直接连接在单片机的P3.0~P3.3脚上。当按键按下时,单片机引脚与地直接相连,此时单片机引脚状态变为低电平;松开按键,单片机引脚状态变为高电平。(此处说的单片机引脚是