10第十讲单个按键与中断--力天手把手教你学单片机之实战篇二讲义资料

合集下载

单片机原理及实用技术第5章中断系统及应用课件

单片机原理及实用技术第5章中断系统及应用课件

第5章 中断系统及应用
5. 时基信号中断
SPCE061A单片机提供了多组时基信号能作为中断源。 时基信号来自实时时钟32 768 Hz,输出有通过选频逻辑的 TMB1、TMB2信号和直接从时基计数器溢出的各种实时时基 信号,在开启时基信号中断的情况下,有时基信号时,便发 出 时 基 信 号 中 断 申 请 , CPU 查 询 到 有 中 断 请 求 后 , 置 位 P_INT_Ctrl中相应的中断请求标志位,在中断服务程序中通 过测试P_INT_Ctrl来确定是哪个频率的时基信号产生的中断 请求。
第5章 中断系统及应用
3. 事件中断
事件中断简称中断,以下提到的中断均为事件中断,一般 产生于片内某部件或由外设中断输入引脚引入的某个事件,这 种中断的开放/屏蔽由对应位和相应的IRQ或FIQ总使能控制, 由软件设置。
事件中断可采用两种方式:快速中断请求(FIQ)和中断请 求(IRQ),这两种中断都由相应的总使能来控制。
保留字 _FIQ/_IRQ0 _FIQ/_IRQ1 _FIQ/_IRQ2
FFFBH
_IRQ3
第5章 中断系统及应用
4096Hz 时基信号 2048Hz 时基信号 1024Hz 时基信号
4Hz 时基信号 2Hz 时基信号 频选信号TMB1 频选信号TMB2 UART 串行通信中断
IRQ4
IRQ5 IRQ6 IRQ7
第5章 中断系统及应用
中断系统
1
EXT1
EXT2 (下 降 沿 )
运算放大器
IOB2 ( I O B3 )
R
IOB4 C ( I O B5 )
图5.3 IOB2、IOB4或IOB3、IOB5之间的反馈结构
第5章 中断系统及应用

单片机中断使用PPT演示文稿

单片机中断使用PPT演示文稿

2020/10/30
5
中断标志位
TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
TF1—— T1的溢出中断标志 硬件置1,硬件清0
TR1—— T1的启动和停止控制位 TF0 —— T0的溢出中断标志。(同TF1,只是针对T0的)
IE1 —— 外部中断1(/INT1)请求标志。 外部有中断请求时,硬件使IE1置1,硬件清0。
周期不是当前指令的最后一个周期,则不行; ③ 若现行指令是RETI、RET或访问IE、IP指令,则 需要执行到当前指令及下一条指令方可响应。
2020/10/30
12
响应过程--单片机响应中断后,自动执行下列操作: ① 置位中断优先级有效触发器,即关闭同级和低级
中断: ② 调用入口地址,断点入栈,相当于LCALL指令; ③ 进入中断服务程序。
T0溢出中断
/INT1中断 T1溢出中断
出厂前已由厂家固化顺序 ——事先约定
串口中断 低
中断优先原则:(概括为四句话)
1、低级不打断高级
2、高级不睬低级
3、同级不能打断
20240/、10/3同0 级、同时中断,事先约定。
10
日常生活中的中断与单片机中断的比较:
某同学 正在看书 有人找出去 暂停看书 书中作记号 出去做事 回来继续看
2020/10/30
15
中断返回—中断处理程序的最后一条指令是RETI, 它使CPU结束中断处理程序的执行,返回到断点处, 继续执行主程序。
2020/10/30
16
MCS-51中断请求的撤销
CPU响应中断后,应撤除该中断请求标志,否 则会再次中断。 ※对定时计数器T0、T1的溢出中断,CPU响应中断 后,硬件自动清除中断请求标志TF0和TF1。 ※对边沿触发的外部中断INT1和INT0,CPU响应中 断后硬件自动清除中断请求标志IE0和IE1。

教学课件单片机创新开发教程ch7使用中断

