矩阵键盘的键值计算及编程.ppt_第1页
矩阵键盘的键值计算及编程.ppt_第2页
矩阵键盘的键值计算及编程.ppt_第3页
矩阵键盘的键值计算及编程.ppt_第4页
矩阵键盘的键值计算及编程.ppt_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、44矩阵键盘的键值计算及编程,51单片机C语言编程及Proteus仿真,景德镇学院机电系,.j,本讲主要内容,景德镇学院机电系,.j,1 键值计算基本原理_“好人被带坏”,默认状态:单片机通电复位后P1 P2 P3口每个脚都输出高电平,P0口要接上拉电阻才能输出高电平。 a 各脚状态标记都是红色方块。 b 用电压测量都是5V。,景德镇学院机电系,.j,1 键值计算基本原理_“好人被带坏”,要使一个引脚变为低电平有如下方法: a 接地。 b 用逻辑状态信号人为改变。 c 编写程序使其输出低电平。,景德镇学院机电系,.j,1 键值计算基本原理_“好人被带坏”,一个低电平引脚与高电平引脚相接,结果如

2、何? 实验结果:“好人被带坏”,即高电平引脚电压被变低。,景德镇学院机电系,.j,2 读取I/O口值的练习,一般都是自高到低读出一个端口各脚电平 ,得到8位二进制数,再将8位二进制转换成2位十六进数。 P1口值=P1.7 P1.6 P1.5 P1.4P1.3 P1.2 P1.1 P1.0 =1101 1111=0 x df P3口值= P3.7 P3.6 P3.5 P3.4P3.3 P3.2 P3.1 P3.0 =1111 1010=0 xfa P1口高四位是指:P1.7 P1.6 P1.5 P1.4 P1口低四位是指:P1.3 P1.2 P1.1 P1.0,景德镇学院机电系,.j,2 读取I

3、/O口值的练习,用程序控制单片机P2口工作,让高四位全高电平,低四位全低电平。 即:P2=0 xf0; 具体实现见操作,结果如图。,景德镇学院机电系,.j,2 读取I/O口值的练习,当 P2=0 xf0; 外接一个两脚开关到P2口只能让P2产生如下四个新的值: 0 xe0, 0 xd0,0 xb0,0 x70 0 xe0 0 x70,景德镇学院机电系,.j,2 读取I/O口值的练习,当 程序使P2=0 x0f; 外接一个两脚开关到P2口只能让P2产生如下四个新的值: 0 x0e, 0 x0d,0 x0b,0 x07 0 x0d 0 x0b,景德镇学院机电系,.j,2 读取I/O口值的练习,总结

4、 开关接通后,如果两引脚上电平不同时,会将高电平引脚电压变低。,景德镇学院机电系,.j,3 键盘的键值,P2口接有44 键盘,低四位做行线,高四位做列线。,景德镇学院机电系,.j,3 键盘的键值,找行线值时,程序使P2=0 x0f; P2.0行线上开关按下会使P2口值变为 0 x0e, 其余同理。,景德镇学院机电系,.j,3 键盘的键值,找列线值时,程序使P2=0 xf0; P2.7列线上开关按下会使P2口值变为 0 x70, 其余同理。,景德镇学院机电系,.j,3 键盘的键值,键盘的键值 位置 键值 (1行,1列) e0+0e=ee (1行,2列) d0+0e=de (1行,3列) b0+0

5、e=be (1行,4列) 70+0e=7e (2行,1列) e0+0d=ed (2行,2列) d0+0d=dd (2行,3列) b0+0d=bd (2行,4列) 70+0d=7d (3行,1列) e0+0b=eb (3行,2列) d0+0b=db (3行,3列) b0+0b=bb (3行,4列) 70+0b=7b (4行,1列) e0+07=e7 (4行,2列) d0+07=d7 (4行,3列) b0+07=b7 (4行,4列) 70+07=77,注:行列线的排列不同,键值分布也不同,景德镇学院机电系,.j,3 键盘的键值,键盘的键值 位置 键值 (1行,1列) e7 (1行,2列) eb (

6、1行,3列) ed (1行,4列) ee (2行,1列) d7 (2行,2列) db (2行,3列) dd (2行,4列) de (3行,1列) b7 (3行,2列) bb (3行,3列) bd (3行,4列) be (4行,1列) 77 (4行,2列) 7b (4行,3列) 7d (4行,4列) 7e,计算键值一般方法,景德镇学院机电系,.j,3 键盘的键值,总结 44矩阵键盘的键值 共有16个,计算键值时总是: 先找出行线值,再找出列线值,最后绘出矩阵键盘的键值。,景德镇学院机电系,.j,4 键盘扫描编程_线反转法,/*键盘扫子描函数*/ char keyscan(void) /键盘扫描函

7、数,键盘使用P2口 char value_h,value_l; /value_h行值变量,value_l列值变量 P2=0 xf0; /将行线所处位置置高电平 if(P2 /找到的键值返回给调用函数 ,景德镇学院机电系,.j,4 键盘扫描编程_线反转法流程分析,/*键盘扫子描函数*/ char keyscan(void) /键盘扫描函数,键盘使用P2口 char value_h,value_l; /value_h行值变量,value_l列值变量 P2=0 xf0; /将行线所处位置置高电平 if(P2 /找到的键值返回给调用函数 ,景德镇学院机电系,.j,5 一个数码管显示矩阵键盘值的实验,实验

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论