版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四章第四章 中断系统中断系统 中断的基本概念 中断系统是单片机的重要组成部分。检测、实时控制、故障自动处理往往采用中断系统,单片机与外围设备间传送数据及实现人机联系也常采用中断方式。中断系统的应用使计算机的功能更强,效率更高,使用更加灵活方便。 一、什么是中断一、什么是中断 由于某个原因,使当前正在进行的工作暂时停止(打断一下),而去执行和本工作无关或者是有关的另外一个工作,在处理完这些工作后,还能回到原来的地方继续以前的工作。 如果将这个情况推广到计算机中,就是计算机的中断技术。在计算机中,中断就是在执行某一段程序的过程中,由于某种原因,要求CPU尽快中止原程序的执行,而去执行相应的处理程
2、序,待处理结束后,再回来执行被中止的程序。二、中断的基本术语二、中断的基本术语 1)、主程序:就是计算机中断前所执行的程序 2)、中断源:引起中断的原因、事件,就是能够发出中断申请的来源。3)、中断服务程序:中断后所执行的程序;4)、断点;主程序被断开的位置(或地址)。5)、中断请求信号:光有中断源还不行,计算机是如何知道中断源有要求呢?这就需要中断源要有一个要求服务的请求信号,称为中断请求信号。6)、中断的优先级 凡事都可能有轻重缓急,一般是尽量先做重要或很急的事情。引起CPU中止当前正在执行的程序的事情有可能也不止一个,每个中断源都有自己的“份量”,有的请求比较迫切,CPU必须尽快响应,而
3、有的则可以等一会,这里也有优先级的问题。如果在执行级别比较低的中断服务程序的时候,忽然来了一个高级中断,计算机也会停止执行低级的中断服务程序,去为这个高级的中断服务。这就是所谓的“中断嵌套中断嵌套”,类似于子程序嵌套。 中断源中断源 中断申请中断申请开放中断开放中断保护现场保护现场中断服务中断服务恢复现场恢复现场中断返回中断返回中断涉及的几个环节(提出中断申请的(提出中断申请的甲方甲方)(甲方(甲方发出信号发出信号提出申请)提出申请)(乙方乙方同意同意传送)传送)(安排好当前的工作安排好当前的工作)(乙方乙方按预案按预案响应响应)(预案预案完事后,回去完事后,回去)(乙方乙方继续继续做打断前的
4、工作)做打断前的工作)三、中断服务程序和子程序的区别三、中断服务程序和子程序的区别 中断大概的处理过程: 1、保护断点:当有事件产生,如果计算机要对它进行处理,在处理之前首先要保存下一条将要执行的指令的PC地址,也就是断点地址,并将这个地址送入堆栈。 2、根据事件的不同执行相应的中断服务程序。 3、中断返回:执行完中断指令后,就返回到主程序的断点处,继续执行。 和调用子程序相比,它们都要进行断点保护。响应中断或是执行子程序之前都会把断点压入堆栈中,返回的时候将断点地址返回给程序计数器PC。 中断类似于程序设计中的调用子程序,但有所区别。 中断产生是随机的,而调用子程序是事先预定好的。而调用子程
5、序的情况就不一样了,子程序是程序中由用户事先安排好的,何时调用、调用几次用户自己就能决定。 中断服务程序为外设或各种事件服务,与正在执行的程序可能没有任何关系。而子程序是为主程序服务,有可能和外设没有关系。 中断子程序还要额外考虑在子程序中是否开(或关)中断,并力求在保护和恢复现场动作期间不被高级中断申请打断。 返回动作不同。RET与RETI有区别,后者除PC出栈外,还要对中断优先级状态触发器复位,即恢复中断优先链。四、中断技术的优势四、中断技术的优势 计算机采用中断技术,大大提高了它的工作效率和处理问题的灵活性。主要表现在四个方面:1、解决了快速的CPU与慢速的外设之间的矛盾,使CPU与外设
6、并行、分时工作。2、使计算机能够及时处理实时控制中的许多随机信息。3、使计算机具备处理故障的能力。4、使计算机具备从低功耗状态唤醒的能力。例S4 任务4:信号灯的控制4一、要求一、要求在图1-3给出的任务1的电路的基础上,扩展如图5-1所示的相应外部电路,将并A端接到单片机的P3.2引脚上。编写程序,使程序在运行时,每当按一次图5-1中的按键K,P1口的发光二极管就会亮、灭切换一次。图图5-1 任务任务4电路图电路图二、任务分析与实现二、任务分析与实现 在前面的任务中,我们只是让单片机执行一定的指令或程序来实现相应的功能。在程序的运行过程中,我们人并没有进行干预,没有做任何动作。而这次任务不一
7、样,发光二极管的亮、灭变换取决于我们在程序运行过程中的一个按键的动作。按一下键将会在A端产生一个负脉冲,由这个负脉冲来完成发光二极管的亮、灭变换。#include void main ( ) P1= 0 x00; EA = 1; EX0 =1; IT0 =1;;IT0=1,使外部中断0的触发方式为下降沿触发 while(1);void INT0_T3 ( ) interrupt 0 P1 = P1;中断允许寄存器中断允许寄存器IEIE:EAESET1EX1ET0EX0定时定时/ /计数控制寄存器计数控制寄存器TCONTCON: R-S触发器电路,74LS00是一个“与非”门。根据电路我们可以看
8、出,当没有按下5-1中的按键K,a=0,b=1,两个与非门输出分别是A=1,B=0。当按下图中的按键K后,a=1,b=0,A、B端的电平就会进行切换,A=0,B=1,这样就会从A、B端输出相应的负脉冲和正脉冲。 在开关在ab之间转换过程中没有中间过程出现,这由R-S触发器电路特性决定。 将A端接到P3.2引脚,就是要从P3.2引脚向单片机输入一个由按下按键所产生的负脉冲,由这个负脉冲来完成发光二极管的亮、灭变换。 MCS-51MCS-51的中断系统的中断系统返回值类型返回值类型 函数名(形参表)函数名(形参表) interrupt n using m5151单片机的单片机的中断源中断源及及TC
9、ONTCON CPUCPU在每个机器周期的在每个机器周期的S5P2S5P2期间期间,会自动查询,会自动查询各个各个中断申请标志位中断申请标志位,若查到某标志位被置位,若查到某标志位被置位, ,将启动中断机制。将启动中断机制。5151子系列允许子系列允许5 5个个(52(52子系列子系列6 6个个) )中断源:中断源: 2 2个外部中断请求:个外部中断请求:INT0INT0,INT1INT1 2 2个片内定时器个片内定时器/ /计数器计数器T0T0和和T1T1中断请求:中断请求: TF0TF0,TF1TF1,(TF2TF25252子系列有子系列有T2T2) 1 1个串行口中断请求:个串行口中断请
10、求:TI/RITI/RICPUCPU识别中断申请的依据识别中断申请的依据:2.3 MCS-51系列单片机的外部引脚及片外总线系列单片机的外部引脚及片外总线2.3.1 外部引脚外部引脚P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VpdP3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7XTAL2XTAL1VssVccP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VppALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.01234567891011121415161718192040393837363
11、53433323130292827262524232221803180518751RXDTXDINT0INT1T0T1WRRDP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7PSENEAALERST用户I /O控制总线(CB)锁存器A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0D7D6D5D4D3D2D1D0地址总线数据总线(AB)(DB)VccVssVccV
12、ss单片机的中断源及单片机的中断源及TCONTCONCPU CPU 在每个机器周期的在每个机器周期的S5P2S5P2期间期间,会自动查询,会自动查询各个各个中断申请标志位中断申请标志位,若查到某标志位被置位,若查到某标志位被置位, ,将启动中断机制。将启动中断机制。CPUCPU识别中断申请的依据识别中断申请的依据:TcTsTmTmTcTc=1/fosc Ts=6Tc Tm=12Tc=6Ts=1/fosc Ts=6Tc Tm=12Tc=6TsS5S6S4S3S2S5S6S4S3S2S1定时器控制寄存器TCON (88H)TF1TF1 TR1TR1 TF0TF0 TR0TR0 IE1IE1 IT1
13、IT1 IE0IE0 IT0IT0TCONTCONTF0/TF1TF0/TF1:定时器溢出中断申请标志位:定时器溢出中断申请标志位: =0=0:定时器未溢出;:定时器未溢出; =1=1:定时器溢出申请中断,进中断后自动清零。定时器溢出申请中断,进中断后自动清零。TR0/TR1TR0/TR1:定时器运行启停控制位:定时器运行启停控制位: =0=0:定时器停止运行;:定时器停止运行; =1=1:定时器启动运行。定时器启动运行。TCONTCON:TimerTimer控制寄存器控制寄存器,是管理定时器工作的,是管理定时器工作的SFRSFR(其中低(其中低4 4位管外部中断)位管外部中断)定时器控制寄存
14、器TCON (88H)TF1TF1 TR1TR1 TF0TF0 TR0TR0 IE1IE1 IT1IT1 IE0IE0 IT0IT0TCONTCONIE0/IE1IE0/IE1:外部中断申请标志位:外部中断申请标志位: =0=0:没有外部中断申请;:没有外部中断申请; =1=1:有外部中断申请。有外部中断申请。IT0/IT1IT0/IT1:外部中断请求的触发方式选择位:外部中断请求的触发方式选择位: =0=0:在:在INT0/INT1INT0/INT1端申请中断的信号端申请中断的信号低电平低电平有效有效; ; =1 =1:在在INT0/INT1INT0/INT1端申请中断的信号端申请中断的信号
15、负跳变负跳变有效。有效。TCONTCON:TimerTimer控制寄存器控制寄存器,低低4 4位管理外部中断位管理外部中断在在CPUCPU已经开放了外部中断允许的前提下:已经开放了外部中断允许的前提下:在在INT0INT0/ /INT1INT1引脚输入一个引脚输入一个负脉冲负脉冲或或低电平低电平, TCONTCON寄存器中的寄存器中的IE0/IE1IE0/IE1标志位自动变标志位自动变“1”1”,检测到检测到IE0/IE1IE0/IE1变变“1”1”后后, ,将产生指令:将产生指令: LCALL 0003HLCALL 0003H(/0013H)(/0013H)执行中断服务程序执行中断服务程序,
16、 ,并将并将IE0/IE1IE0/IE1标志位自动清标志位自动清“0”,0”,以备下次申请以备下次申请。外部中断INT0(P3.2),INT1(P3.3)申请过程单片机的中断矢量与优先级单片机的中断矢量与优先级中断矢量中断矢量: MCS-51MCS-51单片机的单片机的 5 5 个中断源分别对个中断源分别对应有各自的应有各自的中断服务程序入口地址中断服务程序入口地址中断矢量中断矢量000BH000BHTF0TF0定时定时/ /计数器计数器0(T0)0(T0)0023H0023HRI/TIRI/TI串行口接收串行口接收/ /发送发送001BH001BHTF1TF1定时定时/ /计数器计数器1(T
17、1)1(T1)0013H0013HIE1IE1外部中断外部中断1( INT1)1( INT1)0003H0003HIE0IE0外部中断外部中断0( INT0)0( INT0)中断优先级中断优先级中断矢量中断矢量申请标志申请标志中中 断断 源源最高优先级最高优先级最低优先级最低优先级 PT2 PS PT1PT2 PS PT1 PX1 PX1 PT0 PX0PT0 PX0IPIPPX0/PX1PX0/PX1:INTINT0/10/1优先级控制位:优先级控制位: =0=0 时属时属低低优先级;优先级; =1=1 时属时属高高优先级。优先级。PT0/PT1/PT2PT0/PT1/PT2:T0/1/2T
18、0/1/2中断优先级控制位:中断优先级控制位: =0=0 时属低优先级;时属低优先级; =1=1 时属时属高高优先级。优先级。PS1PS1:串行口中断优先级控制位:串行口中断优先级控制位: =0=0 时属时属低低优先级;优先级; =1=1 时属时属高高优先级。优先级。中断优先级控制寄存器中断优先级控制寄存器IP IP (0B8H)(0B8H)对对同时发生同时发生多个中断申请时:多个中断申请时:不同优先级的中断同时申请不同优先级的中断同时申请( (很难遇到很难遇到) ) 先高后低先高后低相同优先级的中断同时申请相同优先级的中断同时申请( (很难遇到很难遇到) ) 按序执行按序执行正处理低优先级中
19、断又接到高级别中断正处理低优先级中断又接到高级别中断 高打断低高打断低正处理高优先级中断又接到低级别中断正处理高优先级中断又接到低级别中断 高不理低高不理低中断优先级处理原则没有没有同级的中断或更高级别的同级的中断或更高级别的中断正在处理中断正在处理;在中断源提出了在中断源提出了中断申请中断申请且且CPUCPU此前已经此前已经允许中断允许中断的前提下,还须满足以下的前提下,还须满足以下三个条件三个条件: :正在执行的指令必须正在执行的指令必须执行完最后执行完最后 1 1个机器周期个机器周期;若正在执行若正在执行RETIRETI,或正在访问,或正在访问IEIE或或IPIP寄存器寄存器, ,须须执
20、行完上述指令和下一条指令以后方能响应中断。执行完上述指令和下一条指令以后方能响应中断。 EAEA ES ET1 EX1 ET0 EX0 ES ET1 EX1 ET0 EX0IEIE中断允许寄存器中断允许寄存器IE IE (0A8H)(0A8H) EX0/EX1/ET1/ET0/ES EX0/EX1/ET1/ET0/ES 位位: 分别是分别是INT0/1INT0/1,Timer0/1Timer0/1,串行口,串行口的中断允的中断允 许控制位许控制位: : =0 =0 时禁止中断;时禁止中断; =1=1 时时允许允许中断。中断。EAEA:总的中断允许控制位(总开关):总的中断允许控制位(总开关):
21、 =0 =0 时禁止全部中断;时禁止全部中断;=1=1 时时允许允许中断。中断。中断系统硬件结构注注: :各中断允许控制位各中断允许控制位=0,=0,开关断开开关断开; =1,=1,开关接通开关接通IE0IE0EX0EX0TF0TF0IE1IE1TF1TF1TITIESESET1ET1EX1EX1ET0ET0外部中断外部中断 请求请求0 0外部中断外部中断 请求请求1 1内部内部 定时器定时器0 0内部内部 定时器定时器1 1内部内部 串行口串行口T TR RRIRIIEIE寄存器寄存器 EA EA位位IPIP寄存器寄存器各单路开关各单路开关 总开关总开关中断源标志中断源标志位查询机构位查询机
22、构高中断级高中断级中断请求中断请求低中断级低中断级中断请求中断请求中断入口中断入口中断源中断源标志位标志位INT0INT0INT1INT1中断入口中断入口中断源中断源标志位标志位外部中断外部中断及及中断请求的撤除中断请求的撤除: :低电平低电平/ /负脉冲负脉冲INT0/INT1INT0/INT1引脚引脚可触发中断可触发中断TF1 TR1 TF0 TR0 TF1 TR1 TF0 TR0 IE1 IE1 IT1 IT1 IE0 IE0 IT0 IT0TCON TCON (88H)(88H)IT0/IT1IT0/IT1:INT0/1INT0/1的触发方式选择位:的触发方式选择位: IT0/IT1
23、IT0/IT1 =0=0 时,时,INT0/INT1INT0/INT1是是低电平低电平有效;有效; IT0/IT1 IT0/IT1 =1=1 时,时,INT0/INT1INT0/INT1是是负跳变负跳变有效。有效。低电平触发低电平触发 引脚上的低电平须持续到中断发生。引脚上的低电平须持续到中断发生。若中断返回前仍未若中断返回前仍未及时撤除及时撤除低电平低电平, ,将再次中断。将再次中断。负脉冲触发负脉冲触发 CPUCPU在前一机器周期采到在前一机器周期采到INT0/INT1INT0/INT1引引脚为高脚为高, ,后一机器周期采到为低才认为是一次中断后一机器周期采到为低才认为是一次中断请求。请求
24、。CPU CPU 可可自动撤除中断申请自动撤除中断申请。外部低电平中断的撤除外来的低电平外来的低电平反相反相CLKCLK端产生上跳沿端产生上跳沿 D D端的端的“0”0”打到打到Q Q端端申请中断申请中断INTxINTxP1.0P1.0CLKCLKS SQ QD D外来中断申请外来中断申请信号信号( (低电平低电平) )MCS-51MCS-5174LS7474LS74S=0 S=0 则则 Q=1 Q=1 , /S/S为异步置为异步置1 1端端中断返回前对中断返回前对P1.0P1.0送送“0”0” 令令Q Q端变为端变为“1”1”指令如下:指令如下:P1.0 =0 ;P1.0 =0 ;令令Q Q
25、端置端置“1 1”P1.0 =1 ;P1.0 =1 ;令令S S端置端置“1 1”,”,以免下次中断来时以免下次中断来时Q Q端端不能变不能变“0”0”定时定时/ /计数器中断及中断请求的撤除:计数器中断及中断请求的撤除: 定时/计数器的溢出中断,在CPU响应中断过程中,自动用硬件清除有关的中断请求标志TF0和TF1;如果未开相应的中断,需用软件将相应的标志清除。串行中断及中断请求的撤除:串行中断及中断请求的撤除:TI、RI标志必须在中断服务程序中用软件清除。程序中必须有: TI=0; RI=0;中断应用中断应用前后前后要做的几项工作要做的几项工作 中断前中断前 开中断允许:开中断允许:必须必
26、须 选择优先级:根据需要选择,选择优先级:根据需要选择,可有可有/ /可无可无 设置控制位:设置控制位:INTxINTx触发方式触发方式( (ITxITx) ) TxTxTCONTCON, ,TMODTMOD, ,TRxTRx, ,初值初值 RI/TIRI/TISCONSCON, ,RENREN, ,RB8RB8, ,TB8TB8,中断后中断后进入中断服务进入中断服务后后:保护现场保护现场,关中断关中断,退出中断服务退出中断服务前前:恢复现场恢复现场, ,开中断开中断, ,设设TxTx的初的初 值值, ,清清TI/RITI/RI,中断服务程序的最后一条指令必是中断服务程序的最后一条指令必是 R
27、ETIRETI 与中断有关的寄存器有与中断有关的寄存器有4 4个:个:定时定时/ /计数控制寄存器计数控制寄存器TCONTCON串行口控制寄存器串行口控制寄存器SCONSCON中断允许控制寄存器中断允许控制寄存器IEIE中断优先级控制寄存器中断优先级控制寄存器IPIP中断源有中断源有5 5个:个:1 1、外部中断、外部中断0 0:由:由P3.2P3.2管脚(管脚(/INT0/INT0)输入)输入2 2、外部中断、外部中断1 1:由:由P3.3P3.3管脚(管脚(/INT1/INT1)输入)输入3 3、定时、定时/ /计数器计数器0 0的溢出中断的溢出中断4 4、定时、定时/ /计数器计数器1
28、1的溢出中断的溢出中断5 5、串行口中断、串行口中断 中断源标志有中断源标志有5 5个个:外部中断外部中断0 0请求标志请求标志 IE0IE0、外部中断外部中断1 1请求标志请求标志IE1IE1、定时器定时器0 0溢出中断请求溢出中断请求标志标志TF0TF0、定时器定时器1 1溢出中断请求标志溢出中断请求标志TF1TF1和和串行串行中断请求标志中断请求标志RIRI或或TITI。 5 5个中断源的排列顺序由中断优先级控制寄个中断源的排列顺序由中断优先级控制寄存器存器IPIP和顺序查询逻辑电路共同决定,和顺序查询逻辑电路共同决定,5 5个中断个中断源分别对应源分别对应5 5个固定的中断入口地址。个
29、固定的中断入口地址。 外部中断源的扩展外部中断源的扩展在实际应用中,若外部中断源超过两个,则需扩充外部中断源,这里介绍两种简单可行的方法。 1 1用定时器作外部中断源用定时器作外部中断源 MCS-51单片机有两个定时器,具有两个内中断标志和外计数引脚,如在某些应用中不被使用,则它们的中断可作为外部中断请求使用。此时,可将定时将定时器设置成计数方式,计数初值可设为满量程,则它们器设置成计数方式,计数初值可设为满量程,则它们的计数输入端的计数输入端T0T0(P3.4P3.4)或)或T1T1(P3.5P3.5)引脚上发生负)引脚上发生负跳变时,计数器加跳变时,计数器加1 1便产生溢出中断。便产生溢出
30、中断。利用此特性,可把T0脚或T1脚作为外部中断请求输入线,而计数器的溢出中断作为外部中断请求标志。 例例: : 将定时器T0扩展为外部中断源。 解解:将定时器T0设定为方式2(自动恢复计数初值),TH0和TF0的初值均设置为FFH,允许T0中断,CPU开放中断,源程序如下:TMOD0 x06 ; T0设定为方式2TH0=0 xFF ; 计数器赋初值TL0=0 xFF ;TR0=1ET0=1EA=1 当连接在T0(P3.4)引脚的外部中断请求输入线发生负跳变时,TL0加1溢出,TF0置1,向CPU发出中断申请,同时,TH0的内容自动送至TL0使TL0恢复初值。这样,T0引脚每输入一个负跳变,T
31、F0都会置1,向CPU请求中断,此时,T0脚相当于边沿触发的外部中断源输入线。 同样,也可将定时器T1扩展为外部中断源。 2 2中断和查询相结合中断和查询相结合 利用两根外部中断输入线(和脚),每一中断输入线可以通过线与的关系连接多个外部中断源,同时,利用并行输入端口线作为多个中断源的识别线,其电路原理图如下图所示。一个外中断扩展成多个外中断的原理图 由图可知,4个外部扩展中断源通过与门电路组成线与后再与(P3.2)相连,4个外部扩展中断源EXINT0 EXINT3中有一个或几个出现低电平则输出为0,使P3.2脚为低电平,从而发出中断请求。CPU执行中断服务程序时,先依次查询P1口的中断源输入
32、状态,然后,转入到相应的中断服务程序,4个扩展中断源的优先级顺序由软件查询顺序决定,即最先查询的优先级最高,最后查询的优先级最低。 TCON(88H) 8FH 8EH 8DH 8CH 8BH 8AH 89H 88HTF1TF0IE1IT1IE0IT0TIRIEAESET1EX1ET0EX0PSPT1PX1PT0PX0SCONIEIP【例例4.14.1】试编写允许/INT1、T0中断,并将/INT1设置高优先级的初始化程序。 #include void main ( ) PX1 = 1; /设置/INT1为高优先级 EA = 1; /CPU开中断 EX1 = 1; /允许/INT1中断 ET0
33、= 1; /允许T0中断【例例4.34.3】将任务3的电路图中的A端改接在P3.3上,编写程序,使每按下按键SW1后,P1口的发光二极管实现亮点流动。 分析:改变的地方有两处,一是电路变了(P3.2改成了P3.3),二是闪烁状态变了(由亮灭切换变成流动)。 程序只要做如下改变:一是改变一下中断服务程序的入口地址(使用/INT1,而不是INT0),二是在主程序中改变一下中断控制位和A的初始值,三是改变一下中断服务程序(函数)。则可编程如下:XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/A
34、D435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51C130pFC230pFX1CRYSTALVCCGNDC310uFR18.2kGNDVCCR2560R3560R4560R
35、5560R6560R7560R8560R9560VCCD5LED-YELLOWD1LED-YELLOWD2LED-YELLOWD3LED-YELLOWD4LED-YELLOWD6LED-YELLOWD7LED-YELLOWD8R104.7kR114.7kSW1SW-SPDT123U2:A7400456U2:B7400abA#include #include unsigned char sel;void main ( ) sel = 0 xFE; P1= sel; EA = 1; EX1 =1; IT1 =1; while(1);void INT1_ISR ( ) interrupt 2 sel
36、 = _crol_ (sel,1); P1 = sel;【例例4.44.4】电路连接仍如任务3。编写程序,假设在单脉冲键按下之前,LED处于一个亮点流动的状态。采用中断方式,当按下单脉冲键时,LED状态改为同时闪烁。闪烁8次再恢复原来的亮点流动。 分析:在任务3中,主程序只是将A的值送P1口后,就处于一个等待中断的过程,并没有完成别的任务。在中断服务程序中只是将A取反。 而本例中,主程序却要通过延时完成一个亮点流动的过程,而且中断服务程序要完成一个同时闪烁8次的过程。则可编程如下:#include #include void delay ( unsigned int d ) /延时函数 while(-d 0);void main ( ) /主函数 unsigned char temp; temp = 0 xfe; EA = 1; EX0 =1; IT0 =1;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年福州货运资格证答题库
- 2025年道路货物运输从业资格证模拟考试
- 2025年临夏如何考货运从业资格证
- 2025年荆门货运从业资格证模拟考试题目
- UNS密封圈行业深度研究报告
- 上海外国语大学贤达经济人文学院《商业伦理学》2023-2024学年第一学期期末试卷
- 上海体育大学《绿色含能材料》2023-2024学年第一学期期末试卷
- 上海体育大学《材料力学及物理性能》2023-2024学年第一学期期末试卷
- 2025建筑公司劳务合同
- 乘除法和加减混合运算教学设计
- 判断推理练习试卷1(共100题)
- DL-T-1878-2018燃煤电厂储煤场盘点导则
- 2024年《满江红·小住京华》原文及赏析
- 植物病虫害防治赛项赛题及答案
- 2022-2023学年辽宁省葫芦岛市绥中县辽师大版(三起)四年级上学期期末英语试卷
- 铸造实训实验报告
- 农村能源革命实施路径
- JJG 475-2008电子式万能试验机
- (2024年)反垄断法及反不正当竞争法课件
- 2024年江苏南通国有资产投资控股有限公司招聘笔试参考题库含答案解析
- 2023年6月国开(中央电大)行管本科《西方行政学说》期末考试试题及答案
评论
0/150
提交评论