《单片机应用技术》课件-项目4:输入与中断_第1页
《单片机应用技术》课件-项目4:输入与中断_第2页
《单片机应用技术》课件-项目4:输入与中断_第3页
《单片机应用技术》课件-项目4:输入与中断_第4页
《单片机应用技术》课件-项目4:输入与中断_第5页
已阅读5页,还剩98页未读 继续免费阅读

下载本文档

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

文档简介

按键消抖原理与独立按键编程单片机应用技术目

录02单片机与独立式按键接口设计01按键的作用与类型04独立按键编程03按键消抖原理01按键的作用与类型PART01按键的作用与类型01

1.按键的作用按键是在单片机应用系统中最常用的人机交互输入设备,用于输入用户的控制命令或信息。按键的作用与类型01

2.按键的类型按键按照结构原理可分类触点式开关按键机械式开关导电橡胶式开关无触触点开关按键电气式按键磁感应按键单片机与按键控制方式:独立式按键接口矩阵式键盘接口02单片机与独立式按键的接口设计PART02单片机与独立式按键的接口设计02单片机与独立式按键的典型接口电路直接用单片机的I/O口线P1.0~P1.7控制按键,每个按键单独占用一根I/O口线,相互独立,每个按键的工作不会影响其他I/O口线的状态。采用低电平有效按键按下时相应引脚为低电平按键断开时相应引脚为高电平单片机与独立式按键的接口设计02单片机与独立式按键的典型接口电路上拉电阻保证按键断开时,I/O口线有确定的高电平。当I/O口线内部有上拉电阻时,外电路可不接上拉电阻。单片机与独立式按键的接口设计02单片机与独立式按键的典型接口电路优点配置灵活,软件结构简单。缺点每个按键必须占用一根I/O口线,在按键较多时,I/O口线浪费较大,不宜采用。03按键消抖原理PART03按键消抖原理03按键是利用机械触点的合、断来实现键的闭合与释放,由于弹性作用,机械触点在闭合及断开瞬间会有抖动的过程,从而使键输入电压的信号也存在抖动现象。键盘接口电路图按键消抖原理03P1.1引脚输入的波形图当开关S未被按下(即断开)时,P1.1输入为高电平,S闭合后,P1.1输入为低电平,实际由于有按键抖动,分别将键的闭合和断开过程中的抖动期称为前沿抖动和后沿抖动。按键消抖原理03为了保证按键按动一次,CPU对键闭合仅作一次按键处理,必须去除抖动的影响。抖动时间的长短与开关的机械特性有关,一般为5~10ms,稳定闭合期时间的长短由按键的动作决定,一般为几百毫秒~几秒。硬件去抖软件去抖按键消抖原理03硬件在按键输出通道上添加去抖动电路,从根本上避免电压抖动的产生,去抖动电路可以是单稳态电路或者滤波电路。软件通常是在检测到有键按下时延迟10~20ms的时间,待抖动期过去后,再次检测按键的状态,如果仍然为闭合状态,才认为是有键按下,否则认为是一个扰动信号。不需要增加硬件电路成本低04独立按键编程PART04独立按键编程04单片机按键编程支持连续按下如果一直按下按键,则认为多次按下;不支持连续按键按下按键后,只有松开按键,再按下按键才认为下一次按下。独立按键编程041.按键扫描(不支持连续按下)编程不支持连续按下按键扫描编程的算法算法说明①定义静态局部变量key_up,表示按键的状态,1时表示弹起状态,这里不能用动态的局部变量,可以使用全局变量。②在按键弹起状态检测按键是否按下。③如果按下,延时10ms。④设置为按下状态,检测是否按下。⑤如果按下,返回键值,如果没按下,设置为弹起状态。独立按键编程042.按键扫描(支持连续按下)编程算法说明①检测按键是否按下。②如果按下,延时10ms。③检测是否按下。④如果按下,返回键值,如果没按下,返回无效值。支持连续按下按键扫描编程的算法独立按键编程042.按键扫描(两种模式合二为一)编程算法说明mode=1时为支持连续按下,mode=0时为不支持连续按下。按键扫描(两种模式合二为一)编程的算法谢谢观看!矩阵键盘扫描原理与识别方法单片机应用技术目

