打印

8051单片机内部资源小结

[复制链接]
2860|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wzq2ic|  楼主 | 2011-12-29 22:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
很久没接触单片机了,对单片机几乎都忘记了。这几天有个项目的测试要用到单片机。所以收集了以下资料,以备下次需要时不用到处搜索了)
1 中段系统8051共有5个中断源:外中断INT0(P3.2)、外中段INT1(P3.3)、片内定时/计数器溢出中断TF0TF1、片内串行口中段TIRI
这几个中断源由TCONSCON两个特殊功能寄存器控制。
1 TCON寄存器格式
TCON
D7
D6
D5
D4
D3
D2
D1
D0
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
Bit Addr
8FH
8EH
8DH
8CH
8BH
8AH
89H
88H




IT0IT1IT0为外外部中断INT0触发方式控制位。可通过软件设置活清除。IT0=0,为电平触发方式(低电平有效);IT0=1,为下降沿触发方式。IT1是外部中段INT1的控制位,作用与设置同IT0

IE0IE1IE0为外中段INT0的请求标志位,当CPU检测到INT0端有中断请求信号时,有硬件置位,IE0=1。中段响应后转向中断服务子程序,有硬件自动清零,IE0 =0IE1为外部中断INT1的请求标志位。作用与设置于IE0相同。

TR0TR1TR0为定时器T0的启动/停止控制位,TR0可由用户通过软件设置。TR0=1,定时器T0开始计数;TR0=0,定时器T0停止计数。TR1T1的启动/停止控制位,作用与设置和TR0相同。

TF0TF1TF0为定时器T0的溢出只能高端标准位。当定时器T0产生溢出后(由全1变全0),TF0被硬件自动复位,TF0=1;T0的中断被CPU响应后,自动被硬件清零。TF1T1的溢出中段标志位,作用与设置同TF0
2 SCON的格式
SCON
D7
D6
D5
D4
D3
D2
D1
D0
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
Bit Addr
9FH
9EH
9DH
9CH
9BH
9AH
99H
98H
D2~D7为串口收发控制,和中断有关的为D0位和D1位。
TI为串口发送中段标志位,当串口发完一帧数据时,由硬件自动置位TITI不能自动复位,必须友软件清零。
RI为接收中断标志位。当接收完一帧数据后,由硬件置位RIRI不能自动复位,必须有软件清零。
TCONSCON设置了中断源及中断方式后,中断的允许或禁止还受到中断允许控制寄存器(IE)的控制。
3 中断允许控制寄存器IE的格式
IE
D7
D6
D5
D4
D3
D2
D1
D0
EA
-
-
ES
ET1
EX1
ET0
EX0
Bit Addr
AFH
-
-
ACH
ABH
AAH
A9H
A8H

EA:中断的总控制位,EA=0,CPU禁止所有中断。EA=1,CPU开放所有中断,但每个中断是否真的开放,还收到IE中相应中断的控制位的控制。

ES:串行口中断控制位,ES=0,屏蔽所以串行口中断;ES=1,允许串行口中断。

ET1,ET0:定时/计数器T1/T0的中断控制位。为0时禁止相应的中断,为1允许相应的中断。

EX1,EX0:外中断INT1/INT0的中断允许控制位。为0时禁止相应的中断,为1时允许相应的中断。

2 定时器/计数器
8051单片机内部有两个定时/计数器。定时/计数器T0由特殊功能寄存器TL0TH0构成。定时/计数器T1TL1TH1构成。T0T1的中断控制见TCONT0T1的工作方式由TMOD寄存器控制。
4 方式控制字TMOD的格式
D7
D6
D5
D4
D3
D2
D1
D0
GATE
C/T
M1
M0
GATE
C/T
M1
M0
T1方式字段
T0方式字段
M1 M0:定时计数器的四种工作方式。
M1,M0=00
方式013位定时/计数器
M1,M0=01
方式116为定时/计数器
M1,M0=10
方式2,自动重新装入计数初值的8位定时器/计数器
M1,M0=11
方式3,两个8为定时器/计数器(仅适用于T0
C/T:定时方式/计数方式选择位。C/T=0,选择定时器工作方式;C/T=1,选择计数器工作方式。当选择定时器工作方式时,计数脉冲频率为OSC12分频。当选择定时工作时,有计数引脚T0输入。
GATE:门控位。GATE对定时器的影响如图1.1所示。
1 定时器T0控制的等效电路图

3 串行口
串口控制寄存器SCON如图2。各个位的意义如下:
(1)
SM0,SM1:
SM0,SM1=00,方式08位同步以为寄存器,波特率为fosc/12;
SM0,SM1=01,方式110位异步通信,波特率由定时器控制;
SM0,SM1=10,方式211位异步通信,波特率为fosc/64fosc/32
SM0,SM1=11,方式311位一步通信,波特率由定时器控制。
(2)
SM2:多机通信控制位。SM2主要用于方式2和方式3。在方式0时,要设置SM2=0
(3)
REN:允许接收控制位。REN=1,允许接收。
(4)
TB8:发送数据位8
(5)
RB8:接收数据位8
波特率加倍,当SMOD1时,波特率加倍。SMODPCON的第D7
5 电源控制寄存器PCON的格式
PCON
D7
D6
D5
D4
D3
D2
D1
D0
Addr87H
SMOD



GF1
GF0
PD
IDL

IDL为空闲方式控制位。为1时,进入空闲待机工作方式。

PD为掉电工作方式控制位。IDL=1PD=1,单片机进入掉电工作方式。

GF0GF1为通用标志位,描述中断是来自正常允许还是来自空闲方式。
波特率的计算:
方式2
波特率=2SMOD/64* fosc
方式1和方式3
波特率=2SMOD/32* 定时器T1溢出率
T1溢出率=fosc/12/2K-TC
注:K为定时器T1的位数;TC为定时器T1的预置初值

相关帖子

沙发
thankx| | 2011-12-29 22:44 | 只看该作者
我明天正好考试考单片机c8051:lol

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

10

帖子

0

粉丝