第3章80C51系列单片机的硬件基础知识概要
第三章 80C51单片机汇编语言程序设计(本科)

ORG START: CLR MOV MOVX MOV INC MOVX SUBB JNC XCH SJMP BIG1: MOVX BIGO: INC MOVX END
8000H C;进位清0 DPTR, #ST1; 设数据指针 A, @DPTR; A←((ST1)),取N1 R2, A; 暂存N1 DPTR; DPTR← ST2(指向N2单元) A, @DPTR; 取N2存于A中 A, R2;N1,N2比较(N2-N1,差在A中) BIG1;N2≥N1,转BIG1,N2<N1,顺序执行 A, R2;N1,N2互换,A ←N1 BIG0 A, @DPTR;A ←N2 DPTR; DPTR← ST3(指向N3单元) @DPTR, A;ST3 ←大数 返回
等、不相等等各种条件判断。
例:两个8位无符号二进制数比较大小。假设在外部RAM中有 ST1、ST2和ST3共3个连续单元(单元地址从小到大),其中ST1
、ST2单元中存放着两个8位无符号二进制数N1,N2,要求找出其
中的大数并存入ST3单元中。
解:(1)分析任务:比较两个数的大小
(2)算法:算术运算、控制转移 (3)程序结构:单分支 (4)数据类型:单字节、二进制、无符号数 (5)数据结构:单元地址升序排列
思考题
3) ORG MOV MOV MOVX ADD MOVX DEC DEC MOVX ADDC 1000H RO, R1, A, A, @R1, R0; R1; A, A, #52H;加数N1的低字节地址送地址指针R0 #55H;加数N2的低字节地址送地址指针R1 @R1; 取N2的低字节 @R0; N1、N2低字节相加 A; 保存N1、N2低字节和 修改加数N1的地址指针内容 修改加数N2的地址指针内容 @R1; 取N2的中间字节 @R0; N1、N2中间字节带低字节和进位相加
第3章80C51系列单片机的硬件基础知识

(3) P2口(21脚~28脚):P2口的8条引脚也有两种不同的 功能: 1) 准双向输入/输出接口,每一位也可独立控制。
2) 在接有片外存储器或扩展I/O接口时,P2口作为高8位地
址总线。
引脚
第二功能
说 明
P3.0
RXD
串行口输入
外部中断0输入,低电平
(4) P3口(10 脚~17脚): 8条引脚也有两种不同的功能: P3.1 TXD P3口的 串行口输出
STC
Winbond(华邦) W78C54,W78C58,W78E54,W78C58等 Intel(英特尔) i87C54,i87C58,i87L54,i87C51FB,i87C51FC
Siemens(西门子) C501-1R,C501-1E,C513A-H,C503-1R,C504-2R
3.1.3 80C51系列单片机的选择依据
3.1.1 MCS-51系列单片机
1980年美国INTEL公司推出了高性能的8位单片机: MCS-51系列单片机。 系列单片机是指同一厂家生产的具有相同系统结构 的多种型号的单片机。 MCS-51系列单片机又可分为51和52两个子系列。
各个子系列所含有的芯片型号及其硬件资源的区别如表3-1所示。
MCS-51系列 型号 8031 片内ROM 无 4KB掩膜ROM 4KB EPROM 无 8KB掩膜ROM 片内 RAM 128B 128B 128B 256B 256B 定时器/计数 中断源数量 器 2×16位 2×16位 2×16位 3×16位 3×16位 5 5 5 6 6
PDIP (T2)P1.0 (T2EX)P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST (RXD)P3.0 (TXD)P3.1 1 40 39 38 37 36 35 VCC P0.0(AD0) P0.1(AD1) P0.2(AD2) P0.3(AD3) P0.4(AD4) P0.5(AD5) P0.6(AD6) P0.7(AD7) EA/VPP ALE/PROG PSEN P0.4(AD4) P0.5(AD5) P2.7 P0.6(AD6) P2.6 P0.7(AD7) EA/VPP P2.5 NC P2.4 ALE/PROG PSEN P2.3 P2.7 P2.6 P2.2 P2.5 P2.1 P2.0
第3章80C51系列单片机的硬件基础知识

