单片机期末复习重点第5,6章_第1页
单片机期末复习重点第5,6章_第2页
单片机期末复习重点第5,6章_第3页
单片机期末复习重点第5,6章_第4页
单片机期末复习重点第5,6章_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、第第5 5章章 单片机的中断系统单片机的中断系统1、中断源、中断源(哪些信号可以作为51单片机中断源?)中断源数量和种类越多,MCU处理突发事件的能力就越强。80C51单片机共有5种中断源。第5章 单片机的中断系统 外部中断内部中断*中断向量中断程序入口地址(ROM内)第5章 单片机的中断系统 用于汇编程序中断号与中断向量对应的编号用于C51程序0INT2、中断请求标志、中断请求标志(单片机如何得知中断信号出现?)第5章 单片机的中断系统 当中断信号出现时,单片机中某些寄存器位(中断请求标志位)可被硬件置1。CPU通过定期查看中断请求标志位是否为1,便可知道有无中断请求。 第5章 单片机的中断

2、系统 中断请求标志的置1原理 1INT1、外部中断源( 和 )0INT逻辑开关IT0和IT1用于选择触发信号类型: ITx=0选择电平触发(低电平低电平经非门IEx置1) ITx=1选择脉冲触发(负脉冲负脉冲经施密特触发器IEx置1)P3.3P3.2电平信号脉冲信号(第5章)第5章 单片机的中断系统 2、内部中断源(T0和T1)当T0或T1被充满溢出充满溢出向寄存器位TF0、 TF1“进位” 置1(第6章)中断系统的组成中断系统的组成(影响中断的因素?)第5章 单片机的中断系统 中断信号分别沿5条水平路径由左向右进行传送。其中,TCON、SCON、IE、IP是相关SFR。P3.3P3.2中断信

3、号1、TCON寄存器寄存器第5章 单片机的中断系统 定时/计数器的控制寄存器(Timer/Counter Control Register),字节地址为88H,可位寻址。 T1的中的中断请求断请求标志标志T0的中的中断请求断请求标志标志INT1的的中断请中断请求标志求标志INT0的的中断请中断请求标志求标志INT1的的中断触中断触发信号发信号选择选择INT0的的中断触中断触发信号发信号选择选择与中断无关第6 章介绍与中断无关第 6 章介绍【注意注意】 51单片机复位后,TCON初值为0默认没有上述中断请求,默认采用电平触发方式。 =1,有中断请求,有中断请求=0,无中断请求,无中断请求=1,脉

4、冲触发,脉冲触发=0,电平触发,电平触发第5章 单片机的中断系统 2、SCON寄存器寄存器 串口控制寄存器(Serial control register),字节地址为98H,可位寻址。 TX的的中断请中断请求标志求标志RX的的中断请中断请求标志求标志【注意注意】TI和RI虽然是2个中断请求标志位,但在SCON之后经或门电路合成为1个信息,统一接受中断管理。 =1,有中断请求,有中断请求=0,无中断请求,无中断请求第5章 单片机的中断系统 中断允许寄存器(Interrupt Enable Register),字节地址为A8H,可位寻址。 【注意注意】禁止中断并不能阻止中断请求标志值的硬件刷新;

5、单片机复位后,IE的初值为0默认为整体禁止中断。 3、IE寄存器寄存器 T0的中的中断允许断允许标志标志INT0的的中断允中断允许标志许标志INT1的的中断允中断允许标志许标志T1的中的中断允许断允许标志标志TX/RX的中的中断允许断允许标志标志总中断允总中断允许标志许标志=1,允许中断,允许中断=0,禁止中断,禁止中断第5章 单片机的中断系统 4、IP 寄存器寄存器中断优先级寄存器(Interrupt Priority Registers),字节地址为B8H,可位寻址。 T0的中的中断优先断优先级标志级标志INT0的的中断优中断优先级标先级标志志INT1的的中断优中断优先级标先级标志志T1的

