单片机原理与应用_第1页
单片机原理与应用_第2页
单片机原理与应用_第3页
单片机原理与应用_第4页
单片机原理与应用_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机原理与应用第1章微机基础知识考试知识点:1、各种进制之间的转换(1)各种进制转换为十进制数 方法:各位按权展开相加即可。(2)十进制数转换为各种进制方法:整数部分采用“除基取余法”,小数部分采用“乘基取整法”。(3)二进制数与十六进制数之间的相互转换 方法:每四位二进制转换为一位十六进制数。2、带符号数的三种表示方法(1)原码:机器数的原始表示,最髙位为符号位(0 + 1其余务位为数值位。(2)反码:正数的反码与原码相同。负数的反码把原码的最髙位不变,其余各位求反。(3)补码:正数的补码与原码相同。负数的补码为反码加1。原码、反码的表示围:-127+127,补码的表示囤:-128+127

2、。3、计算机中使用的编码(1)BCD码:每4位二进制数对应1位十进制数。(2)ASCII码:7位二进制数表示字符。09的ASCII码30H39H, A的ASCII码 41H, a 的 ASCII 码 61H。考试复习题:1、求十进制数-102的补码(以2位16进制数表示),该补码为。2、123=B= Ho3、只有在码表示中0的表示是唯一的。4、貞值-0000000B的反码为:其补码为O5、+1000110B的反码是;-0110011B的补码是6、10101.101B转换成十进制数是((A) 46.625(B) 23.625(C) 23.62(D)21.6257、3D.0AH转换成二进制数是()

3、o(A) 111101.0000101B(B) 111100.0000101B(C) 111101.101B(D) 111100.101B8、73.5转换成十六进制数是()。(A) 94.8H(B) 49.8H(C) 111H(D)49H9、十进制29的二进制表示为原码()A 11100010B 10101111C00011101D0000111110.-49D的二进制补码为()A 11101111 B 11101101C 0001000D1110110011、已知某数的BCD码为011101010100 0010则其表示的十进制数值为()a) 7542H b) 7542 c) 75.42H

4、d) 75.42第2章MSC-51单片机的硬件结构考试知识点:1、80C51单片机的部逻辑结构单片机是把CPU、存储器、输入输出接口、立时/汁数器和时钟电路集成到一块芯片上 的微型计算机,主要由以下几个部分组成。(1)中央处理器CPU包括运算器和控制器。运算电路以ALU为核心,完成算术运算和逻辑运算,运算结果存放于ACC中,运算 结果的特征存放于PSW中。控制电路是单片机的指挥控制部件,保证单片机各部分能自动而协调地工作。程序计 数器PC是一个16位寄存器,PC的容为将要执行的下一条指令地址,具有自动加1功能, 以实现程序的顺序执行。(2)存储器分类:随机存取存储器RAM:能读能写,信息在关机

5、后消失。可分为静态RAM (SRAM)和 动态RAM (DRAM)两种。只读存储器:信息在关机后不会消失。掩膜ROM:信息在岀厂时由厂家一次性写入。可编程PROM:信息由用户一次性写入。可擦除可编程EPROM:写入后的容可由紫外线照射擦除。电可擦除可编程EEPROM:可用电信号进行淸除和改写。存储容量:存储容量指存储器可以容纳的二进制信息量,M位地址总线、N位数据总线的存储器 容量为2MXN位。80C51单片机的存储器有部RAM(128B,高128B为专用寄存器)、外部RAM(64KB)、 部 ROM (4KB 掩膜 ROM)、外部 ROM (64KB)。(3)输入输岀接口4个 8 位并行 I

6、/O 口(PO、Pl、P2、P3)(4)其它资源一个全双工串行口、5个中断源、2个16位的泄时/计数器、时钟电路。2、80C51单片机的信号引脚(1)电源部分:VCC接+5V、VSS接地。(2)时钟电路部分:XTAL1和XTAL2接晶振。1个机器周期=6个状态=12个拍节6MHZ的晶体机器周期2us, 12MHZ的晶体机器周期lus。(3)I/O 口部分:P08位数据总线/地址总线低8位、P1一一用户口、P2一一地址 高8位、P3第二功能。(4)控制部分:地址锁存控制信号ALE,用于控制把P0 口输出的低8位地址送入锁存器锁存地起来。 外部程序存储器读选通信号PSEN,低电平有效,以实现外部R

