第3章80C51系列单片机的硬件基础知识
第3章80C51单片机汇编语言概述

30H R0
R0~R7、A、B(AB形式) E8H MOV A,R0
操作数 在R0
和DPTR
RAM
特点: 传送和执行速度快
30H
ACC
ROM
SFR
2019/12/16
7
二、 直接寻址
操作码后字节存放的是操作数的地址
寻址空间: 片内RAM低128字节 SFR(符号形式)
【例】若(50H)=3AH , 执行MOV A,50H后,(A)=3AH
3.3.1 状态控制伪指令
伪指令,也叫汇编命令。仅对汇编过程进行指示 伪指令无对应的单片机可执行代码
一 起始地址设定伪指令ORG
ORG 表达式 表达式通常为十六进制地址,例:
ORG 8000H START:MOV A,#30H
……
ORG可多次使用,但地址值的顺序要由小到大顺序设置
二 结束汇编伪指令END
MOV @R0,A ;(R0)←A MOV @R0,#55H ;(R0)←#55H MOV @R0,55H ;(R0)←(55H)
【例3-10】执行指令 MOV R6,#50H 后,(R6)= 50H
【例3-11】若(R1)=50H,(50H)=18H,执行指令 MOV 40H,@R1 后,(40H)=18H
单字节指令(49条
) 8位编码仅为操作码 位号 字节 如:INC A 编码为:
76543210 opcode
0 0 0 0 0 1 0 0 即:04H
8位编码含操作码和寄存器编码 位号 7 6 5 4 3 2 1 0
如:MOV A,R0 编码为:
字节 opcode r r r
1 1 1 0 1 0 0 0 即:E8H
以direct为目的,例如:
第三章 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版)第1章计算机基础知识(一)填空题1.十进制数14对应的二进制数表示为(1110B),十六进制数表示为(0EH)。
十进制数-100的补码为(9CH),+100的补码为(64H)。
2.在一个非零的无符号二进制整数的末尾加两个0后,形成一个新的无符号二进制整数,则新数是原数的(4)倍。
3.8位无符号二进制数能表示的最大十进制数是(255)。
带符号二进制数11001101转换成十进制数是(-51)。
4.可以将各种不同类型数据转换为计算机能处理的形式并输送到计算机中去的设备统称为(输入设备)。
5.已知字符D的ASCII码是十六进制数44,则字符T的ASCII码是十进制数(84)。
6.若某存储器容量为640KB,则表示该存储器共有(655360)个存储单元。
7.在计算机中,二进制数的单位从小到大依次为(位)、(字节)和(字),对应的英文名称分别是(bit)、(Byte)和(Word)。
8.设二进制数A=10101101,B=01110110,则逻辑运算A∨B=(11111111),A∧B=(00100100),A⊕B=(11011011)。
9.机器数01101110的真值是(+110),机器数01011001的真值是(+89),机器数10011101的真值是(+157或-115),机器数10001101的真值是(+206或-50)。
(二)单项选择题1. 用8位二进制补码数所能表示的十进制数范围是(D)(A)-127 ~ +127 (B)-128 ~ +128(C)-127 ~ +128 (D)-128 ~ +1272. 下列等式中,正确的是(B)(A)1 KB = 1024×1024 B (B)1 MB = 1024×1024 B(C)1 KB = 1024 M B (D)1 MB = 1024 B3. 程序与软件的区别是(C)(A)程序小而软件大(B)程序便宜而软件昂贵(C)软件包括程序(D)程序包括软件4. 存储器中,每个存储单元都被赋予惟一的编号,这个编号称为(A)(A)地址(B)字节(C)列号(D)容量5. 8位二进制数所能表示的最大无符号数是(B)(A)255 (B)256 (C)128 (D)1276. 下列4个无符号数中,最小的数是(B)(A)11011001(二进制)(B)37(八进制)(C)75(十进制)(D)24(十六进制)7. 下列字符中,ASCII码最小的是(B)(A)a (B)A (C)x (D)X8. 下列字符中,ASCII码最大的是(C)(A)a (B)A (C)x (D)X9. 有一个数152,它与十六进制数6A相等,那么该数是(B)(A)二进制数(B)八进制数(C)十进制数(D)十六进制数第2章80C51单片机的硬件结构(一)填空题1.通过堆栈实现子程序调用,首先要把(PC)的内容入栈,以进行断点保护。
单片机,第三章答案

