单片机mcs_8051程序

合集下载

8051单片机的基本组成

8051单片机的基本组成
docin/sundae_meng
4. CPU标志寄存器
PSW CY AC F0 RS1 RS0 OV — P
CY:进位标志,有进位或借位时 为1,否则为0
AC:辅助进位标志,当D3向D4有
进位或借位时为1,否则为0
11
第3组
F0:用户标志
10
第2组
01
第1组
RS1、RS0:工作寄存器组选择 0 0 第 0 组
二.特殊功能寄存器(高128个单元)
MCS-51内部安排有21个特殊功能寄存器各特 殊功能寄存器的符号及地址(见 P22 表2-6 )。 分别组成以下各个功能模块:
CPU:ACC、B、PSW、SP、DPTR(由两 个8位寄存器DPL、DPH组成)(见P11图2-3)
并行口:P0、P1、P2、P3
中断系统:IE、IP
RAM位寻址区位地址表(P11)
单元地址
2FH 2EH 2DH 2CH 2BH 2AH 29H 28H 27H 26H 25H 24H 23H 22H 21H 20H
MSB
7FH 77H 6FH 67H 5FH 57H 4FH 47H 3FH 37H 2FH 27H 1FH 17H 0FH 07H
1-3 MCS-51系列单片机的内部资源 8051单片机的基本组成
时钟电路
CPU
T0 T1
ROM
RAM
定时计数器
控 制 电 路
并行接口 串行接口
中断系统
P0 P1 P2 P3 TXD RXD INT0 INT1
结构框图
docin/sundae_meng


并8中位行央的I/处OI/O口理口:P器40个、
... ...

第二讲 第2章 MCS-51单片微型计算机结构

第二讲 第2章  MCS-51单片微型计算机结构

S1
S2
S3
读下一个操作 码(丢弃) P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P S1 S2 S3 S4 S5 S6 S1 (a) 单字节,单周期指令 例:MOV A R1
读操作码 读操作码 读第二字节
2
P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P S1 S2 S3 S4 S5 S6 S1 (b) 双字节,单周期指令 例:ADD A dir 读操作码
MCS-51单片机的结构原理
一、计算机的经典组成 计算机的经典结构见 图1.1 所示。这种结 构是由计算机的开 拓者——数学家约 翰· 诺依曼最先提 冯· 出的,所以就称之 为冯· 诺依曼计算机 体系结构,也叫普 林斯顿结构。
图 1.1 计算机经典结构
二、 MCS-51单片机的基本组成
(一) 8051单片机的结构
﹡IP B8H ﹡IE A8H TMOD ﹡TCON TL0 TH0 TL1 TH1 PCON ﹡SCON 寄存器 SBUF
IP.7~IP.0 BFH~B8H 中断优先控制器 IE.7~IE.0 AFH~A8H 中断允许控制器 89H 定时器方式选择 88H TCON.7~TCON.0 8FH~88H 定时控制寄存器 8AH 定时器T0低8位 8CH 定时器T0高8位 8BH 定时器T1低8位 8DH 定时器T1高8位 87H 电源控制及波特率选择 98H SCON.7~SCON.0 9FH~98H 串行口控制 99H 串行口数据缓冲器
F0H E0H D0H B8H B0H A8H A0H 98H 90H 88H 80H
特 殊 功 能 寄 存 器 中 位 寻 址
FFFFH 外部 RAM

8051中断执行流程

8051中断执行流程

8051微控制器的中断执行流程如下:
1.当一个外部或内部中断源被触发时,8051微控制器会响应中断请求。

2.控制器将当前正在执行的指令存储到堆栈中,以便在中断处理完毕后返回
到原来的执行点。

3.控制器将中断向量地址加载到程序计数器( PC)中,跳转到相应的中断服
务程序 ISR)的起始地址。

4.在进入中断服务程序之前,控制器会保存当前寄存器的值,以便在退出中
断服务程序后恢复原始状态。

5.在中断服务程序中,微控制器执行相应的操作,例如读取或写入数据、控
制外设等。

