- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
项目五键盘的接口重点讲义
辽宁轨道交通职业学院 辽宁轨道交通职业学院 辽宁轨道交通职业学院 项目五 单片机的I/O口 ——键盘的接口 辽宁轨道交通职业学院 主要内容 软件设计 4 项目任务 1 相关知识 2 硬件设计 3 任务考核 5 按键控制一位数码管,每按下一次按键数码管倒数一次,循环往复。设计单片机控制电路并编程实现此功能。 项目任务 项目演示 相关知识——常用按键概述 键盘是由一组规则排列的按键组成的,一个按键实际上是一个开关元件。也就是说,键盘是一组规则排列的开关。 按键实物 按键内部结构 分 类 触点式按键:机械式、导电橡胶式、柔性按键 无触点式按键:电气式、磁感应式 按键的去抖动 1.软件方法 2.硬件方法 滤波去抖 双稳态去抖 按键的电平变化 检测按键按下时,执行一个10ms左右的延时后, 再确认该键是否仍然保持闭合状态电平. 矩阵式键盘结构及与单片机的连接 矩阵式键盘与单片机的连接 硬件设计 流水灯 电路 按键和七段数码管电路 单片机 最小系统电路 单片机 最小系统电路 按键控制七位数码管项目器件清单 序号 器件名称 规格型号 数量 备注 1 单片机芯片 STC89C51RC或兼容型号 1 使用40脚IC座 2 七段数码管 共阳极 1 任何颜色均可 3 无源晶振 12MHz 1 ? 4 电容 30pF 2 瓷片电容 10μF 1 电解电容 5 电阻 560Ω 8 1/4W或1/8W 4.7kΩ 1 1/4W或1/8W 6 按键 6mm*6mm*4.3mm 2 自复式按键 7 导线 ? 若干 ? 软件设计——按键控制一位数码管显示 #include reg51.h #define LED_PORT P2 //定义P2为LED的IO KEY = P3^2; //按键接在P3.2上 unsigned char code dat[] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0x98, 0x80, 0x90}; //分别对应0~9 十个显示编码 void main(void) { unsigned char i=0; for (;;) //单片机程序是个死循环 { KEY = 1; //读端口之前先把端口置1 if (!KEY) //等待按键按下 { Delay_ms (20); //延时20ms,去抖 if (!KEY) { LED_PORT = dat[9-i]; //i是0,访问dat[9],所以是9-i i++; if (i==10) i=0; //循环显示 } while(!KEY); //等待按键弹起 Delay_ms(20); //按键弹起后延时20ms,去抖 while(!KEY); //确认按键弹起 } } } 使用位操作检测键值的变化 ——矩阵键盘读的读取 ? P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 原键值(old) 0 0 1 0 1 1 0 1 新键值(new) 0 1 0 0 1 1 1 0 原值异或新(old^new) 0 1 1 0 0 0 1 1 新按(old^newnew) 0 1 0 0 0 0 0 1 释放键(old^newold) 0 0 1 0 0 0 1 0 #define KEY_PORT P1 unsigned int old, new, re, tem; unsigned char a; ?void key (void) { for (a=0x10; a==0; a1) { KEY_PORT = a; new = (new4) | KEY_PORT 0x0F; } if ((tem=new^old)0) { push = temnew; re = temold; old = new; } } 项目考核 考核成绩(100分) 过程考核80分 平时成
文档评论(0)