8031单片机原理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8031单片机原理及接口技术 第一章 8031原理和结构
一、内部结构及引脚图
一个机器周期=12个振荡脉冲周期(fosc)
二、存储器空间以及存储器
内部数据存储器 外部数据存储器 外部程序存储器
(用mov指令读写) (用movx指令读写) (用movc指令读)
1、内部数据存储器结构:
内部RAM区: 专用寄存器区: 开机复位状态:
复位后:内部RAM区及外部RAM区皆保持原值
2、程序状态字: PSW
┌──┬──┬──┬──┬──┬──┬──┬──┐
│ CY │ AC │ F0 │RS1 │RS0 │ OV │ X │ P │
└──┴──┴──┴──┴──┴──┴──┴──┘
CY:进、借位,有进、借位:CY=1
AC:半进、借位,有半进、借位:AC=1
F0:用户标志位(由用户设定)
RS1,RS0:工作寄存器组选择位
00:选择0组
01:选择1组
10:选择2组
11:选择3组
OV:溢出位,有溢出:OV=1
X:无效位
P:奇偶位,运算结果有奇数个1:P=1
3、程序存储器特定入口:
0000H: 复位或开机后的程序入口
0003H: 外部中断0服务程序入口
000BH: 定时/计数器0中断服务程序入口
0013H: 外部中断1服务程序入口
001BH: 定时/计数器1中断服务程序入口
0023H: 串行I/O中断服务程序入口
三、定时/计数器
8031片内有两个16位定时/计数器(增量式计数) 1、工作方式(方式0、方式1、方式2、方式3)
以定时/计数器1为例
⑴方式0(13位定时/计数)
⑵方式1(16位定时/计数)
⑶方式2(8位自动重装时间常数定时/计数)
⑷方式3(仅适用于定时/计数器0)
TL0用于8位定时/计数
TH0只用于8位定时
2、控制寄存器
⑴定时/计数器方式控制寄存器:TMOD
├──── T1 ────┼──── T0 ────┤ ├──┬──┬──┬──┼──┬──┬──┬──┤ │GATE│C/T │ M1 │ M0 │GATE│C/T │ M1 │ M0 │ └──┴──┴──┴──┴──┴──┴──┴──┘ GATE: 门控位,1:打开,0:关闭
C/T: 工作状态选择,1:计数状态,0:定时状态
M1,M0:工作方式选择
00 方式0
01 方式1
10 方式2
11 方式3
⑵定时/计数器控制寄存器:TCON
┌──┬──┬──┬──┬──┬──┬──┬──┐ │ TF1│ TR1│ TF0│ TR0│ IE1│ IT1│ IE0│ IT0│ └──┴──┴──┴──┴──┴──┴──┴──┘
TF1,TF0: 定时/计数器中断请求标志,1:有请求;0:无请求
TR1,TR0: 定时/计数器运行控制位,1:打开;0:关断
IE1,IE0: 外部中断INT1,INT0中断请求标志,1:有请求;0:无请求
IT1,IT0: 外部中断INT1,INT0触发方式,1:下降沿触发;0:低电平触发
四、中断系统
5个中断源:
INT0: 外部中断0
INT1: 外部中断1
T0: 定时/计数器0中断
T1: 定时/计数器1中断
TI/RI: 串行I/O中断
⑴中断允许寄存器:IE(1:允许;0:不允许)
┌──┬──┬──┬──┬──┬──┬──┬──┐
│ EA │ × │ × │ ES │ET1 │EX1 │ET0 │EX0 │
└──┴──┴──┴──┴──┴──┴──┴──┘
EA: 全局中断允许位
ES: 串行口中断允许位
ET1:T1中断允许位
EX1:INT1中断允许位
ET0:T0中断允许位
EX0:INT0中断允许位
⑵中断优先寄存器:IP(1:高优先级;0:低优先级)
┌──┬──┬──┬──┬──┬──┬──┬──┐
│ × │ × │ × │ PS │PT1 │PX1 │PT0 │PX0 │
└──┴──┴──┴──┴──┴──┴──┴──┘
PS: 串行口中断优先位
PT1:T1中断优先位
PX1:INT1中断优先位
PT0:T0中断优先位
PX0:INT0中断优先位
(同级中断时的优先顺序:INT0→T0→INT1→T1→RI/TI)
CPU响应中断后,自动清除中断请求标志(只有串行口中断请求标志需用软件清除),并将程序计数器PC之值压入堆栈,然后将相应的中断入口地址装入PC,使程序转入相应的中断服务程序。
五、并行I/O端口(P0、P1、P2、P3)
8031单片机中:
P0口:作为地址低8位和双向数据总线
P2口:作为地址高8位总线
1、P0端口(地址低8位/数据)
P0口每一位的内部结构如下:
2、P1端口
P1口每一位的内部结构如下:
注:当P1口作输入时,必须先向P1口写"FFH"(即11111111),由于单片机上电或复位后P0口-P3口皆置为"FFH",故一般不需人为写"FFH"。
3、P2端口(地址高8位)
P2口每一位的内部结构如下:
4、P3端口
P3口每一位的内部结构如下: