当前位置:文档之家› 单片机计数器

单片机计数器

中断。
2.中断入口地址 中断服务子程序的入口地址。
中断源 外部中断0 定时器T0中断
中断入口地址 0003H 000BH
外部中断1
定时器T1中断 串行口中断
0013H
001BH 0023H
因为相邻中断入口地址间的间隔为8个单元,所以一般在这些入口地址处存放一 条跳转指令,跳到真正的中断服务程序 例如: AJMP INT0
1 0 1 0
T1 TX RX
PS ES EA
1 0
自 然 优 先 级
中断 矢量地址 硬件查询 源允许
低 级 中 断 请 求
各中断 总允许 源允许
优先级
PC
1.中断源(5个) 向CPU发出中断请求的来源,或引起中断的原因称为中断源。 (1). 外部中断类 外部中断是由外部原因(如打印机、键盘、控制开关、外部故障)引起的, 可以通过两个固定引脚来输入到单片机内的信号,即外部中0(INT0)和 外部中断1(INT1)。 外部中断0(INT0)请求信号输入引脚为P3.2。当CPU检测到P3.2引脚上 出现有效的中断信号时,向CPU申请中断。 外部中断1(INT1)请求信号输入引脚为P3.3 。当CPU 检测到P3.3 引脚上出现有效的中断信号时,向CPU申请中断。 (2). 定时中断类 定时中断是由内部定时(或计数)溢出或外部定时(或计数)溢出引起的, 即定时器0(T0)中断和定时器1(T1)中断。 当定时器对单片机内部定时脉冲进行计数而发生计数溢出时,即表明定 时时间到,申请中断;或者当定时器对单片机外部计数脉冲进行计数而 发生计数溢出时,即表明计数次数到,申请中断。 片内定时/计数器T0溢出中断(TF0):当定时/计数器T0发生溢出 时,置位TF0,并向CPU申请中断。 片内定时/计数器T1溢出中断(TF1):当定时/计数器T1发生溢出 时,置位TF1,并向CPU申请中断。 (3). 串行口中断类 串行口中断是为接收或发送串行数据而设置的。 串行接口中断,包括RI 或TI。当发送或接收完一帧数据时,向CPU申请
3. 中断优先级、优先权、中断嵌套 几个中断源同时请求中断;或者当某一个中断正在响应中(即正在执行该中断源 的中断服务程序),又有其它的中断源请求中断,这时中断系统应如何处理呢? (优先级) MCS-51单片机的中断系统,只规定了两个中断优先级:高优先级中断或低优先级 中断。这需要用指令预先设置 在同1个优先级中,对5个中断源的优先次序安排如下(优先权)
四、中断过程(了解) 单片机处理中断的4个步骤:中断请求、中断响应、中断处理和中断返回。 1.中断请求 外部中断源--〉P3.2或P3.3,有效信号--〉IE0或IE1硬件置1,向CPU提出中断 请求 T0或T1发生溢出--〉TF0或TF1硬件置1,向CPU提出中断请求 2.中断响应 中断响应条件: ①中断总允许位EA=1,请求中断的中断源的中断允许位为1 ②无同级或高级中断正在服务; ③当前指令周期结束; ④正在执行指令不是RETI、RET或访问IE、IP指令 中断响应过程: ①屏蔽同级和低级中断源的中断请求 ②清除该中断源的中断请求标志位(硬件或软件清0) ③保护断点,把断点地址压入堆栈保护(但不保护状态寄存器PSW及其他寄存器 内容) ④然后将中断源对应的中断入口地址装入程序计数器PC中,使程序转向该中断 入口地址
C1
30p
D2
LED-BLUE D3
C2 X1
30p CRYSTAL 18 19
U1
XTAL1 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17
项目三 手动计数器 --------单片机的外部中断
一、 中断系统
(一)、中断基本概念 1. 中断定义 主程序 执行主 程序 断点 继续执行 主程序 中断响应 执行 中断 处理 程序 中断返回