6.中断服务程序执行完毕后,控制器从堆栈中恢复寄存器的值,返回到原来
被中断的程序执行点。

7.如果中断允许位被设置为允许,控制器会清除对应的中断标志位,以便允
许下一次该中断的发生。

通过以上步骤,8051微控制器能够响应并处理外部或内部的中断请求,保证程序的实时性和响应性。

3单片机原理与应用(同济出版社魏鸿磊):第三章 MCS-51单片机结构与原理

3单片机原理与应用(同济出版社魏鸿磊):第三章 MCS-51单片机结构与原理
定时/计数器:实现定时或计数功能。 输入输出接口(I/O)实现单片与其他设备之间的数据传
送。 中断控制系统: 用于响应中断源的中断请求; 时钟电路:为单片机产生时钟脉冲序列,使其正常工作。
DATE: 2019/6/25
PAGE: 5
二、8051单片机引脚
电 源 引 脚 : VCC (40 脚 ) 和 VSS(20脚)分别接供电电源正极 和负极。
P2口结构与工作原理
P2口可以作为通用I/O口 使用,也可在存储器扩展时 作高位地址线使用。
当P2口作为高位地址线使 用时,多路转换开关接通“ 地址”端,从而在P2口的引 脚上输出高8位地址(A8-A15 )。
当P2口作为通用的I/O口 使用时多路转换开关接锁存 器输出端,输出过程与P1口 基本相同。
PAGE: 15
三、并行输入/输出端口结构
P3口做通用I/O口使用
输 出 : “ 第 二 输 出 功 能 ” 信 号线保持高电平,使与非门的 输出由锁存器输出端决定,使 输出信号由锁存器经与非门控 制场效应管的通断得到。
输入:锁存器置“1”且使“ 第二输出功能”线保持高电平 ,从而使场效应管截止,使输 入 数 据 通 过 三 态 缓 冲 器 G2 的 输 出端得到。
由于P1口只能作为通用的I/O 口使用,其输入和输出都由总 线 经 锁 存 器 控 制 , 过 程 与 P0 口 相似。
由 于 电 路 中 已 有 上 拉 电 阻 , 使引脚可获得高电平输出,所 以在使用时无需再外接上拉电 阻。
DATE: 2019/6/25
PAGE: 13
三、并行输入/输出端口结构
4.EA的作用是什么?
5.RST 的作用是什么?
6.ALE 的作用是什么?

8051单片机常用指令

8051单片机常用指令

8051单⽚机常⽤指令3.2.1数据传送与交换类指令共有28条指令,包括以A,Rn,DPTR,直接地址单元,间接地址单元为⽬的的操作数的指令;访问外部RAM的指令;读程序存储器的指9.堆栈操作3.2 分类指令在介绍各条分类指令之前,将指令中的操作数及注释中的符号说明如下。

Rn:当前指定的⼯作寄存器组中的Ro-R7(其中n=0,1,2,…,7)。

Ri:当前指定的⼯作寄存器组中的RO,R1(其中i=0,1)。

(Ri):Ri间址寻址指定的地址单元。

((Ri)):Ri间址寻址指定地址单元中的内容。

dir:8位直接字节地址(在⽚内RAM和SFR存储空间中)。

#data8:8位⽴即数。

#datal6:16位⽴即数。

addrl6:16位地址值。

addrll:11位地址值。

bit:位地址(在位地址空间中)。

rel:相对偏移量(⼀字节补码数)。

下⾯介绍各条分类指令的主要功能和操作,详细的指令操作说明及机器码形式可见附录。

3.2.1数据传送与交换类指令共有28条指令,包括以A,Rn,DPTR,直接地址单元,间接地址单元为⽬的的操作数的指令;访问外部RAM的指令;读程序存储器的指令;数据交换指令以及准栈操作指令。

9.堆栈操作PUSH dir ;SP⼗1-6P,(dir)⼀(SP)POP dir ;((SP))⼀dir,SP-1--P ,例1 SP=07H,(35H)=55H,指令PUSH 35H执⾏后,55H送⼊08H地址单元,SP=08H。

