




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微 机 测 控 电 路 课 程 设 计 题目 采用微机的键盘检测与提示电路及程序设计采用微机的键盘检测与提示电路及程序设计 方案方案 A A1616 院 系 机电及自动化学院 专 业 测控技术与仪器 2 班 学 号 0911212021 姓 名 农金德 级 别 2 0 0 9 指导老师 孙 炳 阳 2012 年 6 月 H Hu ua aq qi ia ao o u uniniv ve er rsitysity 1 目 录 一 绪论一 绪论 3 一 设计任务 3 二 4X4 机械式按键 3 三 使用单片机 I O 构成矩阵式键盘 3 四 行列反转法 3 五 中断触发方式 3 二 系统设置二 系统设置 4 一 硬件电路设计 4 二 程序流程图 4 三 51C 语音程序 4 参考文献参考文献 8 2 一 绪论一 绪论 一 一 设计任务 设计任务 采用微机的键盘检测与提示电路及程序设计 运用 4X4 机械式按键 使用单片机 IO 构 成矩阵式键盘 行列反转法 中断触发方式 二 二 4 4X4X4 机械式按键 机械式按键 4X4 的行 列结构可以构成 16 个按键的键盘 在本方案采用机械式结构键盘 机械 式结构键盘一般使用类似金属接触开关的原理 实现触点的导通和断开 实际应用中 机 械式按键的结果形式有很多 最常用的是交叉接触式 三 三 使用单片机 使用单片机 I I O O 构成矩阵式键盘 构成矩阵式键盘 矩阵式键盘是一种扫描式键盘 其工作过程比独立式键盘复杂 矩阵式键盘由行线 列线及位于行列线交叉点的按键等部分组成 矩阵式键盘由于其矩阵式结构 单片机一个 I O 口的状态已不能满足要求 需通过连接到键盘上的两根 I O 口线的状态来共同确定按 键的状态 此时采用行线和列线信号的状体分别处理 综合考虑方可确定按键闭合的位置 四 四 行列反转法 行列反转法 第一步 行线 IO P0 4 P0 7 置低电平 列线 IO P0 0 P0 3 置高电平 假设 K1 按下 那么 P0 0 0 读 P0 口 P0 00001110 第二步 行线 IO P0 4 P0 7 置高电平 列线 IO P0 0 P0 3 置低电平 假设 K1 按下 那么 P0 7 0 读 P0 口 P0 01110000 第三步 两个字节相加 得到新组合数据 01111110 第一行 第一列 每按一个键我们都得到不同的字节 通过比对我们制好的表格就可以知道是那个按键按下 了 然后返回一个数值 通过这个数值查数码表 就可以相应的显示我们先前设置好的 0 至 F 中的其中一个值了 五 五 中断触发方式 中断触发方式 当键盘上有键按下时 发出中断请求 CPU 响应中断请求后 转中断服务程序 进行 键盘扫描 识别键码等 3 2 2 系统设计系统设计 一 一 硬件电路设计 硬件电路设计 4 2 2 程序流程图 程序流程图 3 3 51C51C 语音程序语音程序 运用 3X4 机械式按键 使用单片机 IO 构成矩阵式键盘 行列反转法 中断触发方式 include 头文件 define KeyPort P0 键盘端口 define DataPort P1 定义数据端口 程序中遇到 DataPort 则用 P1 替换 bit KeyPressFlag 定义按键标志位 sbit LED P2 0 unsigned char code dofly DuanMa 0 x3f 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 0 x7f 0 x6f 0 x77 0 x7c 0 x39 0 x5e 0 x79 0 x71 显示段码值 0 F void DelayUs2x unsigned char t us 级延时函数声明 void DelayMs unsigned char t ms 级延时函数声明 unsigned char KeyScan void 键盘扫描函数 unsigned char KeyPro void void Init INT0 void 外部中断 0 初始化函数 5 主函数 void main void unsigned char num temp 定义变量 DataPort 0 x00 数据端口赋初值 LED 0 Init INT0 调用外部中断 0 函数 while 1 主循环 KeyPort 0 x0f 赋初值用于中断检测 if KeyPressFlag 1 KeyPressFlag 0 按键标志清零 以便下次检测 num KeyPro if num 0 xff temp dofly DuanMa num DataPort temp LED LED uS 延时函数 T tx2 5us void DelayUs2x unsigned char t while t mS 延时函数 void DelayMs unsigned char t while t 大致延时 1mS DelayUs2x 245 DelayUs2x 245 6 按键扫描函数 使用行列反转法扫描 返回扫描键值 unsigned char KeyScan void 键盘扫描函数 使用行列反转扫描法 unsigned char cord h cord l 行列值中间变量 KeyPort 0 x0f 行线输出全为 0 cord h KeyPort 读入列线值 if cord h 0 x0f 先检测有无按键按下 DelayMs 10 去抖 延时 10ms if KeyPort 读入列线值 KeyPort cord h 0 xf0 输出当前列线值 cord l KeyPort 读入行线值 while KeyPort 等待松开并输出 return cord h cord l 键盘最后组合码值 return 0 xff 返回该值 按键值处理函数 返回扫键值 unsigned char KeyPro void switch KeyScan case 0 x7e return 0 break 0 按下相应的键显示相对应的码值 case 0 xbe return 1 break 1 case 0 xde return 2 break 2 case 0 xee return 3 break 3 case 0 x7d return 4 break 4 case 0 xbd return 5 break 5 case 0 xdd return 6 break 6 case 0 xed return 7 break 7 case 0 x7b return 8 break 8 case 0 xbb return 9 break 9 case 0 xdb return 10 break a 7 case 0 xeb return 11 break b case 0 x77 return 12 break c case 0 xb7 return 13 break d case 0 xd7 return 14 break e case 0 xe7 return 15 break f default return 0 xff break 外部中断 0 初始化 void Init INT0 void EA 1 全局中断开 EX0 1 外部中断 0 开 IT0 1 边沿触发 外部中断 0 程序 void ISR INT0 void interrupt 0 KeyPres
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智慧办公楼宇管理系统建设实现节能减排与绿色发展
- 在线教育与医疗技术的跨界融合与创新发展
- 提升学习动力教育游戏化的应用与探索
- 智慧城市公共交通的AI监控与风险控制
- 情绪智力在教学中的重要性
- 教育心理学在职业教育中的应用前景
- 智慧医疗系统在医疗资源分配中的关键作用
- 教育心理学在校园欺凌防治中的作用
- 2025届湖北省随州市普通高中物理高二第二学期期末经典模拟试题含解析
- 中职思政课课件下载
- 托管回馈活动方案
- 2025届四川内江中考数学试题【含答案】
- 北京市殡葬惠民政策及实施可行性报告
- 2025年国家公务员考试(行测)经典75道逻辑推理题(包过)(含答案)
- 2025年湖北省中考英语试卷真题(含答案解析)
- 2025至2030中国学生校服行业发展分析及投资前景与战略规划报告
- 2025年1月辽宁省普通高中学业水平合格性考试英语试题(原卷版)
- 二年级下二升三数学暑假作业(人教)
- 2025年广安市中考语文试卷真题(含标准答案)
- 2025【合同范本】产品销售代理合同范本
- 2025年苏教版四年级(下)期末考试数学试卷(含答案)
评论
0/150
提交评论