西北农林科技大学单片机知识点(共7页).doc
精选优质文档-倾情为你奉上汇编指令由操作码或伪操作码、目的操作数和源操作数构成DW(Define Word)定义数据字命令 功能:用于从指定地址开始,在程序存储器单元中定义16位的数据字。 格式: 标号: DW 16位数表 存放规则:高8位在前(低地址),低8位在后(高地址)。 DS(Define Storage) 定义存储区命令 功能:用于从指定地址开始,保留指定数目的字节单元为存储区,供程序运行使用。汇编时对这些单元不赋值。 格式: 标号: DS 16位数表用EQU可以把一个汇编符号赋给字符名称,如上例中的R1,而DATA只能把数据赋给字符名。寻 址 方 式寻 址 空 间立即数寻址ROM(汇编后数据直接存放在ROM中)直接寻址片内低128字节和SFR寄存器寻址通用寄存器R0R7某些SFR,如A、B(乘除指令中)、DPTR寄存器间接寻址片内RAM低128BRi,SP(仅PUSH和POP)片外RAM(Ri,DPTR)变址寻址(基址+变址寻址)ROM(A + PC,A + DPTR)相对寻址ROM 256B范围位寻址片内RAM 20H2FH单元的位(128位)部分SFR中的可寻址位RidirectRnACC#data传送指令在片内的操作功能 A寄存器寄存器间接寻址R1、R0(外部RAM 低256B)寄存器间接寻址DPTR(外部RAM 64KB ) 整字节交换指令XCHA,Rn ;(A)(Rn)XCH A,direct;(A)(direct)XCH A,Ri;(A)(Ri)(2)半字节交换指令:XCHDA,Ri ;(A)30 (Ri)30(3)累加器高低半字节交换指令:SWAP A ;(A)30 (A)745)堆栈操作指令组:进栈、出栈两种操作。 PUSH direct ;SP(SP)+1,(SP)(direct)POP direct ;direct(SP),SP(SP)1 传送类指令一般不影响标志位。个别影响P位。 但堆栈指令(PUSH和POP)可以直接修改状态字PSW。乘除指令组乘积 < 0FFH(即(B)=0),则OV0,否则OV1。该运算总使CY0。除法当除数为0(B0)时,OV1,表明除法无意义,无法进行;其它情况下, OV0。任何情况下, CY0。指令十进制调整的内容(BCD调整) (1) 如果任何两个对应位BCD数相加的结果向高一位无进位时,若得到的结果小于或等于 9,则该位不需修正;若得到的结果大于 9 且小于 16 位,则该位进行加 6 修正。 (2) 如果任何两个对应位BCD数相加的结果向高一位有进位时(即结果大于或等于 16),该位进行加 6 修正。 (3) 低位修正结果使高位大于 9 时, 高位进行加 6 修正。ANL常用于屏蔽字节中的某些位。 欲清除的位和“0”与,欲保留的位和“1”与ORL用途:用于使字节中的某些位置“1”。欲不变的位,用“0”去“或”,欲置 1 的位,用“1”去“或”。异或有一初一全一出零累加器清0指令: CLR A ;A0累加器按位取反指令: CPL A;A()LJMP addr16;跳转范围 64KB, PCaddr16, 三字节指令AJMP绝对转移指令 AJMP addr11 ;跳转范围 2KB, PC (PC) 2 PC100 addr11SJMP rel ;目的地址(PC)+2+rel简洁转移JMP A+DPTR ;PC(A)+(DPTR)JZ rel ;若(A)=0,则PC(PC)2rel若(A)0,则PC (PC)2JNZ rel ;若(A)0,则PC (PC)2rel若(A)=0,则PC(PC)2 CJNE A,data,rel 若(A)-data=0 : 顺序执行 PC(PC) 3 CY0若(A)-data>0 :跳转 PC(PC)3 relCY0若(A)-data<0: 跳转PC(PC)3relCYlDJNZ direct,rel ;三字节指令LCALL addr16 ;PC(PC)+3 ;SP(SP)+1,(SP)(PC)70 ;SP(SP)+1,(SP)(PC)158 ;PCaddr16已知DELAY1200H,试问MCS-51单片机执行下列指令后,堆栈中数据如何变化?PC中内容是什么?MOVSP,#30H DELAY: LCALL 2356H(SP)=32H,(31H)=03H,(32H)12H,PC2356H。ACALL addr11 ;PC(PC)+2 ;SP(SP)+1,(SP)(PC)70 ;SP(SP)+1,(SP)(PC)158 ;PC10-0addr11返回指令RET ;子程序返回指令 ; PC158(SP),(SP)(SP)-1 ; PC70 (SP),(SP)(SP)-1位地址的表示方法主要有下列四种:以AC为例 直接位地址表示:0D6H(PSW的位6)点操作符表示:PSW.6 0D0H.6 位名称表示:AC将内部RAM中20H单元的第6位(位地址为06H)的内容,传送到P1.0中。 MOVC,06HMOV P1.0,C位置位清零指令(共4条)CLR bit;bit0CLR CY;CY0SETB bit;bit1SETB CY;CY1ANLC ,bit ;CY(CY)bitANLC ,/ bit ;CY(CY) ORL C ,bit ;CY(CY)bitORL C ,/ bit ;CY(CY) CPL bit ;bit( )CPL C ;CY( )以CY内容为条件的转移指令(2条) JC rel ;若(CY)=1,则(PC)(PC)+2+ rel, 否则(PC)(PC)+2JNC rel ;若(CY)=0,则(PC)(PC)+2+ rel, 否则(PC)(PC)+2该指令一般与比较条件转移指令CJNE一起使用。以位地址内容为条件的转移指令(3字节指令)JB bit , rel ;若(bit)=1,则(PC)(PC)+3+ rel 否则,(PC)(PC)+3JNB bit , relJBC bit , rel ;若(bit)=1,则(PC)(PC)+3+ rel, (bit)0;否则,(PC)(PC)+3单片机组成部件及功能CPU 程序存储器 数据存储器 定时/计数器 并行I/O口(数据的并行输入和输出) 串行口 (串行数据传送)中断控制系统 时钟电路 EA引脚作用 功能 选择访问的外部程序存储器 对内部EPROM编程时给此引脚施加21v电源接地时只访问外部程序存储器 高电平时 先访问外部程序存储器 MCS-51单片机的引脚中有多少根I/O线?它们分别与单片机对外的地址总线和数据总线之间有什么关系?其地址总线和数据总线各有多少位?可以寻址多大的地址空间?答:共有4个8位的并行口,P0、P1、P2和P3。51单片机的三总线:数据总线:8位,由P0口提供。地址总线:16位,由P0和P2口提供。可寻址64KB的地址空间。8051单片机的控制总线信号有哪些?各有何作用?(1) EA*/VPP(31脚):EA*为访问外部程序存储器控制信号, 低电平有效。 (2) RST/VPD(9脚): RST即为RESET,复位信号,高电平有效。(3)ALE/PROG*(30脚): 地址锁存允许信号。访问外部存储器时, ALE把 P0口输出的低8位地址信息锁存起来,实现低8位地址和数据的分时传送。 (4) PSEN* (29脚): 片外程序存储器读选通信号输出端, 低电平有效。即外部ROM的读信号。(相当于外部RAM的RD*) I/O口特点(1) P0口(39脚32脚): P0.0P0.7统称为P0口,分时提供低8位地址总线和8位双向数据总线。 (2) P1口(1脚8脚): P1.0P1.7统称为P1口, 可作为准双向I/O接口使用。 (3) P2口(21脚28脚): P2.0P2.7统称为P2口, 作为准双向I/O接口,或提供高8位地址总线。 (4) P3口(10脚17脚): P3.0P3.7统称为P3口,作为准双向I/O接口使用,每个引脚具有第二功能。 8051单片机的PSW寄存器各标志位是什么意义?分析执行78+119后PSW中各标志位的值。答:CY(PSW.7)进位标志位;位累加器 AC(PSW.6)辅助进位标志位F0(PSW.5)用户标志位RS0和RS1(PSW.4,PSW.5)寄存器组选择位 OV(PSW.2)溢出标志位 P(PSW.0)一一奇偶标志位。表明累加器A中数的奇偶性8051单片机复位后的初始状态是怎样的?复位方法有几种?(1)(PC)=0000H(2)特殊功能寄存器除(SP)=07H,(P0P3)=0FFH,其他特殊功能寄存器全部清零。(3)复位不影响内部RAM中的内容1 8051片内RAM的低128单元划分为哪几个主要部分?各部分的主要功能是什么?答:(1)寄存器区:共有四组寄存器,每组8个单元一组(8位),各组都以R0、R1、R2、R3、R4、R5、R6、R7作寄存单元编号。 占据内部RAM的00H1FH单元地址。(2)位寻址区: 内部RAM的20H2FH单元,位地址为00H7FH。 (3)用户RAM区: 在内部RAM低128单元中,单元地址为30H7FH。2 MCS-51单片机的振荡周期、机器周期、指令周期分别是什么?当晶振为12MHz时,一个机器周期是多长?执行一条指令的时间是多少?答:振荡周期又称拍节(P):振荡脉冲的周期;机器周期:为12个振荡周期;指令周期指执行一条指令所需要的时间,以机器周期为单位。当晶振为12MHz时,一个机器周期是1微秒,执行一条指令的时间是1、2、4微秒。3 程序存储器从0开始的6个特殊单元是什么?各有什么用途?答:复位后PC的值-0000H外部中断0-0003H定时器0-000BH外部中断1-0013H定时器1-001BH串行口0023H十进制BCD码调整的原因 每个十进制数用一组四位二进制数表示 计算机当成自然二进制数计算出错十进制调整的内容(BCD调整) (1) 如果任何两个对应位BCD数相加的结果向高一位无进位时,若得到的结果小于或等于 9,则该位不需修正;若得到的结果大于 9 且小于 16 位,则该位进行加 6 修正。 (2) 如果任何两个对应位BCD数相加的结果向高一位有进位时(即结果大于或等于 16),该位进行加 6 修正。 (3) 低位修正结果使高位大于 9 时, 高位进行加 6 修正。MCS-51单片机有多少个专用寄存器?在这些专用寄存器中,可供位寻址的位有多少?MCS-51共有多少可供位寻址的位?21个八位寄存器内部RAM高128单元11个sfr具有位寻址功能8051单片机的定时器/计数器有几个?各有几种工作方式?各是什么?2个 4 3、8051单片机提供了几个中断源?有几个中断优先级别?各中断源所对应的中断矢量地址是什么?外部中断源(外部中断0 3H,外部中断1 13H) 内部中断源(定时/计数器溢出中断源 0BH串行口接受/发送中断源23H)两个优先级编址方式有几种?各是什么?单片机中采用的是什么编址方式?专心-专注-专业