单片机 第3讲(上传).ppt
《单片机 第3讲(上传).ppt》由会员分享,可在线阅读,更多相关《单片机 第3讲(上传).ppt(50页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、1 1P30-2,3,4,8P30-2,3,4,82 2利用示波器可观察利用示波器可观察89C5189C51的哪个管脚来判断单片机的哪个管脚来判断单片机正在工作正在工作?作业评讲作业评讲(2)(2)锁存器锁存器(3)(3)缓冲器缓冲器 (4)(4)场效应管(场效应管(FETFET)(5)(5)一个多路转接开关一个多路转接开关MUX(MUX(P0P0口和口和P2P2口口)复习1.P0P3端口功能总结端口功能总结:(1)只有只有P0口口是一个真正的是一个真正的双向口双向口,P1P3口口都是都是准准双向口双向口 2.机器周期、指令周期与指令时序机器周期、指令周期与指令时序 3.3.复位操作复位操作单
2、片机的初始化操作,摆脱死锁状态。单片机的初始化操作,摆脱死锁状态。引脚引脚RSTRST加上加上大于大于2 2个机器周期(即个机器周期(即2424个时钟振荡周期)个时钟振荡周期)的高电平就可使的高电平就可使MCS-51MCS-51复位。复位。复位时,复位时,PCPC初始化为初始化为0000H0000H,使,使MCS-51MCS-51单片机从单片机从0000H0000H单元开始执行程序。单元开始执行程序。除除PCPC之外,复位操作还对其它一些寄存器有影响,见之外,复位操作还对其它一些寄存器有影响,见书书(P34)(P34)复位电路通常采用复位电路通常采用上电自动复位上电自动复位和和按钮复位按钮复位
3、两种方两种方式。式。最简单的上电自动复位电路最简单的上电自动复位电路:按键手动复位,有按键手动复位,有电平方式电平方式和和脉冲方式脉冲方式两种。两种。电平方式:电平方式:第第3 3章章 89C5189C51的指令系统的指令系统 介绍介绍89C5189C51汇编语言汇编语言的指令系统。的指令系统。3.1 3.1 指令系统概述指令系统概述 MCS-51MCS-51的基本指令共的基本指令共111111条条,按指令所占的字节来分:按指令所占的字节来分:(1)(1)单字节指令单字节指令4949条;条;(2)(2)双字节指令双字节指令4545条;条;(3)(3)三字节指令三字节指令1717条。条。按指令的
4、执行时间来分按指令的执行时间来分:(1)1(1)1个机器周期(个机器周期(1212个时钟振荡周期)的指令个时钟振荡周期)的指令6464条;条;(2)2(2)2个机器周期(个机器周期(2424个时钟振荡周期)的指令个时钟振荡周期)的指令4545条;条;(3)(3)只只有有乘乘、除除两两条条指指令令的的执执行行时时间间为为4 4个个机机器器周周期期(4848个时钟振荡周期)。个时钟振荡周期)。1212MHzMHz晶振晶振:机器周期为机器周期为1 1 s s。3.2 3.2 指令格式指令格式 两部分组成,即两部分组成,即操作码操作码和和操作数操作数。操作码操作码用来规定指令进行什么操作用来规定指令进
5、行什么操作 操作数操作数则是指令操作的对象则是指令操作的对象有单字节指令、双字节指令、三字节不同长度的指令,有单字节指令、双字节指令、三字节不同长度的指令,格式不同:格式不同:(1 1)单字节指令:)单字节指令:指令只有一个字节,操作码和操指令只有一个字节,操作码和操作数同在一个字节中。作数同在一个字节中。(2 2)双双字字节节指指令令:一一个个字字节节为为操操作作码码,另另一一个个字字节节是操作数。是操作数。(3 3)三字节指令:)三字节指令:操作码占一个字节,操作数占二操作码占一个字节,操作数占二个字节。其中操作数既可能是数据,也可能是地址。个字节。其中操作数既可能是数据,也可能是地址。3
6、.3 3.3 指令系统的寻址方式指令系统的寻址方式 寻址方式寻址方式就是在指令中说明操作数所在地址的方法。就是在指令中说明操作数所在地址的方法。共共7 7种种寻址方式。寻址方式。1 1寄存器寻址方式寄存器寻址方式 操作数在寄存器中操作数在寄存器中 MOV AMOV A,Rn Rn ;(;(RnRn)A A,n=0n=07 7 表示把寄存器表示把寄存器RnRn的内容传送给累加器的内容传送给累加器A A 寻址范围包括:寻址范围包括:(1 1)4 4组通用工作寄存区共组通用工作寄存区共3232个工作寄存器。个工作寄存器。(2 2)部分特殊功能寄存器,例如)部分特殊功能寄存器,例如A A、B B 以及
7、数据指针以及数据指针寄存器寄存器DPTRDPTR等。等。2 2直接寻址方式直接寻址方式 操作数直接以单元地址的形式给出:操作数直接以单元地址的形式给出:MOV AMOV A,40H40H 寻址范围:寻址范围:(1)(1)内部内部RAMRAM的的128128个单元个单元(2)(2)特殊功能寄存器。除了以单元地址的形式外特殊功能寄存器。除了以单元地址的形式外,还还可用寄存器符号可用寄存器符号的形式给出。例如:的形式给出。例如:MOV AMOV A,80H 80H 与与 MOV AMOV A,P0P0是等价的是等价的。直接寻址方式是访问特殊功能寄存器的唯一寻址方式直接寻址方式是访问特殊功能寄存器的唯
8、一寻址方式 3.3.寄存器间接寻址方式寄存器间接寻址方式 寄存器中存放的是操作数的地址寄存器中存放的是操作数的地址 在寄存器的名称前面加在寄存器的名称前面加前缀标志前缀标志“”访问内部访问内部RAMRAM或外部数据存储器的低或外部数据存储器的低256256个字节时,个字节时,只只能采用能采用R0R0或或R1R1作为间址寄存器作为间址寄存器。例如。例如:MOV AMOV A,RiRi ;i=0i=0或或1 1 其中其中RiRi中的内容为中的内容为4040H H,把内部把内部RAMRAM中中4040H H单元的内容送单元的内容送到到A A。寻址范围:寻址范围:(1 1)访问内部)访问内部RAMRA
9、M低低128128个单元,其通用形式为个单元,其通用形式为 RiRi(2 2)对片外数据存储器的对片外数据存储器的6464K K字节的间接寻址,例如:字节的间接寻址,例如:MOVX AMOVX A,DPTRDPTR(3 3)片外数据存储器的低)片外数据存储器的低256256字节字节 例如:例如:MOVX AMOVX A,RiRi(4 4)堆栈区堆栈区 堆栈操作指令堆栈操作指令PUSHPUSH(压栈)和压栈)和POPPOP(出栈)使用堆出栈)使用堆栈指针(栈指针(SPSP)作间址寄存器作间址寄存器4 4立即寻址方式立即寻址方式 操作数在指令中直接给出,需在操作数前面加前缀操作数在指令中直接给出,
10、需在操作数前面加前缀标志标志“#”#”。例如:。例如:MOV AMOV A,#40H#40H 5 5基址寄存器加变址寄存器间址寻址方式基址寄存器加变址寄存器间址寻址方式 本寻址方式是以本寻址方式是以DPTRDPTR或或PCPC作基址寄存器,以累加器作基址寄存器,以累加器A A作为变址寄存器。作为变址寄存器。例例如如:指指令令 MOVC MOVC A A,A+DPTR A+DPTR 其其中中A A的的原原有有内内容容为为0505H H,DPTRDPTR的的内内容容为为04000400H H,该该指指令令执执行行的的结结果果是是把把程程序序存储器存储器04050405H H单元的内容传送给单元的内
11、容传送给A A。说明:说明:(1 1)本本寻寻址址方方式式是是专专门门针针对对程程序序存存储储器器的的寻寻址址方方式式,寻址范围可达到寻址范围可达到6464KBKB。(2 2)本寻址方式的指令只有本寻址方式的指令只有3 3条:条:MOVC AMOVC A,A+DPTRA+DPTRMOVC AMOVC A,A+PCA+PCJMP A+DPTRJMP A+DPTR6 6位寻址方式位寻址方式 MCS-51MCS-51有位处理功能,可以对数据位进行操作,例如:有位处理功能,可以对数据位进行操作,例如:MOV CMOV C,40H40H 是把位是把位4040H H的值送到进位位的值送到进位位C C。寻址
12、范围包括:寻址范围包括:(1 1)内部)内部RAMRAM中的位寻址区。位有两种表示方法,例如,中的位寻址区。位有两种表示方法,例如,4040H H;另一种是单元地址加上位,例如,另一种是单元地址加上位,例如,(28(28H).0H).0,指指的是的是2828H H单元中的最低位。它们是等价的。单元中的最低位。它们是等价的。(2 2)特殊功能寄存器中的可寻址位)特殊功能寄存器中的可寻址位 可寻址位可寻址位在指令中有如下在指令中有如下4 4种的表示方法:种的表示方法:a.a.直接使用位地址直接使用位地址。例如。例如PSW.5PSW.5的位地址为的位地址为0 0D5HD5H。b.b.位位名名称称的的
13、表表示示方方法法。例例如如:PSW.5PSW.5是是F0F0标标志志位位,可可使使用用F0F0表示该位。表示该位。c.c.单元地址加位数单元地址加位数的表示方法。例如的表示方法。例如 :(0:(0D0H).5D0H).5。d.d.特殊功能寄存器符号加位数特殊功能寄存器符号加位数的表示方法。例如的表示方法。例如:PSW.5:PSW.5。7 7相对寻址方式相对寻址方式 在在相相对对寻寻址址的的转转移移指指令令中中,给给出出了了地地址址偏偏移移量量,以以“relrel”表表示示,即即把把PCPC的的当当前前值值加加上上偏偏移移量量就就构构成成了了程序转移的目的地址:程序转移的目的地址:目的地址目的地
14、址=转移指令所在的地址转移指令所在的地址 +转移指令的字节数转移指令的字节数 +relrel 偏移量偏移量relrel是一带符号的是一带符号的8 8位二进制数补码数位二进制数补码数。范围是:范围是:128 128 +127+127 向向地地址址增增加加方方向向最最大大可可转转移移(127+127+转转移移指指令令字字节节)个个单单元元地地址址,向向地地址址减减少少方方向向最最大大可可转转移移(128-128-转转移移指令字节)个单元地址。指令字节)个单元地址。7 7种寻址方式及寻址空间,见表种寻址方式及寻址空间,见表3-13-1(P43)P43)。3.4 MCS-513.4 MCS-51指令系
15、统分类介绍指令系统分类介绍111111条指令条指令,按功能分类,可分为下面,按功能分类,可分为下面5 5大类大类:(1 1)数据传送类)数据传送类(28(28条条)(2 2)算术操作类)算术操作类(24(24条条 (3 3)逻辑运算类)逻辑运算类(25(25条条)(4 4)控制转移类)控制转移类(17(17条条)(5 5)位操作类)位操作类(17(17条条)指令中符号的意义指令中符号的意义:Rn Rn 当前寄存器区的当前寄存器区的8 8个工作寄存器个工作寄存器R0R0R7(n=0R7(n=07)7)。Ri Ri 当当前前选选中中的的寄寄存存器器区区中中可可作作间间接接寻寻址址寄寄存存器器的的2
16、 2 个寄存器个寄存器R0R0、R1(i=0,1)R1(i=0,1)。DirectDirect 直直接接地地址址,即即8 8位位的的内内部部数数据据存存储储器器单单元元或或特殊功能寄存器的地址。特殊功能寄存器的地址。#datadata 包含在指令中的包含在指令中的8 8位立即数。位立即数。#data16data16 包含在指令中的包含在指令中的1616位立即数。位立即数。relrel 相相对对转转移移指指令令中中的的偏偏移移量量,为为8 8位位的的带带符符号号补补 码数码数DPTRDPTR 数据指针,可用作数据指针,可用作1616位的地址寄存器。位的地址寄存器。bitbit 内部内部RAMRA
17、M或特殊功能寄存器中的直接寻址位。或特殊功能寄存器中的直接寻址位。C C(或(或CyCy)进位标志位或位处理机中的累加器。进位标志位或位处理机中的累加器。addr11addr11 1111位目的地址位目的地址addr16addr16 1616位目的地址位目的地址 间接寻址寄存器前缀,如间接寻址寄存器前缀,如 RiRi,A+DPTRA+DPTR(X)(X)X X中的内容。中的内容。(X)X)由由X X寻址的单元中的内容。寻址的单元中的内容。箭头右边的内容被箭头左边的内容所取代。箭头右边的内容被箭头左边的内容所取代。3.4.1 3.4.1 数据传送类指令数据传送类指令 使用最频繁的一类指令使用最频
18、繁的一类指令,通用格式:通用格式:MOV MOV ,属属“复制复制”性质,而不是性质,而不是“剪切剪切”数数据据传传送送类类指指令令不不影影响响标标志志位位,CyCy、AcAc和和OVOV,但但不不包包括奇偶标志位括奇偶标志位P P。1 1以累加器为目的操作数的指令以累加器为目的操作数的指令 MOV A,MOV A,Rn Rn ;(;(RnRn)A)A,n=0n=07 7 MOV A,MOV A,Ri Ri ;(;(RiRi)A,i=0,1)A,i=0,1 MOV A,direct ;MOV A,direct ;(directdirect)A A MOV A,#data ;#dataAMOV
19、A,#data ;#dataA 例如:例如:MOV A,R6 ;(R6)AMOV A,R6 ;(R6)A,寄存器寻址寄存器寻址 MOV A,70H ;(70H)AMOV A,70H ;(70H)A,直接寻址直接寻址 MOV A,R0 ;(R0)AMOV A,R0 ;(R0)A,间接寻址间接寻址 MOV A,#78H ;78HAMOV A,#78H ;78HA,立即寻址立即寻址 2.2.以以RnRn为目的操作数的指令为目的操作数的指令 MOVMOV RnRn,A ;(A),A ;(A)RnRn,n=0,n=07 7 MOV MOV RnRn,direct ;,direct ;(directdir
20、ect)RnRn,n=0,n=07 7 MOV MOV RnRn,#,#dat dat ;#data;#dataRnRn,n=0,n=07 7功功能能:是是把把源源操操作作数数的的内内容容送送入入当当前前一一组组工工作作寄寄存存器器区的区的R0R0R7R7中的某一个寄存器。中的某一个寄存器。3.3.以直接地址以直接地址directdirect为目的操作数的指令为目的操作数的指令 MOV direct,A;(A)directMOV direct,A;(A)direct MOV MOV direct,direct,RnRn;(;(RnRn)direct,n=0)direct,n=07 7 MOV
21、direct1,direct2;MOV direct1,direct2;MOV direct,MOV direct,RiRi;(;(RiRi)direct)direct MOV MOV direct,#data;#datadirect direct,#data;#datadirect功功能能:把把源源操操作作数数送送入入直直接接地地址址指指出出的的存存储储单单元元。directdirect指的是内部指的是内部RAMRAM或或SFRSFR的地址。的地址。4.4.以寄存器间接地址为目的操作数的指令以寄存器间接地址为目的操作数的指令 MOV MOV RiRi,A ;(A)(,A ;(A)(RiRi)
22、,i=0,1),i=0,1 MOV MOV RiRi,direct ;,direct ;(directdirect)(RiRi)MOV MOV RiRi,#data ;#data(,#data ;#data(RiRi)5.165.16位数传送指令位数传送指令 MOV DPTR,#data16 ;#data16DPTRMOV DPTR,#data16 ;#data16DPTR唯一的唯一的1616位数据的传送指令位数据的传送指令 ,立即数的高立即数的高8 8位送入位送入DPHDPH,立即数的低立即数的低8 8位送入位送入DPLDPL。6 6堆栈操作指令堆栈操作指令 MCS-51MCS-51内部内部
23、RAMRAM中可以设定一个中可以设定一个后进先出后进先出(LIFO-LIFO-Last In First OutLast In First Out)的区域称作的区域称作堆栈堆栈.堆栈指针堆栈指针SPSP指出堆栈的栈顶位置。指出堆栈的栈顶位置。(1)(1)进栈指令进栈指令 PUSH directPUSH direct先先将将栈栈指指针针SPSP加加1 1,然然后后把把directdirect中中的的内内容容送送到到栈栈指指针针SPSP指示的内部指示的内部RAMRAM单元中。单元中。例例如如:当当(SPSP)=60H,=60H,(A A)=30H,=30H,(B B)=70H=70H时时,执执行下
24、列指令行下列指令 PUSH APUSH ACCCC;(SP)+1=61HSP,(A)61H(SP)+1=61HSP,(A)61H PUSH B PUSH B;(SP)+1=62HSP,(B)62H(SP)+1=62HSP,(B)62H 结果:结果:(61(61H)=30H,(62H)=70H,(SP)=62HH)=30H,(62H)=70H,(SP)=62H(2)(2)出栈指令出栈指令 POP directPOP directSPSP指指示示的的栈栈顶顶(内内部部RAMRAM单单元元)内内容容送送入入directdirect字字节节单单元中,栈指针元中,栈指针SPSP减减1.1.例例如如:当当
25、 (SP)=62HSP)=62H,(62H)=70H(62H)=70H,(61H)=30H,(61H)=30H,执执行行下列指令:下列指令:POP DPH;(SP)DPH,(SP)-1SP POP DPH;(SP)DPH,(SP)-1SP POP DPL;(SP)DPL,(SP)-1SP POP DPL;(SP)DPL,(SP)-1SP 结果:结果:(DPTR)=7030HDPTR)=7030H,(SP)=60H(SP)=60H7.7.累加器累加器A A与外部数据存储器传送指令与外部数据存储器传送指令 MOVX A,DPTR;(DPTR)A,MOVX A,DPTR;(DPTR)A,读外部读外部
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 第3讲上传 上传
限制150内