教学课件单片机创新开发教程ch7使用中断
P0INTE
P1INTE
P2INTE P3INTE
P4INTE
P5INTE
P6INTE
P7INTE
7.3 相关知识
7.3.4.外部中断
触发外部中断的方式有两种:边沿触发 (包括上升沿和下降沿)、电平触发(高 低电平变化),如图7-3所示。基于 STC8H8K64U的天问51只支持下降沿和电 平变化2种触发方式。
7.4 项目设计
任务 KEY1按键中断控制LED
void INT0(void) interrupt 0 using 1{
P4_1 = !P4_1;
}
void setup()
{
P3M1|=0x04;P3M0&=~0x04;
//高阻输入
P4M1&=~0x02;P4M0|=0x02;
//推挽输出
IT0 = 1;
CCF3
8 0/1/2/3 S2RI || S2TI
9 0/1/2/3
SPIF
10
0
INT2IF
11
0
INT3IF
12
0
T2IF
16 0/1/2/3
INT4IF
17 0/1/2/3 S3RI || S3TI
18 0/1/2/3 S4RI || S4TI
19
0
T3IF
20
0
T4IF
21 0/1/2/3
7.4 项目设计
基于STC8H8K64U芯片的天问 51 开发板上有5个 外部中断: INT0 到 INT4。具体设置如下。 INT0 为 P32 连接到了独立按键 KEY1。 INT1 为 P33 连接到了独立按键 KEY2。 INT2 为 P36 连接到了红外接收引脚。 INT3为 P37 连接到了加速度传感器的中断引脚。 INT4 为 P30 连接到了 USB 接口的“D-” 。 外部中断设置基本雷同,仅以INT0为例子进行项目 演示。

按键和中断——精选推荐

按键和中断——精选推荐

按键和中断1.8.1.什么是按键1.8.1.1、按键的物理特性(1)、平时没⼈按的时候,弹簧把按键按钮弹开。

此时内部断开的。

(2)、有⼈按下的时候,⼿的⼒量克服弹簧的弹⼒,将按钮按下,此时内部保持接通(闭合)状态;如果⼿拿开,则弹簧作⽤下按钮⼜弹开,同时内部⼜断开。

(3)、⼀般的按键都有4个引脚,这4个引脚成2对:其中⼀对是常开触点(像上⾯描述的不按则断开,按下则闭合);⼀对是常闭触点(平时不按时是闭合的,按下后是断开的)1.8.1.2、按键的电学原理(结合原理图分析)(1)硬件接法: SW5:GPH0_2 SW6:GPH0_3 SW78910:GPH2_0123(2)按键的电路连接分析:平时按钮没有按下时,按钮内部断开,GPIO引脚处电压为⾼电平;当有⼈按下按钮时,按钮内部导通,外部VDD 经过电阻和按钮连接到地,形成回路,此时GPIO引脚处电压就变成了低电平。

此时VDD电压全部分压在了电阻上(这个电阻就叫分压电阻,这个电阻不能太⼩,因为电阻的功率是U*U/R)(3)总结:按键的⼯作⽅法:其实就是按键的按下与弹开,分别对应GPIO的两种电平状态(按下则GPIO为低电平,弹开则GPIO为⾼电平)。

此时SoC内部可以通过检测这个GPIO的电平⾼低来判断按键有没有被按下,这个判断结果即可作为SoC的输⼊信号。

1.8.1.3、按键属于输⼊类设备(1)按键⼀般⽤来做输⼊设备(由⼈向SoC发送信息的设备,叫输⼊设备),由⼈向SoC发送按键信号(按键信号有2种:按下信号和弹开信号)。

(2)有些设备就是单纯的输⼊设备,譬如按键、触摸屏等;有些设备就是单纯的输出设备,譬如LCD;还有⼀些设备是既能输⼊⼜能输出的,叫输⼊输出设备(IO),譬如串⼝。

1.8.1.4、按键的2种响应⽅法(1)SoC处理按键有2种思路:轮询⽅式和中断⽅式。

(2)轮询⽅式,就是SoC主动的每隔⼀段时间去读取(按键所对应的)GPIO的电平⾼低,以此获得按键信息;缺点在于CPU要⼀直注意按键事件,会影响CPU做其他事情。

c51单片机中断详解 ppt课件

c51单片机中断详解  ppt课件

PPT课件
13
包含: (1)T0和T1的溢出中断请求标志位TF1和TF0。 (2)外部中断请求标志位IE1与IE0。 各标志位的功能:
IE1——外部中断请求1的中断请求标志位。 IE1=0,无中断请求。 IE1=1,外部中断1有中断请求。当CPU响应该中 断,转向中断服务程序,由硬件清“0”IE0。
中断系统结构示意图如下图所示:
PPT课件
8
P140
PPT课件
9
●中断请求源
五个中断请求源 :
(1)INT0*—外部中断请求0,由 引 脚 INT0* 输 入 , 中 断 请 求 标 志 为IE0。
(2)INT1*—外部中断请求1,由 引 脚 INT1* 输 入 , 中 断 请 求 标 志 为IE1。
PPT课件
14
● IT1外部中断1的中断触发方式控制位
IT1——选择外部中断请求1为负跳变触发方式 还是电平触发方式:
IT1 =0,为电平触发方式,IE1状态完全 由IT1决定。
IT1=1,为负跳变触发方式。 IT1可由软件置“1”或清“0”。
PPT课件
15
● IT0—外部中断请求0为负跳变触 发方式还是电平触发方式,意义与 IT1类似。 ● IE0—外部中断请求0的中断请求 标志位,意义与IE1类似。
SETB EA ;CPU开中断 SETB ET0 ;允许外中断0产生中断 SETB PX0 ;外中断0为高级中断 SETB IT0 ;外中断0为跳沿触发方式
PPT课件
45
二、采用中断时的主程序结构
PPT课件
46
三、 中 断 服 务 程 序 的 流 程
PPT课件
4例7
补充 C51中的中断函数

单片机——中断和矩阵键盘

单片机——中断和矩阵键盘

主讲人:陶旭辉
三 . 外部中断的处 理过程
3.1 中断请求
在中断允许的情况下,单片 机收到外部的低电平或者下 降沿时,可认为外部发出了 中断请求。
外电路如何发出低电平信号 或者下降沿信号呢?
主讲人:陶旭辉
3.11 中断响应条件
在满足以下2个条件时,CPU将响应中断。
1)有中断源发出中断请求; 2)中断允许 a 中断总允许位 EA=1 ; b 发出请求的中断源被允许中断; c CPU没有在执行一个同级或者优先级更高的中断服务 程序。
主讲人:陶旭辉
矩阵键盘
一、按键的抖动与消抖 为什么要消抖 按键按下瞬间会产生一段时间的毛刺(持续10mS左右)然后才稳 定的现象,如果不加消抖措施会在程序中误判为多次按下按键 通常采取软件消抖的方法,即程序检测到按键按下后,延时 10mS以上再次检测按键状态,如果状态仍然按下则为一次可靠 的按下。
主讲人:陶旭辉
自然优先级:

