51单片机汇编语言教程(精华版本).ppt

上传人:wuy****n92 文档编号:80413872 上传时间:2023-03-23 格式:PPT 页数:521 大小:22.34MB
返回 下载 相关 举报
51单片机汇编语言教程(精华版本).ppt_第1页
第1页 / 共521页
51单片机汇编语言教程(精华版本).ppt_第2页
第2页 / 共521页
点击查看更多>>
资源描述

《51单片机汇编语言教程(精华版本).ppt》由会员分享,可在线阅读,更多相关《51单片机汇编语言教程(精华版本).ppt(521页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第1章单片机基础知识概述单片机基础知识概述1.1单片机概述1.2单片机学习的预备知识第1章单片机基础知识概述单片机基础知识概述1.1单片机概述1、什么是单片机?、什么是单片机?2、为什么要学单片机?、为什么要学单片机?3、怎样学习单片机?、怎样学习单片机?1.2单片机学习的预备知识1.3Proteus软件简介1.什么是单片机?什么是单片机?从微型计算机微型计算机技术的两大发展分支谈起第1章单片机基础知识概述单片机基础知识概述单片计算机单片计算机(Single Chip Microcomputer)SCM将通用微计算机基本功能部件基本功能部件集成在一块芯片一块芯片上构成的一种专用微计算机系统第1

2、章单片机基础知识概述单片机基础知识概述单片机应用范例第1章单片机基础知识概述单片机基础知识概述单片机的发展:单片机的发展:从1976年起,Intel公司先后推出MCS-48(4位)、MCS-51(8位)和MCS-96(16位)三大系列单片机。迄今为止,世界各地厂商已相继研制出大约50个系列300多个品种的单片机产品。单片机的发展趋势是高集成度、高性能、高性价比、低功耗微控制器(MicroCompuerUnit)增强功能的单片机,8位的51内核单片机仍然是目前主流机型。第1章单片机基础知识概述单片机基础知识概述汽车电控系统中的单片机应用第1章单片机基础知识概述单片机基础知识概述单片机应用实例抽油

3、机自动间抽控制技术第1章单片机基础知识概述单片机基础知识概述游梁式抽油机游梁式抽油机石油开采设备石油开采设备3、怎样学习单片机、怎样学习单片机各组成部分既相对独立,又相互交叉80C51型单片机教学目标掌握单片机原理与应用系统设计技能需要具备单片机硬件硬件、软件软件、接口接口三方面知识硬件系统软件系统接口系统第1章单片机基础知识概述单片机基础知识概述硬件结构硬件结构(RAM,IO,T/C,INT,UART)存储器输入/输出单元定时/计数器中断系统串行通信第1章单片机基础知识概述单片机基础知识概述第1章单片机基础知识概述单片机基础知识概述1.1单片机概述1.2单片机学习的预备知识1、数制定义2、数

4、制转换3、有符号数4、位-字节-字1.数制定义数制定义单片机常用的数制有十进制、二进制、十六进制。例如:十进制十进制:09;规则:逢十进一,后缀为D,但可忽略。一般表达式为:基数加权数09第1章单片机基础知识概述单片机基础知识概述二进制二进制:0、1;规则:逢二进一,后缀为B。一般表达式为:其中,基数为2,各位加权数为0,1。例如:第1章单片机基础知识概述单片机基础知识概述十六进制十六进制:09、AF。规则:逢十六进一,后缀为H。一般表达式为:其中,基数为16,各位加权数为09、AF。例如:第1章单片机基础知识概述单片机基础知识概述2.数制转换数制转换(1)二进制转换成十进制转换规则:按进制的

5、表达式展开,然后按照十进制运算求和。例如:111111118421163264128记忆:1100B=121001B=91111B=1511111111B=255举例:第1章单片机基础知识概述单片机基础知识概述(2)十六进制转换成十进制转换规则:按进制的表达式展开,然后按照十进制运算求和。例如:第1章单片机基础知识概述单片机基础知识概述(3)二进制与十六进制数之间的转换1010B=0AH1101B=0DH1011B=0BH1110B=0EH1100B=0CH1111B=0FH记忆:从低位起由右到左,每四位二进制数对应一位十六进制数。例如:(最后一组不足时左边添0凑齐4位)转换规则:第1章单片机

6、基础知识概述单片机基础知识概述(4)十进制整数转换成二、十六进制整数 转换规则:“除基取余”。十进制整数不断除以转换进制基数,直至商为0。每除一次取一个余数,从低位排向高位。例如:第1章单片机基础知识概述单片机基础知识概述4.位位-字节字节-字字位位(bit):二进制数中的一位,其值不是“1”,就是“0”。字节字节(byte):一个8位的二进制数为一个字节。字节是计算机数据的基本单位。字字(word):两个字节就是一个字,又叫双字节。另外,有时还会用到“半字节半字节”,即4位二进制。例如:1000111011001011B=8ECDH半字节字节字(双字节)位字节字节第1章单片机基础知识概述单片

7、机基础知识概述80C51单片机的内部资源主要包括:单片机的内部资源主要包括:8位中央处理器(CPU);片内振荡器和时钟电路;4KB片内程序存储器(ROM);128字节的片内RAM;4个8位并行的双向I/O口;2个16位定时器/计数器;1个全双工串行口;时钟电路第2章单片机结构及原理单片机结构及原理第2章单片机结构及原理单片机结构及原理2.1MCS-51单片机结构单片机结构2.1.1MCS-51单片机的内部结构2.1.2MCS-51引脚及功能引脚及功能2.2MCS-51的存储器结构2.3单片机的复位、时钟与时序2.4并行I/O口P3口线的第二功能为多功能引脚,其8个引脚均具有专门的第二功能。VC

8、CVSSXTAL2XTAL1RSTP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P2.7 P2.7 P2.6 P2.6 P2.5 P2.5 P2.4 P2.4 P2.3 P2.3 P2.2 P2.2 P2.1 P2.1 P2.P2.0 0ALEP3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7(2)(2)、时钟电路:、时钟电路:、时钟电路:、时钟电路:XTAL1XTAL1、XTAL2XTAL2(3)(3)、复位引脚:、复位引脚:、复位引脚:、复位引脚:RSTRST(4)(4)、并行口:、并行口:、并

9、行口:、并行口:P0P0、P1P1、P2P2、P3P3(7)(7)、ALEALE:地址锁存控制信号:地址锁存控制信号:地址锁存控制信号:地址锁存控制信号(1)(1)、电源引脚:、电源引脚:、电源引脚:、电源引脚:VCC(+5V)VCC(+5V)、VSS(VSS(地地地地)EAPSEN(5)(5)、EAEA:访问程序存储控制信号:访问程序存储控制信号:访问程序存储控制信号:访问程序存储控制信号(6)(6)、PSENPSEN:外部:外部:外部:外部ROMROM读选通信号读选通信号读选通信号读选通信号RXD/TXD/INT0/INT1/T0/T1/WR/RD/12345678910111213141

10、516171819204039383736353433323130292827262524242221803180C51875189C511 1、管脚图、管脚图MCS51单片机信号引脚简介(1)电源及晶振引脚VCC(40脚):+5V电源引脚VSS(20脚):接地引脚XTAL1(19脚);外接晶振引脚(内置放大器输入端)XTAL2(18脚):外接晶振引脚(内置放大器输出端)Vcc80C512040第2章单片机结构及原理单片机结构及原理(2)控制引脚ALE/PROG(30)为地址锁存使能输出/编程脉冲输入RST/VPD(9)为复位/备用电源引脚PSEN(29):输出访问片外程序存储器读选通信号EA

11、/VPP(31):外部ROM允许访问/编程电源输入第2章单片机结构及原理单片机结构及原理(3)并行I/O口引脚共计48=32个引脚,其中:P0.0P0.7(3932脚)P0口;P1.0P1.7(18脚)P1口;P2.0P2.7(2128脚)P2口;P3.0P3.7(1017脚)P3口。P0P3是单片机对外联络的重要通道第2章单片机结构及原理单片机结构及原理P3口的特殊功能第2章MCS-51单片机结构及原理单片机结构及原理2.1MCS-51单片机结构2.2MCS-51的存储器结构2.3单片机的复位、时钟与时序2.4并行I/O口2.1MCS-51单片机结构单片机结构2.1.1MCS-51单片机的内

12、部结构单片机的内部结构2.1.2MCS-51引脚及功能2.2MCS-51的存储器结构2.3单片机的复位、时钟与时序2.4并行I/O口第2章单片机结构及原理单片机结构及原理2.1MCS-51单片机结构2.2MCS-51的存储器结构的存储器结构1.存储器划分方法存储器划分方法2.程序存储器3.数据存储器2.3单片机的复位、时钟与时序2.4并行I/O口第2章单片机结构及原理单片机结构及原理MCS-51系列单片机存储器配置如图:共有四个物理存储空间,或三个逻辑存储空间。第2章单片机结构及原理单片机结构及原理POM作用:存放程序、表格或常数(非易失性掉电保存)RAM作用:存放程序运行结果字长:8位数量:

13、256B30H低128B(00H7FH)为普通RAM区高128B(80HFFH)为特殊功能寄存器区第2章单片机结构及原理单片机结构及原理(1)低128字节的区域工作寄存器区(00H-1FH)可位寻址区(20H-2FH)用户RAM区(30H-7FH)30H第2章单片机结构及原理单片机结构及原理区共有32个字节单元(00H1FH),分为4组,每组8个单元,命名为工作寄存器R0R7)。任一时刻CPU只能选用一组工作寄存器为当前工作寄存器组。当前工作寄存器组通过PSW中的RS1和RS0标志位(工作寄存器组指针)进行设置。30H第2章单片机结构及原理单片机结构及原理注意:CPU复位后RS1和RS0默认值

14、为0,即默认第0组为当前工作寄存器组。第2章单片机结构及原理单片机结构及原理区共有16个字节单元(20H2FH),又可划分为128个位地址单元(00H7FH),可按两种方式存取数据。30H第2章单片机结构及原理单片机结构及原理区共有80个字节单元(30H7FH),是用户RAM区,但只能按字节进行数据存取操作。30H在此区内用户可以作为为堆栈区和中间数据存储区。第2章单片机结构及原理单片机结构及原理(2)高高128字节字节RAM区区在80HFFH的高128字节RAM区中,离散地分布有21个特殊功能寄存器(SpetialFunctionRegister),又称为特殊功能寄存器区。30H第2章单片机

15、结构及原理单片机结构及原理具有标准的SFR名称和符号、字节地址和位地址前述的Acc、PSW、DPL、DPH等几个寄存器都属于SFR,其余寄存器将在以后章节中结合应用进行介绍。第2章单片机结构及原理单片机结构及原理字节地址末位是0或8的SFR,都具有位地址。SFR之外的其它存储单元用户均不可用(系统留用)。第2章单片机结构及原理单片机结构及原理418051的内部结构的内部结构8051芯片芯片按功能结构按功能结构CPU控制器控制器程序计数器程序计数器PC数据指针寄存器数据指针寄存器DPTR运算器运算器累加器累加器A寄存器寄存器B程序状态寄存器程序状态寄存器PSW存储器存储器数据存储器数据存储器RA

16、M程序存储器程序存储器ROM定时计数器:定时计数器:2个个16位定时器位定时器T0,T1I/O接口接口:P0、P1、P2、P3四个四个8位口位口一个全双工串行口一个全双工串行口5个中断源个中断源单片机单片机CPU=控制器控制器+运算器运算器第2章单片机结构及原理单片机结构及原理作用:作用:统一指挥和控制计算机协调工作1、控制器(1)程序计数器(ProgramCounterPC)指令地址寄存器,永远存放着下一条指令的地址,PC的变化规律决定着程序的流程第2章单片机结构及原理单片机结构及原理(2)数据指针寄存器(DataPointerDPTR)16位字长位字长,可寻址范围216(64KB)用于表示

17、存储器数据地址的指针可拆为2个8位的独立寄存器DPL和DPH0000H0001H0002H0003H0004HFFFFH 35H 77H F4H 94H 9EHDPTR指针 xxH xxHxxH xxH xxHROMRAMDPLDPH0000H0001H0002H0003H0004HFFFFH第2章单片机结构及原理单片机结构及原理2、运算器作用:作用:对数据进行算术运算和逻辑操作功能:功能:(1)对暂存器中的数据进行运算(2)结果保存在ACC中(3)运行状态反映在PSW中第2章单片机结构及原理单片机结构及原理(1)累加器(AccumulaterA)累加器A是一个8位寄存器,用来存放操作数或中间

18、运算结果;它是CPU中使用最频繁的寄存器。第2章单片机结构及原理单片机结构及原理CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1P位7位6位5位4位3位2位1位0CYACF0RS1RS0OVF1PCYCYACACF0F0RS1RS1RS0RS0OVOVF1F1P PPSW.7PSW.7PSW.6PSW.6PSW.5PSW.5PSW.4PSW.4PSW.3PSW.3PSW.2PSW.2PSW.1PSW.1PSW.0PSW.0位7位6位5位4位3位2位1位0(2)程序状态字寄存器(ProgramStateWordPSW)PSW是一个8位的专用寄存器,用于存放程序运行过程中的各种状

19、态信息。PSW中的各位信息通常是在指令执行过程中自动形成的,但也可以由传送指令加以改变。PSW各位的定义:按位置定义的名称按功能定义的名称第2章单片机结构及原理单片机结构及原理CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1P位7位6位5位4位3位2位1位0CYACF0RS1RS0OVF1PCYCYACACF0F0RS1RS1RS0RS0OVOVF1F1P PPSW.7PSW.7PSW.6PSW.6PSW.5PSW.5PSW.4PSW.4PSW.3PSW.3PSW.2PSW.2PSW.1PSW.1PSW.0PSW.0位7位6位5位4位3位2位1位0(2)程序状态字寄存器(Pr

20、ogramStateWordPSW)PSW是一个8位的专用寄存器,用于存放程序运行过程中的各种状态信息。PSW中的各位信息通常是在指令执行过程中自动形成的,但也可以由传送指令加以改变。PSW各位的定义:按位置定义的名称按功能定义的名称第2章单片机结构及原理单片机结构及原理CY(PSW.7)进位标志在进行加或减运算时,如果操作结果最高位有进位或借位时,CY由硬件置“1”,否则清“0”。10010011 +11110000 CY=1 10000011进位标志位CYCYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1P位7位6位5位4位3位2位1位0CYACF0RS1RS0OVF1PC

21、YCYACACF0F0RS1RS1RS0RS0OVOVF1F1P PPSW.7PSW.7PSW.6PSW.6PSW.5PSW.5PSW.4PSW.4PSW.3PSW.3PSW.2PSW.2PSW.1PSW.1PSW.0PSW.0位7位6位5位4位3位2位1位0用途用途:1、根据CY判断加减运算时有无进位或借位;2、在位操作中CY可作为位累加器用。举例第2章单片机结构及原理单片机结构及原理AC(PSW.6)辅助进位标志在进行加或减运算时,如果操作结果的低四位数向高四位产生进位或借位时,将由硬件置“1”,否则清“0”。01001111 +10100001 AC=1 11110000半进位CYACF

22、0RS1RS0OVF1PCYACF0RS1RS0OVF1P位7位6位5位4位3位2位1位0CYACF0RS1RS0OVF1PCYCYACACF0F0RS1RS1RS0RS0OVOVF1F1P PPSW.7PSW.7PSW.6PSW.6PSW.5PSW.5PSW.4PSW.4PSW.3PSW.3PSW.2PSW.2PSW.1PSW.1PSW.0PSW.0位7位6位5位4位3位2位1位0举例用途用途:1、根据AC判断加减运算时有无半进位或半借位;2、在BCD码调整运算中要用到AC标志第2章单片机结构及原理单片机结构及原理F0(PSW.5)和F1(PSW.1)用户标志位可作为用户自行定义的一个状态标

23、记CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1P位7位6位5位4位3位2位1位0CYACF0RS1RS0OVF1PCYCYACACF0F0RS1RS1RS0RS0OVOVF1F1P PPSW.7PSW.7PSW.6PSW.6PSW.5PSW.5PSW.4PSW.4PSW.3PSW.3PSW.2PSW.2PSW.1PSW.1PSW.0PSW.0位7位6位5位4位3位2位1位0第2章单片机结构及原理单片机结构及原理RS1和RS0(PSW.4和PSW.3)工作寄存器组指针用于选择CPU当前工作寄存器组CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1P位7位6位

24、5位4位3位2位1位0CYACF0RS1RS0OVF1PCYCYACACF0F0RS1RS1RS0RS0OVOVF1F1P PPSW.7PSW.7PSW.6PSW.6PSW.5PSW.5PSW.4PSW.4PSW.3PSW.3PSW.2PSW.2PSW.1PSW.1PSW.0PSW.0位7位6位5位4位3位2位1位0第2章单片机结构及原理单片机结构及原理OV(PSW.2)溢出标志在有符号数运算或乘除运算中若有异常结果,OV置1,否则清0。根据运算过程中的D6和D7位的变化由硬件自动形成OV值CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1P位7位6位5位4位3位2位1位0CY

25、ACF0RS1RS0OVF1PCYCYACACF0F0RS1RS1RS0RS0OVOVF1F1P PPSW.7PSW.7PSW.6PSW.6PSW.5PSW.5PSW.4PSW.4PSW.3PSW.3PSW.2PSW.2PSW.1PSW.1PSW.0PSW.0位7位6位5位4位3位2位1位0用途用途:判断有符号数运算或乘除运算的结果是否正常。第2章单片机结构及原理单片机结构及原理P(PSW.0)奇偶标志位该位始终跟踪累加器A中含“1”个数的奇偶性如果A中有奇数个“1”,则P置“1”,否则置“0”举例若A=10011111,则P=0若A=11000001,则P=1CYACF0RS1RS0OVF1

26、PCYACF0RS1RS0OVF1P位7位6位5位4位3位2位1位0CYACF0RS1RS0OVF1PCYCYACACF0F0RS1RS1RS0RS0OVOVF1F1P PPSW.7PSW.7PSW.6PSW.6PSW.5PSW.5PSW.4PSW.4PSW.3PSW.3PSW.2PSW.2PSW.1PSW.1PSW.0PSW.0位7位6位5位4位3位2位1位0用途用途:用于串行通讯中的数据校验,判断是否存在传输错误。第2章单片机结构及原理单片机结构及原理2.1MCS-51单片机结构2.2MCS-51的存储器结构2.3单片机的复位、时钟与时序单片机的复位、时钟与时序1.复位与复位电路复位与复位

27、电路2.时钟电路3.CPU时序2.4并行I/O口第2章单片机结构及原理单片机结构及原理复位使单片机恢复原始默认状态的操作。第2章单片机结构及原理单片机结构及原理第2章单片机结构及原理单片机结构及原理2.1MCS-51单片机结构2.2MCS-51的存储器结构2.3单片机的复位、时钟与时序单片机的复位、时钟与时序1.复位与复位电路2.时钟电路3.CPU时序时序2.4并行I/O口时序是计算机指令执行时各种微操作在时间上的顺序关系,其作用是保证CPU中各种微操作有序运行。(1)时序的概念)时序的概念第2章单片机结构及原理单片机结构及原理时序定时单位共有4个参数:拍(振荡周期、时钟周期)P、状态周期S、

