1. 存储类型
a) Data, 直接寻址的内部RAM地址,RAM低128 byte,一个周期内寻址
b) bData,data区的16字节按位寻址区
c) iData,间接寻址的内部RAM地址,RAM高128 byte
d) pData,外部存储的256个字节。
e) xData,外部存储区,需要使用DPTR访问数据地址
f) Code,代码存储区,存放代码和查询表,需要使用DPTR访问数据地址
2. 寻址方式:
a) 直接:SFR,data, 位地址
b) 间接:code, idata, xdata, data
3. 常用SFR
a) R0,R1,可以用作数据区指针,寻址iData。
b) IP,中断优先级寄存器
c) IE,中断使能寄存器。
d) SMOD:控制串行通信波特率
e) SCON:设置串口工作模式
f) PSW即程序状态字(有些教材也叫程序状态寄存器)
RS0,RS1,用于选择4个寄存器组之一
设置 nv(清除) ov(溢出)
方向 dn(减) up(增)
中断 ei(启用) di(禁用)
正负 ng(负) pl(正)
零 zr(0) nz(非0)
辅助进位 ac(进位) na(不进位)
奇偶校验 pe(偶校验) po(奇校验)
进位 cy(进位) nc(不进位)
4. 中断
a) 中断向量位于代码段最低地址
b) 8051在每个周期查询中断标志,如有中断请求,置位标志,下个周期查询标志位。
5. 电源控制:
a) 节电(低功耗)模式
i. PCON进入;
ii. RAM保存;
iii. 晶振停止工作,定时器,串口不工作
iv. 通过上电、复位退出
b) 空闲模式。
i. IDLE进入
ii. RAM保存;
iii. 晶振工作,但与CPU断开,定时器,串口工作
iv. 通过中断、上电、复位退出
6. Timer
a) TCON:控制timer0,timer1;溢出位。
b) TMOD:控制timer0,timer1工作方式、时钟源。计数器模式:对IO引脚脉冲计数;定时器模式:对内部时钟脉冲计数。
c) Timer工作模式:
i. 方式 0为 13位的定时器/计数器方式。
低位 TLx为 5位,高位 THx为 8位(x= 0,1)。当低位加1计数溢出时向高位进位,高位计数溢出则置"1"TFx。
ii. 方式1与方式0相似,16位计数器。
iii. 方式2为自动恢复初值方式的8位定时器/计数器。
此时 TLx为 8位计数器,THx为常数缓冲器,当 TLx溢出时,置"1" TFx,并将THx中的计数初值送入TLx,使 TLx再次重新计数。
iv. 方式3将T0分为两个独立的8位计数器TL0及TH0。
TL0使用控制位C/-T、GATE、TR0、TF0及控制端-INT0。TH0为一个固定的8位定时器,使用T1的TR1及TF1。通常只有在T1作为串行接口的波特率发生器时,T0才定义为方式3。此时T1仍可用定时器或计数器方式,并可定义为方式0,方式1及方式2。