6、中的中断优先断优先级标志级标志TX/RX的中的中断优先断优先级标志级标志=1,高优先级,高优先级=0,低优先级,低优先级优先级原则:1)高级中断请求可以打断正在执行的低级中断;2)同级或低级中断请求不能打断正在执行的中断;3)同级中断源同时提出请求时按自然优先级响应: INT0 T0 INT1T1TI/RI4)单片机复位时,IP初值为0默认 所有中断源均为低级中断。第5章 单片机的中断系统 中断标志汇总中断源名称 中断请求标志 中断允许标志 中断优先标志 中断触发方式标志 中断号 INT0 IE0 EX0 PX0 IT0 0 T0 TF0 ET0 PT0 1 INT1 IE1 EX1 PX1

7、IT1 2 T1 TF1 ET1 PT1 3 TI/RI TI/RI ES PS 4第5章 单片机的中断系统 5.1 中断的概念中断的概念5.2 中断控制系统中断控制系统5.3 中断处理过程中断处理过程5.4 中断编程及应用中断编程及应用第5章 单片机的中断系统 中断处理包括中断请求、中断响应、中断服务等环节。 第5章 单片机的中断系统 1、中断响应、中断响应 CPU响应中断的基本条件为:(1)有中断源发出中断请求;(2)中断总允许位EA=1,即CPU开中断;(3)申请中断的中断源的中断允许位为1。第5章 单片机的中断系统 CPU响应中断后的操作过程:中断优先级查询,阻止后来的同级或低级中断请

8、求。保护断点,即把程序计数器PC的内容压入堆栈保存。清除中断请求标志位。调用中断函数并开始运行。返回断点继续运行。除中断函数运行是软件方式外,其余中断处理过程都是由单片机硬件自动完成的。 【注意注意】C51中断函数的声明格式:void 函数名 (void) interrupt n using minterrupt n,表示是关于中断源n的中断服务函数;u usingsing m m,表示该中断函数将使用第m m组组工作寄存器。缺省为当前工作寄存器组。第5章 单片机的中断系统 【注意注意】 1、中断服务函数既没有返回值,也没有调用参数; 2、中断服务函数只能由系统调用,不能被其他函数调用。3、中

9、断服务函数、中断服务函数C51中断函数的声明格式:void 函数名 (void) interrupt n using minterrupt n,表示是关于中断源n的中断服务函数;C51中断函数的声明格式:void 函数名 (void) interrupt n using mu usingsing m m,表示该中断函数将使用第m m组组工作寄存器。缺省为当前工作寄存器组。interrupt n,表示是关于中断源n的中断服务函数;C51中断函数的声明格式:void 函数名 (void) interrupt n using m第第5章小结章小结1、中断是指在突发事件到来时先中止当前正在进行的工作,

10、转而去处理突发事件。待处理完成后,再返回到原先被中止的工作处,继续进行随后的工作。2、中断的核心问题包括,51单片机的中断源、中断控制寄存器、中断处理过程。3、C51中断函数的声明格式为: void 函数名 (void) interrupt n using m第5章 单片机的中断系统 第6章 单片机的定时器/计数器单片机软硬件联合软硬件联合定时/计数方法:外来信号脉冲加1计数器TFx1溢出查询或中断计数器计数器外来信号脉冲加1计数器 TFx1溢出查询或中断系统时钟脉冲K定时定时/计数器计数器定时器的本质是计数器定时器的本质是计数器(对时钟脉冲计数对时钟脉冲计数),计数器则是对外来脉冲计数,计数

11、器则是对外来脉冲计数.第6章单片机的定时器/计数器(已知剩余空间) 查询或中断系统时钟脉冲加1计数器 TFx1溢出定时器定时器(中断请求标志)计数器溢出空间 = 计数器最大空间 - 计数初值定时时间t = (计数器最大空间 - 计数初值)机器周期 =(2n-a)12/fosc (s)基本工作原理:t与与n、a、fosc三个因素有关三个因素有关(12分频 = 1个机器周期1个计数脉冲) 第6章单片机的定时器/计数器逻辑开关: = 0定时器方式, = 1计数器方式 TCTC TFx(X = 0、1)Tx端 fosc2n计数初值溢出空间a查询查询 /中断中断51单片机定时/计数器的结构第6章单片机的