28、机器周期、指令周期一个状态(S)包含2个拍(P);一个机器周期由6个S或12个P组成;一个指令周期约为14个机器周期。第2章单片机结构及原理单片机结构及原理例:外接晶振为12MHz时,MCS-51单片机的四种时序周期的具体值为:更正更正:P.30振荡周期=1/12us状态周期=1/6us机器周期=1us指令周期=14us振荡周期=1/24us状态周期=1/12us机器周期=1us指令周期=14us振荡周期是机器周期的1/12正误(正)机器周期是振荡周期的1/12(误)第2章单片机结构及原理单片机结构及原理第2章单片机结构及原理单片机结构及原理2.1MCS-51单片机结构2.2MCS-51的存储

29、器结构2.3单片机的复位、时钟与时序单片机的复位、时钟与时序1.复位与复位电路2.时钟电路时钟电路3.CPU时序2.4并行I/O口CPU微操作必须在统一的时钟控制下才能正确进行。内部时钟方式微调电容:C1、C230pF晶振:石英晶体封裝MCS-51时振荡频率为612MHZ。外部时钟方式第2章单片机结构及原理单片机结构及原理P1口的结构组成口的结构组成P1.n=1个锁存器+1个场效应管驱动器V+2个三态门缓冲器V21第2章单片机结构及原理单片机结构及原理P1口具有输出、读引脚、读锁存器三种工作方式。输出时输出时:D端=1/Q=0V截止P1.n=1D端=0/Q=1V导通P1.n=0读引脚时读引脚时