录02矩阵键盘的扫描原理与识别方法01矩阵键盘的结构03案例演示LED显示矩阵式键盘按键号01矩阵键盘的结构PART01矩阵键盘的结构01按键位于行、列线的交叉点上,行线和列线分别连接到按键的两端,且行线通过上拉电阻接到+5V电源上,构成了一个4×4的矩阵式键盘。矩阵式键盘的结构由4根行线和4根列线构成02矩阵键盘的扫描原理与识别方法PART02矩阵键盘的扫描原理与识别方法021.逐列扫描法第1步:判断键盘是否有键按下,向所有的列线上输出低电平,再读入所有的行信号。如果16个按键中任意一个被按下读入的行电平则不全为高如果16个按键中无键按下读入的行电平全为高矩阵键盘的扫描原理与识别方法021.逐列扫描法第1步:判断键盘是否有键按下,向所有的列线上输出低电平,再读入所有的行信号。K10键被按下,则K10键所在的第2行与第2列导通,第2行被拉低,读入的行信号为低电平,表示有键按下。读到第2行为低电平时除了有可能是K10键被按下,还有可能是K8、K9或K11键按下。矩阵键盘的扫描原理与识别方法021.逐列扫描法第2步:逐列扫描判断具体的按键,往列线上逐列送低电平。送第0列为低电平第1、2、3列为高电平,读入的行电平的状态就显示了位于第0列的KO、K4、K8、K124个按键的状态,如果读入的行值为全高,则表示无键按下;送第1列为低电平第0、2、3列为高电平,读入的行电平的状态则显示了K1、K5、K9、K134个按键的状态,依次类推,直至4列全部扫描完,再重新从第0列开始。矩阵键盘的扫描原理与识别方法021.逐列扫描法第2步:逐列扫描判断具体的按键,往列线上逐列送低电平。键值与列号、行号之间的关系键值=列号+行号×4矩阵键盘的扫描原理与识别方法022.行列反转法基本原理通过给行、列端口输出2次相反的值,再将分别读入的行值和列值进行求和或按位或运算,得到每个键的扫描码。第一步:向所有的列线上输出低电平,行线输出高电平,然后读入行信号。如果16个按键中任意1个被按下,那么读入的行电平则不全为高;如果16个按键中无键按下,则读入的行电平全为高,记录这时的行值。第二步:向所有的列线上输出高电平,行线输出低电平,然后读入所有的列信号,并记录这时的列值。矩阵键盘的扫描原理与识别方法022.行列反转法如图所示电路中,P2.0~P2.3连接矩阵式键盘的4行,P2.4~P2.7连接矩阵式键盘的4列。矩阵键盘的扫描原理与识别方法022.行列反转法给P2口输出0x0f,即00001111假设K0键按下,这时读入的P2口的值为00001110;再给P2口赋相反的值Oxf0,即11110000,这时读入的P2口的值为11100000;再把2次读入的P2口的值进行相加或按位或操作,得到11101110,即Oxee,这个值就是按键K0的扫描码。矩阵键盘的扫描原理与识别方法022.行列反转法扫描法识别键盘按键的编程一般应包括以下内容①判断有无键按下。②键盘扫描取得闭合键的行、列号。③用计算法或查表法得到键值。④判断闭合键是否释放,如没释放则继续等待。⑤将闭合键的键值保存,同时转去执行这个闭合键的功能。03案例演示:LED显示矩阵式键盘按键号PART03案例演示:LED显示矩阵式键盘按键号031.要求案例的任务:采用单片机控制1个LED显示矩阵式键盘的按键号0~F。案例演示:LED显示矩阵式键盘按键号032.分析为了节约单片机硬件接口资源,当系统需要按键数量较多时,一般采用矩阵式键盘接口方式。16个按键采用4×4矩阵式键盘连接方式,用逐列扫描法得到键盘的按键号。案例演示:LED显示矩阵式键盘按键号033.电路单片机控制1个LED显示键盘按键号的电路图4根行线和4根列线构成P0.0~P0.3控制行线,P2.0~P2.3控制列线,按键位于行、列线的交叉点上,且行线通过上拉电阻接到+5V电源上,构成了一个4×4的矩阵式键盘。用PI口控制1个共阳LED来显示键盘的按键号。案例演示:LED显示矩阵式键盘按键号034.程序4×4矩阵式键盘16个按键的按键号,分别代表数字0~9和字母A~F,按下某个按键,LED显示相应字符。案例演示:LED显示矩阵式键盘按键号03智能终端的操作面板工业设备的控制键盘“规范严谨、耐心细致”谢谢观看!中断概念、中断源与中断寄存器单片机应用技术目