7、OM单元的读操作。访问程序存储器控制信号EA,低电平时只读外部ROM,高电平时先读部ROM,再读 外部ROMo复位信号RST,当输入的复位信号延续2个机器周期以上高电平时即为有效。复位值:PC=0000H, SP=O7H, P0=0FFHu3、部RAM的基本结构与功能80C51的部数据存储器低128单元区,称为部RAM,地址为007FH。(1)寄存器区(001FH)共分为4组,组号依次为0、1、2、3,每组有8个寄存器,在组中按R7R0编号。由 PSW中RSI、RS0位的状态组合来决定哪一组。(2)位寻址区(20H2FH)可对单元中的每一位进行位操作,16个字节单元共128个可寻址位,位地址为

8、007FH。位起始地址D0=(字节地址-20H) *8(3)用户RAM区(30H7FH)堆栈、缓冲区堆栈是在部RAM中开辟的,最大特点就是“后进先出”的数据操作原则。两项功能:保护断点和保护现场。两种操作:进栈和出栈。SP堆栈指针,它的容就是堆栈栈顶单元的地址。4、专用寄存器(部数据存储器高128单元)(1)累加器A (ACC)(2)寄存器B(3)程序状态字PSWCY进位标志位,最高位的进位或借位。AC半进位标志位,低4位向高4位的进位或借位。OV溢出标志位,同符号数相加,结果为异符号,有溢出:异符号数相减,结果和 减数符号相同,有溢出。P一A中1的个数,奇数个P=l,偶数个P=O。(4)数据

9、指针DPTR: 8OC51中惟一一个供用户使用的16位寄存器。高8位DPH,低8 位 DPLo考试复习题:1、80C51单片机的()口的引脚,还具有外中断.串行通信等第二功能。a ) P0b) Plc) P2d) P32、单片机应用程序一般存放在()a) RAMb) ROMc)寄存器d) CPU3、CPU主要的组成部部分为()a)运算器.控制器 b)加法器、寄存器c)运算器、寄存器 d)运算器、指令译码器4、80C51是()位的单片机a) 16b) 4c) 8d)准 165、80C51复位后,PC与SP的值为()a ) 0000H. OOH b) 0000H, 07H c) 0003H, 07

10、H d) 0800H. OOH6、80C51单片机中既可位寻址又可字节寻址的单元是()a) 20Hb) 30Hc) 00H d) 70H7、PSW=18H时,则当前工作寄存器是()A.0组 B1组C. 2组D. 3组(C) EA(D) RST8、MCS-51单片机外部有40个引脚,英中,地址锁存允许控制信号引脚是()(A) ALE(B) PSEN9、PC中存放的是()A.下一条指令的地址B.当前正在执行的指令C.当前正在执行指令的地址 D.下一条要执行的指令10、MCS-51单片机的堆栈区应建立在()。A.片数据存储区的低128字节单元B.片数据存储区C.片数据存储区的高128字节单元D.程序

11、存储区11、MCS-51单片机有片ROM容量()A. 4KB B. 8KB C. 128B D. 256B12、MCS-51单片机的RS1.RSO=11时,当前寄存器ROR7占用部RAM()单元。A. OOH07HB. 08HOFHC. 10H17HD. 18H1FH13、单片机即一个芯片的计算机,此芯片上包括五部分:运算器、输入部分、。14、半导体存储器分成两大类和 其中具有易失性,常用于存储 O15、在MCS-51单片机部RAM中,字节地址困是20H 2FH的区域称为而字节地址围是30H 7FH的一段区域称为。16、MCS-51系列单片机部数据存储器,即RAM中位寻址区的地址围是工作寄存器

12、区的地址围是。ROM中寻址区的地址围是。17、若由程序设建RS】、RSo=Ol,则工作寄存器RuR?的直接地址为。18、MCS51单片机的堆栈区只可设宜在,堆栈寄存器5P是位寄存器。19、P0、Pl、P2、P3四个均是位的口(填“串行”还是“并行”),其中P0的功能是: P2 口的功能是:而是双功能口; 是专门的用户口。20、程序状态标志字寄存器PSW中的PSW.7的含义是: PSW.0的含义是O21、当MCS-51引脚信号有效时,表示从P0 口稳泄地送岀了低8位地址.22、当EA接地时,MCS-51单片机将从的地址0000H开始执行程序。23、1个机器周期:=个状态,1个状态=个拍节。24、