30、:P1.n读引脚三态门1内部总线读锁存器读锁存器:Q端读锁存器三态门2内部总线V21第2章单片机结构及原理单片机结构及原理V的状态会影响P1.n的状态:如V导通P1.n电平0(钳位)读引脚可能出错为正确读出P1.n引脚电平,需要读引脚前应先使T截止令D=1/Q=0V截止读P1.n不会出错可见,P1口作为输入口时是有条件的(应先写1),而输出时无条件,因此,称P1口为准双向口。V第2章单片机结构及原理单片机结构及原理第2章单片机结构及原理单片机结构及原理2.1MCS-51单片机结构2.2MCS-51的存储器结构2.3单片机的复位、时钟与时序2.4并行并行I/O口口1、P1口2、P3口口3、P0口

31、4、P2口P3口的结构组成口的结构组成P3.n=1个锁存器+2个三态缓冲器+1个第二功能控制单元+1个输出驱动单元3412第二输入功能V第2章单片机结构及原理单片机结构及原理P3口具有P1的三种工作方式+第二功能方式输出时输出时:D端=1Q=1V截止P1.n=1D端=0Q=0V导通P1.n=0读引脚时读引脚时:P1.n读引脚三态门1内部总线(需先写1)读锁存器读锁存器:Q端读锁存器三态门2内部总线3412第二输入功能V第二输出功能=“1”(与非门开锁)第2章单片机结构及原理单片机结构及原理P3口的第二功能方式:输出时输出时:第二输出功能=1与非门输出0V截止P3.n=1第二输出功能=0与非门输