断串 口 中
中定 断时 器

断外 部 中
中定 断时 器 断外 部 中 0
1
主讲人:陶旭辉
1
0
中断系统结构图
主讲人:陶旭辉
五、中断的应用
初始化步骤: a.开放CPU中断并允许有关中断源中断(IE) b.确定中断优先级(IP) c.确定中断触发方式(TCON) 配置实例: void init_int1(void)//初始化INT1 { IP = 0x00;//使用自然中断优先级 EX1 = 1;// INT1中断开 IT1 = 1;// INT1下降沿触发(为0则为低电平触发) }
0x0003
外部中断0
0x000B
定时器0
0x0013

关于单片机中断详解

关于单片机中断详解

关于单片机中断详解什么是中断?就是打断当前要做的事,转而去执行别的事情。

比如小七我现在正在电脑前写帖子,突然老妈叫我帮她下楼拿点东西,于是我就收到了老妈给我的一个中断(可以叫做外部中断),当我去拿东西时,突然尿急(内部中断,尿袋快要撑爆了),这又是一个中断,!我们把引起中断的事件叫做中断源(如老妈给我的任务,以及我的尿意。

外部引起的叫外部中断,内部引起的叫内部中断),产生中断后就要去处理它,这称为中断的响应。

由于尿急这个内部中断的优先级比老妈给我的外部中断还要高,尿急了,我总得先去撒尿吧?所以我就先去执行撒尿这个语句(小七:怎么我觉得这个比喻很别扭呢?!)。

当我撒完尿后(还是觉得很别扭。

)我会返回来帮老妈拿东西(高优先级的中断处理完后返回执行优先级较低的中断),拿完东西了我再回到电脑前继续写帖子(全部中断处理完后继续接手中断前的工作)。

这个就叫做中断的返回。

这么通俗的比喻,大家对中断的概念应该都明白了吧,那么在单片机里面,中断有什么用呢?当单片机正在执行程序的时候,突然某个按键按下了(产生外部中断),单片机就必须得去处理那个按键(中断的响应),看看是发生了什么事,按键处理完后继续回来执行程序(中断的返回)。