21:52
9
图3-8 80C51单片机对外三总线构成
21:52 10
四个I/O端口P0、P1、P2、P3的作用总结: P2口负责输出高8位地址, P0口以分时方式承担输出低8位地址信息和数据输入/输出的 双重任务。 P3口则作为和外设沟通的控制线, P1口可随意用作I/O口。 51系列单片机的对外三总线总结: AB(地址总线): P2口负责高8位地址, P0口输出低8位地址。 DB(地址总线): P0口作为8位数据输入/输出口。 CB(地址总线): P3口作为和外设沟通的控制线。
各个子系列所含有的芯片型号及其硬件资源的区别如表3-1所示。
片内 RAM 128B 128B 128B 256B 256B 定时器/计数 中断源数量 器 2×16位 2×16位 2×16位 3×16位 3×16位 5 5 5 6 6
MCS-51系列
型号 8031
片内ROM 无 4KB掩膜ROM 4KB EPROM 无 8KB掩膜ROM
51子序列 (基本型)
8051 8751 8032 8052
52子序列 (增强型)
在不同型号的MCS-51系列单片机中,除片内存储器(ROM、RAM) 容量与种类、定时器/计数器的个数、中断源的数量有所不同外, 指令系统和芯片引脚是完全兼容的。
21:52 1
80C51单片机引脚主要分为主电源引脚、外接晶体 引脚 、输入/输出引脚与控制引脚四类,以PDIP 封装的单片机为例,引脚介绍如下: 1. 主电源引脚(2条) 2. 外接晶体引脚(2条) 3. 输入/输出(I/O)引脚(32条) 4. 控制引脚(4条)
21:52
15
3. 并行输入/输出端口(I/O口)
80C51片内有4个8位的I/O接口:P0、P1、P2和P3,每个I/O接 口内部都有一个8位锁存器和一个8位驱动器,既可用作输出 口,也可用作输入口。 80C51单片机没有专门的I/O口操作指令,而是把I/O口当作寄 存器使用,通过传送指令实现数据的输入和输出操作。
单片机基础知识资料-PPT

第1、3章 单片机应用概述与开发步骤
1. 电子计算机的发展概述
2. 单片机的发展过程及产品近况
3. 单片机的特点 4. 单片机应用系统开发简介
5.1 计算机语言概述
5.2 80C51单片机寻址方式
5.3 80C51单片机指令系统
暂时不讲
5.4 80C51汇编语言程序设计
5.5 80C51单片机C51程序设计语言
5.6 C51的运算符和表达式
5.7 C51的库函数
5.8 C51的应用技巧
第5章 80C51单片机软件基础知识
单片机应用系统
大家有疑问的,可以询问和交流
可以互相讨论下,但要小声点
第1、3章 单片机应用概述与开发步骤
软件系统
• 系统资源分配 • 程序结构 • 数学模型 • 程序流程 • 编制程序
第1、3章 单片机应用概述与开发步骤
程序设计
通常是C语言或者汇编语言,在特定的集成开发环境(IDE)中编程 调试,比如应用最广泛的KEIL uVision3
通过特殊功能寄存器可实现对单片机内部资源的 操作和管理。
常用特殊功能寄存器
第4章 80C51单片机硬件基础知识
常用特殊功能寄存器
第4章 80C51单片机硬件基础知识
常用特殊功能寄存器
端口P0~P3
特殊功能寄存器P0~P3分别是I/O端口P0~P3的锁存 器。80C51单片机是把I/O当作一般的特殊功能寄存器 使用,不专设端口操作指令,使用方便。
•数据缓冲区 30H~7FH是数 据缓冲区,即 用户RAM区, 共80个单元。
经典:2-80C51单片机的基本结构和工作原理

8751是将8051片内的ROM换成EPROM
89C51则换成4KB的闪速EEPROM
89S51结构同89C51,4KB的闪速EEPROM可在线编程
增强型52、54、58系列的存储容量为普通型分别为
8KB、16KB、64KB
4
②数据存储器(RAM)
数据存储存放程序运行中所需要的常数和变量。51 系列内部RAM容量为128B,52系列为256B。
需要注意的是,在80C51单片机,还有一部分可以不 经过累加器A的传送指令,如:寄存器直接寻址单元之间; 直接寻址单元与间接寻址单元之间;寄存器、直接寻址单 元、间接寻址单元与立即数之间的传送指令。其目的是加 快传送速度,减少累加器A的堵塞现象。
12
③ B寄存器
B寄存器为8位寄存器,主要用于乘除指令中。乘法 中,ALU的两个输入分别为A、B,运算结果存放在AB寄 存器对中。A中存放积的低8位,B中存放积的高8位。除 法中,A中存放被除数,B中放入除数,商数存放于A,余 数存放于B。当然B寄存器也可作为一个普通的内部RAM 单元使用。
1
0
寄存器2组(10H~17H)
1
1
寄存器3组(18H~1FH)
15
d. PSW.5(F0,用户标志位)
该位为用户定义的状态标记,用户根据需要用软件 对其置位或清零,也可以用软件测试F0的状态来实现分支 转移。
Байду номын сангаасe. PSW.6(AC,辅助进位标志位)
进行加法或减法操作时,当发生低四位向高四位进 位或借位时,AC由硬件置位,否则AC位被清“0”。在进 行十进制调整指令时,将借助AC状态进行判断。
④程序状态字
程序状态字PSW(Program Status Word)是一个逐位 定义的8位标志寄存器,它保存指令执行结果的特征信息, 以供程序查询和判别。其各位的定义如下:
80c51