13、MCS51系列单片机的部资源有哪些?说出8031、8051和8751的区别。25、简述累加器的ACC的作用。26、8OC51的振荡周期、机器周期、指令周期是如何分配的?当晶振频率为6MHz时,一个 机器周期为多少微秒?27、开机复位后,CPU使用的是哪组工作寄存器?它们的地址是什么? CPU如何确龙和改 变当前工作寄存器组?28、80C51单片机片256B的数据存储器分为哪几个区?分别作什么用?29、80C51单片机的程序存储器和数据存储器共处同一地址空间,为什么不会发生总线冲 突?第3章单片机指令系统考试知识点:1、寻址方式(1) 立即寻址(#data, #datal6)例:MOV A, #

14、00H(2) 直接寻址(direct)部RAM: 007FH、特殊功能寄存器 例:MOVA, 00H(3) 寄存器寻址(A、B、Rn. DPTR)(4) 寄存器间接寻址(Ri、DPTR)例:MOVXA, DPTR(5) 变址寻址(A+DPTR, A+PC)例:MOVCA, A+DPTR(6) 位寻址(bit) 202FH: 007FH、特殊功能寄存器 例:MOVC, 00H(7) 相对寻址(rel)例:JZ rel2、数据传送类指令(1) 部RAM数据传送指令MOV目的,源:目的一源交换指令:XCHA, dircct/Rn/Ri; A 和源交换XCHDA, Ri:只换低4位SWAP A; A的

15、高低4位交换注意:A作目的操作数会影响入PUSH directPOP direct(2) 外部RAM数据传送指令MOVXA, Ri/DPTR;外部地址容一AMOVXRi/DPTR, A: A-外部地址容(3) ROM数据传送指令MOVCA, A+DPTR/A+PC;査表指令3、算术运算指令(1) 加法指令ADD/ADDCA, #data/direct/RiVRi;会影响 CY、AC、OV、PINC A/ direct/ RiVRi/DPTR:力 Rl, PDA A:十进制调整,大于9加6(2) 减法指令SUBBA, #data/direct/RiVRi;会影响 CY. AC、OV、PDEC A

16、/direct/ Rn/Ri;减 1(3) 乘除指令MUL AB; (A)*(B)-BA,会影响 CY=0, OV, PDIV AB: (A)/(B)的商一A,余数一B4、逻辑运算及移动指令(1) 逻辑运算指令ANL/ORL/XRL A, #data/ direct/ Rn/RiANL/ORL/XRL direct A/#data与一淸0,或一置1,异或一取反CLR/CPL A:淸0和取反(2) 移位指令RURR/RLC/RRC A注意:每左移一位相当于乘2,每右移一位相当于除2,带进位的移会影响CY和P。5、控制转移类指令(1) 无条件转移指令UMPaddrl6: addrl6-*PC, 6

17、4KBAJMPaddrll; (PC)+2一PC, addrll-PClO0, 2KBSJMPrel: (PC)+2+rel-PC, 256BJMPA+DPTR; (A)+(DPTR)PC, 64KB(2) 条件转移指令累加器A判0转移指令JZrel; A 为 0JNZrel: A 不为 0比较不相等转移指令CJNE A/Rn/Ri #data, relCJNE A direct, rel注意:第一操作数和第二操作数不相等,程序转移,若第一大于第二,CY=0,第一小 于第二,CY=k第一操作数和第二操作数相等,程序顺序执行,CY=0o减1不为0转移指令DJNZ Rn/direct, rel:

18、(Rn/direct) -1 不为 0,程序转移。(3) 调用和返回指令LCALLaddrl6; (PC)+3-PC,先入低 8 位,再入高 8 位,addrl6-PC ACALLaddrll; (PO+2-PC,先入低 8 位,再入高 8 位,addrll-PClO0 RET:先出高8位,再岀低8位6、位操作类指令(1) 位传送指令MOVC, bitMOV bit. C(2) 位赋值指令CLR C/bitSETB C/bit(3) 位逻辑运算指令ANL/ORLC, bit 或/biiCPL C/bit注意:实现逻辑表达式(4) 位控制转移指令JC rel; (CY) =1JNC rel: (

19、CY) =0JB bit, rel: (bit)=lJNB bit, rel: (bit)=OJBC bit, rel; (bit)=L 转移,淸 0考试复习题:1、下列指令中不影响标志位CY的指令有()oa) ADD A, 20H b) CLR A c) RRC A d) INC A2、当需要从MCS-51单片机程序存储器取数据时,采用的指令为()a) MOV A.R1b) MOVC A. A + DPTR3、4、5、6、7、c) MOVX A, R0 下列哪条指令是正确的(a) PUSH R2c) MOVX A DPTRd) MOVX A, DPTR)b) ADDd) MOVMOVX A,