录02中断源01中断的概念03中断寄存器01中断的概念PART01中断的概念01引起中断的事件称为中断源中断是一种使CPU中止正在执行的程序,转而去处理特殊事件的操作。可能是来自外设的输入/输出请求;可能是计算机的一些异常事故或其他内部原因。中断的概念01中断指在特定的事件触发下引起CPU暂停正在运行的程序,转而先去处理一段为特定事件而编写的处理程序,等中断处理程序处理完成后,再回到主程序被打断的地方继续运行。中断的概念图中断源要求服务的请求称为中断请求;在满足条件时,CPU转去执行中断服务程序的过程称为中断响应。中断的概念01中断的特点3针对难以预料的情况或故障进行及时处理,保证系统可靠性。故障处理2CPU可以及时处理微机运行过程中发生的随机事件,增强实时控制性。实时处理1中断可以解决快速CPU与慢速外设之间的矛盾,使CPU和外设同时工作。提高CPU的效率中断的概念018051单片机8051中断系统有5个中断源可以编程控制每个中断源的中断优先级别、中断允许与关闭等。与中断有关的寄存器有4个,分别为中断标志寄存器TCON和SCON、中断允许控制寄存器IE和断优先级控制寄存器IP,都可以位操作。02中断源PART02中断源028051单片机的中断源:

外部中断请求0。由P3.2引脚输入,ITO位(TCON.0)决定是低电平有效还是下降沿有效。一旦输入信号有效,中断标志位IE0自动置1,向CPU申请中断。

外部中断请求1。由P3.3引脚输入,IT1位(TCON.2)决定是低电平有效还是下降沿有效。一旦输入信号有效,中断标志位IE1自动置1,向CPU申请中断。

TO溢出中断请求。当TO计数溢出时,TO中断请求标志位(TCON.5)自动置1,向CPU申请中断。中断源028051单片机的中断源:

T1溢出中断请求。当T1计数溢出时,T1中断请求标志位(TCON.7)自动置1,向CPU申请中断。

串行口中断请求。当接收或发送完一帧串行数据时,串行口中断请求标志位RI(SCON.0)或TI(SCON.1)自动置1,向CPU申请中断。02中断寄存器PART03中断寄存器03中断标志寄存器TCON串行口控制寄存器SCON中断寄存器031.中断标志寄存器TCONTCON是定时器/计数器控制寄存器,字节地址为88H,可位寻址。该寄存器中有定时器/计数器TO和T1的溢出中断请求标志位TFO和TF1,也包括了外部中断INTO和INT1的中断请求标志位IEO和IE1。中断寄存器031.中断标志寄存器TCONITO:外部中断0的触发方式选择位当ITO=0时:外部中断0为电平触发方式,即引脚上的信号为低电平有效。当IT0=1时:外部中断0为边沿触发方式,即引脚上的信号出现从高到低的负跳变有效。IT0位可由软件置1或清0中断寄存器031.中断标志寄存器TCONIE0:外部中断0中断请求标志位