单片机,第三章答案本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March思考题:【3-1】汇编语言与C语言哪种语言的可读性和可移植性强在对速度和时序敏感的场合应该使用什么语言对于复杂的单片机系统一般采用C与汇编混合编程的形式这句话对吗【3-2】二进制机器语言与C和汇编语言两者之间是什么关系用C或汇编编制的程序在ROM中是以编译后的二进制代码的形式存放这句话对吗【3-3】80C51系列单片机指令的格式包含哪几个部分各部分之间的间隔符是什么四个部分中哪个部分是必须存在的,哪几个部分是可有可无的标号的格式和代表的意义是【3-4】80C51系列单片机有哪几种寻址方式【3-5】80C51单片机中立即数是存放在ROM中还是RAM中【3-6】判断下列说法是否正确。
(1)立即数寻址方式是被操作的数据本身就在指令中,而不是它的地址在指令中。
()(2)指令周期是执行一条指令的时间。
()(3)指令中直接给出的操作数称为直接寻址。
()(4)内部寄存器Rn(n=0~7)可作为间接寻址寄存器。
()【3-7】80C51单片机可以进行直接寻址的区域是【3-8】80C51单片机可以进行寄存器寻址的范围是【3-9】80C51单片机可以进行寄存器间接寻址的寄存器是寻址的范围是【3-10】在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的()。
【3-11】80C51单片机变址寻址方式中可以作基址的寄存器是可以作变址的寄存器是@A+PC,@A+DPTR所找到的操作数是在ROM中对吗【3-12】80C51单片机相对寻址改变的是PC的当前值,即改变的CPU执行指令的顺序这句话对否【3-13】若访问特殊功能寄存器,只可以采用那种寻址方式【3-14】若访问外部RAM单元,只可以使用哪种寻址方式【3-15】若访问内部RAM单元,可使用哪些寻址方式【3-16】若访问内外程序存储器,可使用哪些寻址方式【3-17】80C51单片机可以进行位寻址的字节单元范围除11个可位寻址的特殊功能寄存器外还包括哪个区域分别找出位地址是00H、08H、22H、7FH、D0H、E0H对应的字节地址【3-18】已知(30H)=40H,(40H)=10H,(10H)=32H,(P1)=0EFH,试写出执行以下程序段后有关单元的内容。
80c51单片机复习习题

程序存储器
1、程序存储器为16位编址,由PC程序计数器寻址。 、程序存储器为 位编址 位编址, 程序计数器寻址。 程序计数器寻址 2、与程序存储器寻址有关的引脚 、与程序存储器寻址有关的引脚EA EA,访问内部或外部程序存储器选择信号。 ,访问内部或外部程序存储器选择信号。 高电平,访问内部程序存储器。 高电平,访问内部程序存储器。 低电平,直接访问外部程序存储器。 低电平,直接访问外部程序存储器。 3、0000H~0002H:程序的起始,一般存放一条绝对跳转指令 :程序的起始, 、 例:LJMP 0050H 4、 0003H~002AH:5个中断服务程序 、 : 个中断服务程序 0003H 外部中断 外部中断0 000BH 定时器 溢出中断 定时器0溢出中断 0013H 外部中断 外部中断1 001BH 定时器 溢出中断 定时器1溢出中断 0023H 串行口中断
五、I/O端口 端口
1、端口结构(了解) 、端口结构(了解) 2、第一功能,熟悉如何对I/O端口进行读、写操作。 、第一功能,熟悉如何对 端口进行读、写操作。 端口进行读 3、第二功能,各I/O端口的第二功能(掌握) 、第二功能, 端口的第二功能( 端口的第二功能 掌握) 4、80C51的总线结构(掌握) 、 的总线结构( 的总线结构 掌握)
操作数的寻址方式
7种寻址方式,名称、格式、寻址范围 种寻址方式,名称、格式、 种寻址方式 1、寄存器寻址 3、寄存器间接寻址 5、相对寻址 7、位寻址 2、直接寻址 4、立即寻址 6、变址寻址
操作数的寻址方式
写出以下指令源操作数的寻址方式: 写出以下指令源操作数的寻址方式: MOV A, R5 ;寄存器寻址 寄存器寻址 ADD A, @R0 ;寄存器间接寻址 寄存器间接寻址 SUBB A, #50H ;立即寻址 立即寻址 ADDC A, 50H ;直接寻址 直接寻址 MOV A, P0 ;直接寻址 直接寻址 MOVC A, @A+DPTR ;变址寻址 变址寻址 MOVX A, @R0 ;寄存器间接寻址 寄存器间接寻址 SETB 20H ;位寻址 位寻址 CLR P1.0 ;位寻址 位寻址 JC EXIT ;相对寻址 相对寻址
02第二章 80C51单片机的硬件