20、 RO指令中,源操作数采用(A)寄存器,外部数据存储器(C)寄存器间接,部数据存储器在中断服务程序中,至少应有一条(RO,AR0,A)寻址方式,指令作用在()区间。(B)直接,程序存储器(D)寄存器间接,外部数据存储器)A、传送指令B、转移指令C、加法指令D、中断返回指令 要用传送指令访问80C51外部RAM,它的指令助记符应是()A、MOV B. MOVX C、MOVC D. MOVD执行LCALL 4000指令时,80C51所完成的操作是()A、保护 PC B、PC4000H C、保护现场 D、PC+3 入栈,PC4000H)以下运算中对溢出标志ov没有影响或不受OV影响的运算是(A、逻辑

21、运算B、符号数加减法运算C、乘法运算 必须进行十进制调整的十进制运算()A、只有加法B、有乘法和除法C、有加法和减法10、指令AJMP的跳转围是()A、256B B、1KB C、2KB D、4KB11、执行PUSH ACC指令,8OC51完成的操作是(A、SP(SP)+1 (SP)(ACC) B、(SP)(ACC)C、SP(SP)-l (SP)(ACC) D、(SP)(ACC)8、9、D、除法运算D、只有减法)SP(SP)1SP(SP)+1)o13、若(A) =86H(PSW) =80H,则执行RRCA指令后()(A) C3H(B) B3H(C) ODH(D) 56H14、如果(P0) =65