32、出1V导通P3.n=0输入时输入时:P3.n三态门4第二输入功能D端写“1”(与非门开锁)(第二输出功能先写“1”)3412第二输入功能V第2章单片机结构及原理单片机结构及原理P3口第二功能定义第2章单片机结构及原理单片机结构及原理第2章单片机结构及原理单片机结构及原理2.1MCS-51单片机结构2.2MCS-51的存储器结构2.3单片机的复位、时钟与时序2.4并行并行I/O口口1、P1口2、P3口3、P0口口4、P2口P0口的结构组成口的结构组成P0.n=1个锁存器+2个三态缓冲器+1个输出控制电路(非门X+与门A+电子开关MUX)+1个输出驱动电路(场效应管V2+V1)P0口既可以作为通用

33、I/O口实现输入/输出功能,也可作为单片机地址/数据线实现外设扩展功能。第2章单片机结构及原理单片机结构及原理漏极开路与上拉电阻的概念封锁与门A0地址/数据端与A输出无关控制端=0MUX下通/Q与V1栅极直通V2截止V1漏极开路第2章单片机结构及原理单片机结构及原理为使漏极开路的V1有效,必须通过上拉电阻与电源接通,上拉电阻的阻值一般为4.710k。注意:P1、P2、P3口无需外接上拉电阻(已有内部上拉电阻)3412第二输入功能V第2章单片机结构及原理单片机结构及原理P0口的通用IO工作方式(控制端控制端=0)输出时输出时:D端=1Q反端=0V1截止P0.n=1D端=0Q反端=1V1导通P0.

