微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > MCS-51单片机特殊功能寄存器详解

MCS-51单片机特殊功能寄存器详解

时间:11-29 来源:互联网 点击:
1、 定时器/计数器的方式寄存器TMOD

TMOD是一个8位的特殊功能寄存器,对应的地址是89H,不可位寻址。A 主要完成三个功能:
*确定选择定时器还是计数器;
*选择何种工作方式;
*是否借用外中断控制定时器和计数器的启停;
B TMOD的低4位是控制T0的字段(T0--P3.4 定时器/计数器0外部事件脉冲输入端)

TMOD的高4位是控制T1的字段(T1--P3.5定时器/计数器1外部事件脉冲输入端)
C 控制字的格式和含义

a、 GATE(TMOD.7)
分为两种情况:GATE=0,定时器的启停和INT1无关,只取决于TR0;
GATE=1,定时器的启停不仅要由TR0来控制,而且要INT1引脚的控制,只有二者
都为高电平时定时器 才开始工作;

b、 C/T(TMOD.6)

分为两种情况:C/T=0,用作定时器;
C/T=1,用作计数器;

d、 M1(TMOD.5),M0(TMOD.4)
用M1,M0来控制定时器/计数器的4种工作方式:
*方式0:M1=0,M0=0.13位定时/计数方式
*方式1:M1=0,M0=1.16位定时/计数器
*方式2,M1=1,M0=0.8位初值自动重新装入的8位定时/计数器
*方式3,M1=1,M0=1.仅适用于T0,分为两个8位计数器,T1停止计数

2、定时器/计数器控制寄存器TCON
TCON是一个8位的特殊功能寄存器,对应的地址为88H,可为寻址。
A 控制字的格式和含义
a、TF1(TCON.7),TF0(TCON.5)----T1、T0计数溢出标志位
当计数器计数溢出时,该位置“1”。使用查询方式时,此位作为状态位供cpu
查询,但应注意在查询该位有效后应以软件方法及时将该位清“0”。使用中断
方式时,此位作为中断申请标志位,进入中断服务程序后由硬件自动清0.
b、TR1(TCON.6),TR0(TCON.4)----计数运行控制位
TR1(TR0)=1,启动定时/计数器工作的必要条件,还与GATE位的状态有关。
TR1(TR0)=0,停止定时/计数器工作。
该位可由软件置1或清0.
C、 IE1(TCON.3),IE0(TCON.1)----外部中断INT1(P3.3)、INT0(P3.2)的中断请求标志位
当有外部的中断请求时,INT1(INT0)=1(有硬件完成),在cpu响应中断后,由硬件将
IE1(IE0)清0.
d、 IT1(TCON.2),IT0(TCON.0)----INT1(INT0)触发方式控制位
可由软件进行置位和复位。IT0(IT1)=0,INT0(INT1)为低电平触发方式;
IT0(IT1)=1,INT0(INT1)为负跳变触发方式;

3、中断允许寄存器IE
在51中断系统中,中断的允许或禁止是由片内可进行位寻址的8位中断允许寄存器IE来
控制的

EA(IE.7):总开关,如果它等于0,则所有中断都不允许;
ES(IE.4):串行口中断允许;
ET1:定时器1中断允许;
EX1:外中断1中断允许;
ET0:定时器0中断允许;
EX0;外中断0中断允许;
4、5个中断源的优先级
单片机的中断服务入口地址如下,它们的自然优先级由高到低排列。
外中断0:0003H;
定时器0:000BH;
外中断1:0013H;
定时器1:001BH;
串口:0023H;
采用c51的编程语言,该语言中断服务函数的完整语法如下:
返回值 函数名称()interrupt n
interrupt对应的是中断源的编号,而决定了使用寄存器的组号。这里,需要对
寄存器的组号进行简单的解释。51系统中有4个寄存器组,具体的位置取决于psw(程序状态字)
的两位RS0、RS1的设置。当运行一个中断任务时,采用不同的寄存器组。在c51
中,寄存器组的选择就取决于using后的变量的指定,变量位0~3的整数。
在这里给出不同中断服务程序的c51程序写法:
*外中断INT0--------void intsvr0(void) interrupt 0 using 1
*定时/计数器T0-----void timer0(void) interrupt 1 using 1
*外中断INT1--------void intsvr0(void) interrupt 2 using 1
*定时/计数器T1-----void timer0(void) interrupt 3 using 1

*串口中断----------void serial0 interrupt 4 using 1

P3口的代替功能
寄存器地址B0H,位寻址B7H~B0H。

引脚P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7
代替功能RXDTXD/INT0/INT1T0T1/WR/RD

TCON:定时器控制寄存器
寄存器地址88H,位寻址8FH~88H。
位地址8F8E8D8C8B8A8988
位符号TF1TR1TF0TR0IE1IT1IE0IT0
TF0(TF1)——计数溢出标志位,当计数器计数溢出时,该位置1。
TR0(TR1)——定时器运行控制位
当TR0(TR1)=0 停止定时器/计数器工作
当TR0(TR1)=1 启动定时器/计数器工作
IE0(IE1)——外中断请求标志位
当CPU采样到P3.2(P3.3)出现有效中断请求时,此位由硬件置1。在中断响应完成后转向中断服务时,再由硬件自动清0。
IT0(IT1)——外中断请求信号方式控制位
当IT0(IT1)=1 脉冲方式(后沿负跳有效)
当IT0(IT1)=0 电平方式(低电平有效)此位由软件置1或清0。
TF0(TF1)——计数溢出标志位
当计数器产生计数溢出时,此位由硬件置1。当转向中断服务时,再有硬件自动清0。计数溢出的标志位的使用有两种情况:采用中断方式时,作中断请求标志位来使用;采用查询方式时,作查询状态位来使用。 TMOD:工作方式控制寄存器
寄存器地址89H,不可位寻址。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top