《单片机授课》PPT课件.ppt

上传人:牧羊曲112 文档编号:5475501 上传时间:2023-07-11 格式:PPT 页数:62 大小:547.50KB
返回 下载 相关 举报
《单片机授课》PPT课件.ppt_第1页
第1页 / 共62页
《单片机授课》PPT课件.ppt_第2页
第2页 / 共62页
《单片机授课》PPT课件.ppt_第3页
第3页 / 共62页
《单片机授课》PPT课件.ppt_第4页
第4页 / 共62页
《单片机授课》PPT课件.ppt_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《《单片机授课》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《单片机授课》PPT课件.ppt(62页珍藏版)》请在三一办公上搜索。

1、第一章 概论,一.什么是单片机:单片机的分类:二位单片机;四位单片机;八位单片机;十六位单片机.单片机的功能:实时控制系统的核心,硬件、软件、外设单片机是怎么工作的:复位程序计数器代码译码器、控制指令执行二进制数和电平的一一对应关系 二单片机开发系统:LY001单片机仿真开发系统介绍 硬件简介:,自主开发:单片机仿真开发系统,下位机实验箱,单片机开发系统,界面介绍功能介绍:1 编译1)写入程序2)程序调试3)在线仿真运行LY001单片机仿真开发系统的操作,第二章 MCS51系列单片机的结构,2.1 MCS51的结构和引脚2.2 8051单片机存储器结构及其用途2.3 并行I/O口2.4 时钟电

2、路2.5复位电路2.6思考题与习题,2.1.1 引脚定义及功能,8051单片机芯片采用40引脚,双列直插封装(DIP)方式引脚和逻辑符号如图2-1-2所示。其中某些引脚具有双重功能简要说明如下:,1电源引脚:,VCC(40脚):供电电源+5V。VSS(20脚):接地线。2时钟电路引脚。XTAL2(18脚)和XTAL1(19脚)。利用内部时钟电路时,XTAL1与XTAL2之间接一晶体振荡器,XTAL1为内部放大电路输入端,XTAL2为输出端。采用外部时钟时,对于HMOS型单片机,XTAL1接地,XTAL2端接外部输入时钟脉冲。而对于CHMOS型单片机XTAL1为驱动端,XTAL2悬空。,2.2存

3、储器结构及用途,存储器分为程序存储器和数据存储器两大类;程序存储器(ROM):片内(EEPROM)片外数据存储器:随机存储器(RAM):片内、片外 工作寄存器 特殊功能寄存器(SFR)这两大类存储器在物理上是分开的,在逻辑地址空间上是重叠的。,存储器地址空间示意图,地址:0000 H 02 存储单元 0001H 一个字节的 0005H 内容(八位),每个单片机包括:8位CPU。片内程序存储器ROM/EPROM(4KB/8KB)用以存放程序,原始数据和表格。(8031片内无ROM。)片内数据存储器RAM(128B/256B)用以存放可以读/写的数据,如中间结果以及欲显示的数据等。四个8位并行I/

4、O接口P0P3每个口既可以用作输入,也可以用作输出。两个定时器,既可以设置为计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时结果实现计算机控制。5个中断源。一个全双工UART(异步接收发送器)的串行I/O口用于实现单片机间或与微机的通信。片内时钟振荡器,具有最高时钟频率为12MHZ,存储器结构及用途,程序存储器用于存放程序及表格数据。在8051(AT89C51)片内有4KB的ROM(EPROM),且通过16位地址线可扩展64KB的EPROM。从前面所述,片内ROM和扩展ROM是统一编址的。当EA=1时。使用的是片内0000H0FFFH和片外1000HFFFFH的存储

5、器地址,当EA=0,则所有取指令操作均在外部程序存储器中进行。这时外部扩展的ROM可以从0000H开始编址。对8031单片机来说,由于片内无ROM。只能外部扩展程序存储器,并且从0000H开始编。,P11地址空间、P12位地址、P14特殊寄存器,作业1:,1.P0、P1、P2、P3四个均是_位的_口(填“串行”还是“并行”)。2.片内RAM可进行位寻址的空间位地址范围是_。3.MCS51的存储器空间配置从功能上可分为四种类型:_、内部数据存储器、_、外部程序存储器。4MCS51内部的SFR共有_个。5.存储器的地址范围是0000H0FFFH,它的容量为()。(A)1KB(B)2KB(C)3KB

