1、第二章,习题与思考:,1、单片机应用程序一般存放在( ) A、RAM B、ROM C、寄存器 D、CPU 2在单片机中,通常将一些中间计算结果放在( )中 A、累加器 B、控制器 C、程序存储器 D、数据存储器 389C51单片机有片内ROM容量( )A 4KB B. 8KB C. 128B D. 256B 4、CPU主要的组成部部分为( ) A、运算器、控制器 B、加法器、寄存器 C、运算器、寄存器 D、运算器、指令译码器 5INTEL 8051 CPU是( )位的单片机 A、16 B、4 C、8 D、准16 6CPU由_和控制器构成。,习题与思考:,1、PC存放_,具有_特性。在8051中
2、决定程序执行顺序的是PC还是DPTR?它是_位?(是,不是)SFG? 2、PSW用于存放_,在8051中PSW是_ 位,当8051执行94H+4BH后,PSW的CY、AC、OV、P的值是多少? 3、什么是堆栈?8051的堆栈设在何处?哪个寄存器是堆栈指针?堆栈存取数据的原则是什么? 4单片机的堆栈指针SP始终是( ) A、指示堆栈底 B、指示堆栈顶 C、指示堆栈地址 D、指示堆栈长度 5、进位标志CY在( )中 A、累加器 B、算逻运算部件ALU C、程序状态字寄存PSW D、DPTR 6、. 8031单片机中的SP和PC分别是( )的寄存器。 A.8位和8位 B.16位和16位 C.8位和1
3、6位 D.16位和8位 7、DPTR是什么寄存器?它的作用是什么?它由哪几个特殊功能寄存器组成?,习题与思考:,1、8051单片机的内部RAM可以分为几个不同的区域?各区的地址范围及其特点? 2为了使10H17H作为工作寄存器使用,应该采用什么办法实现?写出相关指令。CPU复位后,R0-R7的单元地址是多少? 3、8051的位寻址区在哪里?位寻址空间是多少? 4MCS-51中有4组工作寄存器,它们的地址范围是 。 5MCS-51单片机的堆栈区应建立在( )。 A. 片内数据存储区的低128字节单元 B. 片内数据存储区 C.片内数据存储区的高128字节单元 D.程序存储区 68031单片机中既
4、可位寻址又可字节寻址的单元是( ) A、20H B、30H C、00H D、70H,习题与思考:,1、8051单片机对外有几条专用控制线?其功能是什么? 2、8051的内ROM容量为_,最大外扩ROM容量为_,8051 访问外ROM时,读选通信号由_个引脚送出,地址码由 _ _ 送出,数据由_ 送出。8051的EA应接_ 电平. 3、8051可以外扩的RAM容量为_,8051访问外RAM时,读选 通信号由_个引脚送出,写选通信号由_个引脚送出,8051 中_个寄存器存放外RAM单元的地址。 4. 8031单片机的( )口的引脚,还具有外中断、串行通信等第二功能。 A.P0 B.P1 C.P2
5、D.P3 5、当MCS-51引脚ALE信号有效时,表示从P0口稳定地送出了 地址信号。 6对于INTEL 8031来说,EA脚总是( ) A、接地 B、接电源 C、悬空 D、不用,第二章测试:,一、选择题 1、在8051单片机中,PC存放的是( ) a)正在执行的这条指令的地址 b)将要执行的下一条指令的地址 c)正在执行的这条指令的操作码 d)对已经执行过的指令条数进行计数 2、为了使10H17H作工作寄存器使用RS1, RS0的取值为( ) a ) 0 ,0 b) 0 ,1 c) 1, 0 d) 1, 1 3下述哪条引脚为输入脚( ) a) RESET b) ALE c) RD d) PS
6、EN 4、在8051单片机中,SP存放的是( ) a)堆栈栈低的地址 b)堆栈栈顶的地址 c)堆栈栈低的内容 d)堆栈栈低的内容 5数据指针DPDR在( )中 A、CPU控制器 B、CPU运算器 C、外部程序存储器 D、外部数据存储器 6单片机上电后或复位后,工作寄存器R0是在( ) A、0区00H单元 B、0区01H单元 C、0区09H单元 D、SFR 7、8051的内部RAM中,可以进行位寻址的地址空间为( ) A、00H2FH B、20H2FH C 、00HFFH D、20HFFH 8、在堆栈操作中,当进栈数据全部弹出后,这时S P应指向( ) A、栈底单元 B、7FH单元 C 、栈底单
7、元地址加1 D、栈底单元地址减1,9、关于指针DPTR,下列说法正确的是( ) ADPTR是一个8位寄存器 BDPTR不可寻址 CDPTR是由DPH和DPL两个8位寄存器组成的 DDPTR的地址83H 108051的程序计数器P C为16位计数器,其寻址范围是( ) A、8K B、16 K C 、32 K D、64 K 118031单片机在片外扩展程序存储器,当取程序存储器的内容时,要用单片机的( )信号。A. RD B. PSEN C.ALE D WR 二、填空题 1若不使用MCS-51片内的存储器,引脚必须接 。 2MCS-51中21个特殊功能寄存器,其地址凡是能被8整除的都有 寻址功能。
8、 3MCS-51系统中,当信号 有效时,表示CPU要从 存储器中读取信息。 4当使用8751且=1时访问的是片 ROM。 5MCS-51片内20H2FH范围内的数据存储器,既可以 寻址又可以 寻址。 6、微处理器就是集成在一片大规模集成电路的_和_. 7_用来存放下一条要执行的指令的地址. 8、MCS-51的堆栈只可设置在 ,其最大容量为 ,堆栈寄存器SP是 位寄存器。,三、简答题 1决定程序执行顺序的寄存器是哪个?它是几位的?它是不是特殊功能寄存器? 2什么叫堆栈?堆栈指示器SP的作用是什么?8051单片机堆栈的最大容量不能超过多少字节? 3MCS51单片机的寻址范围是多少?8051单片机可
9、以配置的存储器的最多容量是多少? 48051内部RAM有几组工作寄存器?每组工作寄存器有几个工作寄存器?寄存器组的选择由什么决定?,习题与思考:,1、 8051 的引脚RST是_(IN脚还是OUT脚),当其端出现_电平时,8051进入复位状态;复位后PC=_。8051一直维持这个值,直到RST脚收到_电平,8051才脱离复位状态,进入程序运行状态。 2、 MCS51单片机的CPU每取一个指令字节,立即使( )A.堆栈指针SP自动加1 B.数据指针DPTR自动加1C.程序计数器PC自动加1 D.累加器A自动加1 3MCS51单片机的主程序应该从哪个单元开始存放?为什么? 4、单片机上电后或复位后
10、,工作寄存器R2是在( ) A、0区01H单元 B、0区02H单元 C、0区0BH单元 D、SFR 58031复位后,PC与SP的值为( ) A、0000H,00H B、0000H,07H C、0003H,07H寄存器 D、0800H,00H,第三章,习题与思考: 1、 什么是寻址方式?8051有几种寻址方式?是哪几种?对特殊功能寄存器应该使用什么寻址方式?对128B的RAM可以使用哪几种寻址方式? 2、 下列各条指令其源操作数的寻址方式是什么? (1)MOV A,#48H (2)ADD A,60H (3)ANL A,R0 (4)XCHD A,R0 (5)MOVX A,DPTR (6)MOV
11、A,R0 (7)MOVC A,A+DPTR,返回,1、对程序存储器的读操作只能使用( ) A、指令 B、指令 C、指令 D、指令 2、执行完 ,后,的哪一位被置位( ) A、 B、 C、 D、 3、 MCS-51系统中,若用传送指令访问片内RAM,它的操作码助记符是 ;若用传送指令访问片外RAM,它的操作码助记符是 。 4MOV PSW,#18H是将MCS-51的工作寄存器组置为第 组。 5假设DPTR的内容为8100H,A的内容为40H,执行下类指令:MOVC A,A+DPTR后,送入A的是ROM 单元的内容。 用简单的指令序列完成以下功能: 6、将内RAM 30H单元的内容传送到外RAM
12、3000H单元中。 7、将ROM 0100H单元的内容传送到内RAM 40H单元中。 8、将外RAM 0070H单元的内容传送到R5中。 9、用2种方法实现内RAM 60H和61H单元内容的互换。,10、设SP=60H,片内RAM的(30H)=24H,(31H)=10H,请填出注释中的结果。PUSH 30H ; SP= ,(SP)= .PUSH 31H ; SP= ,(SP)= .POP DPL ; SP= ,DPL= .POP DPH ; SP= ,DPH= .MOV A,#00HMOVX DPTR,A 最后的执行结果是 。 11、设片内RAM中(59H)=50H,执行下列程序段 MOV A
13、,59H MOV R0,A MOV A,#0 MOV R0,A MOV A,#25H MOV 51H,A MOV 52H,#70H 问A=? (50H)=? (51H)= ? (52H)=?,12、R0=4BH,A=84H,片内RAM (4BH)=7FH,(40)=20HMOV A,R0MOV R0,40HMOV 40H,AMOV R0,#35H 问执行程序后R0、A和4BH、40H单元内容的变化如何? 13、欲将片外RAM中0357H单元的内容传送给A,判断下列指令或程序段的正误。 MOVX A,3057H ( ) MOV DPTR,#3057H ( )MOVX A,DPTR MOV P2,
14、#30H ( )MOV R0,#57HMOVX A,R0 MOV P2,#30H ( )MOV R2,#57HMOVX A,R2 14、欲将SFR中的PSW寄存器内容读入A,判断下列指令的正误。 MOV A,PSW ( ) MOV A,0D0H ( ) MOV R0,#0D0H ( )MOV A,R0MOVX A,R0 PUSH PSW ( )POP ACC,返回,1、对程序存储器的读操作只能使用( ) A、指令 B、指令 C、指令 D、指令 2、执行完 ,后,的哪一位被置位( ) A、 B、 C、 D、 3、 MCS-51系统中,若用传送指令访问片内RAM,它的操作码助记符是 ;若用传送指令
15、访问片外RAM,它的操作码助记符是 。 4MOV PSW,#18H是将MCS-51的工作寄存器组置为第 组。 5假设DPTR的内容为8100H,A的内容为40H,执行下类指令:MOVC A,A+DPTR后,送入A的是ROM 单元的内容。 用简单的指令序列完成以下功能: 6、将内RAM 30H单元的内容传送到外RAM 3000H单元中。,PSW中的P由A中1的个数的奇、偶决定。,D,D,MOV,MOVX,4,8140H,MOV A,30H MOV DPTR,#3000H MOVX DPTR,A,用简单的指令序列完成以下功能: 6、将内RAM 30H单元的内容传送到外RAM 3000H单元中。 7
16、、将ROM 0100H单元的内容传送到内RAM 40H单元中。8、将外RAM 0070H单元的内容传送到R5中。9、用2种方法实现内RAM 60H和61H单元内容的互换。,MOV A,#00H MOV DPTR,#0100H MOVC A,A+DPTR MOV 40H,A,MOV DPTR,#0070H MOVX A,DPTR MOV R5,A,MOV A,60H MOV 60H,61H MOV 61H,A,MOV SP,#70H PUSH 60H PUSH 61H POP 60H POP 61H,10、设SP=60H,片内RAM的(30H)=24H,(31H)=10H,请填出注释中的结果。P
17、USH 30H ; SP= ,(SP)= .PUSH 31H ; SP= ,(SP)= .POP DPL ; SP= ,DPL= .POP DPH ; SP= ,DPH= .MOV A,#00HMOVX DPTR,A 最后的执行结果是 。 11、设片内RAM中(59H)=50H,执行下列程序段 MOV A,59H MOV R0,A MOV A,#0 MOV R0,A MOV A,#25H MOV 51H,A MOV 52H,#70H 问A=? (50H)=? (51H)= ? (52H)=?,61H,24H,62H,10H,61H,10H,60H,24H,将00H送入外RAM2410H单元,D
18、PTR=2410H,A=50H,R0=50H,A=00H,(50H)=00H,A=25H,(51H)=25H,(52H)=70H,A=25H,(50H)=00H,(51H)=25H,(52H)=70H,12、R0=4BH,A=84H,片内RAM (4BH)=7FH,(40)=20HMOV A,R0MOV R0,40HMOV 40H,AMOV R0,#35H 问执行程序后R0、A和4BH、40H单元内容的变化如何? 13、欲将片外RAM中0357H单元的内容传送给A,判断下列指令或程序段的正误。 MOVX A,3057H ( ) MOV DPTR,#3057H ( )MOVX A,DPTR MO
19、V P2,#30H ( )MOV R0,#57HMOVX A,R0 MOV P2,#30H ( )MOV R2,#57HMOVX A,R2 14、欲将SFR中的PSW寄存器内容读入A,判断下列指令的正误。 MOV A,PSW ( ) MOV A,0D0H ( ) MOV R0,#0D0H ( )MOV A,R0MOVX A,R0 PUSH PSW ( )POP ACC,A=7FH,(4BH)=20H,(40H)=7FH,R0=35H,21个SFR只能采用直接寻址方式,返回,第四章,执行下列程序段,填写结果。 MOV 50H,#00H MOV R0,#7DH MOV 7CH,#0AH DEC R
20、0 MOV A,R0 MOV B,#03H CLR C ADD A,B INC R0 MOV R0,50H 结果为: R0=_,B=_, (7DH)=_,A=_, CY=_。,按照要求,将程序补充完整 内部RAM中以51H单元为首地址,存放着6个字节的无符号数。统计其中0的个数,并存放在50H单元中。 源程序如下: CONT0:MOV R1,#51HMOV R2, _MOV 50H, _ LOOP: MOV A,R1 _ NEXT INC 50H NEXT: INC _ DJNZ R2, _ RET,若(50H)=40H,试写出执行以下程序段后累加器A、寄存器R0及内部RAM的40H.41H.
21、和42H单元的内容各为多少?MOV A, 50H 答:A 4BHMOV R0, A R0 40H MOV A, #10H 40H 10H MOV R0, A 41H 4BH ADD A, #3BH 42H 4BHMOV 41H, A MOV 42H, 41H. 2.写出一延时50ms的程序段,设晶振频率为12MHZ。 答: delay: MOV R0, #500Delay1:MOV R1,#100DJNZ: R1,$DJNZ: R0,delay1RET 3.一变量存放在片内RAM的20H单元,其取值范围为:00H05H。要求编制一段程序,根据变量值求其平方值,并存入片内的RAM的21H单元。
22、CLR A CLR B MOV A 20H MUL AB MOV 21H A,1、若20H位为1,则转移到到标号LOOP,并将20H位清零(一条指令)2、片内20H中的字符从串行接口发送出去。(串行口工作方式已设定) 3、已知ADC0832地址为7FFFH,启动D/A转换。 4、把DPTR所指地址的内容压入堆栈,四、读程序填写每条指令执行结果 1、设内部RAM(30H)=5AH,(5AH)=40H,(40H)=00H。MOV R0,#30H MOV A,R0 MOV R1,A MOV B,R1 MOV R1, #20H MOV 30H,40H 2、已知:(60H)23H,(61H)61H。 C
23、LR C MOV A,9AH SUBB A,60H ADD A,61H DA A MOV 62H,A,3、若(10H)=0FFH,(11H)=00H,(12H)=0FFH,(13H)=00H MOV A,10H ANL A,#01H MOV A,11H ORL A,#01H MOV A,12H XRL A,#01H MOV A,13H XRL A,#0AAH 4、已知:(SP)60H,(A)01H,(B)02H。 PUSH A (SP)= , PUSH B (SP)= ,POP ACC (SP)= ,(A)= POP B (SP)= ,(B)=,片内RAM40H开始的单元内有20个字节有符号数,将其中等于0、小于0和大于0的个数分别存50H、51H和52H单元中。,