ACC B
指令寄存器IR 指令译码器ID DPH
缓冲器 DPL ROM 4K字节
暂存器1
暂存器2
PC增量器 PSW ALU 振荡器 定时与控制 程序计数器PC 地址寄存器AR
XTAL2 VSS XTAL1 EA RST ALE PSEN
11
2.4.1 80C51的内部结构 一、80C51的微处理器(CPU) (1)运算器 累加器ACC ; 寄存器B ; 程序状态字寄存器PSW 。 (2)控制器 程序计数器PC ; 指令寄存器IR ; 定时与控制逻辑。
(3)在功能上,该系列单片机有基 本型和增强型两大类 基本型: 8051/8751/8031 80C51/87C51/80C31 增强型: 8052/8752/8032 80C52/87C52/80C32
1
(4)在片内程序存储器的配置上, 该系列单片机有三种形式,即掩膜ROM、 EPROM 和 ROMLess( 无 片 内 程 序 存 储 器)。如: ﹡80C51有4K字节的掩膜ROM; ﹡87C51有4K字节的EPROM ; ﹡80C31在芯片内无程序存储器。
23
2.5.1 80C51的程序存储器配置
PSEN 0000H EA=1 内部 0FFFH 1000H 外部 FFFFH FFFFH EA=0 外部
复位入口 INT0中断入口 T0中断入口 INT1中断入口 T1中断入口 串口中断入口
0000H 0003H 000BH 0013H 001BH 0023H ROM
80H
间接寻址 直接寻址 访问 访问 FFH
FFFFH RD WR
25
一、工作寄存器区
低端32个字节分成4个工作寄存器组,每组8个单 元。当前工作寄存器组的机制便于快速现场保护。
80C51单片机的硬件结构

作的执行部件。由加法器和其他逻辑电路(移位电
路和判断电路等)组成。完成算术加、减、乘、除
和逻辑“与”、“或”、“异或”等运算以及循环
移位操作、位操作等功能。
(3) 程序状态字寄存器PSW:是8位寄存器, 用来存放运算结果的一些特征。 (4) B寄存器:在进行乘法、除法运算时作 为ALU的输入之一,与ACC配合完成运算和并存 放运算结果。 (5) 暂存器:用以暂存进入运算器之前的数 据。
微机控制技术
主讲:
张 勤 工学博士 副教授
教材:单片机基础,航空航天大学出版
第2章 80C51单片机的硬件结构
2.1 单片机的概念及系列
2.2 80C51单片机内部结构 2.3 80C51系列单片机外引脚功能
2.4 80C51单片机的内部存储器
2.5 80C51单片机的并行I/O口
…
17H 18H 19H … 1FH
…
R7 R0 R1 … R7
工作寄存器3组
20H
21H 22H 23H 24H 25H 26H 27H 位 寻 28H
07H
0FH 17H 1FH 27H 2FH 37H 3FH 47H
06H
0E H 16H 1E H 26H 2E H 36H 3E H 46H
ቤተ መጻሕፍቲ ባይዱ
05H
1.封装:80C51系列单片机常用的两种封装为双 列直插式DIP40,方形封装LCC44
2.80C51系列单片机外部引脚
3.80C51单片机逻辑符号
4.80C51系列单片机外部引脚说明
重要性:引脚表现出单片机的外部特性或硬
件特性,通过引脚连接和组建系统。 共有40个引脚,分为端口线(32条),电源 线(2条)和控制线(6条) 端口:4个并行I/O端口,每个端口有8条端口 线,用于传送数据或地址。每个端口结构各 不相同,因此功能和用途上的差别也较大。
第3章 80C51系列单片机指令系统

变址寻址示图
内部ROM 内部RAM
3AH 0046H 65H
操作数
寄存器
目的地
3AH 0046H
A
DPTR PC
基址寄存器 0012H
变址寄存器 34H
MOVC A, @A+DPTR
• 6.位寻址方式
•
80C51具有位处理功能,可以对数据位进行操作。 位寻址指令中应直接使用位地址,它属于直接寻址方式, 因此与直接寻址执行过程基本相同,但参与操作的数据 是1位,而不是8位。
指令一般由两部分组成,即操作码(表示指令的操作功能)和 操作数(参加操作的数据或数据地址)。 •由于计算机只能识别二进制数,所以计算机的指令均由二进制 代码组成。为了阅读和书写方便,常把它写成十六进制形式, 通常称这样的指令为机器指令。
• 机器语言级指令格式: • 1、单字节指令:对于单字节指令有两种情况:一种是 操作码、操作数均包含在这一个字节之内;另一种情况 是只有操作码无操作数;格式为: • 操作码 • 如:“MOV A,R0”所对应的机器语言指令为“E8H”。 • 2、双字节指令:对于双字节指令,均为一个字节是操 作码,一个字节是操作数;格式为: • 操作码 操作数 • 如:“MOV A,20H”所对应的机器语言指令为“E520H”。 • 3、三字节指令:对于三字节指令,一般是一个字节为 操作码,二个字节为操作数;格式为: • 操作码 第一操作数 第二操作数 • 如:“MOV 20H,#46H”所对应的机器语言指令为 “E52046H”。()
• 为了便于记忆和使用,制造厂家对指令系统的每一条指令都 给出了助记符。助记符是根据机器指令不同的功能和操作对 象来描述指令的符号。由于助记符是用英文缩写来描述指令 的特征,因此它不但便于记忆,也便于理解和分类。这种用 助记符形式来表示的机器指令称为汇编语言指令。计算机的 指令一般用汇编语言指令来表示。 • 80C51汇编语言指令格式如下: • [标号:] 操作码 [目的操作数]
80C51知识精简