同样,单片机正在执行程序的时候,内部的定时器溢出(定时器后面会单独讲到),或者检测到单片机的电压低于正常值等等(单片机内部产生的中断叫内部中断),单片机就得去处理这些事情,然后再返回来。

在单片机里面,中断是有特殊的功能寄存器控制的,单片机里面一共有两个中断,一个是中断0,一个是中断1 ,和两个定时器T0,T1,定时器就是你打开它后,它会自动数数,当数到你给它限定的值时,它就会溢出,产生中断让CPU处理(就像一个桶,你打开水龙头后,水越来越多,当达到你需要的水位时,就会产生中断叫你去处理它)。

这些我们先不深入了解他是什么东西,我们只需知道中断是用下面这几个关键词控制的就行了:IT0声明外部中断0的类型,IT0=1是边沿触发,0是电平触发边沿触发就是当检测到外部电平发生变化,即由低变高,或者由高变低时,就会产生一个中断电平触发就是检测到高电平或者低电平时,产生中断IE0外部边沿触发产生中断后,它的值会变1,当CPU响应后,会自动变为0IT1和IT0一样的含义IE1和IT0一样的含义EX0外部中断0控制器,EX0=1是允许外部中断,0是禁止外部中断,也就是不理会外部中断ET0这个是定时器中断控制器,ET1=1是允许定时器产生中断,0是禁止EX1,ET1的含义跟上面的都一样。

单片机原理及应用中断系统ppt课件

单片机原理及应用中断系统ppt课件
5.1
中断控制方式
■ 中断系统需解决的基本问题
◆ 中断源:
中断请求信号的来源。包括中断请求信号的产生及该信号 怎样被CPU有效地识别。而且要求中断请求信号产生一次,只 能被CPU接收和处理一次,即不能一次中断申请被CPU多次响 应。这就涉及到中断请求信号的及时撤除问题。
◆ 中断响应与返回:
CPU采集到中断请求信号后,怎样转向特定的中断服务子 程序及执行完中断服务子程序怎样返回被中断的程序继续正确 地执行。中断响应与返回的过程中涉及到CPU响应中断的条件、 现场保护等问题。
5.2
MCS-51单片机的中断系统
■ 51单片机中断源 ◆ 外部中断
特殊功能寄存器TCON的格式定义如下:
Байду номын сангаас
D7
D6
D5
D4
D3
D2
D1
D0
TCON
字节地址
IE1 IT1 IE0 IT0
88H
IT0(IT1):外部中断0(或1)触发方式控制位。 IT0(或IT1)被设置为“0”,则选择外部中断为电 平触发方式;IT0(或IT1)被设置为“1”,则选择 外部中断为跳变触发方式。
为了规范事业单位聘用关系,建立和 完善适 应社会 主义市 场经济 体制的 事业单 位工作 人员聘 用制度 ,保障 用人单 位和职 工的合 法权益
5.1
中断控制方式
■ 中断系统需解决的基本问题
◆ 中断嵌套:
当CPU响应某个中断请求而正在进行中断处理时,若有更 高优先级别的中断源发出中断申请,则CPU将自动中断正在执 行的中断服务程序,并保存该中断程序断点(类似于子程序嵌 套),转而去执行高级别中断的中断服务程序;当高级别中断 处理完毕后,再继续执行被中断的中断处理程序。这个过程被 称为中断嵌套。

51单片机教程-第六集:中断的学习(二)

51单片机教程-第六集:中断的学习(二)

51单片机教程-第六集:中断的学习(二)6.4.2 数码管消隐处理不知道细心的同学能否发现,我们的两次数码管动态刷新显示的时候似乎并不是那么完美,第一个小问题,大家仔细看,数码管的不应该显示的段,似乎有微微的发亮,这种现象叫做“鬼影”,这个“鬼影”严重影响了我们的视觉效果,我们该如何解决呢?同学们今后可能会遇到各种各样的问题,可能有很多我是没有讲过的问题,遇到问题怎么办呢?大家要相信,你作为初学者,遇到的问题肯定不是第一个遇到的,肯定有前辈会遇到同类问题,他们一般会在网上发表各种帖子,各种讨论,所以大家遇到问题,首先解决方法就应该形成一个到网上搜索的条件反射,这个问题大家可以到网上搜:“数码管消隐”或者“数码管鬼影解决”,多找相关关键词搜索,会搜索也是一种能力。