例2 SP=13H,(13H)= 1FH,指令POP 25H执⾏后,1FH压⼊25H地址单元,SP此时为12H。

综合例把⽚内RAM中50H地址单元中的内容与40H地址单元中的内容互换。

⽅法⼀(直接地址传送法):MOV A ,50H数据传送与交换类指令是各类指令中数量最多、使⽤最频繁的⼀类指令,编程时应能⼗分熟练地灵活运⽤3.2.2算术运算类指令共有24条指令,主要包括加、减、乘、除、增量、减量和⼗进制调整等指令。

MCS-51单片机汇编指令详解

MCS-51单片机汇编指令详解

MCS-51单片机汇编指令详解以累加器为目的操作数的指令MOV A,RnMOV A,directMOV A,@RiMOV A,#data第一条指令中,Rn代表的是R0-R7。

第二条指令中,direct就是指的直接地址,而第三条指令中,就是我们刚才讲过的。

第四条指令是将立即数data送到A中。

下面我们通过一些例子加以说明:MOV A,R1 ;将工作寄存器R1中的值送入A,R1中的值保持不变。

MOV A,30H ;将内存30H单元中的值送入A,30H单元中的值保持不变。

MOV A,@R1 ;先看R1中是什么值,把这个值作为地址,并将这个地址单元中的值送入A中。

如执行命令前R1中的值为20H,则是将20H单元中的值送入A中。

MOV A,#34H ;将立即数34H送入A中,执行完本条指令后,A中的值是3 4H。

以寄存器Rn为目的操作的指令MOV Rn,AMOV Rn,directMOV Rn,#data这组指令功能是把源地址单元中的内容送入工作寄存器,源操作数不变。

以直接地址为目的操作数的指令MOV direct,A 例: MOV 20H,AMOV direct,Rn MOV 20H,R1MOV direct1,direct2 MOV 20H,30HMOV direct,@Ri MOV 20H,@R1MOV direct,#data MOV 20H,#34H以间接地址为目的操作数的指令MOV @Ri,A 例:MOV @R0,AMOV @Ri,direct MOV @R1,20HMOV @Ri,#data MOV @R0,#34H十六位数的传递指令MOV DPTR,#data168051是一种8位机,这是唯一的一条16位立即数传递指令,其功能是将一个16位的立即数送入DPTR中去。

其中高8位送入 DPH(083H),低8位送入DPL(082H)。

例:MOV DPTR,#1234H,则执行完了之后DPH中的值为12H,DPL中的值为34H。

51单片机的内部结构

51单片机的内部结构MCS-51单片机内部结构8051是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。

8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:·中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。

·数据存储器(RAM):8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。

·程序存储器(ROM):8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。

·定时/计数器(ROM):8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。

·并行输入输出(I/O)口:8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。

·全双工串行口:8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。

·中断系统:8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。

·时钟电路:8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。

单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。

第4章 MCS-51单片机汇编语言程序设计

开始
程序清单:
送转移地址序号
A,R3 ;取序号 A ;序号乘2 DPTR, #JTAB ;32个子程序 首地址送DPTR JMP @A+DPTR ;根据序号转移 JTAB: AJMP ROUT00 ;32个子程序首地址 AJMP ROUT01 … MP: MOV RL MOV AJMP ROUT31
第 四 章 MCS-51 单 片 机 汇 编 语 言 程 序 设 计
【例4-1】
双字节二进制数求补。
程序说明:对R3(高8位)、R2(低8位)中的二进制定 点数取反加1即可得到其补码。
开始
程序清单:
BINPL:MOV A,R2 CPL A ADD A,#01H MOV R2,A MOV A,R3 CPL A ADDC A,#00H MOV R3,A RET ;低位字节取反 ;加1 ;低位字节补码送R2 ;高位字节取反 ;加进位 ;高位字节补码送R3
散转生成正确偏移号
置换指令地址表首址
转入R3指示的程序
AJMP
……
AJMP
第 四 章 MCS-51 单 片 机 汇 编 语 言 程 序 设 计
3.循环程序
包括:循环初始化、循环处理、循环控制
开始 置初值 循环体 循环结束? Y 循环修改 N 循环体 循环结束? N Y 结束 循环修改 结束 开始 置初值
;调用查表子程序 ; 暂存R1中 ;调查表子程序 ;平方和存A中 ;等待
取第一个数→A 调查表子程序 结果存入R1 取下一个数→A 调查表子程序 两数平方相加 存结果
子程序清单:
SQR: INC A ;加RET占的一个字节 MOVC A,@A+PC ;查平方表 RET TAB: DB 0,1,4,9,16 DB 25,36,49,64,81 END

