单片机原理与应用设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机原理与应用设计
1.【大题】控制引脚
(1)RST —9号引脚 复位信号输入端,高电平有效(结合P27周期),再次引脚加上持续时间大于2个机器周期(24个时钟振荡周期)的高电平时,就可以对单片机完成复位操作。
(2)EA /Vpp (31引脚) EA 为外部程序存储器访问允许控制端。
【访问内ROM/RAM 用MOV 外ROM/RAM 用MOVX CPU 先访问片内】 2.程序状态寄存器PSW
Cy
P
—
OV
RS0
RS1F0
Ac
D7D6D5D4
D3
D2D1D0D0H
PSW
图2-3 PSW 的格式
Cy (PSW.7)进位标志位 P (PSW.0)奇偶标志位
表2.2 RS1、RS0与所选的四组工作寄存器区的对应关系 RS1 RS0 所选的四组寄存器
0 0 0区(内部RAM 地址00H~07H ) 0 1 1区(内部RAM 地址08H~0FH ) 1 0 2区(内部RAM 地址10H~17H ) 1 1
3区(内部RAM 地址18H~1FH )
3.程序存储器,ROM 4KB; 内部数据存储器,RAM 256B
4.表2-3 5个中断源的中断入口地址
中断源
入口地址 外部中断0(0INT ) 0003H 定时器0(T0) 000BH 外部中断1(1INT ) 0013H 定时器1(T1) 001BH 串行口 0023H
5.内部数据存储器
地址为00H~1FH 的32个单元是4组通用工作寄存器区。用户可以通过指令改变PSW 中的RS1、RS0这两位来切换当前的工作寄存器区。
用户RAM 区
(堆栈、数据缓冲区)
第0组工作寄存器区
第1组工作寄存器区第2组工作寄存器区第3组工作寄存器区可位寻址区7FH 30H 2FH 20H 1FH 18H 17H 10H 0FH 08H 07H 00H
图2-4 89C51片内RAM 的结构
6.【大题】堆栈指针SP (先入先出)
堆栈指针SP 的内容指示出堆栈顶部在内部RAM 块中的位置。它可以指向内部RAM 00H~7FH 的任何单元。单片机复位后,SP 中的内容为07H 。
7.89C51单片机共有4个双向的8位并行I/O 端口,分别记为P0、P1、P2和P3。 当P0口用作通用I/O 口时,由于需要在片外接上拉电阻,端口不存在高阻抗(悬浮)状态,因此为一个准双向口。(高8位,P2口,只有P0接上拉电阻)。 P1口“读引脚”输入时,必须先向锁存器写1.。(所有P1口均适用,暂时断开外设与内部连接)
8.内部时钟方式(适用于整个系统,只有一块单片机)
电路中的电容C1和C2的典型值通常选择为30pF 左右。【图2-10 内部时钟方式的电路 P26】
9.时钟周期(振荡周期),一个状态周期由两个时钟周期构成。
10.机器周期:89C51的一个机器周期包括12个时钟周期,分为6个状态:S1~S6。每个状态又分为两拍:P1和P2。 11.以累加器为目的的操作数的指令 MOV A,Rn ;A Rn →)(,n=0~7 MOV A,@Ri ;A Ri →))((,i=0,1 MOV A,Direct ;A Direct →)( MOV A,#data ;A data →#
12.堆栈操作指令
(1)进栈指令—PUSH direct
功能:首先将栈指针SP加1,然后把direct中的内容送到栈指针SP指示的内部RAM单元中。
(2)出栈指令—POP direct
功能:将栈指针SP指示的栈顶(内部RAM单元)内容送入direct字节单元中,栈指针SP减1。
13.累加器A与外部数据存储器传送指令
MOVX A,@DPTR ;A
))
((,读外部RAM/IO
DPTR→
MOVX A,@Ri ;A
(,读外部RAM/IO
Ri→
)
MOVX @DPTR,A ;))
A→,写外部RAM/IO
((
(DPTR
)
MOVX @Ri,A ;))
A→,写外部RAM/IO
(Ri
)
((
14.MOVC A,@A+DPTR
这条指令以DPTR作为基址寄存器,A的内容作为无符号数和DPTR的内容相加得到一个16位地址,把由该地址指定的程序存储器单元的内容送到累加器A。
15.乘法指令BA
MUL→
AB
⨯
A
B
;
除法指令B
DIV→
商
AB
→,余数
A(
;
)
A/B
16.逻辑与指令(作用清0)
ANL A,Rn ;7
∧n
→
A
R
(=
A
)
,
~
(
)n
ANL A,Direct ;A
)
(
(
direct
A→
∧)
ANL A,#data ;A
)
∧#
(
A→
data
ANL A,@Ri ;1
→
∧i
Ri
(=
A
A
((
~
,
))
)
ANL direct,A ;direct
)
(
(
∧)
direct→
A
ANL direct,#data ;direct
(
)
∧#
direct→
data
17.逻辑或操作指令(作用置1)【与1相或为1,与0相或不变】
ORL A,Rn ;7
→
∨n
Rn
A
A
(=
)
,
~
)
(
ORL A,direct ;)
direct
A→
∨
(A
(
)
(
)