大家在网上搜了一下会发现,解决这类问题的普遍两个方法,其中之一是延时,延时之后我们肉眼就可能看不到这个“鬼影”了。

但是延时是一个非常拙劣的手段,且不说延时多久能让我们看不到“鬼影”,延时后,我们的数码管亮度会普遍降低。

我们解决问题呢,不能只知其然,不知其所以然,所以我们首先要弄懂为什么会出现“鬼影”。

“鬼影”的出现,主要是因为我们数码管位选和段选产生的瞬态所造成的。

举个简单例子,我们在数码管动态刷新的那部分程序中,实际上每一个数码管点亮的持续时间是1ms的时间,1ms后进行下个数码管的切换。

在进行数码管切换的时候,比如我们从case 5要切换到case 0的时候,case 5的位选用的是ADDR0=1; ADDR1=0; ADDR2=1;假如此刻case5也就是最高位数码管对应的值是0。

我们要切换成的case 0的数码管位选是ADDR0=0; ADDR1=0; ADDR2=0;而对应的数码管的值假如是1。

因为我们的C语言程序是一句一句顺序往下执行的,每一条语句都会占用一定的时间,即使这个时间非常非常短暂。

但是当我们把“ADDR0=1”改变成“ADDR0=0”的时候,这个瞬间存在了一个中间状态ADDR0=0; ADDR1=0; ADDR2=1;在这个瞬间上,我们就给case 4对应的数码管DS5瞬间赋值了0。

10第十讲单个按键与中断--力天手把手教你学单片机之实战篇二讲义资料

10第十讲单个按键与中断--力天手把手教你学单片机之实战篇二讲义资料

• a = TEST_BIT;
tuPnI tuPnI k 0 0 2 ~ k 0 ? 0 1 R C C V
VCCVCC 19876543212345678900 33333333322222222234 VCC PSEN P2.0/A8P2.1/A9 EA/VPP P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15 P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7 ALE/PROG D 12N P3.0/RXDXXRESETP3.7/RDP3.6/WRP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5/MOSIP1.6/MISOP1.7/SCKP3.1/TXDG 2 D U(AT/STC/SST)89(S/C)5X N G 09876234510 912345678 11111111112 D RESTP3_3 N p 9 2 G C2 K 2 0 R1 12-40M 8 1 C X p 2 2 4 RESET 0 1 1 5 CS VCC 3 SINT1 D K 1 0 N R1 G VCC
新语新知 ——按键与单片机的接口
按键抬起:1 按键按下:0
新语新知 ——查询方式使用单个按键
实验十四 查询方式单个按键实验
实验目的:掌握查询方式按键输入的编程方法。 实验现象:按住S3按键时蜂鸣器持续鸣响,松开则蜂鸣器关闭。 实验原理:在主函数的死循环里面不停的查询P3.3,若为低电平
则开蜂鸣器,高电平则关蜂鸣器。
手把手教你学51单片机
——之MCS-51实战篇
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