22、H ,则当CPL P0.2SETBCMOVP0.4 , C执行后(P0)=( )(A) 61H(B) 75H(C)71H(D) 17H12、A7H和5BH两个立即数相加后,和为(),(CY)是((A) 1CH, 0(B) C1H, 0(C) 02H, 1(D) C1H, 1(A)MOVR1 .40H(B)MOVR1 .#40HMOVXR1 ,AMOVXR1 ,A(C)MOVX40H.A(D)MOVRL#40HMOVXR1 ,A16、ORG2000HLACLL3000HORG3000HRET15. 8OC51单片机中,将累加器A中的数送入外RAM的40H单元,可执行的指令()。上边程序执行完RE

23、T指令后,PC=()A.2000HB.3000HC.2003H D.3OO3H17、JNZ REL指令的寻址方式是()A.立即寻址 B寄存器寻址 C.相对寻址 D.位寻址18、下而哪条指令产生阪信号()A.MOVX A.DPTR B.MOVC A.A+PC C.MOVC A.A+DPTR D.MOVX DPTR.A19、MOVX A.DPTR指令中源操作数的寻址方式是()A.寄存器寻址B.寄存器间接寻址C.直接寻址D.立即寻址20、已知累加器A的数值为98H,它与0FAH相加,相加后会影响标志位CY、AC和OV 位。各个位的值是()。(A)0、0、0(B) 1. 0. 1(C) K K 1(D

24、)l. 1、021、ORG 0003HUMP 2000HORG 000BHUMP 3000H当CPU响应外部中断0后,PC的值是()A.0003HB.2000HC.000BHD.3000H22、假左设置堆栈指针SP的值为37H,在进行子程序调用时把断点地址进栈保护后,SP的值为()A、36H B、37H C、38H D. 39H23、要把P0 口髙4位变0.低4位不变,应使用指令()A.ORL PO.#OFH B.ORL PO,#OFOH C.ANL PO.#OFOHD.ANL PO,#OFH24、MCS-51执行完MOV A.#08H后.PSW的哪一位被置位()A.CY B. F0C.OV

25、D.P25、对于指令JNB 12H, $,英操作码为80H.其操作数(即偏移量)为。26、JZc的操作码地址为1000H, e=20H,它的转移目的地址为。27、执行下列程序段后,(Pl)=MOV PL #5DHCPL Pl.lCPL Pl.2CLR Pl.6SETB Pl.728、执行下列程序段后,(A)=(CY)=。MOV A, #C5HRL A29、下列程序段执行后,(Ro)=,(7EH)=(7FH)=MOV Ro, #7EHMOV 7EH, #0FFHMOV 7FH, #40HINC RoINC R()INC Ro30、已知(SP)=60H,子程序SUBTRN的首地址为0345H.现执

26、行位于0123H的ACALLSUBTRN 双字节指令后,(PC)=,(61H)二,(62H)=031、ORL A, #0F0H是将A的髙4位置1,而低4位.32、SJMPe的指令操作码地址为0050H, c=65H,那么它的转移目的地址为。33、假定(A) =OFBH (B) =12H。执行指令:DIV AB后,CY的容为, OV的容为O34、假左(SP) =40H, (39H)=30H,(40H) =60Hc 执行下列指令:POP DPHPOP DPL后,DPTR的容为, SP的容是35、下列各条指令其源操作数的寻址方式是什么?各条指令单独执行后,A中的结果是什 么?设(60H) =35H,

27、 (A) =19H, (Ro) =30H, (30H) =0FH。(1) MOVA,#48H:寻址方式: (A)=(2) ADDA,60H:寻址方式: (A)=(3) ANLA,R():寻址方式: (A)=36、(A) =3BH执行 ANLA,#9EH 指令后,(A) = (CY)=37、JNZ REL为2B指令,放于1308H,转移目标地址是134AH,求偏移量REL=38、若(A) =C3H, (RO) =AAH,执行 ADD A, RO 后,(A) = (CY)=(OV) = (AC)=39、若(A) =50H, (B) =A0H,执行 MULAB 后,(A) =(B) = (CY)=(

28、OV)=40、SJMP0E7H为2B指令,放于F010H,目标地址二41、判断以下各条指令是否正确(LL1和PROC为标号)(10分)(1) MOVX RO, B(2) MOV A, 30H(3) MOVX A, 30H(4) ADDC A, R7(5) SUB A, R2(6) ANL #99H , 36H(7) MOV C, ACC.O(8) ORL P1.0, P3.1(9) JBC P0, LL1(10) ACALL PROC42、判断指令(或伪指令)正误(l).MOV 20H,Rl()(2). ADDC A.2030H()(3). CLR A()(4). MOVX 40H , #30

29、H ()(5). ORG 3000H()(6). MOVC A+PC, A ()(7). MOVX A .2000H()(8). DJNZ #data. rel()(9). INC R5()(10). DEC DPTR()(11). MOV R1 ,R2 ()(12). SWAP R1()(13). SETB 2000H(15) DA R2()()(14). JZ A, LOOP()43、设(A)=38H.R0=28H.(28H)= 18H,执行下列程序后,(A) =ORL A, #27HANL A, 28HXCHD A, ROCPL A 44、设(A)=38H.(20H)=49H.PSW=0

30、0H,(B)=02H.填写以下中间结果。SETBCADDCA,20H (A)=(CY)= (AC)=RLCA(A)=_(CY)=_ (P)=_MULAB(A)=_ (B)=_(OV)=_45、若(1 OH)=OFFH.( 11 H)=OOH.( 12H)=OFFH,( 13H)=00H,写出每一步指令运行结果MOVA J OH(A)=ANLA.#01H(A)=9MOVAJ1H(A)=9ORLA,#01H(A)=9MOVAJ2H(A)=9XRLA.#01H(A)=9MOVAJ3H(A)=9XRLA,#0AA(A)=(10H)=, (11H)= (12H)= (13H)=46、MOVMOVMOVM