单片机期末考试复习资料

9.在MCS-51中
(A)具有独立的专用的地址线(B)由P0口和P1口线作地址线
(C)由P0口和P2口的口线作地址线(D)由P1口和P2口的线作地址线
10.已知单片机系的晶振是4MHZ,则该单片机的时钟周期为:
(A)4ms (B)2ms(C)3μs(D) 2μs
1.在家用电器中使用单片机应属于计算机的
9.可以访问程序存储器提供或构成地址的有:C
(A)只有程序计数器PC(B)只有PC和累加器A
(C)只有PC、A和数据指针DPTR(D)PC、A、DPTR和堆栈指针SP
10.已知单片机系的晶振是12M,则该单片机的时钟周期为:C
(A)1ms (B)2ms(C)1μs(D) 2μs
1.内部RAM中的位寻址区定义的位是给
4.内部RAM中的位寻址区定义的位是给
(A)位操作准备的(B)移位操作准备的
(C)控制转移操作准备的(D)以上都对
5.对程序计数器操作
(A)是自动进行的(B)是通过传送进行的
(C)是通过加“1”指令进行的
(D)是通过减“1”指令进行的
6.单片机程序存储的寻址范围是由程序计数器PC的位数决定的,MCS-51的PC为16位,因此其寻址范围是
5.假定(A)=0FH,(R7)=19H,(30H)=00H,(R1)=40H,(40H)=0FFH。执行
指令:
DEC A
DEC R7
DEC 30H
DEC@R1
后,累加器A的内容为0EH,R7的内容为18H,30H的内容为0FFH,40H的内容为0FEH。
6.假定addrll=00100000000B,标号qaz的地址为1030H。执行指令:qaz:AJMP addrll
8.单片机为什么需要复位?复位后机器的初始状态如何?

第3章MCS-51单片机指令系统

第3章MCS-51单片机指令系统3.1概述3.1.1指令格式3.1.2指令的三种表示形式3.1.3指令的字节数1. 单字节指令(49条)图3-1 MOVA,Rn指令的格式2单片机原理及其接口技术(第2版)2. 双字节指令(46条)3. 三字节指令(16条)3.1.4指令的分类1. 数据传送指令(28条)2. 算术运算指令(24条)3. 逻辑操作和环移指令(25条)4. 控制转移指令(17条)5. 位操作指令(17条)3.1.5指令系统综述1. 指令系统中所用符号的说明2. 指令对标志位的影响3.2寻址方式3.2.1寄存器寻址图3-2寄存器寻址示意图单片机原理及其接口技术(第2版) 3 3.2.2直接寻址图3-3直接寻址示意图3.2.3立即寻址3.2.4寄存器间址图3-4寄存器间址寻址示意图3.2.5变址寻址图3-5变址寻址示意图4单片机原理及其接口技术(第2版)3.2.6相对寻址图3-6相对寻址示意图3.2.7位寻址3.3数据传送指令3.3.1内部数据传送指令(15条)1. 立即寻址型传送指令2. 直接寻址型传送指令3. 寄存器寻址型传送指令4. 寄存器间址型传送指令5. 内部数据传送指令的使用图3-7 8×C552/8051指令的数据传送方式单片机原理及其接口技术(第2版) 5 3.3.2外部数据传送指令(7条)1. 16位数传送指令2. 外部ROM的字节传送指令图3-8 0~9平方值表3. 外部RAM的字节传送指令3.3.3堆栈操作指令(2条)图3-9例3.8的堆栈变化示意图6单片机原理及其接口技术(第2版)3.3.4数据交换指令(4条)3.4算术与逻辑运算和移位指令3.4.1算术运算指令(24条)1. 加法指令2. 减法指令3. 十进制调整指令4. 乘法和除法指令3.4.2逻辑运算指令(20条)1. 逻辑与运算指令2. 逻辑或指令3. 逻辑异或指令4. 累加器清零和取反指令3.4.3移位指令(5条)单片机原理及其接口技术(第2版)7图3-10例3.26附图3.5控制转移和位操作指令3.5.1控制转移指令(17条)1. 无条件转移指令图3-11 AJMP指令转移范围8单片机原理及其接口技术(第2版)图3-12例3.29附图图3-13带符号数的比较方法3. 子程序调用和返回指令图3-14二级子程序嵌套及断点地址存放单片机原理及其接口技术(第2版)9图3-15例3.33附图10单片机原理及其接口技术(第2版)4. 空操作指令3.5.2位操作指令(17条)1. 位传送指令2. 位置位和位清零指令3. 位运算指令4. 位控制转移指令习题与思考题3.1指令通常有哪三种表示形式?各有什么特点?3. 2 MCS-51指令按功能可以分为哪几类?每类指令的作用是什么?3. 3 MCS-51共有哪七种寻址方式?各有什么特点?3. 4指出下列每条指令源操作数的寻址方式和功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、航标灯程序控制
单片机mcs_8051汇编语言程序
航标灯实操目的:
1、学会创建工程、源文件及关联;
2、学会构建程序;
3、学会调试程序,单步、跟踪、连续运行、运行到光标行。