6、(D)4KB 68051单片机内有()个16位的定时/计数器,每个定时/计数器都有()种工作方式。(A)4,5(B)2,4(C)5,2(D)2,3 7写出五个特殊寄存器的名称及其主要用途。,单片机的程序,计算机的程序分为:文本文件和非文本文件;文本文件 编译 非文本文件 在计算机中可运行的非文本文件又称软件编程:程序员编写文本文件,也称源程序;源程序:由一行一行的语句(指令)组成;语句行必须严格按规定(语法)编写。指令:伪指令、可执行指令;单片机的语句行:标号:操作码助记符 目的操作数,源操作数,源操作数,第3章 MCS-51单片机指令系统,3.1 指令格式和寻址方式3.2 指令系统3.3 思

7、考题与习题,P26,3.1.1 指令格式,8051汇编语言指令由操作码助记符字段和操作数字段两部分组成。指令格式如下:标号:操作码助记符 目的操作数,源操作数,源操作数例如:MOV A,#34H标号 表示指令行所在位置,不能重复;操作码助记符是表示指令操作功能的英文缩写。每条指令均有操作码。例如,JBMOV、SETB等。操作数 数据、数据所在地址、数据存放的寄存器。源操作数、目标操作数之分;指令中的操作数可以是1个2个或3个,有些指令可能没有操作数。操作数与操作数之间以“,”分隔。操作码与操作数之间以空格“”为分隔。操作码与操作数都有对应的二进制代码,指令代码由若干字节组成。对于不同的指令,指

8、令的字节数不同。8051指令系统中,有单字节双字节或三字节指令。下面分别加以说明。,单字节指令单字节指令中的8位二进制代码既包含操作码的信息,也包含操作数的信息。这种指令有两种情况。指令码中隐含着对某一寄存器的操作。例.INC DPTR由于操作的内容和唯一的对象DPTR寄存器,只用8位二进制代码表示,其机器码为A3H。由指令码中的rrr三位的不同编码指定某一个寄存器。例如:INC ROINC R7指令。INC的代码0001,最低三位rrr的不同组合编码用来表示R0R7。(共有49条单字节指令),双字节指令操作码立即数或地址用一个字节表示操作码,另一个字节表示操作数或操作数所在的地址。其指令格式

9、为:(共有45条),三字节指令操作码立即数或地址立即数或地址一个字节操作码,两个字节操作数,其格式如下:(共有17条),3.1.2 寻址方式,获得操作数地址的方式称为操作数地址的寻址方式,简称为寻址方式。8051有以下7种寻址方式:一.立即寻址指令的操作数为8位或16位数据称作立即数,这种寻址方式称立即寻址。例:MOV A,#4AH;4AH送入A MOV DPTR,#3A45H这两条指令表示由“#”后表示的立即数传到目的操作数中。,P27七种寻址方式,二.直接寻址直接寻址时,指令中直接给出操作数的地址。这种寻址方式提供了访问内部数据存储器3种地址空间的方法:1).特殊功能寄存器地址空间。这是唯

10、一可寻址特殊功能寄存器的寻址方式;2).内部RAM的128个字节单元地址空间;3).位置地址空间;例:MOV A,35H属于直接寻址,表示将内部RAM 35H这个直接地址单元中内容传送到累加器中,即:表示为A(35H),这里用括号来表示35H内存单元的内容。MOV A,P1(P1口)A。把SFR中P1口内容送A.直接寻址的地址占一字节,所以,一条直接寻址方式的指令至少占内存两个单元。,三.寄存器寻址寄存器寻址时,指令中指出某一寄存器,其内容用作操作数。以这种寻址方式对所选的当前工作寄存器R0R7进行数据操作。MOV R0,#30H;R030HMOV A,R0;A(R0)上述第一条指令执行的结果