正数 若X1真值为: +1010111 则X1原码为: 01010111负数 若X2真值为: -1010111 则X2原码为: 11010111正数:反码和原码相同;负数:反码除符号位外,其他各数位均取反。
正数: 真值 X1=+1010111[X1]原=[X1]反= 0 1 0 1 0 1 1 1 负数: 真值 X2= -1010111 [X2]原= 1 1010111 [X2]反= 1 0101000正数:则其补码和反码相同;与原码也相同;负数:则其补码为反码加1的值。
正数:真值 X1=+1010111 [x1]补=[x1]反 =[x1]原 = 0 1010111 负数:真值 X2= -1010111 [X2]原= 11010111 [X2]反= 10101000 [X2]补= 10101001 1、 补码加减运算 (符号作为数值直接参与运算,变减法为加法运算。
) (1)补码加法运算:[X+Y]补=[X]补+[Y]补例:X1=+13,Y1=+6,X2=-13,Y2=-6,求X1+Y1、X2+Y2 00001101 + 00000110 [+6] 00010011 [+19]补 11110011 [-13]补 + 11111010 [-6]补 1 11101101 [-19]补进位为模,舍弃(2)补码减法运算:[X-Y]补=[X]补-[Y]补=[X]补+[-Y]补例:X1=+6,Y1=+8,X2=-6,Y2=-8,求X1-Y1、X2-Y2 解求[X1]补、 [-Y1]补、[X2]补、[-Y2]补00000110 [+6]补 + 11111000 [-(+8)]补 11111110 [-2]补11111010 [-6]补 + 00001000 [-(-8)]补 1 00000010 [+2]补2、溢出─运算过程中数据超出允许表示范围软件系统软件(操作系统,编辑、编译程序,故障诊断,监控程序…) 应用软件(科学计算,工业控制,数据处理…) 程序设计语言(机器语言、汇编语言、高级语言)例:X1=-5, Y1=-2,X2=-105,Y2=-91,求X1+Y1、X2+Y2 11111011 [-5]补 + 11111110 [-2]补 1 11111001 [-7]补 正确、无溢出 10010111 [-105]补 + 10100101 [- 91]补 1 00111100 [+ 60]补 出错、有溢出 注:以上例题都是以计算机的字长=8为例的,则表示的带符号数的范围在-128~+127之间, 若运算的结果超出这个范围,溢出(结果出错)。
第3章 80c51单片机教程

•这组指令的功能是把源字节送入Ri内容为地址的 单元,源字节寻址方式为立即寻址、直接寻址和 寄存器寻址(因目的字节采用寄存器间接寻址, 故源字节不能是寄存器及其间址寻址)。 例:若(R1)=30H,(A)=20H,执行指令 MOV @R1,A 后,(30H)=20H。
3.3.2
特殊传送指令
特殊传送指令的操作符为: MOVC、MOVX、PUSH、POP、XCH、 XCHD和 SWAP。 功能分别为:ROM查表、外部RAM读 写、堆栈操作和交换指令
3.3.1 一般传 送指令
一、16位传送
这条指令的功能是将源操作数data16(通 常是地址常数)送入目的操作数DPTR中。源 操作数的寻址方式为立即寻址。 例如: 执行指令 MOV DPTR,#1234H 后 (DPH)=12H,(DPL)=34H。
二、8位传送
目的字节 A Rn direct @Ri --源字节 A Rn direct @Ri #data
3.2 80C51的寻址方式
• 是寻找操作数或指令的地址的方式。
• 80C51的寻址方式有七种。即:寄存器寻 址、直接寻址、寄存器间接寻址、立即寻 址、基址寄存器加变址寄存器变址寻址、 相对寻址和位寻址。 若不特别声明,我们后面提到的寻址方式 均指源操作数的寻址方式。
3.2.1
寄存器寻址
操作数存放在寄存器中,指令中直接给出该寄存器名称的 寻址方式。可以获得较高的传送和运算速度。 寄存器可以是:R0~R7;A;B(以AB寄存器对形式出 现);DPTR。
MOV
在5种源字节中,只有#data不能用作目的字节。 所以可以用4种目的字节为基础构造4类指令。相应 的源字节选择依据是: •源字节与目的字节不相同(除direct外); •寄存器寻址与寄存器间接寻址间不相互传送。
单片机基础_80C51