12、定时器/计数器2个16位计数器T0 (TH0、TL0)和T1 (TH1、TL1)加1计数器2个8位控制寄存器TCON和TMOD管理计数器的运行2个外部引脚T0(P3.4)和T1(P3.5)接入外部脉冲定时/计数器的控制关系(以T1为例)门控位门控位GATE=0允许TR1启动计数器GATE=1允许INT1启动计数器启动控制位启动控制位TR1=1启动计数器TR1=0停止计数器外部中断外部中断1参与定时器的启停管理中断请求标志位中断请求标志位TF1=1请求中断TR1=0没有中断 T1第6章单片机的定时器/计数器TCTC模式选择位模式选择位 =0定时 =1计数 foscTCONTMOD查询 /中断TF

13、1TR1TF0TR0IE1IT1IE0IT08FH8DH8CH8BH8AH89H88HTCON8EH(88H)定时器控制位外部中断控制位注意注意,系统上电默认值为TCON = 0,则默认状态应为:TR0和TR1均为关闭状态、电平触发方式、没有0 # 3#中断请求第6章单片机的定时器/计数器 T1 T0 TF0 TR0 T0脚INT0 fosc fosc查询/中断查询/中断GATEC/TM1M0GATEC/TM1M0D7D5D4D3D2D1D0TMODD6(89H) T1 T0/C T /C T T1方式选择位方式选择位00-方式001-方式110-方式2T1工作状态T0方式选择位方式选择位00

14、-方式001-方式110-方式211-方式3T0工作状态第6章单片机的定时器/计数器 T1 T0 TF0 TR0 T0脚INT0 fosc fosc查询/中断查询/中断第6章单片机的定时器/计数器T0T1定时方式0计数方式0定时方式0计数方式0定时方式1计数方式1定时方式1计数方式1定时方式2计数方式2定时方式2计数方式2定时方式3计数方式3T0有4种工作方式,T1有3种工作方式,每种工作方式都有定时和计数2种方式。GATEC/TM1M0GATEC/TM1M0D7D5D4D3D2D1D0TMODD6(89H) T1 T0/C T /C T 注意注意:TMOD只能以字节方式进行初始化例如例如,设

15、置T0为定时方式1,允许TR0启动; T1为计数方式0,允许INT1启动。则 TMOD = 1100 0001B =0 xc1又如又如,系统上电默认值为TMOD = 0,则默认状态应为:T0和TI均为定时方式0,允许TR0、TR1启动。第6章单片机的定时器/计数器6.1 定时/计数器的结构与工作原理6.2 定时器/计数器的控制6.3 定时定时/计数器的工作方式计数器的工作方式6.4 定时/计数器的编程和应用第6章单片机的定时器/计数器第6章单片机的定时器/计数器M1M0工作方式功能说明00110101012313位定时/计数器16位定时/计数器8位自动重装定时/计数器3种定时/计数器关系T0注

16、意注意:T1只有3种工作方式(T0的方式3中占用了T1的部分资源)。M1M0工作方式功能说明00101001213位定时/计数器16位定时/计数器8位自动重装定时/计数器T1学习顺序:方式1方式2 方式0 方式3 (1) 方式1定时时间:t = (216- a)12/fosc (s)使用16位定时/计数器(n=16,THx+TLx)(M0 M1为01组合时)第6章单片机的定时器/计数器定时范围为165,536 s(65ms)。 最大定时时间(a=0,fosc =12MHz):t = 216(s) = 65536 (s)计数初值:a = 216- tfosc/12定时方式定时方式 fosc查询

17、/中断最大计数值:N = 65536 (脉冲)第6章单片机的定时器/计数器定数器计数值: N = (216 a ) 由于检测一个负跳变需要2个机器周期,即24个振荡周期,最高计数频率= 。oscf241计数方式计数方式当fosc=12MHz时,外部脉冲的最大允许频率为0.5MHz 。 fosc查询 /中断实例实例1 1 设单片机的fosc=12MHz,采用T1定时方式1在P2.0脚上输出周期为2ms的方波。虚拟示波器第6章单片机的定时器/计数器XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.

