当前位置:文档之家› 单片机原理实用教程总复习

单片机原理实用教程总复习


辅助进位标志
工作寄存器组选择
5
奇偶校验标志
2.控制器
控制器包括定时控制逻辑、指令寄存器、指令译码器、程序计 数器PC、数据指针DPTR 、堆栈指针SP、地址寄存器和地址缓冲 器等。
它的功能是对逐条指令进行译码,并通过定时和控制电路在规定 的时刻发出各种操作所需的内部和外部控制信号,协调各部分的工 作。 程序计数器PC:用于存放下一条将要执行指令的地址。当一条指 令按PC所指向的地址从程序存储器中取出之后,PC的值会自动增 加,即指向下一条指令。PC不属于特殊功能寄存器,不能被访问。 堆栈指针SP:用来指示堆栈的起始地址。 指令译码器:当指令送入指令译码器后,由译码器对该指令进行译 码,即把指令转变成为所需要的电平信号,CPU根据译码器输出的 电平信号使定时控制电路产生执行该指令所需要的各种控制信号。
18
3.3.1算术运算指令
算术运算指令包括加、减、乘、除法指令,加法指令又分为普 通加法指令、带进位加法指令和加1指令。
1.普通加法指令
ADD ADD ADD ADD
A, Rn ;Rn(n=0-7)为工作寄存器 A, direct ;direct为直接地址单元 A, @Ri ;Ri(i=0-1)为工作寄存器 A, #data ;#data为立即数
2.带进位加法指令 ADDC A, Rn ;Rn(n=0-7)为工作寄存器 3.加1指令 INC A 不影响任何标志。
4.十进制调整指令 DA A 5.带进位减法指令 SUBB A, Rn ;Rn(n=0-7)。指令意义 (A)-(Rn)-(CY)→(A) 6.减1指令 DEC A 7.单字节乘法指令 MUL AB 乘积的低8位存放在累加器A中,高8位存放在寄存器B中。 8.单字节除法指令 DIV AB 商的整数部分存放在累加器A中,余数部分存放在寄存器B中
2
3
4
中中央处理器CPU包含运算器和控制器两大部分。 1.运算器 运算器以算术逻辑单元ALU为核心,加上累加器ACC、寄存器 B 、暂存寄存器TMP和程序状态字寄存器PSW等所组成。 ALU主要用于完成二进制数据的算术和逻辑运算。 累加器ACC工作最为繁忙,因为在进行算术逻辑运算时,ALU 的输入多为ACC的输出,而大多数运算结果也需要送到ACC中。 B寄存器,在作乘除运算时用来存放一个操作数,它也用来存放 乘除运算后的一部分结果 。 程序状态字寄存器PSW,用于存放运算结果的一些特征 进位标志 用户标志 溢出标志
11
第 3 章
指令系统复习
3.1 指令助记符和字节数
指令本身是一组二进制数代码,助记符一般采用有关英文单词 的缩写 。 操作码 740A 指令 2414 MOV A, #0AH ;将十六进制数0AH放入累加器A中
助记符
ADD A, #14H ; 累加器A中的内容与14H相加 操作数
一条指令通常由两部分组成:操作码和操作数。 操作码用来规定这条指令完成什么操作。操作数则表示这条指 令所完成的操作对象,即是对谁进行操作。
第1章 复 习
1.1 8051单片机的特点与基本结构
无片内ROM型 :8031
8051系列 带片内ROM型
片内掩膜ROM型 :8051,4k一次编程 片内EPROM型 :87C51,4k 片内EEROM型 :89C51,4k, flash
8051单片机的基本组成包括:
.中央处理器CPU,它是单片机的核心,用于产生各种控制信号, 并完成对数据的算术逻辑运算和传送; .内部数据存储器RAM,用以存放可以读写的数据; .内部程序存储器ROM,用以存放程序指令或某些常数表格; .4个8位的并行I/O接口P0, P1, P2和P3,每个口都可以用做输入 或者输出; .内部时钟,但晶体和微调电容需要外接,振荡频率可以高达 40M HZ.
2.1集成环境ISIS
Proteus软件包提供一种界面友好的人机交互式集成环境ISIS, 其设计功能强大,使用方面。 ISIS在Windows环境下运行,它的主界面,由下拉菜单、快捷 工具栏、预览窗口、原理图编辑窗口、元器件列表窗口等组成。 File菜单:包括常用的文件功能,如创建一个新设计、打开己有设 计、保存设计、导入/导出文件、打印设计文档等。 View菜单:包括是否显示网格、设置网格间距、缩放原理图、显示 与隐藏各种工具栏等命令。 Edit菜单:包括撤销/恢复操作、查找与编辑、剪切、复制、粘贴 元器件、设置多个对象的层叠关系等命令。
9
第2章
Proteus快速入门
英国Labcenter公司推出的Proteus软件采用虚拟仿真技术,很 好地解决了单片机及其外围电路的设计和协同仿真问题 。 该软件已有近20年的历史,它针对单片机应用,可以直接在 虚拟模型上进行软件编程和虚拟仿真,配合虚拟示波器、逻辑分 析仪等,用户能看到单片机系统运行后的输入输出效果。
MOVC A, @A+PC MOVC A, @A+DPTR
7.字节交换指令 XCH A, Rn ;n=0-7 8.半字节交换指令 XCHD A, @Ri ;i=0或1 将累加器A的低4位内容和R (i) 的低4位内容相互交换。 23
3.3.4控制转移指令 1.无条件短跳转指令 AJMP addrll 这是2K字节范围内的无条件跳转指令。 2.相对转移指令 SJMP rel 执行时跳转至(PC)+ rel+2。因此转移的目标地址可以在这条指 令前128个字节到后127个字节之间。 3.长跳转指令 LJMP addr16 4.散转指令 JMP @A+DPTR
P0.0-P0.7 (39-32):双向I/O口P0。其第二功能是在访问外部存储器 时,可分时用做低8位地址和8位数据线。P0口能以吸收电流的方式 驱动8个LS型TTL负载。
P1.0-P1.7 (1-8):双向I/O口P1。 P1口能驱动(吸收或输出电流)4 个LS型TTL负载。在8052单片机中,P1.0还用作定时器2的计数触 发输入端T2, P1.1还用作定时器2的外部控制端T2EX。
17
3.3指令分类详解
8051单片机共有111条指令,按指令功能可分为算术运算指令、 逻辑运算指令、数据传送指令、控制转移指令及位操作指令等5大 类。 ⑴算术运算类指令(24条);
⑵逻辑运算类指令(25条) ;
⑶数据传送类指令(28条) ; ⑷ 控制转移类指令(17 条); ⑸ 布尔操作(位)类指令(l ;(A)=0时转移 JNZ rel ;(A)#0时转移 JC rel ;CY=1时转移 JNC rel ;CY=0时转移 JB bit,rel ;(bit)=1时转移 JNB bit,rel ;(bit)=0时转移 JBC bit,rel ;(bit)=1时转移,并清“0" bit 位 6.比较不相等转移指令: CJNE A, direct, rel 这组指令的功能是比较前面两个操作数的大小,如果它们的值 不相等则转移。 影响进位标志:如果第一操作数(无符号整数)小于第二操作数 (无符号整数),则置“1‖进位标志CY。 7.减1不为0转移指令 DJNZ Rn, rel ;n=0-7 这组指令把源操作数(Rn, direct)的内容减1,并将结果回送到源 操作数中去。如果相减的结果不为0则转移。 25
21
4.逻辑异或指令 XRL A, Rn
3.3.3数据传送指令
8051单片机的存储器区域可分为如下3个部分,即: 程序存储器 0000H-FFFFH 内部RAM 00H-FFH 外部RAM/IO区 0000H-FFFFH 对于程序存储器ROM,只能通过变址寻址方式采用MOVC指令 访问。
外部数据存储器RAM只能通过间接寻址方式用MOVX指令访问。 1.数据传送到累加器A的指令 MOV MOV MOV MOV A, Rn ;n=0-7 A, direct A, @Ri ;i=0或1 A, #data
这组指令的功能是将累加器A的内容与第二操作数的内容相加, 结果送回到累加器A中。 在执行加法的过程中,如果位7有进位,则置“1‖进位标志CY, 否则清“0‖ CY。如果位3有进位,则置“1‖辅助进位标志AC。如 果位6有进位而位7没有进位,或者位7有进位而位6没有进位,则置 “1‖溢出标志OV,否则清“0‖ OV。 19
16
3.2 寻址方式
目的字节
所谓寻址,就是寻找操作数据的地址。 例如:MOV A, R0 所谓寻址方式就是通过确定操作数据所在的地址把操作数据提 取出来的方法。 源字节 在8051单片机中,有7种寻址方式: 1.寄存器寻址 2.直接寻址 3.立即寻址 4.寄存器间接寻址 5.变址寻址 6.相对寻址 7.位寻址
15
3.三字节指令则是一个字节的操作码,两个字节的操作数。操作数 可以是数据,也可以是地址,因此,可能有四种情况: 操作码 操作码 操作码 操作码 立即数 地 址 立即数 地 址 立即数 立即数 地 址 地 址 MOV DPTR, #1234H ANL direct, #data
8051单片机共有17条三字节指令,只占全部指令的15%。一般 而言,指令的字节数越则其执行速度越快,从这个角度来说,8051 单片机的指令系统是比较合理的。
13
在8051单片机中,对于不同的指令,指令的字节数不相同。 8051单片机有单字节,双字节或三字节指令。
1、 单字节指令:指令只有一个字节,操作码和操作数同在一
个字节中。在80C51系列的指令系统中,共有49条单字节指令。
(1)单字节指令中既包含操作码信息,也包含操作数信息。 例如数据指针加1指令:INC DPTR,由于操作的内容和对象 都很明确,故不必再加操作数字节,其指令码为: 10100011 (2)用一个字节中的几位来表示操作数或操作数所在的位置。 如 MOV A,Rn 指令机器码为单字节 11101rrr ,其中rrr可表 示为000~111,分别代表R0~R7 操作码+地址码
6
1.2 8051单片机的存储器结构
相关主题