矩阵键盘的键值计算及编程

上传人:沈*** 文档编号:245333386 上传时间:2024-10-08 格式:PPT 页数:20 大小:534.50KB
返回 下载 相关 举报
矩阵键盘的键值计算及编程_第1页
第1页 / 共20页
矩阵键盘的键值计算及编程_第2页
第2页 / 共20页
矩阵键盘的键值计算及编程_第3页
第3页 / 共20页
点击查看更多>>
资源描述
Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,Click to edit Master title style,景德镇学院机电系,.j,44矩阵键盘的键值计算及编程,51单片机C语言编程及Proteus仿真,本讲主要内容,键值计算基本原理,1,读取I/O口值的练习,2,键盘的键值计算,3,键盘扫描编程_线反转法,4,一个数码管显示矩阵键盘值的实验,5,景德镇学院机电系,.j,1 键值计算基本原理_“好人被带坏”,默认状态:单片机通电复位后P1 P2 P3口每个脚都输出高电平,P0口要接上拉电阻才能输出高电平。,a,各脚状态标记都是红色方块。,b,用电压测量都是5V。,景德镇学院机电系,.j,1 键值计算基本原理_“好人被带坏”,要使一个引脚变为低电平有如下方法:,a,接地。,b,用逻辑状态信号人为改变。,c,编写程序使其输出低电平。,景德镇学院机电系,.j,1 键值计算基本原理_“好人被带坏”,一个低电平引脚与高电平引脚相接,结果如何?,实验结果:“好人被带坏”,即高电平引脚电压被变低。,景德镇学院机电系,.j,2 读取I/O口值的练习,一般都是自高到低读出一个端口各脚电平,得到8位二进制数,再将8位二进制转换成2位十六进数。,P1口值=P,1.7,P,1.6,P,1.5,P,1.4,P,1.3,P,1.2,P,1.1,P,1.0,=1101 1111=0 x df,P3口值=P,3.7,P,3.6,P,3.5,P,3.4,P,3.3,P,3.2,P,3.1,P,3.0,=1111 1010=0 xfa,P1口高四位是指:P,1.7,P,1.6,P,1.5,P,1.4,P1口低四位是指:P,1.3,P,1.2,P,1.1,P,1.0,景德镇学院机电系,.j,2 读取I/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口值的练习,总结,开关接通后,如果两引脚上电平不同时,会将高电平引脚电压变低。,景德镇学院机电系,.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+0e=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,(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)/键盘扫描函数,键盘使用P2口,char value_h,value_l;/value_h行值变量,value_l列值变量,P2=0 xf0;/将行线所处位置置高电平,if(P2&0 xf0)!=0 xf0)/判断是否有键按下,delay(10);/延时防抖,if(P2&0 xf0)!=0 xf0)/仍有键按下,value_h=P2 /读出P2口值给变量value_h,P2=0 x0f;/将列线所处位置置高电平,value_l=P2 /读出P2口值给变量value_l,return(value_l+value_h);/找到的键值返回给调用函数,景德镇学院机电系,.j,4 键盘扫描编程_线反转法流程分析,/*键盘扫子描函数*/,char keyscan(void)/键盘扫描函数,键盘使用P2口,char value_h,value_l;/value_h行值变量,value_l列值变量,P2=0 xf0;/将行线所处位置置高电平,if(P2&0 xf0)!=0 xf0)/判断是否有键按下,delay(10);/延时防抖,if(P2&0 xf0)!=0 xf0)/仍有键按下,value_h=P2 /读出P2口值给变量value_h,P2=0 x0f;/将列线所处位置置高电平,value_l=P2 /读出P2口值给变量value_l,return(value_l+value_h);/找到的键值返回给调用函数,景德镇学院机电系,.j,5 一个数码管显示矩阵键盘值的实验,实验电路如图,显示数码管接在P1口,键盘接在P2口,第一行第一列的开关按下数码管显示“0”,“1F”的显示分布见图。,注:键盘上标注的“0F”叫做执行值,前面分析的16个值(ee77)叫键盘的键值。,景德镇学院机电系,.j,Thank You!,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!