31、OVMOV(A)=30H,#6OHR0,#60HA.30HR 0)=,(B)=B.ARO.B,(47、MOVSP.#60HMOVA,#01H(A)=MOVB.#02H(BPUSHA(S P)=PUSHB(S P)=9POPAPOPB(6 0 H)=48、若PSW=OOH,当执行完下而三条语句后,PSW应为多少?MOV A, #OFBHMOV PSW.#10HADD A, #7FH49、已知(RO) =20H,(20H)=10H.(P0)=30H(R2)=20H,执行如下程序段后(40H) =MOV RO,#11HMOV A, R2ADD A,20HMOV PSW, #80HSUBB A. PO

32、XRL A.#45HMOV 40H,A50、设在31H单元存有#23H,执行下而程序:MOVA.31HANLA. #0FHMOV41H,AMOVA,31HANLA. #0F0HSWAPAMOV42H,A贝 |J(41H)=(42H)=51、若PSW=00.执行下列程序后.PSW的各位状态如何?MOV A.#()FBHMOV PSW.# 1 OHADD A,#7FHCYACovPOFRSI52、位地址为M、N、Y,程序如下MOVC.MANLC,MOVY,CMOVC,MANLC.NORLCYMOVYC求程序功能表达式:53、阅读下列程序并回答问题CLRCMOVA.#9AHSUBBA.60HADDA

33、.61H DAAMOV62HA(1) 谙问该程序执行何种操作?(2) 已知初值:(60H) =23H.H)=61H,请问运行程序后:(62H) = () ?54、已知(B)=35H, (A)=43H 在执行下列指令后,(SP)=,部RAM(51H)=MOV SP, #50HPUSH ACCPUSH B55、执行下列程序后,(A) =, (B) =oMOV A, #9FHMOV B, #36HANL B, ASETB CADDC A, B56、设 RAM 中(2456H)=66H, (2457H)=34H, ROM 中(2456H)=55H, (2457H)=64H-J 请分析 下面程序执行后各

34、寄存器的容。(A) =, (DPTR) =oMOV A, #1MOV DPTR, #2456HMOVC A, A+DPTR第5章汇编语言程序设计考试知识点:1、汇编语言的语句格式【标号:】操作码【操作数】 【:注释】标号:语句地址的标志符号。操作码:语句执行的操作容,用指令助记符表示。操作数:为指令操作提供数据。注释:对语句的解释说明。2、伪指令起始地址ORG、结束END、赋值EQU、字节DB、字DW、空DS、位BIT3、汇编语言程序的基本结构形式(1)顺序结构(2)分支结构(3)循环结构:数据传送问题、求和问题4、定时程序例:延时100ms的子程序,设晶振频率6MH乙DELAY:MOVR5,

35、 #250L00P2:MOVR4, #49L00P1:NOPNOPDJNZR4, LOOP IDJNZR5, LOOP2RET5、査表程序(1)要査找的数据在表中的位置给A(2)表的首地址给DPTR(3)MOVCA, A+DPTR(4)数据表考试复习题:1、下列标号中,正确的标号是()。A.1BT: B.BEGIN: C.ADD: D.STAB31:2、下列伪指令汇编后,存放数据4051H的存贮单元分别是:存放40H, 存放 51H。ORG 2400HTIME EQU 2000HTAB1: DS 05HBUF2: DW 4051H、已知单片机晶振频率为6MHz,假设X、Y为变崑 当X二列程序执

36、行时间最长,其最长值为oMOVR6, #Y:需1个机器周期DEI: MOVR7, #X:需1个机器周期DEO: DJNZR7, DEO:需2个机器周期DJNZR6, DEI:需2个机器周期RET需2个机器周期4、设 R0=20H,Y=时,下(21H) =90H, (22H) =A0H, (25H) =A0H, (26H)=6FH, (27H) =76H,下列程序执行后,结果如何?并给岀部分语句的注释。CLRCMOVR2, #3LOOP: MOVA, ROADDCA, RlMOVRO, AINCROINCRlDJNZR2, LOOP:JNCNEXT:MOVRO, #01HSJMP$NEXT: D