11、。将立即数30H送入R0。第二条指令执行的结果,将A中的内容变为30H。这条指令属于寄存器寻址。,四.寄存器间接寻址 寄存器间接寻址是把指令中寄存器的内容作为操作数的地址,把该地址对应单元的内容作为操作数。这种寻址方式用于访问内部RAM和外部RAM。8051规定R0和R1为间接寄存器,它可寻址内部RAM的低位地址的128B单元内容。对于栈操作指令PUSH和POP,则用堆栈指针SP进行寄存器间接寻址。此外,还可采用数据指针(DPTR)作为间接寻址寄存器,寻址外部数据的64KB空间。例:MOV R0,#35H MOV 35H,#74H MOV A,R0最后一条指令是寄存器间接寻址指令,上述指令的功

12、能是将寄存器R0的内容35H作为地址,再将RAM中35H单元中的数据74H传送到A累加器中。,五.变址寻址8051单片机采用数据指针DPTR或PC为基地址寄存器,以累加器A作为变址寄存器,把二者的内容相加形成操作数的地址。例如(DPTR)=2000H,(A)=16H,(2016)=34H,执行 MOVC A,A+DPTR后,就是将地址为2016中内容34H传送到A累加器中,这种寻址方式适用读取程序存储器中的常数表。,六.相对寻址相对寻址用于相对转移的指令中,相对寻址是以程度计数器PC的当前值为基地址,与指令中给定的相对偏移量rel相加,把所得之和作为程序的转移地址。即目的地址,指令中相对偏移量

13、是一个8位带符号数,用补码表示。相对转移指令一般是2字节指令,所以目的地址=源地址+2+偏移量=(PC+2)+rel例如:指令在1000H地址中有一条指令 1000H:JC 78H;若CY=1,则:目的地址(PC)=1000+2+(78)补=107AH;若CY=0,顺序执行 PC=1000+2=1002H由于相对偏移量rel是一个8位带符号数,用补码形式表示。例:1000H:JC 82H(82H)=7EH 目的地址=1000H+27EH=F84H从上述例子可见,程序转移范围在相对PC当前值的+127128个字节单元之间。在实际应用中经常需要根据已知的源地址和目的地址计算偏移量rel。rel=目

14、的地址(源地址+2)补 执行指令 例如:1000H:JC rel 转移到F84H处 问:rel=?rel=F84H(1000H+2)补=(7E)补=82H此外也有一些是三字节的相对转移指令(如:CJNE,A direct,rel),即10执行完这条指令后,当前的PC值应该为本指令首字节所在单元的地址值加3,所以偏移量为 rel=目的地址(源地址+3),七位寻址 P298051单片机中可以作为位寻址的区域有二个:一个是在内部RAM的20H2FH的16个单元。每单元8位共计128位。另一个是字节地址能被8整除的特殊功能寄存器。所谓位寻址就是对位地址空间的每个位进行位传送、位状态控制。位逻辑运算等。

15、例如:MOV C,08H;C(08H)其功能是:把内部RAM的21H中的D 0 位(位地址为08H)的内容传送到CY中。,3.2 指令系统 P29,指令系统指一台计算机所能执行的全部指令的集合。MCS-51单片机 单片机的指令系统功能较强。其汇编语言指令有42种操作码助记符,各种操作码助记符与各种寻址方式组合得到111种指令,其中单字节49条,双字节指令45条和17条3字节指令。若按指令执行时间分类,有64条单周期指令,45条双周期指令和2条4周期指令。MCS-51指令系统可分为五大类:数据传送指令(28条)算术运算指令(24条)逻辑运算指令(25条)控制转移指令(22条)位操作指令(12条)

16、共111条,寻址空间及符号注释,表3-2-1 寻址空间,符号注释Rn(n=07):指当前工作寄存器组的工作寄存器R0R7。Ri(i=0,1):“”为寄存器间址符,以寄存器R0或R1作间接寻址。DPTR:以数据指针DPTR的内容(16位)为地址的间接寻址,用于对外部RAM 64K地址空间寻址。#data:8位立即数,“#”后表示的是立即数,而不是地址。#data16:16位立即数。direct:8位片内RAM单元(包括SFR)的直接地址。add r11:11位目的地址,用于ACALL和AJMP指令中,目的地址必须在与下条指令地址位于同2KB区的程序存储器地址空间。add r16:16位目的地址,