34、n=0读引脚时读引脚时:P0.n读引脚三态门1内部总线(需要先写“1”)读锁存器读锁存器:Q端读锁存器三态门2内部总线第2章单片机结构及原理单片机结构及原理P0口的地址/数据分时复用方式(控制端控制端=1)“地址地址/数据数据”端无条件输入端无条件输入/输出,是严格意义上的双向口输出,是严格意义上的双向口“地址地址/数据数据”方式下没有漏极开路问题,无需外接上拉电阻方式下没有漏极开路问题,无需外接上拉电阻第2章单片机结构及原理单片机结构及原理第2章单片机结构及原理单片机结构及原理2.1MCS-51单片机结构2.2MCS-51的存储器结构2.3单片机的复位、时钟与时序2.4并行并行I/O口口1、

35、P1口2、P3口3、P0口4、P2口口P2口的结构组成P2.n=1个锁存器+2个三态缓冲器+1个输出控制单元+1个输出驱动单元V第2章单片机结构及原理单片机结构及原理P2口可以实现通用I/O口和地址输出口两种功能输出时输出时:D端=1Q端=1V截止P2.n=1D端=0Q端=0V导通P2.n=0读引脚时读引脚时:P2.n读引脚三态门内部总线(需要先写“1”)读锁存器读锁存器:Q端读锁存器三态门内部总线P2作为通用I/O口时(控制端=0)V第2章单片机结构及原理单片机结构及原理输出时输出时:地址端=1V截止P2.n=1地址端=0V导通P2.n=0P2作为地址输出口时(控制端=1)V第2章单片机结构

