山东建筑大学复习重点单片机
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JB JBC bit , rel JNB
12
2016/12/9
第4章 80C51的汇编语言程序设计
1.程序框架
依据汇编语言规则 用好伪指令 符号不用中文 SJMP $ 用于调试
初始化 开始
以 .ASM存盘
循环扫描、处理
2.汇编语言的语句格式
[标号:] 指令助记符 [操作数1,] [操作数2,] [操作数3,] [;注释]
2016/12/9
6
3.数据传送指令 16位传送:MOV DPTR,#data16; DPTR← data16
8位传送
Rn direct MOV A , @Ri # data
A MOV @Ri , direct # data
2016/12/9 7
A Rn MOV direct , direct1 @Ri # dat a
2016/12/9 5
第3章 80C51的指令系统
1.机器指令的长度:单字节 双字节 三字节
周期:单机器 双机器 四机器(乘除)
2.80C51单片机有7种寻址方式 寄存器寻址 MOV A,R0 直接寻址 MOV A,50H 寄存器间接寻址 MOV A,@R0 立即寻址 MOV A,#50H 变址寻址 MOV A,@A+DPTR 相对寻址 JC rel 位寻址 MOV C,00H
01 10
11
方式1 方式2
方式3
16位定时/计数器 X=216-N 8位自动重装定时/计数器 X=28-N
T0分成两个独立的8位定时/计数器; T1此方式停止计数出借TR1、TF1
注意:TMOD不能进行位寻址
2016/12/9
18
第6章 80C51单片机的串行口
1.异步通信与同步通信
空 闲 起 始 位 一个字符帧 数据位 校 验 位 停 止 位 空 闲
TR1 TF0 TR0 6 5 4
IE
EA
7 6 5
ES
4 PS
ET1 EX1 ET0 EX0 字节地址:A8H
3 2 1 0
IP
PT1 PX1 PT0 PX0 字节地址:B8H
中断响应至少需要3个完整的机器周期(3~8个)!
2016/12/9 16
3. 80C51单片机的定时/计数器
T1引脚 T0引脚
+5V
5.1K× 4 3 7 B F C3 C2 C1 C0 2 6 A E 1 5 9 D 0 4 8 C L0 L1 L2 L3
在子程序中实现 利用存储器
a b c d e f g
dp com
利用堆栈
+5V
89S51
P1.0 P1.1 P1.2 P1.3 P1.4
P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0
74LS373
CS A7 : : 62C64 A0
D0~D7
WR RD
21
WE OE
2016/12/9
2.输入/输接口扩展
对单片机输出的锁存
无条件传送
查询状态传送 中断传送 DMA传送
对输入设备的三态缓冲
9
+5V T1中断入口
RST
9
8字节 8字节
串口中断入口 K0023H T2中断入口
R1
80C51
R2 002BH D R1
80C51
2016/12/9
3
7.80C51单片机的特殊功能寄存器(SFR)
00H 1FH 30H 通用 RAM区 7FH 80H 增强型 附加空间 SFR区 工作 寄存器区 位寻址区
XCHD A, @Ri ;((Ri) .3 ~ 0) (ACC.3 ~ 0) SWAP A ;(ACC.7 ~ 4) (ACC.3 ~ 0)
4.算术运算类指令:影响PSW中标志位
CY为1,无符号数(字节)加减发生进位或借位 OV为1,有符号数(字节)加减发生溢出错误 AC为1,十进制数(BCD码)加法的结果应调整 P为1,存于累加器A中操作结果的“1”的个数为奇数
A Rn direct @Ri
乘法一条 MUL AB ;A与B相乘
DEC
除法一条 DIV AB ;A除以B
2016/12/9
9
5 逻辑运算与循环类指令
逻辑与
A ANL direct, # dat a A ORL direct, # dat a
Rn direct ANL A , @Ri # dat a Rn direct ORL A , @Ri # dat a Rn direct XRL A , @Ri # dat a
11位UART(9位数据) fosc/64或fosc/32
可变波特率=(2SMOD/32)*(T1溢出率) T1 溢出率 = fosc /{12×[256 -(TH1)]}
2016/12/9 20
第7章 80C51单片机的系统扩展
1.存储器扩展: 数据总线:P0口 地址总线: 高8位P2口 低8位P0口 控制总线: RD、WR、EA ALE、PSEN
A MOV Rn , direct # dat a
MOVX MOVX MOVC PUSH
A,@DPTR A,@Ri A,@A+DPTR direct
; MOVX @DPTR,A ; ; MOVX @Ri,A ;MOVC A,A+PC ;POP direct
Rn XCH A , direct @Ri
键号
E
P1.5 P1.6 P1.7
行首号
a b c d e f g
dp
com
100Ω× 2
共阳极
2016/12/9
14
第5章 80C51的中断系统及定时/计数器
1.80C51中断系统:5个中断源、2个优先级
TCON
IT0 1 0 IE0 1 ET0 1 TF0 IT1 1 0 IE1 1 ET1 1 TF1 0 RI TI ES 1 ≥1 PS 1 0 0 PT1 1 自 然 优 先 级 中断源 低 级 0 EX1 1 PX1 1 EX0 1
与运算器相关3个 ACC B PSW 指针类3个 SP DPH,DPL 与中断相关2个 IE IP
与口相关7个 P0,P1,P2,P3 SBUF SCON PCON 与定时/计数器相关6个 TH0,TL0 TH1,TL1 TMOD TCON
间接寻址 直接寻址 访问 访问 FFH
CY AC F0 OV - P
2016/12/9 1
第2章
80C51的结构和原理
1.MCS-51系列带有字母“C”为CHMOS芯片,否则HMOS 工艺,基本型与增强型区别(ROM RAM TIMER INT) 2.8051进行总线扩展时,使用锁存器(373、573)扩 展P0口为地址低8位,使用P2口作为地址高8位。 AT89S2051没有P0口和P2口 3. 1个机器周期等于12个晶振周期;一个指令周期 包括(单、双、四机器周期) 4.开关闭合与断开时的抖动及去抖电路 5.复位可使单片机或系统部件处于确定的初始状态。 PC = 0000H P0~P3=FFH SP=07H IP、IE和PCON:有效位0 PSW=00H
RS1RS0
2016/12/9 4
8. 并行口的负载能力(AT89S52) 每根口线最大可吸收10mA的(灌)电流
P0口吸收电流的总和不能超过26mA
P1、P2和P3每个口吸收电流的总和限制在15mA 4个口所有口线的吸收电流总和限制在71mA 总结:四个口都是准双向口,读入时先写1 P0作通用I/O需外部上拉
P2.0-P2.6 ALE P0 G D7 : : D0 OE Q7 : : Q0
A8-A14
27C256
A7 : : A0
80C31
EA
74LS573
CE
D0~D7
PSEN
OE
P2.7 P2.0-P2.4
CE A8-A12
+5V
ALE P0
80C31
EA
G D7 : : D0
OE Q7 : : Q0
第1章 绪论
1.冯· 诺依曼提出“程序存储”和“二进制运算”的 思想,构建了计算机经典结构: 2.1971年1月,INTEL将运算器、控制器和一些寄存器集 成在一个芯片上,制造出4004微处理器 3.微处理器的三总线:数据、控制、地址 4.微处理器+存储器+I/O接口= 微型计算机 5.微型计算机的3种形态:多板机、单板机、单片机 6.单片机应用系统的设计包括硬件设计和软件功能设计 7.将符号指令转换成机器码的过程称为汇编。常用的汇 编方法有两种:手工汇编和交叉汇编
addr11 rel
LJMP JMP
addr16 @A+DPTR
CJNE A,derect,rel A CJNE Rn , # data,rel @Ri
ACALL addr11
调用与返回 空操作
2016/12/9
LCALL addr16
RETI
RET
NOP
11
7. 位操作 位传送
2016/12/9 8
加法
Rn Rn direct direct ADD A , ADDC A , @Ri @Ri # dat a # dat a
A Rn direct @Ri DP T R
INC
DA
A
减法
Rn direct SUBB A , @Ri # dat a
IE
EA 1
IP
PX0 1 0 PT0 1
硬件查询
自 然 优 先 级 中断源 高 级
INT0 T0 INT1 T1 RX TX
1
中断入口
0
中断入口
SCON
2016/12/9
15
2.中断系统相关寄存器
7 TCON TF1 7 SCON 7 6 5 4 3 2 6 5 4 3 IE1 3 2 IT1 2 1 IE0 1 TI 1 0 IT0 0 RI 0 字节地址:98H 字节地址:88H
位设置
MOV MOV bit,C C ,bit ;bit←(CY) ;CY ← (bit)
C CLR bit
C SET B bit
位逻辑运算 bit ANL C, /bit 位判跳
bit ORL C, /bit
C CPL bit
JC JNC rel
机器周 期脉冲
TH1
TL1
TH0
TL0
内部总线
GATE TF1 TR1 TF0 TR0 C/T C/T M1 M0 M1 M0
TCON
GATE
TMOD
外部中断相关位
T1方式
T0方式
实质是16位加1计数器
2016/12/9 17
TH1、TL1 TH0、TL0
4. 定时/计数器的工作方式
M1M0 工作方式 00 方式0 说 13位定时/计数器 X=213-N 明
3 RXD
5 GND
19
5.80C51串行口的控制寄存器
7
SCON SM0
6
SM1
5
SM2
4
REN
3
TB8
2
RB8
1
TI
0
RI 字节地址:98H
SM0 0 0 1 1
SM1 0 1 0 1
方 式 0 1 2 3
说 移位寄存器
明
波特率 fosc/12 可变 可变
10位UART(8位数据) 11位UART(9位数据)
逻辑或
逻辑异或
A XRL direct, # dat a
累加器循环移位
2016/12/9
RR RRC RL RLC
A
10
6.控制转移类指令
无条件转移 条件转移
DJNZ Rn,rel DJNZ direct ,rel
JZ JNZ rel
AJMP SJMP
下一字符 起始位
D0
D7
同步通信:发、收时钟直接连接,效率高 异步通信:收、发设备时钟独立,以字符(帧)为单位传输 2.80C51有1个全双工串行口:电平转换电路(如MAX232) 接收发送缓冲器逻辑同名、物理分开 3.串行通信的错误校验:奇偶校验 代码和校验 4. 9针口:2 TXD
2Leabharlann Baidu16/12/9
2016/12/9 2
6.片内与片外程序存储器的选择 : EA引脚接高电平---片内,超过某值后自动转片外; EA引脚接低电平---片外
复位入口 INT0中断入口 T0中断入口 INT1中断入口
0000H 0003H 000BH 0013H 001BH
C1
3字节 8字节 8字节 8字节
+5V
C1
RST
数据:二进制(B) 十进制(D或省略D) 十六进制(H),注意A~F开头时要加“0” ASCII码,如 „A‟,‘1245‟
3.伪指令: ORG END DB DW EQU BIT
2016/12/9 13
4.基本程序结构:顺序程序 分支程序 循环程序 5. 子程序及其调用
现场保护与恢复:在主程序中实现 参数传递:利用累加器或寄存器