37、ECROSJMP$(20H)=、(21H)=x (22H)=x (23H)=. CY=R1=25H, (20H) =80H,A=. R0=、R1 =5、阅读下列程序,说明其功能。MOV Ro,#dataMOV A.RoRL AMOV R, AMOVRh #30H: (Ri)=MOVA, #64H: (A)=ADDA, #47H: (A)=,(CY)=,(AC)=DAA: (A)=,(CY)=,(AC)=MOVRP A: (Ri)=,OOH)=7、 2506HM5: MOV SP, #58H2509HMOV10H, #0FHRL AADD A, RiMOV Ru,ARET6、阅读下列程序段,写出

38、每条指令执行后的结果,并说明此程序段完成什么功能?(15分)250CHMOV 11H. #OBHSP + ItSPPG o tSP 250FHACALL XHD: PC+2 - PC ,SP + iSP、PGmTSP.Ed go T PC.MOV 20H, 11H2514H M5A: SJMP M5AXHD: PUSH 10HPUSH 11HPOP 10HPOP 11HRET问:(1)执行POP 10H后堆栈容?(2)执行 M5A: SJMP M5A 后,(SP) =(20H)=8、A程序存储空间表格如下:地址2000H2001H2OO2H2003HO O O O O容3FH06H5BH4FH

39、O O O O O已知:片RAM的20H中为01H,执行下列程序后(30H)=MOVA, 20HINCAMOVDPTR, #2000HMOVCA, A+DPTRCPLAMOV30H.ASJMP$解读下列程序,然后填写有关寄存務容(1)MOVR1 ,#48HMOV48H,#51HCJNERl#51H.00HJNCNEXT1MOVA.#0FFHSJMPNEXT2NEXT:MOVA.#0AAHNEXT2:SJMPNEXT2累加器A=()MOVA.#0FBHMOVPSW.#10HADDA.#7FH若PSW=0 0,当执行完上述程序段后,将PSW各位状态填入下表:P S WC YA CF 0R S 1R

40、 S 00 F 110、部RAM从list单元开始存放一单字节正数表,表中之数作无序排列,并以1作结束标志。编程实现表中找出最小值。MOV RO, #LISTMOV A, ROMOV MIN, ALOOP5: INC ROMOV A, RO, LOOP3RETLOOP3: CJNEA, MIN, LOOP1LOOP1: LOOP2MOV MIN, ALOOP2: SJMP LOOP511、设两个十进制数分别在部RAM40H单元和50H单元开始存放(低位在前),其字步长 度存放在部30H单元中。编程实现两个十进制数求和,并把求和结果存放在40H开始的单 元中。MOV RO, #40HMOVRh

41、#50HMOV R2, #30HLOOP: MOV A, ROADDCA, R1MOV RO, AINC ROINCR1DJNZR2, LOOPRET12、比较两个ASCII码字符串是否相等。字符串长度在部RAM3FH单元,两字符串的首地 址分别为40H、50H.如果两个字符串相等,置CY=1,否则,巻CY=O。MOV RO, #40HMOV Rl, #50HMOV R2, #3FHLOOP1: MOV A, ROCLR C R1JNZ LOOP2INC ROINC R1, LOOP1SETB CRETLOOP2: CLR CRET13、将以表格形式存放在从table开始的部单元中的8个单字节

42、正数求平均值。MOV RO, STABLEMOV R2, #8MOV R4, #0LOOP1: MOV A, ROMOV R4, AINC RODJNZ R2, LOOP1MOV B, #8RET14、分析下列程序的功能,并给岀部分语句的注释。START: MOVR0, #40HR7, #09HA, R0MOVMOVLOOP:INCR0MOV30H, R0CJNEA, 30H, NEXTNEXT:JNCBIE1MOVA, 30HBIE1:DJNZR7, LOOPMOV50H, ARETI15、已知在累加器A中存放一个BCD数(09),请编程实现一个査平方表的子程序。16、请使用位操作指令实现下

43、列逻借操作:BIT=(10H VPi.o)A(HHVCy)17、已知变量X存于VAR单元,函数值Y存于FUNC单元,按下式编程求Y值。1x0 0 x = 0丫_ -1 x #10NEXT: MOVA,ACALL SEPAMOV R(), AINCDJNZSJMPSEPA: ADDORLSRET:型Ro,NEXT$A, #00HPSW.O, SRETA,23、从部RAM30H单元开始,有10个单字节数拯。试编一个程序,把其中的正数、负数分 别送40H和50H开始的部RAM单元。24、将字节地址3OH3FH单元的容逐一取出减1,然后再放回原处,如果取出的容为00H, 则不要减1,仍将0放回原处。2

