单片机原理与应用-基于汇编、C51及混合编程第7章中断控制定时计数器及PCAPWM的应用.ppt
《单片机原理与应用-基于汇编、C51及混合编程第7章中断控制定时计数器及PCAPWM的应用.ppt》由会员分享,可在线阅读,更多相关《单片机原理与应用-基于汇编、C51及混合编程第7章中断控制定时计数器及PCAPWM的应用.ppt(89页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 系统扩展设计及例题的介系统扩展设计及例题的介绍与实际应用相结合绍与实际应用相结合,原理图原理图中给出了各元器件的实际应用中给出了各元器件的实际应用参数。在第参数。在第7-12章中的每一道章中的每一道例题都采用汇编、例题都采用汇编、C51两种语两种语言分别编程实现。第言分别编程实现。第12章中数章中数字显示温度计、字显示温度计、RLC测量仪两测量仪两个应用实例的电路及程序都通个应用实例的电路及程序都通过了验证。过了验证。2第第7章章 中断控制、定时中断控制、定时/计数器及计数器及PCA/PWM的应用的应用3主要内容主要内容7.1 中断的概念中断的概念7.2中断系统的结构中断系统的结构7.3中断
2、寄存器中断寄存器7.4低压检测中断低压检测中断7.5外部中断外部中断7.6定时定时/计数器计数器T0、T1的工作方式的工作方式7.7定时定时/计数器计数器T0、T1的应用举例的应用举例7.8定时定时/计数器计数器T2的工作方式及应用的工作方式及应用7.9 PCA/PWM模块的结构及应用模块的结构及应用47.1 中断的概念中断的概念1.中断源及中断请求中断源及中断请求中断请求中断请求RETI主主程程序序响应中断响应中断响应中断响应中断中中断断服服务务子子程程序序返主程序返主程序继继继继续续续续执执执执行行行行主主主主程程程程序序序序中断请求中断请求PCPC断点断点断点断点PCPC断点断点断点断点
3、对于一个中断对于一个中断源,中断请求源,中断请求信号产生一次,信号产生一次,CPU中断一次,中断一次,而不能出现中而不能出现中断请求一次,断请求一次,CPU响应多次响应多次的情况,所以的情况,所以要求中断信号要求中断信号及时撤除。及时撤除。产生中断请求的事件,称为中断源。产生中断请求的事件,称为中断源。STC12C5A60S2单片机有单片机有10个中断源个中断源:外部中断:外部中断0、定、定时时/计数器计数器T0、外部中断、外部中断1、定时、定时/计数器计数器T1、串行口、串行口1(UART1)、A/D转换、串行口转换、串行口2(UART2)、低压检测)、低压检测(LVD)中断、中断、PCA中
4、断和中断和SPI中断。中断。57.1 中断的概念中断的概念1.中断源及中断请求中断源及中断请求 对突发事故,做出紧急处理。对突发事故,做出紧急处理。根据现场随时变化的各种参数、信息,做出实时监控。根据现场随时变化的各种参数、信息,做出实时监控。CPU与外部设备并行工作与外部设备并行工作,以中断方式相联系以中断方式相联系,提高工作效率。提高工作效率。在多项外部设备同时提出中断请求情况下,在多项外部设备同时提出中断请求情况下,CPU能根据轻重能根据轻重 缓急响应外设的中断请求。缓急响应外设的中断请求。中断的作用:中断的作用:67.1 中断的概念中断的概念2.中断优先权控制中断优先权控制3.中断允许
5、与中断屏蔽中断允许与中断屏蔽4.中断响应与中断返回当有中断请求当有中断请求时,如果时,如果CPU正在执行某一正在执行某一条指令,需要条指令,需要执行完当前指执行完当前指令后再响应中令后再响应中断,如果正在断,如果正在执行执行RETI,或,或者是访问者是访问IE、IP寄存器指令寄存器指令时,需要执行时,需要执行完当前指令后,完当前指令后,再执行一条指再执行一条指令才响应中断。令才响应中断。CPU同同一一时时间间只只能能响响应应一一个个中中断断请请求求。若若同同时时来来了了两两个个或或两两个个以以上上中中断断请请求求,就就必必须须有有先先有有后后。!在中断系统中,有一在中断系统中,有一个总中断使能
6、位控制个总中断使能位控制所有中断是否允许,所有中断是否允许,另外每个中断源还有另外每个中断源还有各自的中断使能位控各自的中断使能位控制该中断是否允许,制该中断是否允许,只有在总的中断允许只有在总的中断允许及相应中断也允许时,及相应中断也允许时,CPUCPU才能响应中断。才能响应中断。另另外,当有高优先级中外,当有高优先级中断正在响应时,也会断正在响应时,也会屏蔽同级中断和低优屏蔽同级中断和低优先级中断。先级中断。77.2中断系统的结构中断系统的结构中断源、中断源、中断请中断请求求中断允许寄中断允许寄存器存器IE和和IE287.3中断寄存器中断寄存器1.中断允许寄存器中断允许寄存器IEIE寄存器
7、的地址为A8H,可进行位寻址D7D6D5D4D3D2D1D0EAELVDEADCESET1EX1ET0EX0CPU的中断允许控制位,当的中断允许控制位,当EA=0时,所有时,所有的中断源请求均被屏蔽;当的中断源请求均被屏蔽;当EA=1时,允许时,允许CPU检测中断源的标志位。检测中断源的标志位。EA的作用使中的作用使中断允许形成两级控制,即各中断源首先受断允许形成两级控制,即各中断源首先受EA控制,其次还受各中断源自己的中断允控制,其次还受各中断源自己的中断允许控制位控制。许控制位控制。低压检测中断允许位。当低压检测中断允许位。当ELVD0时,禁止低压检测中断;当时,禁止低压检测中断;当ELV
8、D1,允许低压检测中断。,允许低压检测中断。A/D转换中断允许位。当转换中断允许位。当EADC0时,禁止时,禁止A/D转换中断;当转换中断;当EADC1时,允许时,允许A/D转换结转换结束时中断。束时中断。串行口串行口1中断允许控制位。中断允许控制位。当当ES0时,禁止串行口时,禁止串行口1中断;当中断;当ES1时,允许串时,允许串行口行口1中断。中断。定时定时/计数器计数器T1溢出中断允溢出中断允许控制位。当许控制位。当ET10时,禁时,禁止止T1中断;当中断;当ET11时,允时,允许许T1中断中断外部中断外部中断1中断允许控制位。中断允许控制位。当当EX10时,禁止外部中断时,禁止外部中断
9、1中断;当中断;当EX11时,允许时,允许外部中断外部中断1中断中断定时定时/计数器计数器T0溢出中断允溢出中断允许控制位。当许控制位。当ET00时,时,禁止禁止T0中断;当中断;当ET01时,时,允许允许T0中断中断外部中断外部中断0中断允许控制位。中断允许控制位。当当EX00时,禁止外部中时,禁止外部中断断0中断;当中断;当EX01时,允时,允许外部中断许外部中断0中断中断97.3中断寄存器中断寄存器1.中断允许寄存器中断允许寄存器IE2IE2的地址为AFH,不能进行位寻址D7D6D5D4D3D2D1D0-ESPIES2SPI串行通信中断允许位。串行通信中断允许位。ESPI=0时,禁止时,
10、禁止SPI中断;中断;当当ESPI=1,允许,允许SPI中断中断串行口串行口2中断允许控制位。中断允许控制位。当当ES20时,禁止串行口时,禁止串行口2中断;当中断;当ES21时,允许时,允许串行口串行口2中断中断107.2中断系统的结构中断系统的结构STC系列单片机复位后,系列单片机复位后,IE和和IE2寄存器的各位均寄存器的各位均被清被清0,即所有中断源均处于禁止状态,由用户程,即所有中断源均处于禁止状态,由用户程序对寄存器序对寄存器IE和和IE2相应的位置相应的位置1或清或清0,实现允许,实现允许或禁止各中断源的中断请求。或禁止各中断源的中断请求。要改变要改变IE寄存器各控制位的状态既可
11、以寄存器各控制位的状态既可以用字节操用字节操作指令作指令MOV IE,#DATA来实现,也来实现,也可用位操作指可用位操作指令令SETB或或CLR实现。实现。改变改变IE2寄存器的各控制位,寄存器的各控制位,只能用字节操作指令只能用字节操作指令来实现,如:来实现,如:MOV IE2,#DATA。117.2中断系统的结构中断系统的结构127.2中断系统的结构中断系统的结构中断优先级控制寄中断优先级控制寄存器存器IP、IP2和和IPH、IP2H137.3中断寄存器中断寄存器2.中断优先级控制寄存器中断优先级控制寄存器IP、IP2和和IPH、IP2HD7D6D5D4D3D2D1D0PPCAPLVDP
12、ADCPSPT1PX1PT0PX0IP寄存器的地址为B8H,可进行位寻址D7D6D5D4D3D2D1D0PPCAHPLVDHPADCHPSHPT1HPX1HPT0HPX0HIPH寄存器的地址为B7H,不能进行位寻址PPCAH、PPCA为为PCA中断中断优先级的高、低位优先级的高、低位PLVDH、PLVD为低压检测中断优为低压检测中断优先级的高、低位先级的高、低位PADCH、PADC为为A/D转换中转换中断优先级的高、低位断优先级的高、低位PSH、PS为串行口为串行口1中断优中断优先级的高、低位先级的高、低位PT1H、PT1为定时为定时/计数器计数器1中断优先级的高、低位中断优先级的高、低位PX
13、1H、PX1为外部中断为外部中断1中断中断优先级的高、低位优先级的高、低位PT0H、PT0为定时为定时/计数器计数器T0中断优先级的高、低位中断优先级的高、低位PX0H、PX0为外部中断为外部中断0中中断优先级高、低位断优先级高、低位147.3中断寄存器中断寄存器2.中断优先级控制寄存器中断优先级控制寄存器IP、IP2和和IPH、IP2HD7D6D5D4D3D2D1D0-PSPIPS2D7D6D5D4D3D2D1D0-PSPIHPS2HIP2寄存器的地址为B5H,不能进行位寻址IP2H寄存器的地址为B6H,不能进行位寻址PSPIH,PSPI为为SPI串行口串行口中断优先级的高、低位中断优先级的
14、高、低位PS2H、PS2为串行口为串行口2中断中断优先级的高、低位优先级的高、低位157.2中断系统的结构中断系统的结构IPH.X、IP.X或IP2H.X、IP2.X为11时为最高优先级中断IPH.X、IP.X或IP2H.X、IP2.X为10时为2级中断IPH.X、IP.X或IP2H.X、IP2.X为01时为1级中断IPH.X、IP.X或IP2H.X、IP2.X为00时为最低优先级中断167.3中断寄存器中断寄存器2.中断优先级控制寄存器中断优先级控制寄存器IP、IP2和和IPH、IP2HD7D6D5D4D3D2D1D0PPCAPLVDPADCPSPT1PX1PT0PX0PPCAPLVDPAD
15、CPSPT1PX1PT0PX0-PSPIPS2-PSPIPS2上电复位后,中断优先级控制上电复位后,中断优先级控制寄存器寄存器IP、IP2、IPH和和IP2H中中的各位均为的各位均为0 IP寄存器的内容可通过位操作指令或字节操作指令来改变,寄存器的内容可通过位操作指令或字节操作指令来改变,而而IP2、IPH和和IP2H寄存器的内容只能通过字节操作指令来改寄存器的内容只能通过字节操作指令来改变。变。177.3中断寄存器中断寄存器各中断源中断优先查询次序各中断源中断优先查询次序中断查询序号中断源中断服务程序的入口地址0 INT0 0003H1 T0 000BH2 INT1 0013H3 T1 00
16、1BH4 URAT1 0023H5 ADC 002BH6 LVD 0033H7 PCA 003BH8 UART2 0043H9 SPI 004BH使用使用C语言编程,语言编程,中断查询次序号中断查询次序号就是中断号就是中断号当几个中断源都在同一个优先级,其中当几个中断源都在同一个优先级,其中的几个中断源同时产生中断请求,响应的几个中断源同时产生中断请求,响应中断的次序取决于内部的查询次序。中断的次序取决于内部的查询次序。18中断处理的流程图中断处理的流程图19中断服务程序的流程图中断服务程序的流程图 在低优先级中断服务程序中,保护现场和恢复现场的过程,不不允许高优先级的中断源中断,以免现场遭到
17、破坏。20以外部中断以外部中断1为例,其中断服务处理程序为例,其中断服务处理程序 ORG 0013H ;外部中断1的入口地址 LJMP INT1 ;在中断入口处放一条长转移指令 INT1:CLR EA PUSH PSWPUSH ACC PUSH DPHPUSH DPLSETB EA ;执行中断任务CLR EAPOP DPLPOP DPHPOP ACCPOP PSWSETB EARETI保护现场恢复现场217.4低压检测中断低压检测中断烧写程序时可以将烧写程序时可以将P4.6引脚引脚设置为第二复位引脚设置为第二复位引脚RST2,若烧写程序时没有将若烧写程序时没有将P4.6引脚引脚设置为第二复位引
18、脚设置为第二复位引脚RST2,P4.6为低压检测中断引脚为低压检测中断引脚EX_LVD-LVD_P4.6ALE_P4.5NA_P4.4-P4SWP4SW功能切换寄存器功能切换寄存器功能切换寄存器功能切换寄存器LVD_P4.6=0时P4.6为低压为低压检测中断引脚检测中断引脚EX_LVDLVD_P4.6=1时P4.6为为I/O引脚引脚227.4低压检测中断低压检测中断若烧写程序时没有将若烧写程序时没有将P4.6引脚引脚设置为第二复位引脚设置为第二复位引脚RST2,P4.6为低压检测中断引脚为低压检测中断引脚EX_LVDD7D6D5D4D3D2D1D0SMODSMOD0LVDFPOFGF1GF0P
19、DIDL电源控制寄存器电源控制寄存器PCONEX_LVD引脚输入的电压低于低压引脚输入的电压低于低压检测电压门槛值检测电压门槛值1.33V时,时,LVDF位位自动置自动置1请求中断,请求中断,注意:注意:上电复位后上电复位后,电源控制寄存器电源控制寄存器PCONPCON中的外部低压检测标中的外部低压检测标志位志位LVDFLVDF为为1 1,要由软件清零(注意该位不可位寻址),建议清,要由软件清零(注意该位不可位寻址),建议清零后,再读一次该位,若仍然为零后,再读一次该位,若仍然为1 1,说明电源还未达到正常值,说明电源还未达到正常值,应再次将该位清零,直至检测到该位为应再次将该位清零,直至检测
20、到该位为0 0时再转入正常运行时再转入正常运行 当外部供电电压产生波动时,无法保证单片机正常工作,可当外部供电电压产生波动时,无法保证单片机正常工作,可以在单片机的外部低压检测中断服务程序中保存相关数据,避以在单片机的外部低压检测中断服务程序中保存相关数据,避免掉电后数据丢失。免掉电后数据丢失。237.5外部中断外部中断外部中断外部中断0输入引脚输入引脚外部中断外部中断1输入引脚输入引脚247.5外部中断外部中断TCON寄存器的地址为88H,可进行位寻址D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0IT1:外部中断:外部中断1触发方式选择位。若触发方式选择位。
21、若IT1=0,引脚输入低电平信号触发中引脚输入低电平信号触发中断;若断;若IT1=1,引脚为下降沿触发方引脚为下降沿触发方式式外部中断外部中断1请求中断标志。若外部中断请求中断标志。若外部中断1输入引输入引脚产生外部触发信号时,硬件将脚产生外部触发信号时,硬件将IE1位置位置1,外,外部中断部中断1设置为下降沿触发方式时,设置为下降沿触发方式时,CPU响应响应该中断时由硬件自动将该中断时由硬件自动将IE1位清位清0,如果设置为,如果设置为低电平触发方式,必须在程序中通过指令清低电平触发方式,必须在程序中通过指令清0外部中断外部中断0触发方式选择位。若触发方式选择位。若IT0=0,引脚输入低电平
22、信号触发外部中断;若引脚输入低电平信号触发外部中断;若IT0=1,引脚为下降沿触发方式引脚为下降沿触发方式外部中断外部中断0请求中断标志。若外部中断请求中断标志。若外部中断0输入引脚输入引脚产生外部触发信号时,硬件将产生外部触发信号时,硬件将IE0位置位置1,外部中,外部中断断0设置为下降沿触发方式时,当设置为下降沿触发方式时,当CPU响应该中响应该中断时由硬件自动将断时由硬件自动将IE0清清0,如果设置为低电平触,如果设置为低电平触发方式,必须在程序中通过指令清发方式,必须在程序中通过指令清0257.5外部中断外部中断IT0IE0IT1IE1 注意:注意:如果外部中断设置为下降沿触发方式时,
23、必须在该外如果外部中断设置为下降沿触发方式时,必须在该外部中断输入引脚至少保持部中断输入引脚至少保持1个系统时钟周期的高电平及个系统时钟周期的高电平及1个时钟个时钟周期的低电平,才能保证周期的低电平,才能保证CPU检测到该下降沿。同样,如果外检测到该下降沿。同样,如果外部中断为低电平触发,则须在该引脚至少保持部中断为低电平触发,则须在该引脚至少保持2个系统时钟周期个系统时钟周期的低电平,这样才能保证的低电平,这样才能保证CPU能够检测到该低电平信号。能够检测到该低电平信号。267.6定时定时/计数器计数器T0、T1的工作方式的工作方式定时/计数器T0和T1工作方式寄存器TMOD的地址为89HT
24、1工作方式控制工作方式控制T0工作方式控制工作方式控制计数、定时方式的选择位。为计数、定时方式的选择位。为0时,定时,定时时/计数器工作在定时方式;为计数器工作在定时方式;为1时,时,定时定时/计数器工作在计数方式,对外部计数器工作在计数方式,对外部T0、T1引脚输入的脉冲计数引脚输入的脉冲计数定时定时/计数器门控方式选择位计数器门控方式选择位M1、M0:定时:定时/计数器工作方式的选择位计数器工作方式的选择位M1M0工作方式00方式001方式110方式211方式3D7D6D5D4D3D2D1D0GATEM1M0GATEM1M027TCON寄存器的地址为88H,可进行位寻址D7D6D5D4D3
25、D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0定时定时/计数器计数器T1的溢出中断标志。当的溢出中断标志。当T1从初值开始加从初值开始加1计数计满产生溢出计数计满产生溢出时,由硬件使该位置时,由硬件使该位置1。中断响应后。中断响应后由内部硬件电路自动清由内部硬件电路自动清0。定时定时/计数器计数器T1的运行控制位。的运行控制位。由软件置位或清由软件置位或清0,置位时,定,置位时,定时时/计数器计数器T1开始工作;清开始工作;清0时,时,T1停止工作。停止工作。定时定时/计数器计数器T0的运行控制位。由软件的运行控制位。由软件置位或清置位或清0,置位时,定时,置位时,定时/计数器计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 应用 基于 汇编 C51 混合 编程 中断 控制 定时 计数器 PCAPWM
限制150内