中断寄存器031.中断标志寄存器TCONIE0:外部中断0中断请求标志位

中断寄存器031.中断标志寄存器TCONIT1外部中断1的触发方式选择位,操作功能与ITO类似。IE1

中断寄存器031.中断标志寄存器TCONTFO:定时器/计数器0溢出中断请求标志位当TO启动计数后,TO从计数初值开始加1,直至最高位产生溢出由硬件将TFO置1,向CPU申请中断。CPU响应中断时,由硬件自动将TFO清0。如果定时器/计数器TO工作在查询方式,TO计数溢出后,TFO必须由软件清0。中断寄存器031.中断标志寄存器TCONTF1定时器/计数器1溢出中断请求标志位,其操作功能与TFO类似。中断寄存器032.串行口控制寄存器SCON0SCON为串行口控制寄存器,字节地址为98H,可位寻址。与中断有关的是它的低两位TI和RI。中断寄存器032.串行口控制寄存器SCONTI:串行口发送中断标志位CPU将8位数据写入串行口发送缓冲器SBUF时,就启动了一帧数据的发送,每发送完一帧数据后,由硬件将TI置1,CPU响应串行口发送中断时,CPU并不自动清除TI中断标志位,必须在中断服务程序中由软件对TI清0。中断寄存器032.串行口控制寄存器SCONRI:串行口接收中断标志位当允许串行口接收数据时,串行口每接收完一帧数据,由硬件将RI置1,CPU响应串行口接收中断时,CPU并不自动清除RI中断标志位,必须在中断服务程序中由软件对RI清0。单片机复位时,TCON和SCON各位清0,TCON和SCON中所有能产生中断的标志位均可由软件置1或清0。谢谢观看!外部中断编程与应用(紧急停车、优先级)单片机应用技术目

录02外部中断编程与应用01中断优先级01中断优先级PART01中断优先级018051单片机2个中断优先级每个中断源都可以通过编程确定为高优先级中断或低优先级中断,所以可实现二级嵌套。每个中断源的中断优先级都是由中断优先级寄存器IP中的相应位来规定的,IP寄存器的字节地址为B8H,可位寻址。中断优先级01IP每位的状态由软件设定,单片机复位时,IP被清0,各个中断源均为低优先级中断。中断优先级01PS:串行口中断优先控制位PS=1,设置串行口为高优先级中断;PS=0,设置串行口为低优先级中断。PT1:T1中断优先控制位PT1=1,设置T1中断为高优先级中断;PT1=0,设置T1中断为低优先级中断。中断优先级01PX1:外部中断1中断优先控制位PX1=1,设置外部中断1为高优先级中断;PX1=0,设置外部中断1为低优先级中断。PTO:TO中断优先控制位PTO=1,设置TO中断为高优先级中断;PT0=0,设置TO中断为低优先级中断。中断优先级01PX0:外部中断0中断优先控制位PX0=1,设置外部中断0为高优先级中断;PX0=0,设置外部中断0为低优先级中断。中断优先级01按中断优先权设置后,响应中断的基本原则:中断源同级自然优先级外部中断0最高级最低级定时器T0中断外部中断1定时器T1中断串行口中断①若多个中断请求同时有效,CPU优先响应优先权最高的中断请求。②同级的或更低级的中断不能中断CPU正在响应的中断过程。③低优先权的中断响应过程可以被高优先权的中断请求所中断,CPU会暂时中止当前低优先权的中断过程,而优先响应高优先权中断。中断优先级01按中断优先权设置后,响应中断的基本原则:中断源同级自然优先级外部中断0最高级最低级定时器T0中断外部中断1定时器T1中断串行口中断③等到高优先权中断响应结束后再继续响应原低优先权的中断过程,形成中断的嵌套。两个不可寻址的优先级触发器:指出CPU是否正在响应高优先权中断的高优先级触发器;指出CPU是否正在响应低优先权中断的低优先级触发器。中断优先级01按中断优先权设置后,响应中断的基本原则:中断源同级自然优先级外部中断0最高级最低级定时器T0中断外部中断1定时器T1中断串行口中断③当高优先级触发器状态为1时,屏蔽所有的中断请求;当低优先级触发器状态为1时,屏蔽所有同级的中断请求而允许高优先权中断的中断请求。单片机复位后,特殊功能寄存器IE、IP的内容均为0,由用户的初始化程序对IE、IP进行初始化,开放或屏蔽某些中断并设置它们的优先权。02外部中断编程与应用PART02外部中断编程与应用02以中断控制LED闪烁为例:1.要求