44、5、将31H、32 H单元与41 H、40H单元的双字节十进制无符号数相加,结果存入32H.31H30H 单元。26、编程实现字符串长度统计:设在单片机RAM中从STR单元开始有一字符串以ASC II 码存放,该字符串以$其值为24H结束,试统讣该字符串的长度,其结果存于LON单元。求平方子程序计算X=2+Z227、片RAM30H开始的单元中有10B的二进制数,请编程求它们之和。设和V256。第4章单片机的其他片功能考试知识点:1、中断源和中断请求标志位中断需称中断请求标志中断向量外部中断0IE00003HTO中断TF0000BH外部中断1IE10013HT1中断TF1001BH串行发送中断T

45、I0023H串行接收中断RI0023H2、和中断相关的寄存器的设置(1)泄时器控制寄存器TCON格式如下:位D7D6D5D4D3D2D1D0TCONTF1TR1TF0TR0IE1IT1IE0ITO位地址8F8E8D8C8B8A8988IT0=0.为电平触发方式。丽 低电平有效。ITO=1,为边沿触发方式。丽输入脚上电平由髙到低的负跳变有效。IEO=1,说明有中断请求,否则IE0=0e(2)中断允许控制寄存器IE其各位的泄义如下:位D7D6D5D4D3D2D1D0代号EAESET1EX1ETOEXOEA:开放或禁I上所有中断。ES:开放或禁止串行通道中断。ET1:开放或禁止立时/计 数器T1溢出

46、中断。EX1:开放或禁I上外部中断源1。ETO:开放或禁止立时/汁数器TO溢岀 中断。EX0:开放或禁止外部中断源0。(3) 中断优先级控制寄存器IP各位的定义如下:位D7D6D5D4D3D2D1D0代号PSPT1PX1PTOPXO1为髙优先级、0为低优先级。如果同级的多个中断请求同时出现,则按CPU査询次序 确定哪个中断请求被响应。査询次序为:外部中断0、T0中断、外部中断1、T1中断、串 行中断。3、响应中断的必要条件(1) 有中断源发出中断请求。(2) 中断允许寄存器IE相应位置“1”,CPU中断开放(EA=1)O(3) 无同级或高级中断正在服务。(4) 现行指令执行到最后一个机器周期且

47、已结束。若现行指令为RETI或需访问特殊 功能寄存器IE或IP的指令时,执行完该指令且其紧接着的指令也已执行完。中断响应的主要容是由硬件自动生成一条长调用指令,指令格式为“LCALLadckl6”。 这里的addrl6就是程序存储器中断区中相应中断的入口地址。4、中断程序设计(1) 在0000H处存放一条无条件转移指令转到主程序。(2) 在入口地址处存放一条无条件转移指令转到中断服务子程序。(3) 设置触发方式(IT0/IT1)(4) 设置IE和IP。(5) 设置SP。(6) 原地踏步。(7) 中断服务子程序。最后RETL5、定时计数的基本原理(1) 定时功能:每个机器周期计数器加1。(2)

48、计数功能:TO (P3.4)和T1 (P3.5)输入计数脉冲,每一来一个脉冲计数器加1。6、用于左时计数的寄存器的设置(1) 泄时器控制寄存器TCON格式如下:位D7D6D5D4D3D2D1D0TCONTF1TR1TFOTROIE1IT1IE0ITO位地址8F8E8D8C8B8A8988TF1、TFO一汁数溢出标志位。当计数器产生计数溢出时,由硬件置1。采用查询方式,它是供査询的状态位。采用中断方式,作为中断请求信号。TRI、TRO计数运行控制位。为1时,启动龙时器/计数器工作:为0时,停止泄时 器/计数器工作。(2)工作方式控制寄存器TMOD其格式如下:D7D6D5D4D3D2DIDOTMODGATEC/TMlMOGATEC/TMlMO89HT1方式字段TO方式字段GATE:门控位。当GATE=1时,同时INTx为高电平,且TRx苣位时,启动定时器, 外部启动。当GATE=0时,每当TRx置位时,就启动泄时器,是部启动方式。CAT:选择定时器功能还是讣数器功能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论