汇编程序:
ORG 0000H
LJMP MAIN
CLR P1.0
LCALL DELAY
SETB P1.0
LCALL DELAY
RETI
MAIN: MOV IE,#10000001B
LJMP $
DELAY: MOV R7,#8
D1: MOV R6,#200
D2: MOV R5,#250
DJNZ R5,$
DJNZ R6,D2
DJNZ R7,D1
RET
END
;注:低电平灯亮
二、循环灯控制程序
单片机mcs_8051汇编语言程序
要求:低电平灯亮,高电平灯灭,向右循环3遍后,再向左循环4遍。

汇编程序如下:
ORG 0000H
MOV R1,#24
MOV A,#01111111B
LP1: MOV P1,A
LCALL DELAY
RR A
DJNZ R1,LP1
MOV R1,#32
MOV A,#11111110B
LP2: MOV P1,A
LCALL DELAY
RL A
DJNZ R1,LP2
MOV P1,#11111111B
LJMP $
DELAY:MOV R7,#10
D1: MOV R6,#200
D2: MOV R5,#250
DJNZ R5,$
DJNZ R6,D2
DJNZ R7,D1
RET
END
三、霓虹灯控制程序
单片机mcs_8051汇编语言程序要求:低电平灯亮,高电平灯灭,从两侧向内闪烁5遍。

汇编程序(1):
START: MOV R1,#5
LP1: MOV R0,#0
MOV DPTR,#TAB
LP2: MOV A,R0
MOVC A,@A+DPTR
CPL A
MOV P1,A
LCALL DELAY
INC R0
CJNE R0,#5,LP2
DJNZ R1,LP1
MOV P1,#00H
SJMP $
DELAY: MOV R7,#5
D1: MOV R6,#200
D2: MOV R5,#250
DJNZ R5,$
DJNZ R6,D2
DJNZ R7,D1
RET
TAB: DB 81H,42H,24H,18H,00H
END
汇编程序(2):
START: MOV R1,#5
LP1: MOV R0,#0
MOV DPTR,#TAB
LP2: MOV A,R0
MOVC A,@A+DPTR
MOV P1,A
LCALL DELAY
INC R0
CJNE R0,#5,LP2
DJNZ R1,LP1
MOV P1,#0FFH
SJMP $
DELAY: MOV R7,#5
D1: MOV R6,#200
D2: MOV R5,#250
DJNZ R5,$
DJNZ R6,D2
DJNZ R7,D1
RET
TAB: DB 7EH,0BDH,0DBH,0E7H,0FFH
END。

相关文档
最新文档