1. 基本结构
8位CPU,16位地址总线,8位数据总线。
哈佛结构:程序存储器与数据存储器分开编址。
程序存储器:64KB;数据存储器:64KB。
内部RAM:256B;SFR:128B。
常见型号:AT89C51/52、STC89C52、STC15/STC8等。传统8051为12T,STC部分支持1T。
2. 存储器与复位
程序存储器入口:
复位:0000H
外部中断0:0003H
定时器0:000BH
外部中断1:0013H
定时器1:001BH
串口:0023H
内部RAM:
00H~1FH:4组工作寄存器R0~R7
20H~2FH:位寻址区,共128位
30H~7FH:用户RAM和堆栈区
80H~FFH:高128B,只能间接寻址,与SFR地址重叠
位寻址:20H~2FH,以及地址能被8整除的SFR。
复位后:PC=0000H,SP=07H,P0~P3=FFH,IE=00H,TMOD=00H,TCON=00H,SCON=00H。
复位条件:RST高电平持续2个机器周期。
3. 时钟与机器周期
传统8051:1机器周期=6状态周期=12振荡周期。
12MHz晶振:1机器周期=1μs。
最小系统:电源、晶振、复位电路、EA接高电平、下载电路。
4. 引脚与I/O口
40脚DIP:VCC、GND、P0~P3、RST、ALE、PSEN、EA、XTAL1、XTAL2。
P0:开漏,作通用I/O需上拉;可作低8位地址/数据复用。
P1:准双向I/O。
P2:准双向I/O;可作高8位地址。
P3:准双向I/O,第二功能:
P3.0 RXD,P3.1 TXD
P3.2 INT0,P3.3 INT1
P3.4 T0,P3.5 T1
P3.6 WR,P3.7 RD
准双向口输入前要先写1。
ALE:地址锁存允许;PSEN:外部程序存储器读选通;EA=1从内部程序开始,EA=0只访问外部程序。
5. 中断系统
5个中断源:INT0、T0、INT1、T1、串口。
2个优先级,由IP控制。
相关寄存器:IE、IP、TCON、SCON。
外部中断触发方式:低电平触发或下降沿触发,由IT0/IT1设置。
中断服务函数最后用RETI返回。
C51中断号:
0:INT0
1:T0
2:INT1
3:T1
4:串口
6. 定时器/计数器
T0、T1,相关寄存器:TMOD、TCON、TH0/TL0、TH1/TL1。
TMOD:GATE、C/T、M1、M0。
方式:
方式0:13位
方式1:16位
方式2:8位自动重装
方式3:T0拆成两个8位,T1停止
定时初值:
定时时间 = (65536 – 初值) × 机器周期
THx = (65536 – N)/256,TLx = (65536 – N)%256
方式2常用于串口波特率发生器。
7. 串口UART
相关寄存器:SCON、SBUF、PCON。
SCON位:SM0、SM1、SM2、REN、TB8、RB8、TI、RI。
方式:
方式0:同步移位寄存器,波特率=fosc/12
方式1:8位UART,波特率由T1溢出率决定
方式2:9位UART,波特率=fosc/64或fosc/32
方式3:9位UART,波特率由T1溢出率决定
方式1波特率:
波特率 = (2^SMOD/32) × fosc/[12(256-TH1)]
SMOD=0时:TH1=256 – fosc/(384×波特率)
SMOD=1时:TH1=256 – fosc/(192×波特率)
TI、RI需软件清零。
8. 指令系统与寻址
111条指令,按功能分:数据传送、算术、逻辑、控制转移、位操作。
7种寻址方式:立即、直接、寄存器、寄存器间接、变址、相对、位寻址。
常用指令:
MOV、MOVX、MOVC、PUSH、POP
ADD、ADDC、SUBB、INC、DEC、MUL、DIV
ANL、ORL、XRL、CLR、CPL
LJMP、AJMP、SJMP、JZ、JNZ、CJNE、DJNZ
LCALL、ACALL、RET、RETI
SETB、CLR、CPL、JB、JNB、JBC
9. C51编程
头文件:reg51.h、reg52.h。
关键字:sfr、sbit、bit、code、data、idata、xdata、pdata、bdata。
中断函数写法:
```c
void timer0_isr() interrupt 1 using 1
{
// …
}
```
常见外设:LED、按键、数码管、LCD1602、矩阵键盘、蜂鸣器、继电器、步进电机、AD/DA、DS1302、DS18B20、AT24C02、红外、蓝牙、超声波等。
注意
P0作通用I/O必须外接上拉。
准双向口输入先写1。
EA=1从内部程序存储器开始执行;EA=0只执行外部程序。
串口TI/RI软件清零;边沿触发外部中断标志硬件清零,低电平触发需外部撤除。
SP复位为07H,入栈先SP加1再存数据。
位寻址区20H~2FH;SFR可位寻址地址必须能被8整除。
传统8051是12T,STC增强型可能是1T,定时计算要按型号区分。
网硕互联帮助中心



评论前必须登录!
注册