版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原原理及应应用第1,2,3章章复复习习光华学院院信息工程程系王超超单片机实实物图单片机开开发板单片机流水灯数码管电机传感器单片机应应用原理理一个微电电脑包括括微处理理器(CPU),存放放程序指指令的((ROM),存放放数据的的(RAM),输入入输出端端口(I/O口口)以及时钟,计数器,中断系统统等,它们们经过地地址总线线(AddressBus),数据据总线(DadaBus),控制制总线((ControlBus)的连接接以及输输入输出出端口与与外围设设备连接接,构成成微电脑脑系统。。由于单单片机微微处理器器把微电电脑的主主要器件件制造在在一块芯芯片上,,所以可可以把单单片机微微处理器器看成是是一个不带外围围装置的的微电脑脑。什么是单单片机??测试试题题9.8051单片机机的内部部硬件结结构包括括了:______________、______________、______________、、和______________以及并并行I/O口、、串行口口、中断断控制系系统、时时钟电路路、位处处理器等等部件,,这些部部件通过过_____________相连连接。13.8031单片片机中片片内RAM共有有()字节节。A.128B.256C.4KD.64K工业方面民用方面仪表方面电讯方面数据处理方面汽车方面单片机的的应用微型计算算机硬件件结构硬件系统统:微机实体体和装置置软件系统统:微机系统统使用的的各种程序序的总称称单片机硬硬件结构构MCS-51单单片机的的硬件结结构时钟电路CPUROMRAMT0T1中断系统串行接口并行接口P0P1P2P3TXDRXDINT0INT1定时计数器结构框图图微处理器器CPU:8位,运运算和控控制功能能内部RAM:共256个RAM单元元,用户户使用前前128个单元元,用于于存放可可读写数数据,后后128个单元元被专用用寄存器器占用。。内部ROM:4KB掩掩膜ROM,用用于存放放程序、、原始数数据和表表格。定时/计计数器::两个16位的定定时/计计数器,,实现定定时或计计数功能能。并行I/O口::4个8位位的I/O口P0、P1、P2、P3。串行口::一个全双双工串行行口。中断控制制系统::5个中断断源(外外中断2个,定定时/计计数中断断2个个,串行行中断1个)时钟电路路:可产生时时钟脉冲冲序列,,允许晶晶振频率率6MHZ和12MHZ测试试题题简答题:1、MCS-51单片片机的片片内都集集成了哪哪些功能能部件??各个功功能部件件的最主主要的功功能是什什么?测试试题题1.一个个完整的的微机系系统由_____________和_______________两大大部分组组成.3.半导导体存储储器分成成两大类类__________和__________,其中中_______________具有易易失性,,常用于于存储___________。MCS-51单单片机信信号引脚脚简介P3口线的第二二功能VCCVSSXTAL2
XTAL1RSTP0.0
P0.1
P0.2P0.3P0.4P0.5P0.6P0.7P1.0
P1.1
P1.2P1.3P1.4P1.5P1.6P1.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0ALEP3.0
P3.1
P3.2P3.3P3.4P3.5P3.6P3.72、时钟引脚::XTAL1、XTAL23、复位引脚::RST7、并行口:P0、P1、P2、、P34、ALE:地址锁锁存控制信信号1、电源线:VCC(+5V)、、VSS(地)EAPSEN6、EA:内外程序存储选择控制信号5、PSEN:外部ROM读选通信号RXD/
TXD/
INT0/INT1/
T0/
T1/
WR/
RD/1
2
3
4
5
6
7
8
9
10111213141516171819
2040
39
38
37
36
35
34
33
32
313029282726252424222180318051875189C51时钟电路与与复位电路路(1)时钟钟振荡电路路测试题题12.单单片机8051的XTALl和XTAL2引脚脚是())引引脚A.外接接定时器B.外接接串行口C.外外接中断D.外接晶晶振例:若振荡频率率fosc=12MHz,则MCS-51的的振荡周期期,状态周周期,机器器周期是多多少?振荡周期(时钟周期期)=1/12us状态周期=2*(1/12)us机器周期=12*(1/12)us=1us10.在MCS-51单片机机中,如果果采用12MHz晶晶振,一个个机器周期期为____________。测试题题1.8031单片机机的()口的引引脚,还具具有外中断断、串行通通信等第二二功能。a)P0b))P1c)P2d)P32.单片机机应用程序序一般存放放在())a)RAMb))ROMc)寄存器器d)CPU3.已知某某数的BCD码为0111010101000010则则其表示的的十进制数数值为())a)7542Hb))7542c)75.42Hd)75.42测试题题2.8051的引引脚RST是_________(IN脚还还是OUT脚),当当其端出现现_____电平时时,8051进入复复位状态。。8051一直维持持这个值,,直到RST脚收到到____电平,8051才才脱离复位位状态,进进入程序运运行状态,,从ROM_______H单元开始始取指令并并翻译和执执行。MCS-51的微处处理器MCS-51的微处处理器(CPU)由运算器和控制器所构成。2.3.1运算器作用:对操作数进进行算术、、逻辑运算算和位操作作。由算术逻辑单单元(ALU)、累加器A、寄存器B、位处理器和程序状态字字寄存器(PSW)等构成。1.算术逻逻辑运算单单元ALU它是运算器器的的核心心.+-*/,&|-...2.累加器器A(8位位)使用最频繁繁的寄存器器,可写为为Acc。。累加器A的的作用:(1)是ALU的输输入(数据据处理源)之一,又又是运算结结果的存放单单元。(2)数据据传送大多多都通过累累加器A。。3.寄存存器B(8位)是为执行乘、除法操作设置的的,作为ALU的输输入之一。。在不执行行乘、除法法操作的情情况下,可可当作普通通寄存器使使用。(A*B=BA)(A/B=A…B)4.程序状状态字寄存存器PSW(ProgramStatusWord)(1)Cy(PSW.7)进位标志位位,或写为为C,有进进位或借位位时硬件置置1。(2)Ac(PSW.6)辅助进位标标志位,用用于BCD码的十进制调整运运算。当低低4位向高高4位数发发生进位或或借位时,AC被硬硬件置位,否则被清清0。(3)F0(PSW.5)用户自定义义标志位。。可用软件件使它置1或清0,,也可由软软件来测试试标志F0以控制程程序的流向向。编程时时,该标志志很有用。。CyACF0RS1RS0OV…PD0HD7D6D5D4D3D2D1D0PSW表2.3RS1、、RS0与与片片内内工工作作寄寄存存器器组组的的对对应应关关系系RS1RS0寄存器组片内RAM地址通用寄存器名称000组00H~07HR0~R7011组08H~0FHR0~R7102组10H~17HR0~R7113组18H~1FHR0~R7(4))RS1、、RS0((PSW.4、、PSW.3))::4组组工工作作寄寄存存器器区区选选择择控控制制位位1和和位位0。。CyACF0RS1RS0OV…PD0HD7D6D5D4D3D2D1D0PSWRAM共共128个个单单元元测试试题题6..若若由由程程序序设设定定RS1、、RS0=01,,则则工工作作寄寄存存器器R0~~R7的的直直接接地地址址为为______。。5..INTEL8051单单片片机机是是(())位位的的单单片片机机a))16b))4c))8d))准准1611.进进位位标标志志CY在在()中中。。A.累累加加器器AB..算算术术逻逻辑辑运运算算部部件件ALUC..程程序序状状态态字字寄寄存存器器PSWD.DPDR14.当当标标志志寄寄存存器器PSW的的RS0、、RS1分分别别为为1,0时时,,选选用用的的工工作作寄寄存存器器组组为为()。。A.组组0B..组组1C..组组2D.组组3(5)OV((PSW.2))::溢出出标标志志位位指示示运运算算是是否否产产生生溢溢出出。。各各种种算算术术运运算算指指令令对对该该位位的的影影响响情情况况较较复复杂杂,,将将在在第第3章章介介绍绍。。(6)PSW.1位位:保保留留位位,,未未用用(7)P(PSW.0)::奇偶偶标标志志位位,每每个个指指令令周周期期都都由由硬硬件件置置位位或或清清除除.P=1,A中中“1”的个个数为奇数P=0,A中中“1”的个个数为偶数注:奇偶标志位对对串行口通讯中中的数据传输输有重要意义,,常用奇偶检验的方方法来检验数据传传输的可靠性性。CyACF0RS1RS0OV…PD0HD7D6D5D4D3D2D1D0PSW1
2
3
4
5
6
7
8
9
10
11
12
13
1428
27
26
25
24
23
22
2120
19
18
17
16
15EPROM27641
2
3
4
5
6
7
8
9
10
11
12
13
1428
27
26
25
24
23
22
2120
19
18
17
16
15EPROM27641
2
3
4
5
6
7
8
9
10111213141516171819
2040
39
38
37
36
35
34
33
32
31302928272625242422211
2
3
4
5
6
7
8
9
10
11
12
13
1428
27
26
25
24
23
22
2120
19
18
17
16
15RAM62641
2
3
4
5
6
7
8
9
10
11
12
13
1428
27
26
25
24
23
22
2120
19
18
17
16
15RAM6264
MCS51存
储
器的的结构80318051875189C51片内RAM片内ROM256B(字字节)4K64K64K(1)程序存储器程序存储器内部外部0000H0FFFH(4K)0000HFFFFH(64K)0000H0FFFH(4K)0000H0001H0002H(PC)0000H是程序执行的起始单元,
在这三个单元存放一条
无条件转移指令中断5中断4中断3中断2中断10003H000BH0013H001BH0023H002BH外部中断0定时器0中断外部中断1定时器1中断串行口中断8位...0FFFH0FFEHEA=1EA=0程序存储器资源分分布中断入口地址址0000HFFFFH(64K)内部外部(2)数据存储器数据存储器00HFFH7FH80H(高128B)(低128B)RAM专用
寄存器器00H07H08H0FH10H17H18H1FH0区R0R7R0R7R0R7R0R71区2区3区工作寄存器区可位寻址区20H2FH7F78070030H7FH数据缓冲区/堆栈区内部RAM存储器
11第3区18H~1FH
01第1区08H~0FHRS1RS0寄存器区片内RAM地址
00第0区00H~07H10第2区10H~17H工作寄存器区区选择位RS0、RS1测试题题简答题:2.请画出MCS-51RAM区区的示意图,并注明各区区域基本用途途.注意:一一个单元地址址对应有8个个位地址MSB——MostSignificantBit(最最高有效位))
LSB———LeastSignificantBit(最低有有效位)单元地址2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H7F776F675F574F473F372F271F170F07
MSB
位地址
LSB7E766E665E564E463E362E261E160E067D756D655D554D453D352D251D150D057C746C645C544C443C342C241C140C047B736B635B534B433B332B231B130B037A726A625A524A423A322A221A120A027971696159514941393129211911090178706860585048403830282018100800RAM位寻址区位地地址表测试题题15.8051的内部部RAM中,,可以进行位位寻址的地址址空间为()。。A.00H~2FHB.20H~2FHC.00H~FFHD.20H~FFH高128个单单元☆离散分布有21个特殊功功能寄存器SFR。☆11个可以进进行位寻址。。☆特别提示:对对SFR只能能使用直接寻寻址方式,书书写时可使用用寄存器符号号,也可用寄寄存器单元地地址。测试题题4.CPU主主要的组成部部部分为())a)运算器、、控制器b)加加法器、寄存存器c)运算器、、寄存器d)运算算器、指令译译码器8.11H位位寻址所在的的单元地址是是())a)20Hb)30Hc)22Hd)70H1)堆栈和堆堆栈指针SP堆栈是按先进后出或后进先出原则进行存取取的片内RAM区域域。(主要是为为子程序调用用和中断操作作而设立的)堆栈的具体功功能是:①保护断点(PC的内容容);②保护现场(保存有关寄寄存器单元的的内容)。MCS-51单片机的堆堆栈区是不固固定的,原则则上可设置在内部RAM(00H~7FH)的任意单单元。但实际际应用中要根据对对片内RAM的各功能区区的使用情况况灵活设置,但应避避开工作寄存存器区、位寻寻址区、和用用户使用的数据据区,一般设设在2FH地址以后的区区域。堆栈指针SP是一个8位位的SFR。。SP的内容容指示出堆栈顶部在RAM区中中的位置。单片机复位后,SP中的的内容为07H(即指向07H的RAM单元),,使堆栈事实实上由08H单元开始。。所以在使用堆堆栈前,先给给SP赋值(一般为2FH以后的单元),以规定堆栈栈的起始位置置(栈底)。。当数据存入堆栈后后,SP的值值也随之自动动变化。测试题题8.MCS-51的堆栈栈只可设置在在________,一一般设在______地地址以后的区区域,。堆栈栈寄存器SP是____位寄存器,,存放___________。复位时,PC初始化为0000H,使MCS-51单片机从从程序存储器0000H单元开始执行行程序。除PC之外,,复位操作还还对其它一些些寄存器有影影响,见表2.3(P26)。SP=07H,P0-P3的引脚脚均为高电平平。复位电路(2)复位电电路单片机复位条条件:必须使RST引脚持续2微秒高电平(外部部时钟12MHz)谁知道复位电路怎么么起到复位的的作用?测试题题6.8051复位后,PC与SP的的值为())a)0000H,00Hb)0000H,,07Hc)0003H,07Hd)0800H,00H指令系统概述述指令:控制计计算机完成指指定操作的命命令。指令系统:计计算机所能执执行的指令的的集合。★测试题题4.所谓寻寻址,其实质质就是___________。问答题:1、MCS-51共有哪哪几种寻址方方式?各有什什么特点?并并举例说明.指令格式操作码:用来规定指令令进行什么操操作。操作数:是指令操作的的对象。标号:代表该指令所所存放的第一一个字节存储储单元的地址址,故标号又又称为“符号号地址”。DELAY:MOVR3,#0FFH;一段延时程程序3.3指令令系统的寻址址方式
(寻寻找操作数))有我的信,找信去立即找到信!!找信是寻找存放信信的!!找到放信的箱箱子才找到信信!“地方”3.3指令令系统的寻址址方式
(寻寻找操作数))找到放信的箱箱子才找到信信!10000H0001H0002H2002H2003H2004H2005H2006H……80H2002H找信是寻找存放信信的!!“地方”“地址”找操作数是找操作数的“地址”立即寻址直接寻址寄存器寻址寄存器间接寻址变址寻址相对寻址位寻址信操作数立即找到信!!立即数寻址!!#XXHMOVA,#55H#55HCPUAAMOVRn,#01HR0-R700H07H08H0FH10H17H18H1FH0区R0R7R0R7R0R7R0R71区2区3区工作寄存器区可位寻址区20H2FH7F78070030H7FH数据缓冲区/堆栈区内部RAM存储器MOVDPTR,#1FFFHDPTRMOVdirect,#88HdirectMOV
Direct,
#88H直接寻址寄存器寻址寄存器间接寻址变址寻址相对寻址位寻址70H……70H88H10001000ADDA,#55HSUBA,#01H立即数寻址直接寻址寄存器寻址寄存器间接寻寻址变址寻址相对寻址位寻址CPU操作数内部RAM或或SFR区20HMOVA,20HA88HAMOVRn,20HMOVdirect,30HMOV@Ri,30HAR0-R7direct@Ri直接给出操作作数地址的方方式20H——直直接寻址ADDA,20HSUBA,30H寻址比较MOVP1, #20H①MOVP1, 20H②MOVP1, R0③MOVP1, @R0④指出下列指令令寻址方式MOV P1, #0FFHMOV A, F0HPUSH12H立即寻址直接寻址直接寻址立即数寻址直接寻址寄存器寻址寄存器间接寻寻址变址寻址相对寻址位寻址CPU88H20H操作数60H寄存器A操作数操作数MOVP1,A你能说出:带圈的圆弧箭箭头代表的是什么么吗?谁能说出:寄存器寻址与直接寻址的区别?AR0-R7BDPTRP1MOVP1,R4CLRA立即数寻址直接寻址寄存器寻址寄存器间接寻寻址变址寻寻址相对寻寻址位寻址址22通过间接找找到的地址址———“2号”!“1号号”信寄存器器操作数数寄存器器1CPU3AH寄存器器R0猜一猜猜:操作数数的地地址是多少少吗??内部RAM3AH我才是是操作作数65HMOVA,@R0AR0R1DPTR寄存器器间接接寻址址寄存存器MOVXA,@DPTR立即数数寻址址直接寻寻址寄存器器寻址址寄存器器间接接寻址址变址寻寻址相对寻寻址位寻址址CPU寄存器器3AH3AH程序存存储区区65H操作数数变址寄存器02H基址寄存器0300H+0302H0302H88HADPTRPCMOVCA,@A+DPTRAMOVCA,@A+PC立即数数寻址址直接寻寻址寄存器器寻址址寄存器器间接接寻址址变址寻寻址相对寻寻址位寻址址……0000H0001H0002H2002H2003H2004H2005H2006HPCPCPCPCPCPC如果想想跳到到2006H执执行,,该给给PC值加上多多少呢?2006H2003H—03H03H就是是当前前PC值与与目的的PC值相对差差SJMP03H(PC+03H)SJMP=2003H+03H=2006H操作数数哪去去了??03就就是操操作数数立即数数寻址址直接寻寻址寄存器器寻址址寄存器器间接接寻址址变址寻寻址相对寻寻址位寻址址20H21H27H28H20H21H……D7D0000000001想一想想:如果想想使27H单元元的D5位位置1,该该怎么么办呢呢?00H07H08H0FH10H17H18H1FH0区R0R7R0R7R0R7R0R71区2区3区工作寄存器区可位寻址区20H2FH7F78070030H7FH数据缓冲区/堆栈区内部RAM存储器单元地址2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H7F776F675F574F473F372F271F170F07
MSB
位地址
LSB7E766E665E564E463E362E261E160E067D756D655D554D453D352D251D150D057C746C645C544C443C342C241C140C047B736B635B534B433B332B231B130B037A726A625A524A423A322A221A120A027971696159514941393129211911090178706860585048403830282018100800位寻址址地址址表立即数数寻址址直接寻寻址寄存器器寻址址寄存器器间接接寻址址变址寻寻址相对寻寻址位寻址址SETB3DH20H21H27H28H……D7D020H21H000000001MCS-51单单片机机指令令系统统分类类介绍绍MCS-51单片机机指令系统统共有111条指令令,按功能能分类,可可分下面5大类:数据传送类类(29条条)算数操作类类(24条条)逻辑运算类类(24条条)控制转移类类(17条条)位操作类((17条))常用伪指令令(17条条)符号含义Rn表示当前选定寄存器组的工作寄存器R0~R7Ri表示作为间接寻址的地址指针R0~R1#data表示8位立即数,即00H~FFH#data16表示16位立即数,即0000H~FFFFHaddr16表示16位地址,用于64K范围内寻址addr11表示11位地址,用于2K范围内寻址direct8位直接地址,可以是内部RAM区的某一单元或某一专用功能寄存器的地址Rel带符号的8位偏移量(-128~+127)Bit位寻址区的直接寻址位(X)X地址单元中的内容,或X作为间接寻址寄存器时所指单元的内容←将←后面的内容传送到前面去指令中一些些符号的约约定意义简答题:3.MCS-51指指令按功能能可以分为为哪几类??每类指令令的作用是是什么?并并举例说明明.目的地址源源地址址数据MOV<目的操作数数>,<源操作数>MOVA,#20H,ARndirect1@RiARndirect2@Ri#dataARndirect2@Ri#dataMOVRnA#datadirect2direct1ARndirect2@Ri#data@RiAdirect2#data20HA数据传送指指令(29条)————8位数据传送指指令(15条)数据传送指指令(29条)————16位数据传送指指令(1条条)MOVDPTR,#data16——外部数据传送指指令(4条条)MOVX<目的操作数数>,<源操作数>,A@DPTR@RiMOVXA@DPTR@Ri@DPTRA@Ri@DPTRA@RiA谁知道内RAM中中30H中中数据→外RAM的1001H中?MOVA,30HMOVDPTR,#1001HMOVX@DPTR,A片内传送———MOV在A累加器器、工作寄寄存器R0~R7、、片内RAM与SFR(direct、@Ri)之间传传送数据。。单片机与片片外RAM之间的数数据传送((取数/送送数)———MOVX在片外RAM(或外扩I/O口))与A累加器之间间传送。仅仅采用寄存存器间接寻寻址方式。。单片机与ROM之间间的数据传传送
(查查表)———MOVC读取存放在在程序存储储器ROM中的数据据,通常是是以表格形形式存放。。采用变址寻址方式。MOVCA,@A+DPTRMOVCA,@A+PCAROM优点:不改变特殊功能寄寄存器及PC的状态,根根据A的内容就可可以取出表格中的常常数。缺点:表格只能存存放在该条查表指指令后面的256个单元之内内,表格的的大小受到到限制,且且表格只能能被一段程程序所利用用。注意:PSEN*信号有效。。单片机与ROM之间间的数据传传送
(查查表)———MOVC编程时还需需要进行偏移量的计算,即即MOVCA,@A+PC指指令所在地址与表格存放首首地址间的距离字节节数的计算算,并需要要一条加法指令进行调整。单片机与ROM之间间的数据传传送
(查查表)———MOVC(2)MOVCA,@A+DPTR以DPTR作为基址寄存器,,A的内容作为无符号号整数和DPTR的的内容相加得到一一个16位位的地址,,把由该地地址指出的的程序存储器单元元的内容送送到累加器器A。例如:MOVCA,@A+DPTR本指令的执执行结果只只和指针DPTR及及累加器A的内容有有关,与该指令存存放的地址址及常数表表格存放的的地址无关关。表格的大小小和位置可可以在64K程序存存储器中任任意安排,一个表格格可以为各各个程序块块公用。例:从程序存储器器2000H单元开始始存放0~~9的平方值,,以DPTR作为基基址寄存器器进行查表表得9的平平方值,若若用以DPTR作作为基址寄寄存器的查查表指令.程序如下:MOVDPTR,#2000HMOVA,#09HMOVCA,@A+DPTR1)字节交交换指令((3条)——交换类指令(3条条)AF581内部RAM directXCH A,Rn @Ri
2)低半字字节交换指指令(1条条)XCHDA,@Ri这里假设i=0A85F15B5B寄存器R03)累加器器A中高4位和低4位交换指指令(1条条)SWAPA01011100PUSHdirectPOPdirectPUSH33HPUSH34H——堆栈操作指令(2条条)POP36HPOP35H. .. .★堆栈原则::后进先出数据缓冲堆堆栈区堆栈指针SPSP内是是存放的是是堆栈栈顶顶的地址★堆栈原则::后进先出出PUSHdirectPOPdirectPUSH33HPUSH34H★堆栈原则::后进先出出复位后SP=07HPUSHdirectPOPdirectPOP36HPOP35H★堆栈原则则:后进进先出复位后SP=07H传送类指指令分类类单片机内内部数据据传送指指令:MOVXCHXCHDSWAPPUSHPOP单片机内部与单片机机外部RAM之之间的数数据传送送指令::MOVX单片机内部与ROM之间的的数据传传送指令令:MOVC★MOVX和MOVC以A作中介介directdirect算术运算算类指令令(24条)————加法指令(8条)A,,Rn@Ri#dataADDRn@Ri#datadirectdirectA,,Rn@Ri#dataADDCRn@Ri#data——减法指令(4条)directdirectA,,Rn@Ri#dataSUBBRn@Ri#dataADDCA,B(A+B+CY→A)SUBBA,B(A––B–CY→A)算术操作作类指令令(24条)——加法指令(8条) RnADDCA,direct @Ri #data
0011,0110,1010,1101+1010,1100,1101,1100——————————————1110,0011,1000,10011010,1101+1101,1100——————————————1000,1001MOVA,#0ADHADDA,#0DCHMOV20H,A———————MOVA,#36HADDCA,#0ACHMOV21H,ABCD码码:00110100——BCD码码调整指令(1条)DAA注意:DAA指指令只能能跟在ADD或或ADDC加法法指令后后,不适适用于减减法指令令。十进制二进制BCD码012345678910
11
12
13
14
15000000010010001101000101011001111000100110101011110011011110111100000001001000110100010101100111100010010001000000010001000100100001001100010100000101011816+34十进制0001100000010110+BCD码码001011100011010000101110-00000110差6——BCD码调调整指令令BCD码码也叫8421码,就就是将十十进制的的数以8421的形式式展开成成二进制制,大家家知道十十进制是是0~9十个数数组成,,这十个个数每个个数都有有自己的的8421码::举个例子子:321的的8421码就是321001100100001原因:0011=8x0+4x0+2x1+1x1=30010=8x0+4x0+2x1+1x0=2.0001=8x0+4x0+2x0+1x1=1——BCD码调调整指令令DAA该指令有有何用途途呢?注意:DAA指指令只能能跟在进进行BCD码运运算的ADD或或ADDC加法法指令后后,不适适用与减减法指令令。——BCD码调调整指令令例如:87+13——加1减1指令A中存放放结果的的低8位位B中存放放结果的的高8位位——乘法指令(1条)——除法指令(1条)MULABDIVABA中存放放结果的的商B中存放放结果的的余数A中存放放结果的的低8位位B中存放放结果的的高8位位——乘法指令(1条)MULAB例如:MOVA,#02HMOVB,#03HMULABA=06HB=00H——乘法指令(1条)MULAB例如:MOVA,#20MOVB,#20MULAB20=14HA=90HB=01H20*20=40020=14H400=0190H★提示:——除法指令(1条)DIVABA中存放放结果的的商B中存放放结果的的余数例如:MOVA,#25MOVB,#03DIVABA=08HB=01H3.4.3逻逻辑运算算指令——逻辑与指令(6条)逻辑与指令常用用于屏蔽字节节中的某某些位。若清除某位,则则用0和该位相与;若保留某位,则则用1和该位相与。——逻辑或指令(6条)逻辑或指令常用用于使字节中中的某些些位置11,其它位位保持不不变。若若置位某位,则则用1和该位相或;若保留留某位,,则用00和该位位相或。。——逻辑异或或指令(6条)逻辑异或或指令常常用于使使字节中中的某些些位进行行取反操作,其其它位保保持不变变。若某某位取反反,则用1和该该位相异异或;若保留留某位,,则用00和该位位相异或或。——累加器A清0和和取反指令A.0A.7A.0A.7A.0A.7A.0A.7CYCYRLARRARLCARRCA注意:执行带进进位的循循环移位位指令之之前,必必须给CY置位位或清零零。——循环移位位指令MOVA,#01HMOVP1,ARLAMOVP1,A——循环移位位指令3.4.4控控制转移移类指令令————无条件转转移指令(4条)1)长长转移指指令:LJMPAAAAH;;AAAAHPCPC=0000HPC=AAAAH0000H0001H······AAA9HAAAAH0002H假设执行行该指令令前,PC的值值为0000H。注意:该指令可可以转移移到64KB程序存存储器中中的任意意位置。。PC高5位(保持不不变)PC低11位A10A9A800001A7A6A5A4A3A2A1A0操作码(第一字字节)操作数(第二字字节)11位转转移地址址的形成成示意图图转移范围围2k程序计数数器PC2)绝对对转移指指令AJMPaddr11;;PC+2PC,,addr11PC.10~PC.0PC2002H2003H0000H0001H······2004H2005H2006HPCPCPC2006H2003HPC0002HPC3)相对对转移指指令例:SJMP03H03H03H就就是当前前PC值值与目的PC值相对差PCJMP @A+DPTR4)散转指令令功能:将DPTR中的内容作为为基地址,通通过修改A的内容实现散散转!一般应用在键键盘程序中1)累加器A判0指令(2条))——条件转移指令(8条))2)判别进位位标志CY状状态指令(2条)3)判别某位位Bit状态态指令(2条条)4)减1非零零转移指令((2条)5)比较转移移指令(4条条)条件转移指令令的共同特点点:都是相对转移移指令条件转移类指指令范例(一一)问答题:2.将00H~0FH这这16个数顺顺序地置入片片内RAM20H~2FH单元中。。2FH...21H20H0FH...01H00H数据地址条件转移类指指令范例(一一)将00H~0FH这16个数顺序地地置入片内RAM20H~2FH单单元中。可以用16个个MOV指令令将16个数数据依次装入入存储器中!!采用循环方式式将16个数数据依次装入入存储器中!!条件转移类指指令范例(一一)MOV R0, #20HMOV R7, #10HCLR ALOOP:MOV@R0,AINC AINC R0DJNZR7, LOOPSJMP$将地址20H放入R0中中,明确了数据起起始地址循环次数16放入R7,,明确循环15次累加器A=0实现数据00放入20H中A=01RO=21判断作用!判断什么?判断R7的值值,(-1不等于于0则跳转))MOV R0, #20HCLR ALOOP:MOV@R0,AINC AINC R0CJNEA,#10H,LOOPSJMP$条件转移类指指令范例(二二)将地址20H放入R0中中,明确了数据终终点起始地址址累加器A=0实现数据00放入20H中A=01RO=21判断作用!判断什么?判断A的值与与#10H是是否相等(比较不相等等则跳转)MOV R0,#20HMOV A,#10HMOV 30H, #00HLOOP:MOV @R0,30HINC30HINCR0DEC AJNZLOOPSJMP$条件转移类指指令范例(三三)将20H放入入R0中将10H放入入A中将00H放入入30H地址址下将30H地址址下内容放入入R0内容地地址下30H下内容容+1R0下内容+1A的内容-1A不等于0则则跳转3FH...30H...X变量X的值从从00-0F不等于0则跳跳转MOV R0,#20HMOV A,#0FHMOV 30H, #00HLOOP:MOV@R0,30HINC30HINCR0SUBBA, #0FHJNCLOOPSJMP$条件转移类指指令范例(四四)将20H放入入R0中将0FH放入入A中将00H放入入30H地址址下将30H地址址下内容放入入R0内容地地址下30H下内容容+1R0下内容+1带借位将A的的内容-1判断CY不等等于1则跳转转无借位则跳转转带借位减法指指令,15-1=14..1-1=00-1有借位位顺次执行——调用和返回指令(8条))1)绝对调用指令(1条))2K范围内调调用子程序指指令助记符格式机器码(B)相应操作机器周期ACALLaddr11a10a9a810001addr7~0PCPC+2SPSP+1,(SP)PC0~7SPSP+1,(SP)PC8~15PC0~10addr112比较PUSHdirectPOPdirect比较AJMPaddr11——调用和返回指令(8条))2)长调用指令(1条))助记符格式机器码(B)相应操作机器周期LCALLaddr1600010010addr15~8addr7~0PCPC+3SPSP+1,SPPC0~7SP
SP+1,SPPC8~15PCaddr16264K范围内内程序存储器器内调用子程程序指令3)返回指令助记符格式机器码(B)相应操作机器周期RET00100010PC8~15
(SP),SPSP-1PC0~7(SP),SPSP-1子程序返回指令2RETI00110010PC8~15
SP,SPSP-1PC0~7SP,SPSP-1中断返回指令24)空操作指令助记符格式机器码(B)相应操作指令说明NOP00000000空操作消耗1个机器周期硬件延时3.4.5位位操作类指指令单元地址2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H7F776F675F574F473F372F271F170F07
MSB
位地址
LSB7E766E665E564E463E362E261E160E067D756D655D554D453D352D251D150D057C746C645C544C443C342C241C140C047B736B635B534B433B332B231B130B037A726A625A524A423A322A221A120A027971696159514941393129211911090178706860585048403830282018100800RAM位寻址区位地地址表1.位传送送指令助记符格式机器码(B)相应操作指令说明机器周期MOVC,bit10100010CYbit位传送指令,结果影响CY标志2MOVbit,C10010010bitCY位传送指令,结果不影响PSW2例:MOV20H,21HMOVC,21H2.位置位位和位清零指指令助记符格式机器码(B)相应操作指令说明机器周期CLRC11000011CY0位清0指令,结果影响CY标志1CLRbit11000010bitbit0位清0指令,结果不影响PSW1SETBC11010011CY1位置1指令,结果影响CY标志1SETBbitbit1位置1指令,结果不影响PSW111010010bit3.位运算算指令助记符格式机器码(B)相应操作指令说明机器周期ANLC,bit10000010bitCYCY∧bit位与指令2ANLC,/bit10110010bit位与指令2ORLC,bit01110010bitCYCY∨bit位或指令2ORLC,/bit10100010bit位或指令2CPLC10110011位取反指令2CPLbit10110010位取反指令,结果不影响CY2CYCY∧bitCYCY∨bitCYCYbitbit4.位判断断转移指令助记符格式机器码(B)相应操作机器周期JBbit,rel00100000bitrel若bit=1,则PCPC+rel,否则顺序执行2JNBbit,rel00110000bitrel若bit=0,则PCPC+rel,否则顺序执行2JBCbit,rel00010000bitrel若bit=1,则PCPC+rel,bit0,否则顺序执行25.判CY标志转移指指令(条件转转移指令)助记符格式机器码(B)相应操作机器周期JCrel01000000若CY=1,则PCPC+rel,否则顺序执行2JNCrel01010000若CY≠1,则PCPC+rel,否则顺序执行23.5MCS-51汇编语言言的伪指令伪指令是对汇编过程起起控制作用,是程序员发给汇编程序序的命令,指指示如何完成成汇编工作。。伪指令没有对对应的机器代代码,不产生生目标程序。。1)设置目目标程序起始始地址伪指令令ORG(ORiGin)伪指令格式为为:ORG地址(十六进进制表示)该伪指令的作作用是指明后面的程程序或数据块的起始地址,后后面的源程序或数据块就依次连续存存放,直到遇到到另一个ORG指令为止止。例:ORG0100HSTART:MOVSP,##60HMOVR0,##2FHMOVR2,##0FFH在一个源程程序中,可可多次使用用ORG指指令,来规规定不同的程序序段的起始始地址。但但是,地址必须由由小到大排列,,地址不能能交叉、重重叠。例如:ORG2000H┇ORG2500H┇ORG3000H┇2)汇编编结束命令令END(ENDofassembly)指令格式:END汇编语言源源程序的结结束标志,,用于终止止源程序的汇编工工作。在整个源程程序中只能能有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生产环节物料损耗减少降本增效项目方案
- 北京市燕山区2026年中考一模英语试题(含答案)
- 农田监测者2025年农业信息化政策影响报告
- 自流平混凝土修补施工方案
- 智能家居产品盈利模式优化与市场拓展可行性研究报告
- 聚焦镇驻地建设提升方案
- 绿地系统规划实施方案
- 冀教版数学八年级下册期中模拟试题二(范围:前三章)附答案
- 概率论与数理统计浙大四版 第一章 第一章1讲
- 2026年中考语文二轮复习专题03 句子(准确、连贯)(讲练)(解析版)
- 2026年网约车驾驶员从业资格试题及答案
- 国家义务教育质量监测四年级科学质量检测试题
- 湖南新高考教研联盟暨长郡二十校联盟2026届高三第二次联考英语试题+答案
- 物流运输风险识别与控制
- 关于杭州市“社交主题酒吧”运营模式与典型案例的调研分析
- 阿里巴巴集团内部审计制度
- 纺粘针刺非织造布制作工操作知识考核试卷含答案
- 2025年国防军事动员教育知识竞赛题库及答案(共50题)
- 泛光照明施工安全措施方案
- KPS评分表模板及使用指南
- 2025年专利代理师资格真题及答案解析
评论
0/150
提交评论