18、4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115U?80C51ABCDR1100D1LED-YELLOW分析分析:周期为2ms的方波由2个半周期为1ms的正负脉冲组成方波输出原理:定

19、时1ms后将端口输出电平取反。2ms1msTH1 = 0 xfc TL1 = 0 x181ms定时的计数初值应为:a = 216 t* fos / 12 = 216 1000* 12/ 12 = 64536 = 0 xfc18 注意注意:需要不断重装计数初值。第6章单片机的定时器/计数器查询 /中断(1)查询方式查询方式#include sbit P2_0 = P20;main () TMODTMOD = = 0 x100 x10; /设置T1定时方式1(0000001 1 000 0000B0B) TR1=1; /启动T1 for(;) THTH1 1 = = 0 0 xfcxfc; /装载

20、计数初值 TLTL1 1 = = 0 0 x18x18; dodo while(!TF while(!TF1 1) ); /计时,等待T1溢出,TF1置位 P2_0 =!P2_0; /定时时间到P2.0反相 TFTF1 1 = = 0 0; /TF1标志清0 T0第6章单片机的定时器/计数器(2)中断方式中断方式#include sbit P2_0=P20;timer0 () interrupt 3 timer0 () interrupt 3 /T1中断函数 P2_0 = !P2_0; /P2.0取反 TH1 = 0 xfc;TH1 = 0 xfc; /装载计数初值 TL1 = 0 x18;T

21、L1 = 0 x18;main () TMOD = 0 x10TMOD = 0 x10; /T1定时方式1TH1 = 0 xfc;TH1 = 0 xfc;/装载计数初值 TL1 = 0 x18;TL1 = 0 x18; EA=1; EA=1; /开总中断 ET1=1; ET1=1; /开T1中断 TR1=1; TR1=1; /启动T1while(1);注意注意:中断响应后系统可自动将TFx标志位清0第6章单片机的定时器/计数器小结:使用定时/计数器的步骤强调强调:TMOD的设置只能以字节形式给出T0 (1)设置TMOD确定定时/计数器的工作状态使用T0还是T1?采用定时模式还是计数模式?采用工

22、作方式0、方式1、方式2、方式3?第6章单片机的定时器/计数器 (2)计算计数初值产生期望的定时/定数间隔定时计数初值 a = 216- tfosc/12 (t 65536 s, fosc=12MHz时)THx = a / 256 TLx = a % 256 装载计数初值:第6章单片机的定时器/计数器定数器计数初值 a = 216- N (N65536, 脉冲频率0.5MHz,fosc=12MHz时)3)确定采用何种方式处理溢出结果若是查询方式采用条件判断语句若是中断方式中断初始化设置和中断服务程序:do while (!TFx) ; / x=0或1 第6章单片机的定时器/计数器ETx =1;

23、 /开定时x中断,x=0或1EA = 1; /开总中断tx_srv () interrupt n n /n=1或3 4)启动定时器: TR0 = 1 或 TR1= 1 5)进行定时或计数结束后的其它工作6)为下次定时/计数做准备(清TFx标志+重装载计数初值) 若是中断方式,则无需软件清TFx标志位; 若是查询方式,需要软件清除TFx标志位。第6章单片机的定时器/计数器 采用8位计数器位计数器,TLx 可自动重装载计数初值可自动重装载计数初值(TLx溢出后, THxTLx); 没有装载计数初值的延误,方式2定时精度相对较高; 延时时间 t = (28-a)12/fosc (微秒) 12MHz时的最大定时量为256s;(2) 方式2第6章单片机的定时器/计数器查询 /中断 fosc(1)查询方式查询方式#include sbit P2_0 = P20;main() TMOD = 0 x020 x02; THTH0 0= = TLTL0 = 0 x060 = 0 x06; TR0=1; for(;) do while(!TF0); P2_0 =!P2_0; TF0 = 0; (2)中断方式中断方式#include sbit P2_0=P20;timer0 () interru

温馨提示

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

评论

0/150

提交评论