17、用于LCALL和LJMP指令中,可使程序在64KB程序存储器地址空间的任何单元。rel:补码形式的8位地址偏移量,以下条指令第一字节地址为基值,地址偏移量在-128+127范围内。/bit:位操作,表示光对该位中的内容取反然后再参与运算,但不改变该位中的内容。“/”为取反符。“bit”是位地址。,作业2,1.任何程序总是由三种基本结构组成:顺序、分支和_。,2.MCS-51指令系统主要有哪几种寻址方 式?试举例说明。3.请说明下面符号地址代表的意义:Rel;addr11;addr16;direct;#data,3.2.2 数据传送指令,8051为用户提供了极其丰富的数据传送指令,功能很强这类指

18、令是把源操作数中的数据传送到目的操作数中去,而源操作数中的内容不改变,在应用程序中,传送指令占据很大的比例。1.对内部RAM和SFR的一般数据传送指令 P302.堆栈操作指令 P333.字节交换指令 P344.累加器与外部传送指令 P355.累加器A与程序存储器的传送指令(查表指令)P36,表3-3-2 内部RAM和SFR的数据传送指令,3.2.3算术运算指令 P37,所谓算术运算指令包括加减乘除,基本四则运算,一般在双操作数加、带进位加和带借位减的操作里,累加器A的内容为第一操作数,并将操作后的中间结果存放在A中,第二操作数,可以是立即数,工作寄存器内容,寄存器Ri间接寻址字节或直接寻址字节

19、。指令的执行结果将使程序状态字PSW中的进位CY、半进位AC和溢出位OV置位或恢复,只有加1和减1指令不影响这些标志,乘除指令不影响AC标志位,PSW中的奇偶性标志P总是表示累加器A的奇偶性。,1.加法指令 P38,2.带借位减法指令 P39,3.乘法指令 P40,4.除法指令 P40,5.加1指令 P40,6.减1指令 P41,7.十进制调整指令 P41,十进制调整指令举例 P42,例:如果(A)=65H;表示十进制数65的压缩BCD码(R2)=78H;表示十进制数78的压缩BCD码 ADD A,R2 DA A指令执行情况如下:A=0 1 1 0 0 1 0 1+)R2=0 1 1 1 1

20、0 0 0-1 1 0 1 1 1 0 1+)0 1 1 0 0 1 1 0;加6调整,自动完成 1 0 1 0 0 0 0 1 1 结果:(A)=43H,CY=1 相当于十进制143。,此类指令影响标志位!。1.加法指令 P38 2.带借位减法指令 P39 3.乘法指令 P40 4.除法指令 P40 5.加1指令 P40 6.减1指令 P41 7.十进制调整指令 P41,作业3,1.MOV DPTR,#data16的作用是用来设定_。2.MCS-51的指令按其功能可分为五大类:_、_、逻辑运算类指令、位操作指令、控制转移指令。3.MOVX A,R0指令中,源操作数采用()寻址方式。4 A7H

21、和5BH两个立即数相加后,和为(),(CY)是()。(A)1CH,0(B)C1H,0(C)02H,1(D)C1H,1,5.8031单片机中,将累加器A中的数送入外RAM的40H单元,可执行的指令()。(A)MOV R1,40H(B)MOV R1,#40H MOVX R1,A MOVX R1,A(C)MOVX 40H,A(D)MOV R1,#40H MOVX R1,A 6.已知累加器A的数值为98H,它与0FAH相加,相加后会影响标 志位CY、AC和OV位。各个位的值是()。(A)0、0、0(B)1、0、1(C)1、1、1(D)1、1、0 7.已知(R0)=20H,(20H)=10H,(P0)=