5. 串行I/O口 目前高档 8 位单片机均设置了全双工串行 I/O 口,用以 实现与某些终端设备进行串行通信,或者和一些特殊功能 的器件相连接的能力,甚至用多个单片机相连构成多机系 统。随着应用的拓宽,有些型号的单片机内部还包含有二 个串行I/O口。 6. 定时器/计数器
3. 控制线:共4根。
· RST(VPD:备用电源引入端,当电源发生故障,电源降到下限值时, 备用电源经此端向内部 RAM提供电压,以保护内部RAM中的数据不 丢失)——复位输入信号,高电平有效。在振荡器工作时,在RST上 作用两个机器周期以上的高电平,将器件复位。 ·/EA(Vpp:编程电压,具体电压值视芯片而定)——片外程序存储 器访问允许信号,低电平有效。/EA=1,选择片内程序存储器(80C51 为4KB,80C52为8KB) ;/EA=0,则程序存储器全部在片外而不管片 内是否有程序存储器。 使用80C31时,必须接地,使用8751编程时,施加 21V的编程电 压。 · ALE(PROG:编程脉冲)——地址锁存允许信号,输出。 在访问片外存储器或 I/O 时,用于锁存低八位地址,以实现低八 位地址与数据的隔离。即使不访问外部存储器,ALE端仍以固定的频 率输出脉冲信号(此频率是振荡器频率的1/6)。在访问外部数据存储器 时,出现一个ALE脉冲。
在单片机中,常把寄存器(如工作寄存器、特殊功能 寄存器、堆栈等)在逻辑上划分在片内 RAM 空间中,所 以可将单片机内部 RAM 看成是寄存器堆,有利于提高运 行速度。
当内部 RAM 容量不够时,还可通过串行总线或并行 总线外扩数据存储器。
4. 并行I/O口
单片机往往提供了许多功能强、使用灵活的并行输入 /输出引脚,用于检测与控制。有些I/O引脚还具有多种功 能,比如可以作为数据总线的数据线、地址总线的地址线、 控制总线的控制线等。单片机 I/O 引脚的驱动能力也逐渐 增大,甚至可以直接驱动外扩的LED显示器。
80C51单片机内部结构和工作原理

80C51存储空间配置图 80C51存储空间配置图
程序存储器(ROM) 2.2.1 程序存储器(ROM)
地址范围:0000H~FFFFH, 64KB。其中: 地址范围:0000H~FFFFH,共64KB。其中: 低段4KB 0000H~ 4KB: 低段4KB:0000H~0FFFH 80C51和87C51在片内 80C31在片外 在片内, 在片外。 80C51和87C51在片内,80C31在片外。 高段60KB 1000H~FFFFH。在片外。 60KB: 高段60KB:1000H~FFFFH。在片外。 读写ROM MOVC指令 控制信号是PSEN EA。 ROM用 指令, PSEN和 读写ROM用MOVC指令,控制信号是PSEN和EA。
8031 80C31 8032 80C32
8051 80C51
(4K字节)
8751 87C51
(4K字节)
2x164ຫໍສະໝຸດ 8位158052 80C52
(8K字节)
8752 87C52
(8K字节)
256 字节
3x16
4x8位
1
6
1051(1K)/ 2051(2K)/ 4051(4K) 128 20条引脚DIP封装 条引脚DIP封装) (20条引脚DIP封装) 89C51(4K)/ 89C52(8K) 40条引脚DIP封装 条引脚DIP封装) (40条引脚DIP封装) 128/ 256
§2 - 1
内部结构和引脚功能
2.1.1 内部结构
MCS-51单片机基本特性
8 位的 CPU, 片内有振荡器和时钟电路,工作频率为 CPU, 片内有振荡器和时钟电路,
89Cxx Cxx为 24MHz MHz) 1~12MHz(Atmel 89Cxx为0~24MHz) 12MHz( MHz 片内有 128/256字节 RAM 128/256字节 片内有 0K/4K/8K字节 程序存储器ROM K/4K/8 程序存储器ROM 可寻址片外 64K字节 数据存储器RAM 64K 数据存储器RAM 可寻址片外 64K字节 程序存储器ROM 64K 程序存储器ROM 片内 21/26个 特殊功能寄存器(SFR) 21/26个 特殊功能寄存器(SFR) 4个8位 的并行I/O口(PIO) 的并行I/O I/O口 PIO) 1个 全双工串行口(SIO/UART) 全双工串行口(SIO/UART) 2/3个16位 定时器/计数器(TIMER/COUNTER) 16位 定时器/计数器(TIMER/COUNTER) 可处理 5/6个中断源,两级中断优先级 个中断源, 内置1个布尔处理器和1个布尔累加器(Cy) 内置1个布尔处理器和1个布尔累加器(Cy) MCS-51指令集含 111条指令 MCS-51指令集含 111条指令
微机原理 单片机 第3章 80C51的指令系统