外部中断编程与应用02以中断控制LED闪烁为例:1.要求按下K1:流水灯反方向流水1次,时间间隔为0.2s;按下K2:8个LED同时闪烁3次,时间间隔为0.5s。要求:K1可以中断K2。假定晶振频率为12MHz外部中断编程与应用02以中断控制LED闪烁为例:8位LED流水灯、LED闪烁和交替亮灭时间可以采用定时器/计数器实现精确定时。2个按键实现外部中断源的中断申请。中断过程和中断编程是关键2.分析外部中断编程与应用02以中断控制LED闪烁为例:3.电路中断控制LED闪烁电路图KI和K2通过上拉电阻和+5V电源连接,当按键按下时与地短路,在按下瞬间形成一个下降沿信号,按下后变成低电平。可采用下降沿触发,也可采用低电平触发外部中断。外部中断编程与应用02以中断控制LED闪烁为例:4.程序左移流水灯高优先级:外部中断申请0低优先级:外部中断申请1外部中断编程与应用02以中断控制LED闪烁为例:4.程序下降沿触发低电平触发外部中断编程与应用02以中断控制LED闪烁为例:4.程序小结

外部中断编程与应用(紧急停车、优先级)01中断优先级02外部中断编程与应用“遇事不慌、有序推进”谢谢观看!中断概念、中断源与中断寄存器单片机应用技术目

录02串行通信的波特率01串行通信的基本概念03串行通信的协议01串行通信的基本概念PART01串行通信的基本概念01串行通信是单片机与外界交换信息的一种基本通信方式。功能将单片机的数据传输到计算机端,实现计算机对单片机的控制。优势所需电缆线少,接线简单,在较远距离传输中广泛应用。1.串行通信的概念串行通信的基本概念011.串行通信的概念串行通信传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,但数据的传送控制比并行通信复杂。串行通信的基本概念012.串行通信的分类异步通信异步通信通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方的收发协调,要求发送和接收设备的时钟尽可能一致。串行通信的基本概念012.串行通信的分类异步通信在异步通信方式中,数据是以字符为单位进行传输的,字符与字符之间的间隙是任意的,但每个字符中的各位是以固定的时间传送的,即字符之间不一定有“位间隙”的整数倍关系,但同一字符内的各位之间的距离均为“位间隔”的整数倍。串行通信的基本概念012.串行通信的分类异步通信起始位数据位校验位停止位一帧信息组成发送起始位,起始位用“0”表示数据传送的开始发送数据,从低位到高位逐位传送发送校验位发送停止位“1”,表示一帧信息发送完毕串行通信的基本概念012.串行通信的分类异步通信起始位位于字符帧开头,占用一位,用来通知接收设备一个字符将要发送,准备接收。线路上不传送数据时,应保持为“1”。接收设备不断检测线路的状态,若在连续收到“1”以后,又收到一个“0”,就准备接收数据。串行通信的基本概念012.串行通信的分类异步通信数据位可根据情况取

温馨提示

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

评论

0/150

提交评论