22、30H,(R2)=20H,执行如下 程序段后(40H)=MOV R0,#11H MOV A,R2 ADD A,20H MOV PSW,#80H SUBB A,P0 MOV 40H,A,3.2.4 逻辑运算指令,逻辑运算指令包括逻辑与、或、异或、清除、求反、移位等操作,这类指令的操作数都是8位,共25条逻辑操作指令。1.累加器清0,取反,移位和半字交换指令 P422.逻辑与指令 P43(按位,有0即为0)3.逻辑或指令 P44(按位,有1即为1)4.逻辑“异或”指令 P45(按位,相同为0)读修改写指令,1.累加器清0,取反,移位和半字交换指令,2.逻辑与指令,3.逻辑或指令,4.逻辑“异或”指

23、令,3.2.6位操作指令 P55,MSC-51单片机具有丰富的位操作指令。可以完成以位变量为对象的传递、运算、控制、转移等操作。在位操作中以位累加器(借用进位标志CY)为中心展开,位操作指令的操作对象是内部RAM的位寻址区,即字节地址为20H2FH单元中连续的128位(位地址为00H7FH),以及SFR中可以进行位寻址的各位。见表2.4,表2.5。位操作指令见表3.26。,表3-2-26 位操作指令,作业4,1.CJNE,rel属于五大类指令中的_类指令,其操作码助记符含义是_。2 若(A)=86H,(PSW)=80H,则执行RRC A指令后(A)=()(A)C3H(B)B3H(C)0DH(D

24、)56H3.已知(R0)=20H,(20H)=36H,(21H)=17H,(36H)=34H,执行过程如下:MOV A,R0 MOV R0,A MOV A,R0 ADD A,21H ORL A,#21H RL A MOV R2,A 则执行结束(R0)=(R2)=4.执行下面一段程序;MOV SP,#60H PUSH A MOV A,#10H PUSH B MOV B,#01H POP A POP B A,B的内容是:(A)=(B)=,3.2.5 控制转移指令,单片机在执行指令的过程中,有时因为操作的需要,程序不能按顺序逐条执行指令,而是根据条件(标志),需要改变程序运行方向,即将程序跳转到某个

25、指定的地址再顺序执行下去,某些指令具有修改程序计数器PC的功能,因此PC的内容是将执行的下一条指令的地址。8051单片机有丰富的转移类指令(17条),包括无条件转移指令,条件转移指令,调用指令及返回指令条。,1.无条件转移指令,无条件转移指令,当程序执行到无条件转移指令时,移到指令所提供的地址处执行,这类指令回有以下4条:P46,例3-24:根据累加器A中命令键键值,设计命令键操作程序入口跳转表。CLR C RLC A MOV DPTR,#JPTAB JMP A+DPTR JPTAB:AJMP CCS0 AJMP CCS1 AJMP CCS2 CCS0:CCS1:CCS2:当(A)=00H,转

26、移到CCS0,当(A)=01H时散转到CCS1,(A)=02H时散转到CCS2,由于AJMP是双字节指令,散转前A 中键值应先乘2。,2。条件转移指令 P49,比较转移指令 P51,4.循环转移 P52,5.调用子程序指令 P52-53,6.子程序返回指令 P54,空操作 NOP 00000000 1指令,作业5,1判断下列各题,正确的打“”,错误的打“”(1).MOV 20H,R1()(2).ADDC A,2030H()(3).CLR A()(4).MOVX 40H,#30H()(5).ORG 3000H()(6).MOVC A+PC,A()(7).MOVX A,2000H()(8).DJN

27、Z#data,rel()(9).INC R5()(10).DEC DPTR()(11).MOV R1,R2()(12).SWAP R1()(13).SETB 2000H()(14).JZ A,LOOP()(15)DA R2(),例3-25:二数相加若和不等于零则和取反,若和为零则将 20单元清零。,ADD A,R0 JNZ NEQ MOV 20H,ANEQ:CPL A例3-27:判(00H)位,若(00H)1,则(A)+1A,若(00H)=1,则(A)A,编制一个程序。sEX:JNB 00H,NEQ CPL A SJMP sENDNEQ:INC AsEND:RET,例3-28:编写一程序完成计算I 并将结果送入(20H)中.DEL1:MOV R2,#09H;置循环次数 MOV A,#00H;置初值 MOV R1,#00HLOOP:INC R1 ADD A,R1;两数相加 DJNZ R2,LOOP;次数没完成转移 RET,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号