在单片机中,当CPU在执行程序时,由单片机内 部或外部的原因引起的随机事件要求CPU暂时停 止正在执行的程序,而转向执行一个用于处理 该随机事件的程序,处理完后又返回被中止的 程序断点处继续执行,这一过程就称为中断。 单片机处理中断的4个步骤:中断请求、中断响 应、中断处理和中断返回。 向CPU发出中断请求的来源,或引起中断的原因 称为中断源。中断源要求服务的请求称为中断 请求。 中断源可分为两大类:一类来自单片机内部, 称之为内部中断源;另一类来自单片机外部, 称之为外部中断源。
D7 EA
D6 -
D5 -
D4 ES
D3 ET1
D2 EX1
D1 ET0
D0 EX0
只有对应的中断允许触发器被置“1”,CPU才能响应该中断.0 禁止,1允许 各位的功能说明: (1) EA(IE.7):CPU中断总允许位。EA=1,CPU开放中断。每个中断源是被允许还是 被禁止,分别由各中断源的中断允许位确定;EA=0,CPU屏蔽所有的中断要求, 称为关中断。 (2) ES(IE.4):串行口中断允许位。ES=1,允许串行口中断;ES=0,禁止串行口中 断。 (3) ET1(IE.3):定时器1中断允许位。ET1=1,允许定时器1中断;ETl=0,禁止定时 器1中断。
(2)等待中断来 2.中断服务程序 void lsd() interrupt 0 { }
二、中断应用举例
1.设计电路和程序,8个发光二极管和1个开关。平时,8个灯循环点亮;当开 关按下时,8个灯全亮然后全灭,如此循环8次后,返回平时状态。 电路:
D9
LED-BLUE
D1
LED-BLUE
4.IP中断优先级控制寄存器 中断优先级寄存器IP的作用是设定各中断源的优先级别。
D7 -
D6 -
D5 -
D4 PS
D3 PT1
D2 PX1
D1 PT0
D0 PX0
(1) PS(IP.4):串行口中断优先级控制位。PS=1,串行口为高优先级中断;PS=0, 串行口为低优先级中断。 (2) PT1(IP.3):定时器1中断优先级控制位。PT1=1,定时器1为高优先级中断; PTl=0,定时器1为低优先级中断。 (3) PX1(IP.2):外部中断1中断优先级控制位。PX1=1,外部中断1为高优先级中断; PXl=0,外部中断1为低优先级中断。 (4) PT0(IP.1):定时器0中断优先级控制位。PT0=1,定时器T0为高优先级中断 PT0=0,定时器0为低优先级中断。 (5) PX0(IP.0):外部中断0中断优先级控制位。PX0=1,外部中断0为高优先级中断; PX0=0,外部中断0为低优先级中断。
3.SCON串口控制寄存器,字节地址为98H
D7
D6
D5
D4
D3
D2
D1
D0
SMO
SM1
SM2
REN
TB8
RB8
TI
RI
低2位TI和RI保存串行口的接收中断和发送中断标志。 (1)TI (SCON.1):串行发送中断请求标志。CPU将一个字节数据写入发送缓冲器 SBUF后启动发送,每发送完一帧数据,硬件自动使TI置1。但CPU响应中断后, 硬件并不能自动使TI清0,必须由软件使TI清0。 (2) RI (SCON.0):串行接收中断请求标志。在串行口允许接收时,每接收完一帧 数据,硬件自动使RI置1。但CPU响应中断后,硬件并不能自动使RI清0,必须由 软件使RI清0。
(4) EX1(IE.2):外部中断1中断允许位。EX1=1,允许外部中断1中断;EX1=0,禁 止外部中断1中断。 (5) ET0(IE.1):定时器0中断允许位。ET0=1,允许定时器0中断;ET0=0,禁止定 时器0中断。 (6) EX0(IE.0):外部中断0中断允许位。EX0=1,允许外部中断0中断;EX0=0,禁 止外部中断0中断。 例如:开放外部中断0和定时器1 MOV IE,#89H 也可位操作 SETB EA SETB ET1 SETB EX0
D7
D6
D5
D4
D3
D2
D1
D0
EA
-
-
ES
ET1
EX1
ET0
EX0
2.TCON定时、外中断控制寄存器,字节地址为88H 定时器控制寄存器TCON的作用是控制定时器的启动与停止,并保存T0、T1的溢出中断 标志和外部中断、的中断标志。
D7 TF1
D6 TR1
D5 TF0
D4 TR0
D3 IE1
一、电路设计 外部中断(P3.2或P3.2) 二、软件设计 1、主程序 (1)在产生中断请求前,完成中断初始化(设置3个寄存器) a.开放CPU中断和有关中断源的中断允许,设置中断允许寄存器IE中相应的位。 b.根据需要确定各中断源的优先级别,设置中断优先级寄存器IP中相应的位 c.根据需要确定外部中断的触发方式,设置定时器控制寄存器TCON中相应的位。
(二)、单片机的中断系统
TCON IE0 TF0
IT1=1 1
IT0=1
1
IE EX0
IP PX0 PT0
1 0 1 0
INT0
IT0=0
自 然 优 先 级
中断 矢量地址
高 级 中 断 请 求
T0
INT1
IT1=0
ET0 PX1 EX1 PT1 ET1
相关主题