新语新知 ——按键消抖
实验十五 按键消抖实验
实验目的:掌握按键输入编程时加入延时消抖的原理与方法。 实验现象:按一下S3按键蜂鸣器开始鸣响,再按一下S3则蜂鸣器
关闭。 实验原理:在主函数的死循环里面不停的查询P3.3,若为低电平
,则延时10mS之后在查询P3.3是否仍为低电平,然后利用while 语句等待按键抬起,然后改变蜂鸣器的输出状态。
✓ IT1、IE1的用途和IT0、IE0相同。 内部中断请求源 ✓ TF0:定时器T0的溢出中断标记,当T0计数产生溢出时,由硬件置位
TF0。当CPU响应中断后,再由硬件将TF0清0。 ✓ TF1:与TF0类似。 ✓ TI、RI:串行口发送、接收中断,在串口中再讲解。
新语新知 ——MCS51的中断系统
MCS51 程序存储器(ROM)
地址
中断入口
0x0000
复位
0x0003 外部中断0
0x000B 定时器0
0x0013 外部中断1
手把手教你学51单片机
——之MCS-51实战篇
实战篇 第二讲 ——单个按键与中断
本讲内容提要
输入方式使用IO口 按键与单片机的接口 查询方式使用单个按键 按键消抖 MCS51的中断系统 中断相关的寄存器 外部中断的使用
温故知新 ——输出型外设与51的IO口
MCS51的IO口概述
• 寄存器的概念、IO口的物理模型、指标(拉电流与灌电流,是否输入上 拉)、C语言位操作运算符操作IO口
LED与流水灯
• 发光二极管的导通压降、单片机驱动LED的应用电路
蜂鸣器
• 有源蜂鸣器通电即响、蜂鸣器的驱动电流5mA左右、通过三极管或数字 芯片驱动蜂鸣器
继电器
• 继电器的原理与用途、工作电流100mA左右、三极管驱动电路
• a = TEST_BIT;
tuPnI tuPnI k 0 0 2 ~ k 0 ? 0 1 R C C V
VCCVCC 19876543212345678900 33333333322222222234 VCC PSEN P2.0/A8P2.1/A9 EA/VPP P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15 P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7 ALE/PROG D 12N P3.0/RXDXXRESETP3.7/RDP3.6/WRP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5/MOSIP1.6/MISOP1.7/SCKP3.1/TXDG 2 D U(AT/STC/SST)89(S/C)5X N G 09876234510 912345678 11111111112 D RESTP3_3 N p 9 2 G C2 K 2 0 R1 12-40M 8 1 C X p 2 2 4 RESET 0 1 1 5 CS VCC 3 SINT1 D K 1 0 N R1 G VCC
新语新知 ——按键与单片机的接口
按键抬起:1 按键按下:0
新语新知 ——查询方式使用单个按键
实验十四 查询方式单个按键实验
实验目的:掌握查询方式按键输入的编程方法。 实验现象:按住S3按键时蜂鸣器持续鸣响,松开则蜂鸣器关闭。 实验原理:在主函数的死循环里面不停的查询P3.3,若为低电平
则开蜂鸣器,高电平则关蜂鸣器。
✓ IT0:INT0触发方式控制位,可由软件进和置位和复位,IT0=0,INT0 为低电平触发方式,IT0=1,INT0为负跳变触发方式。这两种方式的差 异将在以后再谈。
✓ IE0:INT0中断请求标志位。当有外部的中断请求时,这位就会置1(这 由硬件来完成),在CPU响应中断后,由硬件将IE0清0。
if(KEY_BIT == 0) {...}//按键按下
新语新知 ——按键消抖
为什么要消抖
按键按下瞬间会产生一段时间的毛刺(持续10mS左右)然后才稳定 的现象,如果不加消抖措施会在程序中误判为多次按下按键
通常采取软件消抖的方法,即程序检测到按键按下后,延时 10mS以上再次检测按键状态,如果状态仍然按下则为一次可靠 的按下。
新语新知 ——MCS51的中断系统
中断的概念
在程序运行期间,自动响应非预期的紧急事件 的发生。通常是为了避免查询方式的程序设计 主程序
。用得最多的是外部中断与定时器中断。 ✓ 外部中断:按键程序 ✓ 定时器中断:定时与循环扫描等应用场合
中断服务程序


响应中断 服
中断返回
务 程

ห้องสมุดไป่ตู้
中断发生时,主程序暂停,跳转到中断服务程 序,称为“响应中断”。执行完毕后返回主程 主程序
MCS51的中断向量表
单片机内部的中断模块在每个CPU时钟 周期都查询各个中断源的状态,当其发 生预期的中断事件时,通知CPU将程序 跳转到中断服务程序所在的程序储存器
(ROM)地址。该地址称为中断向量。
所以中断的实质仍然是查询,只是不需 要使用者编程查询、不占用CPU运行时 间而已。
51 系 列 具 有 5 个 中 断 向 量 , 分 别 位 于 0x03、0x0B、0x13、 0x1B、0x23 五个地址中,对于5x系列还增加一个定 时器2中断向量0x2B。
新语新知 ——输入方式使用IO口
向MCS51对应的IO口寄存器写入1,即切换到输入方式
输入方式时,IO口寄存器真实反映IO口上的物理电平输入
MCS51读取IO口的2种方式
• 位运算符方式:
• 位变量方式:
• char a;
• sbit TEST_BIT = P0^2;
• a = P0 & (1 << 2);
序继续运行。
中断服务程序不能被调用、没有返回值,编写 程序时不知道会在程序的何处发生中断。
新语新知 ——MCS51的中断系统
MCS51的中断源
外部中断请求源:即外中断0和1,经由外部引脚引入的,在单片机上有 两个引脚,名称为INT0、INT1,也就是P3.2、P3.3这两个引脚。在内 部的TCON中有四位是与外中断有关的。
相关文档
最新文档