36、及原理单片机结构及原理P0P3小结1.结构2.功能B0HB0HA0HA0H90H90H80H80HSFRSFR地址地址地址地址 第二功能第二功能第二功能第二功能 总线端口总线端口总线端口总线端口准双向准双向准双向准双向IOIO口口口口P3P3P2P2P1P1P0P0内部上拉电阻内部上拉电阻内部上拉电阻内部上拉电阻输出控制输出控制输出控制输出控制MUXMUX开关开关开关开关D D锁存器锁存器锁存器锁存器P3P3P2P2P1P1P0P0第2章单片机结构及原理单片机结构及原理本章小结本章小结1、单片机的CPU由控制器和运算器组成,在时钟电路和复位电路的支持下,按一定的时序工作。单片机的时序信号包括振

37、荡周期、时钟周期、机器周期和指令周期。2、51单片机采用哈佛结构存储器,共有3个逻辑存储空间和4个物理存储空间。片内低128字节RAM中包含4个工作寄存器组、128个位地址单元和80个字节地址单元。片内高128字节RAM中离散分布有21个特殊功能寄存器。3、P0P3口都可作为准双向通用I/O口,其中只有P0口需要外接上拉电阻;在需要扩展片外设备时,P2口可作为其地址线接口,P0口可作为其地址线/数据线复用接口,此时它是真正的双向口。第2章单片机结构及原理单片机结构及原理第3章单片机的汇编语言与程序设计单片机的汇编语言与程序设计3.1汇编语言概述3.2指令系统简介3.3汇编语言的编程方法第3章单

38、片机的汇编语言与程序设计单片机的汇编语言与程序设计3.1汇编语言概述1.汇编语言指令格式2.描述操作数的简记符号3.寻址方式寻址方式3.2指令系统简介3.3汇编语言的编程方法计算机中全部指令的集合称为指令系统。MCS-51单片机指令系统共有111条指令,按功能可划分为四大类:数据传送与交换类算术运算类逻辑运算类转移控制类第3章单片机的汇编语言与程序设计单片机的汇编语言与程序设计第3章单片机的汇编语言与程序设计单片机的汇编语言与程序设计寻址方式寻找操作数所在地址单元的方式。寻址方式越多,计算机的功能就越强。51单片机共有七种寻址方式:直接寻址、寄存器寻址、寄存直接寻址、寄存器寻址、寄存器间接寻址