(2)指令编码字节少。单字节指令有49 条,双字节指令有45条,三字节指令仅 有17条。 (3)位操作指令丰富,这使得80C51单 片机的控制功能方便灵活。
<
>
返回
三、指令编码格式
[标号]: 操作码 [目的操作数] [,源操作数] [;注释]
标号:表示指令的符号地址,可作为转移的目 标地址。 操作码:用来规定该指令要执行的操作性质, 如MOV,ADD,ORL,LJMP等,操作码通常可用1个 字节表示。 操作数:表示在执行过程中所完成的操作对象, 根据指令功能,可有0、1、2、3个操作数,用12个字节表示。 注释:方便用户阅读。
< > 返回
二、指令分类
80C51单片机系统共有111条指令,按指令 功能分为: ♦数据传送(28条) ♦算术运算(24条) ♦逻辑运算(25条) ♦控制转移(17条) ♦位操作指令(17条) 其指令系统的特点是: (1)执行时间短。单机器周期指令有64条,双 机器周期指令有45条,而四机器周期指令仅有 乘、除法2条。当主频为12MHz时,典型指令执 行时间为1us。
+5V C3 K R1 RST
89C51
相应程序:MOV P1,#00H;灯亮
ACALL delay ;延时 MOV P1,#01H;灯灭 ACALL delay
学习指导和要求
• 理解和掌握指令的 三种编码格式; • 熟练掌握七种寻址 方式; • 熟记各种类型的指 令格式及功能,并 能编写简单程序。
80C51的机器指令按编码的字节数可分为 如下三种指令编码格式:
1、单字节指令(49条)
7 0
opcode 7 opcode 3 2 reg 0 0 0 0 0 1 1 1 1
第3章80C51系列单片机指令系统

注意:
① 变址寻址方式只能对ROM(包括片外、片内)寻址,因 此只能用于读取数据,而不能用于存放数据,主要用 于查表性质的访问 ② 变址寻址指令有:(单字节两周期指令)
MOVC
MOVC
A,@A+PC
A,@A+DPTR
PC值不变
JMP
@A+DPTR
→PC值变
③ A中的数是无符号数,范围00H~FFH
寻址方式与相应的存储器空间
寻址方式 立即寻址 直接寻址 寄存器寻址 寄存器间接寻址 变址寻址 相对寻址 位寻址 程序存储器ROM 片内RAM低128字节,特殊功能寄存器SFR,程序存储器ROM 工作寄存器R0~R7,A,AB,DPTR,Cy 片内RAM低128字节(@R0、@R1、SP),片外RAM(@R0、 @R1、@DPTR) 程序存储器(@A+PC,@A+DPTR) 程序存储器当前PC−128 B~+127 B(字节)范围(PC+rel)
7.bit
位地址。代表片内RAM中的可寻址位00H~7FH及SFR 中的可寻址位。
8.其他符号
DPTR:数据指针,可用作16位的地址寄存器。 A:累加器。 B:专用寄存器,用于乘、除指令中。 C:进位标志。 /bit:表示对该位取反操作。 (X):X中的内容。 ((X)):由X所指出的单元中的内容。
例如:下列指令均采用的是立即数寻址方式: MOV P1, #55H ;将立即数55H送到P1口 MOV 20H, #55H ;将立即数55H送到20H单元中 MOV A, #0F0H ;将立即数0F0H送到累加器A中 MOV R4, #0FH ;将立即数0FH送到寄存器R4中 MOV R0, #20H ;将立即数20H送到寄存器R0中 ANL A, #0FH ;累加器A的内容与立即数0FH进行逻辑“与”操作 ORL A, #0F0H ;累加器A的内容与立即数0F0H进行逻辑“或”操作
第3章 80C51单片机的寻址方式和指令系统

