课件不知道是谁的第6章_第1页
课件不知道是谁的第6章_第2页
课件不知道是谁的第6章_第3页
课件不知道是谁的第6章_第4页
课件不知道是谁的第6章_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、6.1 定时/计数器结构特点及控制 6.2 中断系统结构及管理 6.3 定时/计数器及中断系统综合应 6.1.1 定时/计数器结构 6.1.2 定时/计数器工作方式 6.1.3 定时/计数器控制寄存器 6.1.4 定时/计数器常数的计算 定时/计数器简称定时器,8031单片机有2 个16位的定时/计数器:定时器0(T0)和 定时器1(T1)。它们都有定时器或事件 计数的功能,可用于定时控制、延时、对 外部事件计数和检测等场合。 T0由2个特殊功能寄存器TH0和TL0构成, T1则由TH1和TL1构成。作计数器时,通 过引脚T0(P3.4)和T1(P3.5)对外部脉冲 信号计数,当输入脉冲信号从

2、1到0的负跳 变时,计数器就自动加1。计数的最高频 率一般为振荡频率的1/24。 每个定时/计数器还有4种工作模式,也就 是每个定时器可构成4种电路结构模式。 在模式0、1和2,T0和T1的工作模式相同, 在模式3,两个定时器的模式不同。下面 以T1为例,分述各种工作模式的特点和用 法。 图6-1 定时/计数器T1(T0)工作模式0 图6-2 定时/计数器T1(T0)工作模式1 图6-3 定时/计数器T1(T0)工作模式2 图6-4 定时/计数器T1(T0)工作模式3 定时器共有2个控制寄存器TMOD和TCON, 由软件写入TMOD和TCON 两个8位寄存 器,设置各个定时器的操作模式和控制功

3、 能。 GATEC/TM10MGATE C/T1M0M 控 制 T1控 制 T0 89H 和T 类同0 1M0M 00 01 10 11 方 式 方式0 方式1 方式2 方式3 0 1 定时器模式 计数器模式 0 1 与INT 无关 0 0与INT 有关 图6-5 定时器工作模式寄存器TMOD TCON 位地址 0DD1D2D3D4D5D6D7 IT0IE0IT11IETR0TF0TR1TF1 88898A8B8C8D8E8F 见下一节 0 0:停T 计数 0 1:启T 计数 0 0:无T 中断(硬件复位) 1:有T 溢出中断 0 0:无T 中断(硬件复位) 1 0:停T 计数 1:有T 溢出

4、中断 1:启T 计数 1 1 1 图6-6 定时器工作模式寄存器TCON 1计数器初值的计算 把计数器计满为零所需要的计数值设定为 C,计数初值设定为TC,由此可得到公式: TC=M-C 式中,M为计数器模值,该值和计数器工 作方式有关。在方式0时M为213;在方式1 时M为216;在方式2和方式3时M为28。 2定时器初值的计算 在定时器模式下,计数器由单片机主脉冲 经12分频后计数。因此,定时器定时时间 T的公式: T=(M-TC)T计数 上式也可写成:TC=M-T/ T计数 式中,M为模值,和定时器的工作方式有 关;T计数是单片机振荡周期TCLK的12倍; TC为定时器的定时初值。 6.

5、2.1 中断请求与控制 6.2.2 中断系统的结构 6.2.3 中断控制 6.2.4 中断响应过程 图6-7 中断流程 1外部中断源 由P3.2端口线引入,低电平或下降沿引起。 由P3.3端口线引入,低电平或下降沿引起。 2内部中断源(如图6-8所示) T0:定时/计数器0中断,由T0回零溢出引起。 T1:定时/计数器1中断,由T1回零溢出引起。 TI/RI:串行I/O中断,完成一帧字符发送/接 收引起。 1中断允许寄存器IE(A8H) IE在特殊功能寄存器中,字节地址A8H, 位地址分别是A8HAFH。IE控制CPU对 中断源总的开放或禁止以及每个中断源是 否允许中断。其格式如图6-9所示。

6、 2中断优先寄存器IP(B8H) IP在特殊功能寄存器中,字节地址为B8H, 位地址分别是B8HBFH,IP用来锁存各 中断源优先级的控制位,其格式如图6-10 所示。 0:关INT 中断 0 1:开INT 中断0 0:关T 中断 1:开T 中断 0 0 1:开T 中断 0:关T 中断 0:关INT 中断 1:开INT 中断 1 1 1 1 0:关T 中断 1:开T 中断2 2 1:开所有中断 0:关所有中断 1:开串行口中断 0:关串行口中断 位地址 IEEA AFAD ET AC ES AB ET AA EX A9 ET A8 EX00112 图6-9 中断允许寄存器IE 图6-10 中断

7、优先寄存器IP 单片机在每个机器周期的S5P2期间,顺序 采样每个中断源,CPU在下一个机器周期 S6期间按优先级顺序查询中断标志,如查 询到某个中断标志为1,将在再下一个机器 周期S1期间按优先级进行中断处理。 中断得到响应后自动清除中断标志,由硬 件将程序计数器PC内容压入堆栈保护,然 后将对应的中断矢量装入程序计数器PC, 使程序转向中断矢量地址单元中去执行相 应的中断服务程序。 (1)CPU正在执行一个同级或高一级的 中断服务程序。 (2)当前正在执行的那条指令还未执行 完。 (3)当前正在执行的指令是RETI或对IE, IP寄存器进行读/写指令,执行这些指令后 至少再执行一条指令才会

8、响应中断。 【例6.2】设MCS-51单片机系统时钟频率 CLK为6MHZ,请编出利用定时/计数器T0 在P 1.0引脚上产生周期为2秒,占空比为 50%的方波信号的程序 (1)主程序 任务: 1)T0工作方式的设定: 选择方式1(16位方式) (最大定时131ms) 2)定时常数的设定: TC=2 1 6 -100ms/2s =15536=3CB0H 即:TH0应装3CH,TL0应装B0H。 3)中断管理: 允许T0中断,开放总中断 即:IE应装10000010B。 4)启动定时器T0: SETBTR0 5)设置软件计数器初值:(如使用R7) 即R7应装0AH 6)动态停机:SJMP$ 主程

9、序如下: MAIN:MOVTMOD,#01H;设定T0为方 式1 MOV TH0,#3CH;装入定时常数高8 位 MOV TL0,#0B0H;装入定时常数低8 位 MOV IE,#82H;开放T0中断 SETBTR0;启动T0 MOV R7,#0AH ;设置软件计数器 SJMP$ (2)中断服务程序 任务:1)恢复T0常数; 2)软件计数器减1; 3)判断软件计数器是否为0。为0时,改变P1.0状 态,并恢复软件计数器初值;不为0时中断返回。 程序如下: TOINT:MOVTL0,#0B0H;恢复定时常 数 MOV TH0,#3CH; DJNZR7,NEXT CPL P1.0 MOV R7,#0AH NEXT:RETI 完整程序如下: ORG 0000H AJMP MAIN ORG 000BH AJMPTOINT ORG 0030H MAIN:MOVTMOD,#01

温馨提示

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

评论

0/150

提交评论