资源预览内容
第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
第9页 / 共14页
第10页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
21天学天学51单片机开发单片机开发第十六讲:第十六讲:51系列单片机扩展键盘系列单片机扩展键盘 1-2课程安排课程安排键盘的种类键盘的种类 键盘的基本原理键盘的基本原理 键盘程序设计键盘程序设计 单片机扩展键盘实例单片机扩展键盘实例 1-3键盘的种类键盘的种类 键盘就是在人机交互系统中用来输入控制信号或数键盘就是在人机交互系统中用来输入控制信号或数据的接口。据的接口。 直接式按键键盘直接式按键键盘阵列式按键键盘阵列式按键键盘 1-4直接式按键键盘直接式按键键盘 1-5阵列式按键键盘阵列式按键键盘 1-6键盘的基本原理键盘的基本原理 按键编码按键编码 按键确认按键确认 按键消抖按键消抖 读取键值读取键值 避免重复响应避免重复响应 多按键响应多按键响应 1-7按键消抖按键消抖 软件消抖软件消抖 电容式硬件消抖电容式硬件消抖 双稳态电路消抖双稳态电路消抖 1-8键盘程序设计键盘程序设计 直接式按键键盘的查询方式直接式按键键盘的查询方式 阵列式按键键盘的扫描方式阵列式按键键盘的扫描方式 阵列式按键键盘的线反转方式阵列式按键键盘的线反转方式 阵列式按键键盘的中断方式阵列式按键键盘的中断方式 1-9直接式按键键盘的查询方式直接式按键键盘的查询方式01#include 02unsigned char Read_Keyboard();/读键值03void Func1(); /自定义函数104void Func2();/自定义函数205void main()0607unsigned char Keyboard_Status;/ 定义键值08while(1)0910Keyboard_Status = Read_Keyboard();/ 读取按键值11if(Keyboard_Status=0x01)1213Func1();1415else if(Keyboard_Status=0x02)1617Func2();1819else2021222324unsigned char Read_Keyboard()2526unsigned char Keys_Value;/ 定义键值变量27P2 = 0xff;/ P2口置高,准备读取按键状态28Keys_Value = P2;/ 读取按键状态29return Keys_Value;/ 返回按键状态值3031void Func1()323334void Func2()35361-10阵列式按键键盘的扫描方式阵列式按键键盘的扫描方式 步骤:步骤:判断有无按键按下判断有无按键按下软件去抖动软件去抖动 扫描按键的位置扫描按键的位置 一次按键处理一次按键处理 1-11阵列式按键键盘的线反转方式阵列式按键键盘的线反转方式 步骤:步骤:将行线作为输出线,列线作为输入线将行线作为输出线,列线作为输入线 延时,用于去抖动处理延时,用于去抖动处理 将列线作为输出线,行线作为输入线将列线作为输出线,行线作为输入线 一次按键处理一次按键处理 1-12阵列式按键键盘的中断方式阵列式按键键盘的中断方式 1-13单片机扩展键盘实例单片机扩展键盘实例 1-14程序设计程序设计
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号