39、、立即寻址、变址寻址、位寻址、相对寻址器间接寻址、立即寻址、变址寻址、位寻址、相对寻址。可以先跳过这一节,待学完指令系统后再返回学习可能会易于理解。第3章单片机的汇编语言与程序设计单片机的汇编语言与程序设计(1)直接寻址)直接寻址MOVA,68H;A(68H),机器码为E568H对于片内低128字节单元可在指令中直接给出单元地址(如MOVA,68H),但对于特殊功能寄存器(位于高128字节区)除了可用其单元地址给出外,还可用它们的符号形式给出。如:MOVA,0D0H;A(0D0H),机器码为E5D0HMOVA,PSW;APSW,机器码为E5D0H它们的形式虽然不同,但汇编后的机器码是完全一样的

40、,均为E5D0H。为增强所编程序的可读性,一般提倡尽量采用后者方式。(2)寄存器寻址)寄存器寻址指令中以通用寄存器的形式表示操作数的寻址方式称为寄存器寻址,这里的通用寄存器特指:A、B、DPTR、R0R7和CY。MOVA,R1;AR1MULAB;BAAB,乘积高位存B,低位存AINCDPTR;DPTRDPTR+1第3章单片机的汇编语言与程序设计单片机的汇编语言与程序设计注意:B寄存器仅在乘法和除法指令中属于寄存器寻址,在其它指令中则属于直接寻址。此外,除上面所指出的几个寄存器外,其它特殊功能寄存器也一律为直接寻址寄存器间接寻址是二次寻找操作数地址的寻址方式。(3)寄存器间接寻址)寄存器间接寻址

41、由指令指出某一个寄存器的内容作为操作数地址的寻址方式,称为寄存器间接寻址方式。计算机执行这类指令时,它首先根据指令中的寄存器名称找到所需要的操作数地址,再由操作数地址找到操作数,并完成相应操作。第3章单片机的汇编语言与程序设计单片机的汇编语言与程序设计寄存器间接寻址使用的寄存器叫做间址寄存器,用R0、R1和DPTR表示。MOVA,R0;寻址范围为256BMOVXA,DPTR;寻址范围为64KB第3章单片机的汇编语言与程序设计单片机的汇编语言与程序设计MOVA,#0E2H;A#0E2HMOVDPTR,#2000H;DPTR#2000H(4)立即寻址)立即寻址如果操作数在指令中直接给出,并与操作码

42、的机器码一起存放在程序存储器内,则程序执行时便可立即得到,而不需要另外寻找,故称为立即寻址。该操作数称为立即数,并在其前冠以“#”号,以表示非地址。立即数可以是8位或16位二进制数,一般用十六进制数表示汇编语言规定,凡以字母开始的十六进制数(立即数或地址),在最高位前要加0以便与变量名区分,因而上述数据E2H要写为0E2H。第3章单片机的汇编语言与程序设计单片机的汇编语言与程序设计MOVCA,A+DPTR;A(A+DPTR)MOVCA,A+PC;A(A+PC)JMPA+DPTR;PC(A+DPTR)(5)变址寻址)变址寻址变址寻址是以DPTR或PC作为基址寄存器,以累加器A作为变址寄存器,将基

43、址寄存器与变址寄存器的内容相加形成操作数的实际地址。51指令集中采用变址寻址的指令共有三条:A为偏移量寄存器,DPTR或PC为变址寄存器。程序执行时,A中的无符号数先与DPTR或PC中的内容相加,形成访问地址,再通过寄存器间接寻址方式取得实际操作数。其中前两条是程序存储器读指令,后一条是无条件转移指令。第3章单片机的汇编语言与程序设计单片机的汇编语言与程序设计MOVC,7FH;Cy(7FH),其中,7FH是位地址MOVC,2FH.7;Cy(7FH),其中,2FH.7是位地址MOVC,ACC.7;CyACC.7,其中,ACC.7是位地址(6)位寻址)位寻址51单片机片内RAM里的部分存储单元和某

44、些特殊功能寄存器除了具有字节地址外,还具有位地址。这些单元既可以采用字节方式访问,也可采用位地址方式访问。指令中直接给出操作数所在单元位地址的寻址方式称为位寻址,例如:第3章单片机的汇编语言与程序设计单片机的汇编语言与程序设计SJMPSTART;PCPC+2+rel(7)相对寻址)相对寻址相对寻址方式是为了程序的相对转移而设计的,它以PC的内容为基址,与指令中给出的偏移量rel进行合成,得到转移目的地址,进而改变PC值实现程序的跳转功能。该指令的功能是将PC值修改为START语句行所在的首地址,从而使程序从START语句继续执行,该指令的的原形是SJMPrel。注意,由于rel只能形成-128

