- 1、本文档共101页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 中断、定时/计数器与串行通信 2.1 中断系统结构及管理 2.1.1 中断请求与控制 8051的中断类型 内部集成中断控制器 外部中断2个(中断接入) 定时计数中断2个(3个) 串行中断(输入、输出) 2.1.2 中断系统的结构 2.1.3 中断源 1.外部中断源 由P3.2端口线引入,低电平或下降沿引起。 由P3.3端口线引入,低电平或下降沿引起。 IE1:外部中断1(INT1,P3.3)请求源标志, IE1=1请求中断。 当IE1=1时,外部中断1向CPU请求中断, CPU相应中断后,由硬件清0 IE1。 IE0:外部中断0 (INT0,P3.2)请求源标志, IT1:外部中断源1触发方式控制位。 IT1=0时为电平触发方式,当P3.3脚输出为低电平时,IE1=1,当P3.3脚输出为高电平时,IE1=0。 IT1=1时为边沿触发方式,只有两个采样周期监测到负跳变时IE1=1。 IT0:外部中断源0触发方式控制位。同上 2.内部中断源 T0:定时/计数器0中断,由T0回零溢出引起。 T0允许计数后,对P3.4脚(或机器周期)采样负跳变,从初值开始加1,直至溢出,TF0=1.向CPU请求中断, CPU相应中断后,由硬件清0 TF0。 T1:定时/计数器1中断,由T1回零溢出引起。 串行I/O中断:通过P3.0/P3.1完成一帧字符发送/接收引起中断。由TI/RI描述发送/接收中断标志位。 CPU相应中断后,硬件不清0 TI/RI。 2.1.3 中断控制 2.中断优先寄存器IP(B8H) IP在特殊功能寄存器中,字节地址为B8H,位地址分别是B8H~BFH,IP用来锁存各中断源优先级的控制位, 2.1.4 中断响应过程 单片机在每个机器周期的S5P2期间,顺序采样每个中断源,CPU在下一个机器周期S6期间按优先级顺序查询中断标志,如查询到某个中断标志为1,将在再下一个机器周期S1期间按优先级进行中断处理。 中断得到响应后自动清除中断标志,由硬件将程序计数器PC内容压入堆栈保护,然后将对应的中断矢量装入程序计数器PC,使程序转向中断矢量地址单元中去执行相应的中断服务程序。 下列任何一种情况存在中断申请将被封锁: (1)CPU正在执行一个同级或高一级的中断服务程序。 (2)当前正在执行的那条指令还未执行完。 (3)当前正在执行的指令是RETI或对IE,IP寄存器进行读/写指令,执行这些指令后至少再执行一条指令才会响应中断 外部中断程序设计 例:当外部按键每按1下,P1.0的小灯亮一秒。 ORG 0000H LJMP MAIN ORG 0013H SETB PI.1 LL:SETB P1.0; LCALL DELAY1S CLR P1.0 LCALL DELAY1S SJMP LL RETI MAIN:SETB EA SETB EX1 SETB IT1 SJMP $ 例:当外部按键每按1下,P1的小灯左移亮。 ORG 0000H LJMP MAIN ORG 0003H RL A MOV P1,A RETI MAIN:SETB EA SETB EX0 SETB IT0 MOV A,#0FEH MOV P1,A SJMP $ 例:当外部(P3.3)按键每按1下,P1.0的小灯闪3次。 作业:当外部按键每按1下,把A的内容+1,并送P1口显示。(硬件+软件) ORG 0000H SETB IT0 LOP:JNB TF0,LOP CLR TF0 SETB P1.0 LCALL DELAY1S CLR P1.0 SJMP LOP ORG 0000H LOP:JNB P3.2,LOP LOP1:JB P3.2,LOP1 SETB P1.0 LCALL DELAY1S CLR P1.0 SJMP LOP 例:当外部有意外操作下,30H的内容+1。 ORG 0001H LJMP MAIN ORG 0003H INC 30H RETI MAIN:SETB EA SETB EX0 SETB IT0 SJMP $ 多外部中断源设计 2.2 定时/计数器结构特点及控制 T0由2个特殊功能寄存器TH0和TL0构成 T1则由TH1和TL1构成。 作计数器时,通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数,当输入脉冲信号从1到0的负跳变时,计数器就自动加1。 2.2.2 定时/计数器控制寄存器 1.工作模式控制寄存器—TMOD(89H 2.定时器控制寄存器—TCON(88H) 2.2.3 定时/计数器工作方式 定时/计数器工作方式0 计数位数8+5=13 计数范围0~8K 计时时间0~8MS(FSOC=12MHZ) 计数初值计算A=(8K-计数值)=1E06H 例:在P1.0
文档评论(0)