




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第4 4章章 键盘输入及中断键盘输入及中断4.1 概述(略,自学)概述(略,自学)4.2 独立按键(在第独立按键(在第2章已涉及)章已涉及)4.3 44矩阵键盘矩阵键盘 不同布局的不同布局的44薄膜矩阵键盘薄膜矩阵键盘 等效电路等效电路 按键型按键型4.3 44矩阵键盘矩阵键盘 薄金属片薄金属片44薄膜矩阵薄膜矩阵键盘内部结构键盘内部结构 4.3.1 44矩阵键盘矩阵键盘 1234ABCD4321DCBATitleNumberRevisionSizeA4Date:13-Jul-2012Sheet of File:D:C51_JIA_MA教学用电路图.DdbDrawn By:EA/VP31X1
2、19X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U1AT89C51e1d2com3c4dp5b6a7com8f9g10LED12345678161514131211109PR1100+5VS0S1S2S3S4S5S6S7S8S9S10S11S12S13S14S154.3.2 矩阵键盘应用矩阵键盘应
3、用 要求:压数字键时,在要求:压数字键时,在数码管上显示相应的数数码管上显示相应的数字,压其他键时数码管字,压其他键时数码管不显示。不显示。点击视频文件点击视频文件视频视频键键盘盘4-4.AVI1234ABCD4321DCBATitleNumberRevisionSizeA4Date:13-Jul-2012Sheet of File:D:C51_JIA_MA教学用电路图.DdbDrawn By:EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336
4、P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U1AT89C51e1d2com3c4dp5b6a7com8f9g10LED12345678161514131211109PR1100+5VS0S1S2S3S4S5S6S7S8S9S10S11S12S13S14S151234ABCD4321DCBATitleNumberRevisionSizeA4Date:13-Jul-2012Sheet of File:D:C51_JIA_MA教学用电路图.DdbDrawn By:EA/VP31
5、X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U1AT89C51e1d2com3c4dp5b6a7com8f9g10LED12345678161514131211109PR1100+5VS0S1S2S3S4S5S6S7S8S9S10S11S12S13S14S15列列0 1 2 3行行01 2
6、 3先扫第先扫第0列、读第列、读第0行、第行、第1行行定义矩阵键盘定义矩阵键盘“意义意义” 这个表这个表(数组数组)与键的布局(硬件)及扫与键的布局(硬件)及扫描的方式描的方式(软件软件)有关有关 如果压如果压“9”,通过编程,返回它的键值,通过编程,返回它的键值(地址地址)=列列*4+行行=2*4+0=8再查再查keybiao的第的第8个元素得到个元素得到“9”,说明是压下了键说明是压下了键“9”元素编号:元素编号:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16S后的数字后的数字恰好就是该恰好就是该键的键的“键键值值”(地址地址)1234ABCD4321DC
7、BATitleNumberRevisionSizeA4Date:13-Jul-2012Sheet of File:D:C51_JIA_MA教学用电路图.DdbDrawn By:EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U1AT89C51e1d2com3c4dp5b6a7co
8、m8f9g10LED12345678161514131211109PR1100+5VS0S1S2S3S4S5S6S7S8S9S10S11S12S13S14S15列列0 1 2 3行行01 2 3扫第扫第0列、读第列、读第1行行0 1 1 11 1 0 1元素编号:元素编号:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16计算键值(地址)计算键值(地址)=列列*4+行行=0*4+1=11234ABCD4321DCBATitleNumberRevisionSizeA4Date:13-Jul-2012Sheet of File:D:C51_JIA_MA教学用电路图.D
9、dbDrawn By:EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U1AT89C51e1d2com3c4dp5b6a7com8f9g10LED12345678161514131211109PR1100+5VS0S1S2S3S4S5S6S7S8S9S10S11S12S13S14
10、S15P2=00001111P2=11110000Sacn定义在定义在P2口口4个个“列线列线”都是都是0,只,只有所有键均未压下有所有键均未压下(低低4位位全是全是1) ,P2&0 x0f =0;只要有键压下只要有键压下(低低4位不是位不是全全1), P2&0 xff就不等就不等于于0。0 0 0 011110 x0f=00001111P2&0 x0f=0 x00=00000000这个函数主要是检测有无按键压下?这个函数主要是检测有无按键压下?例如:例如:低低4位做输入位做输入(必须置必须置1)ScanScan扫描扫描colcol列号列号rowrow行列号行列号扫描第
11、扫描第0列列:11101111扫描第扫描第1列列:11011111扫描第扫描第2列列:10111111扫描第扫描第3列列:01111111置scan=11101111有键盘压下?Col=0Row+14?Row=0Col+14?键值键值=row+4*col返回查到按键?是是否是否是否得到键值得到键值否未得到键值未得到键值一般不会出现这种情况,一般不会出现这种情况,因为调用这个函数之前,因为调用这个函数之前,已确认有键压下已确认有键压下扫描键盘扫描键盘函数框图函数框图0 4 8 121 5 9 132 6 10 143 7 11 15继继续续扫扫下下一一列列读下一行直直接接扫扫下下一一列列行行 t
12、emp 0 00000001 1 00000010 2 00000100 3 000010000 x01左移左移row位:位: row 结果结果 0 00000001 1 00000010 2 00000100 3 00001000逐逐行行比比较较(Sacn)&0 x0f0 4 8 121 5 9 132 6 10 143 7 11 15不再扫描其他不再扫描其他键,跳出循环键,跳出循环直接直接“带着结带着结果果”返回啦!返回啦!键值键值(地址地址)产生扫描信号产生扫描信号sacn初始值初始值0 xef=11101111每扫描一行,每扫描一行,sacn左移左移1位再或位再或0000000
13、1 col 左移左移1 再或再或00000001 1 11011110 11011111 2 10111110 10111111 3 01111110 01111111保证低保证低4位总是位总是1(即做输入即做输入)1234ABCD4321DCBATitleNumberRevisionSizeA4Date:13-Jul-2012Sheet of File:D:C51_JIA_MA教学用电路图.DdbDrawn By:EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P013
14、8P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U1AT89C51e1d2com3c4dp5b6a7com8f9g10LED12345678161514131211109PR1100+5VS0S1S2S3S4S5S6S7S8S9S10S11S12S13S14S15列列 0 0 0 0行行 1 1 1 14个个“列线列线”都是都是0,仅当所有键均未压下,仅当所有键均未压下,temp =0;只要有键压下就只要有键压下就temp 就不等于就不等于0。S后的数字恰
15、好即是该键的后的数字恰好即是该键的“键值键值”(地址地址)这个语句比较复杂,完成这个语句比较复杂,完成4个任务个任务(1).调用调用sacnner(),得到键值得到键值(地址地址)=10(总是总是S后的数字后的数字)1234ABCD4321DCBATitleNumberRevisionSizeA4Date:13-Jul-2012Sheet of File:D:C51_JIA_MA教学用电路图.DdbDrawn By:EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P013
16、8P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U1AT89C51e1d2com3c4dp5b6a7com8f9g10LED12345678161514131211109PR1100+5VS0S1S2S3S4S5S6S7S8S9S10S11S12S13S14S15以压下以压下S10键为例键为例(2).根据键值(根据键值(10)查查keybiao10得到得到“3”S10对应的对应的是实际键盘上的是实际键盘上的31031234ABCD4321DCBATitle
17、NumberRevisionSizeA4Date:13-Jul-2012Sheet of File:D:C51_JIA_MA教学用电路图.DdbDrawn By:EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U1AT89C51e1d2com3c4dp5b6a7com8f9g10
18、LED12345678161514131211109PR1100+5VS0S1S2S3S4S5S6S7S8S9S10S11S12S13S14S15(3). 根据根据3(实际键实际键盘盘)查段码表查段码表duan3得到得到“3”的段码的段码“0 xB0”,即:即:dp g f e d c b a 1 0 1 1 0 0 0 0以压下以压下S10键为例键为例(4).将将“3”的段的段码赋给码赋给LED(P0)显示显示“3”1030 xB01234ABCD4321DCBATitleNumberRevisionSizeA4Date:13-Jul-2012Sheet of File:D:C51_JIA_
19、MA教学用电路图.DdbDrawn By:EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U1AT89C51e1d2com3c4dp5b6a7com8f9g10LED12345678161514131211109PR1100+5VS0S1S2S3S4S5S6S7S8S9S10S1
20、1S12S13S14S15以压下以压下S10键为例键为例1030 xB0再来回顾再来回顾一下一下第第10个个元素元素第第3个个元素元素函数的调用函数的调用既无返回值也无参数函数的调用既无返回值也无参数函数的调用这类函数,一般是完成一项独立的任务(如:固定延时)。这类函数,一般是完成一项独立的任务(如:固定延时)。如:定义了一个固定的延时函数如:定义了一个固定的延时函数ms_delay();在程序中的调用在程序中的调用ms_delay();函数的调用函数的调用无返回值,有参数函数的调用无返回值,有参数函数的调用这类函数,一般是根据调用时带入的参数完成一项的任务这类函数,一般是根据调用时带入的参数
21、完成一项的任务(如:可变延时)(如:可变延时)如:定义了一个固定的延时函数如:定义了一个固定的延时函数ms_delay(unsigned char);在程序中的调用在程序中的调用ms_delay(100); 程序运行期间,时常需要处理一些可能的(如停电,超程序运行期间,时常需要处理一些可能的(如停电,超量程等)、肯定要发生(如键盘操作,通讯请求),但不知量程等)、肯定要发生(如键盘操作,通讯请求),但不知道什么时间发生;定时处理的事件,需要道什么时间发生;定时处理的事件,需要“中断中断”处理,而处理,而不用低效率的查询、等待。不用低效率的查询、等待。你的电话会响的,但不知什么时间响,怎么办?你
22、的电话会响的,但不知什么时间响,怎么办?“傻等傻等”?肯定不会,接完电话之后呢?继续做接电话之前的事情。肯定不会,接完电话之后呢?继续做接电话之前的事情。 下课铃在规定会响的,即是知道什么时间什么时间响,下课铃在规定会响的,即是知道什么时间什么时间响,也不能也不能“傻等傻等”? 对于一些突发事件,特别是不太希望的,就更不能等,否对于一些突发事件,特别是不太希望的,就更不能等,否则,那不就是在则,那不就是在“盼望盼望”不愉快的事情发生吗?不愉快的事情发生吗?4.4 4.4 中断中断外部中断仿真外部中断仿真 视视频频提示:排队提示:排队买饭时,规买饭时,规定女生优先。定女生优先。何时才能体何时才能
23、体现?现?专用中断口,专用中断口,不用定义不用定义 8051 8051单片机的单片机的5 5个中断源,其中个中断源,其中2 2个为外部中断源,个为外部中断源,3 3个为内部中断源,它们分别是:个为内部中断源,它们分别是:)0(INT外部中断外部中断0 0,由,由P3.2 P3.2 触发;触发;) 1(INT外部中断外部中断1 1,P3.3 P3.3 触发;触发;定时定时/ /计数器计数器0 0溢出溢出(记到最大值时)触发中断;(记到最大值时)触发中断;定时定时/ /计数器计数器1 1溢出溢出(记到最大值时)触发中断;(记到最大值时)触发中断;串行中断:接收或发送结束时触发串行中断:接收或发送结
24、束时触发4.4 4.4 中断中断外部中断外部中断内部中断内部中断中断号中断号中中 断断 源源中断入口地址中断入口地址0 0外部中断外部中断0 00003H0003H1 1定时器定时器T0T0中断中断000BH000BH2 2外部中断外部中断1 10013H0013H3 3定时器定时器T1T1中断中断001BH001BH4 4串行口中断串行口中断0023H0023H中断源中断服务程序入口中断源中断服务程序入口就像应急处理手册的就像应急处理手册的“目录目录”5151单片机中,与外部中断相关的寄存器有三个:中断单片机中,与外部中断相关的寄存器有三个:中断允许寄存器允许寄存器IEIE,定时器控制寄存器
25、,定时器控制寄存器TCONTCON,中断优先级,中断优先级寄存器寄存器IP IP C C语言编程时,不语言编程时,不关心具体地址关心具体地址位位 符号符号意义意义7 7TF1TF1定时定时/ /计数器计数器1 1溢出中断请求标志,溢出后,置溢出中断请求标志,溢出后,置1 1,中,中断响应断响应(不是响应后)(不是响应后)自动置自动置0 0 6 6TR1TR1定时定时/ /计数器计数器T1T1运行控制位,运行控制位,0-0-关闭,关闭,1-1-工作工作5 5TF0TF0定时定时/ /计数器计数器0 0溢出中断请求标志,溢出后,置溢出中断请求标志,溢出后,置1 1,中,中断响应断响应(不是响应后)
26、(不是响应后)自动置自动置0 04 4TR0TR0定时定时/ /计数器计数器T0T0运行控制位,运行控制位,0-0-关闭,关闭,1-1-工作工作3 3IE1IE1外中断外中断0 0请求标志,当请求标志,当P3.3P3.3有效时置有效时置1 1,中断响应时,中断响应时(不是响应后)(不是响应后)自动置自动置0 02 2IT1IT1外中断外中断1 1触发方式,触发方式,1 1:下降沿触;:下降沿触;0 0:低电平触发:低电平触发1 1IE0IE0外中断外中断1 1请求标志,当请求标志,当P3.2P3.2有效时置有效时置1 1,中断响应时,中断响应时(不是响应后)(不是响应后)自动置自动置0 00
27、0IT0IT0外中断外中断0 0触发方式,触发方式,1 1:下降沿触;:下降沿触;0 0:低电平触发:低电平触发定时器控制寄存器定时器控制寄存器TCON TCON 复位后:复位后:00000000B00000000B位位名称名称意义意义7 7EAEA中断中断请求请求总允许总允许6 6/ /未使用未使用5 5ET2ET2T2T2溢出溢出/ /捕捉中断(仅对捕捉中断(仅对5252系列)系列)响应响应允许允许4 4ESES串行口中断串行口中断响应响应允许允许3 3ET1ET1T1T1溢出中断溢出中断响应响应允许允许2 2EX1EX1外部中断外部中断1 1响应响应允许允许1 1ET0ET0T1T1溢出中断溢出中断响应响应允许允许0 0EX0EX0外部中断外部中断0 0响应响应允许允许IE IE 中断允许中断允许( (屏蔽屏蔽) )寄存器寄
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河池学院《管理沟通(英语)》2023-2024学年第二学期期末试卷
- 重庆移通学院《纪录片策划与传播》2023-2024学年第二学期期末试卷
- 湖北民族大学《自动化系统概论》2023-2024学年第二学期期末试卷
- 河南建筑职业技术学院《机械优化设计及应用》2023-2024学年第二学期期末试卷
- 南京林业大学《人工智能概论》2023-2024学年第二学期期末试卷
- 长治学院《二外英语IV》2023-2024学年第二学期期末试卷
- 内蒙古体育职业学院《汉字文化研究》2023-2024学年第一学期期末试卷
- 河北大学工商学院《大数据与风险管理》2023-2024学年第二学期期末试卷
- 天津国土资源和房屋职业学院《软件分析与设计》2023-2024学年第二学期期末试卷
- 湖南邮电职业技术学院《地方政府管理》2023-2024学年第一学期期末试卷
- 新译林版高一英语新教材必修三全册课文及翻译(英汉对照)
- 陕西省潼关县潼峪-蒿岔峪金矿开采项目环评报告
- 高中化学常见晶体的结构及晶胞
- 着色探伤作业指导书
- 2002-2022广东省深圳市中考数学历年真题(共24套最全)学生版+解析版
- 2022年法考重难点专题刑法习题及答案解析
- GB/T 5900.1-2008机床主轴端部与卡盘连接尺寸第1部分:圆锥连接
- GB/T 4857.13-2005包装运输包装件基本试验第13部分:低气压试验方法
- GB/T 28724-2012固体有机化学品熔点的测定差示扫描量热法
- GB/T 23743-2009饲料中凝固酶阳性葡萄球菌的微生物学检验Baird-Parker琼脂培养基计数法
- 祛痰药镇咳药课件
评论
0/150
提交评论