北华航天工业学院
程序计数器PC 程序计数器PC
16位寄存器,用于存放将要执行的指令的地址, 16位寄存器,用于存放将要执行的指令的地址,
可寻址64K范围.PC在物理结构上相对独立,不 可寻址64K范围.PC在物理结构上相对独立,不 属于SFR,如将要执行的指令为多字节指令,则 属于SFR,如将要执行的指令为多字节指令,则 PC存放指令的第一个字节的地址. PC存放指令的第一个字节的地址. PC的功能: PC的功能: 复位功能 计数功能 直接置位功能
北华航天工业学院
表2-5 RS1,RS0与寄存器区的关系 , 与寄存器区的关系
RS1 RS0 当前区号(组 当前区号 组) R0~R7地址 ~ 地址
0 0 1 1
0 1 0 1
0 1 2 3
00H~07H ~ 08H~0FH ~ 10H~17H ~ 18H~1FH ~
北华航天工业学院
(2).位寻址区
北华航天工业学院
2,ቤተ መጻሕፍቲ ባይዱ部数据存储器 ,
由于MCS-51子系列单片机内部数据存储器只有128个
字节,往往不够用,这就需要扩展外部数据存储器, 外部数据存储器最多可扩至64KB. 访问外部存储器需要利用外部总线进行地址和数据的 传输,此时用P0,P2口 P0 P2 访问外部数据存储器只能用间接寻址,两种方式: DPTR和Ri(i=0,1),并有专用指令
北华航天工业学院
2.3 MCS-51单片机的引脚功能 MCS-51单片机的引脚功能
MCS-51 单片机共有40 个引脚. MCS-51单片机共有 40个引脚 .
北华航天工业学院
北华航天工业学院
2.4 MCS-51单片机存储器 MCS-51单片机存储器
80C51 单片机的硬件结构 思考题及答案
1 、如何理解51单片机存储空间在物理结构上可分为4个,而逻辑上又可划分为3个答:MCS-51在物理上有四个存储空间:1、片内程序存储器2、片外程序存储器、3、片内数据存储器4、片外数据存储器。
从逻辑上划分有三个存储器地址空间:1、片内外统一编址的64K字节程序存储器(0000H~0FFFFH)2、内部256字节数据存储器地址空间(包括128字节片内RAM和128字节的SFR)3、外部64K字节数据存储器地址空间(0000H~0FFFFH))2 、MCS-51片内RAM的容量8051最大可配置的RAM/ROM容量答:1)MCS-51片内RAM的容量:51子系列:128B52子系列:256B2)其ROM最大可扩展到64KB注:片内数据存储区=片内RAM+SFR,51和52子系列的SFR容量都是128B3 、8051的/PSEN、/RD、/WR的作用答:1)/PSEN(外部程序存储器读选通信号): CPU访问片外ROM时,使/PSEN低电平有效,可实现片外ROM的读操作,其他情况下此引脚为高电平封锁状态。
·2)/RD:外部RAM读信号3)/WR:外部RAM写信号4 、ALE线的作用当8051不和RAM/ROM相连时,ALE线的输出频率是多少答:1)ALE(地址锁存控制信号):访问片外ROM,RAM时,ALE用于控制把P0口输出的低8位地址送入锁存器锁存,实现低位地址和数据的分时传送。
不访问片外存储器时,可做为外部时钟使用。
2)当8051不和RAM/ROM相连时,ALE线的输出频率等于时钟周期的倒数<5 、MCS-51的工作寄存区包含几个通用工作寄存器组每组的地址是什么如何选用开机复位后,CPU使用的是哪组工作寄存器答:1)MCS-51的工作寄存区包含4个通用工作寄存器组2)第0组通用寄存器区地址:00H~07H第1组通用寄存器区地址:08H~0FH第2组通用寄存器区地址:10H~17H第3组通用寄存器区地址:18H~1FH3)选择哪个工作寄存器组是通过软件对程序状态字寄存器PSW的第4、3位进行设置实现的4(6、MCS-51的内部RAM地址空间是如何安排的共有多少个单元可以位寻址位地址又是如何排列的答:1)MCS-51的内部RAM地址的空间安排:00H~1FH 寄存器区20H~2FH 位寻址区30H~7FH 数据缓冲区80H~FFH 专用寄存器区2)位寻址的单元个数:16B*8位/B=128位3)位地址排列方式:|位地址为:00H~7FH字节地址:20H~2FH7 、MCS-51的程序计数器PC是几位寄存器它是否为专用寄存器PC 的内容是什么信息答1)MCS-51的程序计数器PC是16位寄存器2)它不是专用寄存器3)PC的内容为将要执行的指令地址{8 、什么是堆栈堆栈指针SP的作用是什么在程序设计时,有时为什么要对SP重新赋值如果CPU在操作中要使用两组工作寄存器,SP 的初值应设为多少答:1)堆栈是一种数据结构,专门存放向上生长堆栈的栈顶位置。
80C51 的中断源和中断控制寄存器_单片机原理与接口技术(第2版)_[共3页]
80C51系列单片机的中断系统和定时/计数器116第5章③ 正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。
5.1.2 80C51的中断源和中断控制寄存器1.中断源中断源是指向CPU 发出中断请求的信号来源。
中断源可以人为设定,也可以响应突发性随机事件。
80C51系列单片机有5个中断源,其中2个是外部中断源,3个是内部中断源。
① INT0—外部中断0,从P3.2引脚输入的中断请求。
② INT1—外部中断1,从P3.3引脚输入的中断请求。
③ T0—定时/计数器T0,定时器0溢出发出中断请求,计数器0从外部P3.4引脚输入计数脉冲中断请求。
④ T1—定时/计数器T1,定时器1溢出发出中断请求,计数器1从外部P3.5引脚输入计数脉冲中断请求。
⑤ 串行口中断,包括串行接收中断RI 和串行发送中断TI 。
2.中断控制寄存器80C51系列单片机涉及中断控制有中断请求、中断允许和中断优先级控制3个方面4个特殊功能寄存器,按图5-2所示从左到右分别如下。
① 中断请求寄存器:包括定时和外中断控制寄存器(TCON )、串行控制寄存器(SCON )。
② 中断允许控制寄存器IE 。
③中断优先级控制寄存器IP 。
对4个寄存器的理解,要结合图5-2来进行分析,不可单独记忆,现分别予以说明。
(1)定时和外中断控制寄存器(TCON )INT0、INT1、T0、T1中断请求标志放在TCON 中,串行中断请求标志放在SCON 中。
TCON 的结构、位名称、位地址和功能见表5-1。
表5-1 TCON 的结构、位名称、位地址和功能(字节地址88H )① TF1—T1溢出中断请求标志。
当定时/计数器T1计数溢出后,由CPU 内硬件自动置1,表示向CPU 请求中断。
CPU 响应该中断后,片内硬件自动对其清零。
TF1也可由软件程序查询其状态或由软件置位清零。
② TF0—T0溢出中断请求标志。
其意义和功能与TF1相似。
③ IE1—外中断INT1中断请求标志。
8051单片机
介绍:8051是MCS-51系列单片机的最初成员,是所有MCS-51设计的核心。
8051核心的特点是:•应用8 位CPU优化控制。
•广阔的布尔处理(单位逻辑)功能。
•64 K程序存储器地址空间。
•64 K数据存储器地址空间。
•4K字节的片内程序存储器。
•128字节的片内数据存储器。
•32个双向和独立寻址的I / O线•两个16位定时器/计数器。
•全双工UART。
•6-源/ 5-矢量的两个优先级中断结构。
•内部时钟震荡器。
8051 核心特点的基本结构,如图 1 所示图1. 8051的核心框图ROM/OTP ROM/EPROM (bytes): ■ROM = 系统软件标准BIOS速度(MHz) 241 = 24 MHz 内部唯一的执行频率20* = 20MHz时供参考的温度范围锁定位 1 = 1锁定位为20MHz及24MHz部分,无锁定位为12及16MHz部分 = 程序无法执行,访问外部存储器限制为4K 8XC152产品系列 = 通信控制器8XC51SL产品系列 = 键盘控制器CHMOS 设备功能上,CHMOS设计(指定设计名称中的“C”)与8051完全兼容,但CMOS,电流相对小于当前的HMO。
要进一步利用 CMOS 电路节省可用的电源,加入两种低功耗模式:软件调用空闲模式,在此期间,CPU被关闭,而RAM和其他芯片外围设备继续运行。
在这种模式下,该设备充分激活时,电流消耗大约减少15%。
软件调用掉电模式,在此期间,芯片上的所有活动都暂停。
该芯片上的RAM继续保持数据。
在这种模式下通常电流少于10 uA。
虽然80C51BH与HMOS在功能上是兼容的,但这两种类型的设计之间的存在差异,必须考虑应用电路的设计,如果确保在HMOS与CHMOS设备之间能够完全转换。
这些设计应用注释AP-252,“与80C51BH设计”一起讨论。
关于单独设计和表1中列出的功能的更多信息,请参阅硬件说明和具体设备的数据表。
在MCS®-51设计中的存储器程序和数据存储器的逻辑分离所有MCS-51设计的程序和数据存储器具有独立的地址空间,如图2所示,程序和数据存储器的逻辑分离,允许访问8位数据存储器地址,可以更迅速地由一个8位CPU存储和操纵。
80C51单片机引脚图及引脚功能介绍
80C51单片机引脚图及引脚功能介绍首先我们来介绍一下单片机的引脚图及引脚功能(如下图所示),引脚的具体功能将在下面详细介绍单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。
⒈电源:⑴ VCC - 芯片电源,接+5V;⑵ VSS - 接地端;⒉时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。
⒊控制线:控制线共有4根,⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲① ALE功能:用来锁存P0口送出的低8位地址② PROG功能:片内有EPROM的芯片,在EPROM 编程期间,此引脚输入编程脉冲。
⑵ PSEN:外ROM读选通信号。
⑶ RST/VPD:复位/备用电源。
① RST(Reset)功能:复位信号输入端。
② VPD功能:在Vcc掉电情况下,接备用电源。
⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。
① EA功能:内外ROM选择端。
② Vpp功能:片内有EPROM的芯片,在EPROM 编程期间,施加编程电源Vpp。
⒋ I/O线80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。
P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
拿到一块单片机,想要使用它,首先必须要知道怎样去连线,我们用的一块89C51的芯片为例,我们就看一下如何给它连线。
1、电源:这当然是必不可少的了。
单片机使用的是5V电源,其中正极接40管脚,负极(地)接20管脚。
2、振蒎电路:单片机是一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。
只要买来晶体震荡器,电容,连上就能了,按图1接上即可。
3、复位管脚:按图1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。
4、EA管脚:EA管脚接到正电源端。
至此,一个单片机就接好,通上电,单片机就开始工作了。
我们的第一个任务是要用单片机点亮一只发光二极管LED,显然,这个LED必须要和单片机的某个管脚相连,不然单片机就没法控制它了,那么和哪个管脚相连呢?单片机上除了刚才用掉的5个管脚,还有35个,我们将这个LED和1脚相连。