(2)算术运算类指令(24条);
(3)逻辑运算及移位类指令(24条); (4)控制转移类指令(17条); (5)位操作类指令(17条)。
6
本节内容
3.1.1 汇编语言指令格式 3.1.2 机器码的三种格式 3.1.3 指令中常用符号说明
7
3.1.1 汇编语言指令格式
3.4.1 加法指令 3.4.2 减法指令 3.4.3 乘、除法指令
3.5 逻辑运算及移位类指令(24条)
3.5.1 逻辑与运算指令 3.5.2 逻辑或运算指令
3
第2章:80C51系列单片机基本结构及原理
3.5.3 逻辑异或运算指令 3.5.4 累加器清零、取反指令 3.5.5 循环移位指令
目录
3.6 控制转移类指令(17条)
解:指令执行过程如图3-3,结果:(A)= 60H 。 指令在ROM中的机器码为E8H,指令对应的机器码是:E8H=1110 1000B,二进 制的后三位000就是隐含的R0寄存器的编码,如果是R7其编码为111。 由于寄存器在CPU内部,所以采用寄存器寻址可以获得较高的运算速度。
31
32
能实现这种寻址方式的寄存器有: (1)工作寄存器 R0~R7 (4组工作寄存器均可) (2)累加器A (注:使用A为寄存器寻址,使用ACC为直接寻址) (3)寄存器B (注:以AB寄存器对的形式出现时为寄存器寻址,单独出现
一条完整的汇编语言指令通常由标号、操作码、操作数 (一般包括目的操作数和源操作数)及指令的注释构成。 指令格式: [标号:] <操作码> [操作数] [,操作数][;注释]
说明:
①在一条指令中,方括号中的内容可有可无,尖括号中的内容 必须有。
第3章 80C51单片机硬件基础知识

程序存储单元的分配
每次89C51复位后,程序计数器都为0,所以 复位后,程序计数器都为 ,所以CPU总是从 总是从0000H 每次 复位后 总是从 单元开始执行. 单元开始执行.
地址 0000H-0002H 0003H-000AH 000BH-0012H 0013H-001AH 001BH-0022H 0023H-002AH 002BH
2,外接晶振引脚 ,
功能:给芯片提供时钟信号. 功能:给芯片提供时钟信号. 外接晶振或钟振信号. 外接晶振或钟振信号.
3,控制信号引脚 ,
RST(9脚):复位信号输入端,高电平有效. 脚 :复位信号输入端,高电平有效.
ALE(30脚):地址锁存允许信号.当没有扩展外部存 脚 :地址锁存允许信号. 储器时,此引脚一般都不用.当芯片工作正常时, 储器时,此引脚一般都不用.当芯片工作正常时, ALE应该有方波信号输出. 应该有方波信号输出. 应该有方波信号输出 PSEN(29脚):当执行外部程序时,会有信号输出. 脚 当执行外部程序时 会有信号输出. 当执行外部程序时,
数据存储器--片内RAM 数据存储器--片内 --片内
地址范围为: 地址范围为:00H-FFH - 分成两部分: 是真正的RAM,可读写 分成两部分 00H-7FH是真正的 - 是真正的 , 80H-FFH是特殊功能寄存器(SFR) 是特殊功能寄存器( - 是特殊功能寄存器 )
寄存器的概念:它是CPU内部用来存放数据的一些 寄存器的概念:它是 内部用来存放数据的一些 小型存储区域, 小型存储区域,用来暂时存放参与运算的数据和运 算结果
第3章 章 80C51单片机硬件基础知识 单片机硬件基础知识
实例: 实例:电脑收费控制器
MCS-51系列单片机的性能表 MCS-51系列单片机的性能表
C51单片机的存储器结构ppt课件

线上可以最大扩展64K的RAM,可独立寻址,有公 用指令系统〔MOVX传送指令〕,不能用于数据的 运算及处置,所以仅有4条指令,两条读,两条写, 用于普通数据的存放,地址为0000H-FFFFH。寻 址方式采用存放器间接寻址的方式,如MOVX A , @DPTR.,指令中DPTR,开辟在特殊功能存放器 〔SFR〕中,是一个16位的数据存储器〔数据指针
图3-3 内部数据存储器构造
7FH
用户区
30H 2FH
位寻址区
20H 1FH
工作寄存 器区
00H
〔1〕任务存放器区〔00H~1FH〕
共32个单元,又分为4组,每组8个单元,都用 R0~R7表示,如图3-4所示,
1FH
R7
3组
18H
R0
17H
R7
2组
10H
R0
0FH
R7
1组
08H
R0
07H
R7
06H
3-5所示, 指令MOV A , @R0 操作表示。 可以用〔〔R0〕〕=(40H)=AAH表示。
40H 1 0 1 0 1 0 1 0 30H 2FH 20H 1FH 00H 0 1 0 0 0 0 0 0 R0
注:
★ 在存放器寻址中〔Rn〕,这4组存放器,由 用户运用中经过PSW中的RS1和RS0的设定,来确 定用户运用的组。
1000H 0FFFH
外部程序储 存器64K (ROM)
80H 7FH 内部数据
储存器
128B (SRAM) 00H
0000H
内部程序储 存器4K
(ROM)
0000H
★内部数据存储器和外部数据存储器相互之间独立编址,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
19:21
2
单片机是一个大规模集成电路芯片,但仅有一块 单片机不能完成特定的控制任务,只有当它与其他 器件和设备有机地组合在一起并配以特定的程序时, 才能构成一个真正的单片机应用系统,完成特定的 任务。
在单片机应用系统中单片机是核心器件,要设 计单片机应用系统,必须首先掌握单片机的硬件基 础知识。
5
3×16位
6
3×16位
6
在不同型号的MCS-51系列单片机中,除片内存储器(ROM、RAM)
容量与种类、定时器/计数器的个数、中断源的数量有所不同外,
指令系统和芯片引脚是完全兼容的。
19:21
5
它们的主要硬件特性:
(1) 8位CPU。 (2) 片内带振荡器,振荡频率fosc范围为1.2~12MHz;可有时钟输出。 (3) 128/256B的片内数据存储器。 (4) 0/4/8KB的片内程序存储器。 (5) 程序存储器的寻址范围为64KB。 (6) 片外数据存储器的寻址范围为64KB。 (7) 21/26个字节专用寄存器。
19:21
9
表3-2 不同制造厂商的51单片机芯片型号列表
制造厂商
单片机型号
AT(Atmel)
AT89C51,AT89C52,AT89C53,AT89C55,AT89LV52, AT89S51,AT89S52,AT89LS53等
Philips(飞利浦) STC
P80C54,P80C58,P87C54,P87C58,P87C524, P87C528等
由于EPROM型单片机使用不方便,现在己很少使用, 普遍采用Flash EEPROM型单片机代替;
OTP ROM单片机在中小批量的单片机产品中使用较多;
Mask ROM型单片机由于其程序存储的高可靠性和低 成本特点,适合于大批量的单片机应用场合。
由于片内存储器成本的降低,目前趋向于选择具有大
容量的片内程序存储器的单片机,片外不用再扩展程序存
第ቤተ መጻሕፍቲ ባይዱ章 80C51系列单片机的硬件基础
19:21
1
内容
3.1 8051系列单片机概述 3.2 80C51系列单片机引脚功能 3.3 80C51系列单片机的编程结构
3.4 80C51系列单片机的存储器
3.5 80C51单片机的工作方式
3.6 80C51系列单片机的时序
3.7 80C51单片机最小应用系统
Siemens(西门子) C501-1R,C501-1E,C513A-H,C503-1R,C504-2R
19:21
10
19:21
单片机芯片的命名规则
11
3.1.3 80C51系列单片机的选择依据
不同型号的80C51单片机,内部资源或多或少有些 差异,我们在选择时,可从以下几个方面考虑: 1. 程序存储器 2. 数据存储器 3. 功耗 4. 体积
储器。
19:21
13
2. 数据存储器
单片机片内数据存储器目前供应的类型有SRAM静态 数据存储器,少数单片机片内有EEPROM非易失性数据存 储器。51子系列片内RAM有128B,52子系列片内RAM有 256B,52子系列向下兼容51子系列,两者价格目前基本持 平,选择52子系列在使用上更为方便、灵活。
19:21
7
早期的MCS-51系列单片机是采用HMOS工艺制造的,具有高速度、 高密度的特点,但功耗较大。
出于对降低功耗的要求,MCS-51系列单片机后来推出的产品采用 了CMOS和HMOS结合的CHMOS工艺。
采用CHMOS工艺制造的51子系列对应的低功耗产品分别为80C31、 80C51、87C51,52子系列对应的低功耗产品分别为80C32、80C52。
3. 功耗
许多公司都供应低电压的80C51系列单片机,具有低功 耗的特点,例如,Atmel公司的AT89LV51和AT89LV52, 它的工作电压范围为2.7~6V,可直接替换相应的5V工作 电压芯片。
STC89C51RC,STC89C52RC,STC89C53RC, STC89LE51RC,STC89LE52RC,STC12C5412AD等
Winbond(华邦) W78C54,W78C58,W78E54,W78C58等
Intel(英特尔) i87C54,i87C58,i87L54,i87C51FB,i87C51FC
MCS-51系列 型号 片内ROM
片内 RAM
51子序列 (基本型)
52子序列 (增强型)
8031
无
8051 4KB掩膜ROM
8751 4KB EPROM
8032
无
8052 8KB掩膜ROM
128B 128B 128B 256B 256B
定时器/计数 中断源数量 器
2×16位
5
2×16位
5
2×16位
19:21
3
3.1 8051系列单片机概述
3.1.1 MCS-51系列单片机
1980年美国INTEL公司推出了高性能的8位单片机: MCS-51系列单片机。 系列单片机是指同一厂家生产的具有相同系统结构 的多种型号的单片机。
MCS-51系列单片机又可分为51和52两个子系列。
19:21
4
各个子系列所含有的芯片型号及其硬件资源的区别如表3-1所示。
19:21
12
1. 程序存储器
程序存储器用于存放单片机应用系统的目标程序。通过
编程器或直接在系统编程(ISP)将目标程序写入单片机。
单片机的程序存储器目前供应的类型有EPROM、 OTPROM、Mask ROM和Flash EEPROM。容量有1KB、 2KB、4KB、8KB、16KB、32KB和64KB。
19:21
8
3.1.2 8051内核单片机简介
上世纪80年代中期Intel公司将MCS-51的内部核心技术以专 利转让或互换的形式逐步授权给了很多其它厂商,使得 8051单片机发展为数十种系列,上百种产品。
各种具有8051内核的单片机与MCS-51系列单片机的指令系 统完全兼容,都采用了低功耗的CHMOS工艺,统称为 80C51单片机,
19:21
6
(8) 4个8位并行I/O接口:P0、P1、P2、P3。 (9) 1个全双工串行I/O接口,可多机通信。 (10) 2/3个16位定时器/计数器。 (11) 中断系统有5/6个中断源,可编程为两级优先级。 (12) 111条指令,含乘法指令和除法指令。 (13)含布尔处理器,有强的位寻址、位处理能力。 (14) 片内采用单总线结构。 (15) 用单一+5V电源。