45、+127字节的跳转,故编程时必须考虑当前行与被跳转行之间的地址范围不能超限。第3章单片机的汇编语言与程序设计单片机的汇编语言与程序设计3.1汇编语言概述1.汇编语言指令格式汇编语言指令格式2.描述操作数的简记符号3.寻址方式3.2指令系统简介3.3汇编语言的编程方法第3章单片机的汇编语言与程序设计单片机的汇编语言与程序设计汇编语言是用助助记记符符形式表示指指令令的一种计算机语言,其中助记符由约定的英文字母组成,而指令则是完成特定动作所需的指示和命令。汇编语言程序需要经过编译程序翻译成机器码,让计算机执行。汇编语言编程的优点是代码精炼、执行速度快,但不便于编写较复杂的程序。本章学习目的是了解汇编

46、语言的规则,要求借助指令手册能读懂一般汇编程序。一条汇编语言指令中最多包含四个区段,其一般格式为:标号标号:操作码操作码操作数操作数;注释注释汇编语言指令格式汇编语言指令格式第3章单片机的汇编语言与程序设计单片机的汇编语言与程序设计标号标号区段由用户定义的16个字符组成,以英文字母开始(不区分大小写),冒号结尾。.0122H0223H0124H.35H 77H F4H 74H 12HROM标号代表当前指令的首字节在存储器单元中的存放地址,可以省略。标号标号:操作码操作码操作数操作数;注释注释第3章单片机的汇编语言与程序设计单片机的汇编语言与程序设计操作数操作数区段是指令要操作的对象。根据指令的

47、不同功能,操作数可以是3个、2个、1个或没有操作数;操作数大于1时,操作数之间用英文逗号隔开,不区分大小写。START:MOVA,#12H;立即数12HASETBP1.0;P1.01CJNEA,R0,START;若AR0,转START举例:第3章单片机的汇编语言与程序设计单片机的汇编语言与程序设计3.1汇编语言概述1.汇编语言指令格式2.描述操作数的简记符号描述操作数的简记符号3.寻址方式3.2指令系统简介3.3汇编语言的编程方法单片机指令手册中,每条指令的操作数都以简记符号表示。第3章单片机的汇编语言与程序设计单片机的汇编语言与程序设计操作数的简记符号第3章单片机的汇编语言与程序设计单片机的

48、汇编语言与程序设计第3章单片机的汇编语言与程序设计单片机的汇编语言与程序设计第3章单片机的汇编语言与程序设计单片机的汇编语言与程序设计3.1汇编语言概述3.2指令系统简介1.数据传送与交换类指令2.算术运算类指令3.逻辑运算及移位类指令4.控制转移类指令5.伪指令3.3汇编语言的编程方法第3章单片机的汇编语言与程序设计单片机的汇编语言与程序设计3.1汇编语言概述3.2指令系统简介1.数据传送与交换类指令数据传送与交换类指令2.算术运算类指令3.逻辑运算及移位类指令4.控制转移类指令5.伪指令3.3汇编语言的编程方法数据传送与交换类指令数据传送与交换类指令可实现RAM、SFR和ROM之间的数据互

49、传或交换,共31条。第3章单片机的汇编语言与程序设计单片机的汇编语言与程序设计第3章单片机的汇编语言与程序设计单片机的汇编语言与程序设计数据传送类指令的基本通式为:,它表示将源单元(src)的内容传送给目的单元(dest),传送后源单元中内容不变。transfer是传送指令的操作码:MOV在片内RAM范围内传送MOVX在片外RAM范围内传送MOVC在全部ROM范围内传送第3章单片机的汇编语言与程序设计单片机的汇编语言与程序设计第3章单片机的汇编语言与程序设计单片机的汇编语言与程序设计举例:将立即数A6H送入累加器A第3章单片机的汇编语言与程序设计单片机的汇编语言与程序设计举例:将立即数A6H送

50、入累加器AMOVA,#0A6H;第3章单片机的汇编语言与程序设计单片机的汇编语言与程序设计举例:将立即数68H送入片内20H第3章单片机的汇编语言与程序设计单片机的汇编语言与程序设计举例:将立即数68H送入片内20HMOV20H,#68H;用指令实现下述功能。(1)内部RAM30H单元内容送R0。(2)将立即数10H送入内部RAM30H单元。第3章单片机的汇编语言与程序设计单片机的汇编语言与程序设计举例1:分析如下程序段并指出运行后20H和21H单元的结果MOVR0,#20HMOVR0,#38HMOV21H,#48H结果:(20H)=38H,(21H)=48H将data送入Ri的内容所指向的单

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