单片机练习题及例题

更新时间:2023-11-18 03:11:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

单片机课堂练习题/例题总结

习 题 和 思 考 题 一

1、一个完整的单片微机芯片内至少有哪些部件?

2、根据程序存储器的差别单片机可以分为那些类型?

3、单片机的主要特性是什么?它适宜于构成一个通用微机系统还是专用微机系统?为什么?

习题与思考题二

1、8051单片机内包含哪些主要逻辑功能部件? 2、MCS-51单片机结构上有哪些主要特点? 习 题 和 思 考 题 三

1、详细描绘MCS-51单片机的存储器配置图。

2、MCS-51单片机是通过哪些方法将程序存储器和数据存储器严格分开的?

3、什么是单片机的特殊功能寄存器?8051/8052各有几个特殊功能寄存器?这些特殊功能寄存器占有的地址范围?

4、MCS—51单片机有哪些可直接寻址的位?

5、什么是堆栈?8031的堆栈区可以设在什么地方?一般应设在什么区域?如何实现?试举例说明。

习题和思考题四

1、试根据P1口和P3口的结构特性,指出它们作为输入口或第二功能输入/输出的条件。 2、MCS-51中无ROM型单片机在应用中P2口和P0口能否直接作为输入/输出连接开关、指示灯之类的外围设备?为什么?

3、画出MCS-51系列单片机进行系统扩展时的三总线结构图。 课堂练习一

1、8031有四个工作寄存器区,由PSW状态字中的RS1、RS0两位的状态来决定,单片机复位后,若执行 SETB RS1 指令,此时只能使用( )区的工作寄存器。 A、0区 B、1区 C、2区 D、3区 2. 09H位所在的单元地址是( )

A. 02H B. 21H C. 08H D.20H

3.单片机在进行取指令操作时,指令的地址是由( )的内容决定。 A. SP B.PC C. DPTR D. PSEN和ALE 4. P1口作输入用途之前必须( )。

A.外接高电平 B.外接上拉电阻 C.相应端口先置0 D.相应端口先置1 5.程序计数器PC用来( )。

A.存放指令 B.存放上一条的指令地址 C.存放下一条的指令地址 D.存放正在执行的指令地址 思 考 题

1. 数123可能是( )。

A. 二进制数 B. 八进制数 C. 十六进制数 D. 四进制数 E.十进制数 2. 8031单片机内部RAM包括( ) 。

A.程序存储区 B.堆栈区 C.工作寄存器及特殊功能区 D.位寻址区 E. 中断入口地址区

3. 8051单片机CPU的主要功能有( )。

A.产生控制信号 B.存储数据 C.算术、逻辑运算及位操作

D.I/O端口数据传送 E.驱动LED

4.单片机能够直接运行的程序是( )。 A. 汇编源程序 B. C语言源程序 C. 高级语言程序 D. 机器语言源程序 5. 十进制数126其对应的十六进制可表示为( )。 A.8F B.8E C.FE D. 7E

6. 十进制数89.75其对应的二进制可表示为( ).

A.10001001.01110101 B.1001001.10 C.1011001.11 D.1001001.11 7. 二进制数110010010对应的十六进制数可表示为( ) A.192H B.C90H C. 1A2H D. CA0H

8. 二进制数110110110对应的十六进制数可表示为( )。 A. 1D3H B, 1B6H C. DBOH D. 666H 9. -3的补码是( )。

A. 10000011 B. 11111100 C.11111110 D. 11111101 10. CPU主要的组成部部分为( )。

A.运算器,控制器 B.加法器,寄存器 C. 运算器,寄存器 D. 运算器,指令译码器

11. INTEL 8051 CPU是( )位的单片机。

A. 16 B.4 C.8 D.准16位 12. 对于INTEL 8031来说,/EA脚总是( )

A.接地 B.接电源 C. 悬空 D.不用

13. 在单片机中,通常将一些中间计算结果放在( )中

A.累加器 B.控制器 C. 程序存储器 D.数据存储器 14. 程序计数器PC用来( )。

A.存放指令 B.存放正在执行的指令地址 C. 存放下一条的指令地址 D.存放上一条的指令地址 15. 指令和程序是以( )形式存放在程序存储器中。

A. 源程序 B. 汇编程序 C. 二进制编码 D.BCD码 16. 单片机应用程序一般存放在( )中。

A. RAM B.ROM C. 寄存器 D.CPU

17. 单片机上电后或复位后,工作寄存器R0是在( )。

A. 0区00H单元 B.0区01H单元 C. 1区09H单元 D.SFR 18. 进位标志CY在( )中。 A. 累加器A B.算术逻辑运算部件ALU C.程序状态字寄存器PSW D. DPDR 19. 单片机8051的XTALl和XTAL2引脚是( )引脚

A. 外接定时器 B.外接串行口 C. 外接中断 D.外接晶振 20. 8031复位后,PC与SP的值为( )。

A.0000H,00H B.0000H,07H C.0003H,07H D. 0800H,00H 21. P0,P1口作输入用途之前必须( )。

A. 相应端口先置1 B.相应端口先置0 C.外接高电平 D.外接上拉电阻 22. 8031单片机中既可位寻址,又可字节寻址的单元是( )。 A.20H B.30H C.00H D.70H 23. 8031单片机中片内RAM共有( )字节。 A.128 B.256 C.4K D.64K

24. 当标志寄存器PSW的RS0、RS1分别为1和0时,系统选用的工作寄存器组为( )。 A. 组0 B.组1 C.组2 D. 组3

25. 8051的内部RAM中,可以进行位寻址的地址空间为( )。

A. 00H~2FH B. 20H~2FH C. 00H~FFH D. 20H~FFH 26. 8051的程序计数器PC为16位计数器,其寻址范围是( ) 。 A. 8K B. 16K C. 32K D. 64K

27. 8051单片机中,唯一一个用户不能直接使用的寄存器是( )。 A.PSW B. DPTR C.PC D. B

28. 对MCS-51单片机来说,其内部RAM( )。

A.只能位寻址 D.只能字节寻址 C.既能位寻又能字节寻址 D.少部分能位寻址 29. 所谓系统总线,指的是( )。

A. 数据总线 B.地址总线 C. 内部总线 D.外部总线 E.控制总线 习题和思考题五

1、MCS-51指令系统有几种寻址方式?如果要对特殊功能寄存器进行操作将使用哪种寻址方式?

2、在MCS-51程序段中,怎样识别位地址和字节地址?

3、怎样区分内部RAM高128个字节地址以及特殊功能寄存器的地址? 4、MCS-51指令系统按其操作功能分几大类?

例:设(70H) = 60H, (60H) = 20H, P1口为输入口,当前输入状态为 B7 H, 执行下面的程序: MOV R0,#70H; (R0) = 70H MOV A,@R0; (A) = 60H

MOV 01H,@R0; (R1) = (70H) = 60H MOV B,@R1; (B) = 20H MOV @R0,P1; (70H) = B7H

结果为:(70H) = B7H (B) = 20H (R1) = 60H (R0) = 70H 习题与思考题六

1、写出实现以下数据传送的MCS-51指令: 1) R7内容传送到R4;

2) 外部RAM20H单元内容送R0;

3) 外部RAM1000H单元内容送内部RAM30H; 4) ROM2000H单元内容送R2;

5) 外部RAM0456H的内容送外部RAM0078H单元。

2、若(SP)=26H,(A)=37H,(DPTR)=0CFA 8H;执行PUSH A,PUSH DPL, POP A, POP DPL指令后,试指出SP、A、DPTR的数值。

3、设R0的内容为32H,A的内容为48H,内部RAM32H内容为80H,40H内容为08H,请指出在执行下列程序段后各单元内容的变化。 MOV A, @R0 MOV @R0, 40H MOV 40H, A MOV R0, #40H MOV @R0, A

例、将30H和31H二单元清0,试编程。 ORG 0100H

MOV R0,#30H ; R0指向30H单元

MOV @R0,#00; 30H单元清0

INC R0 ; R0加1,指向31H单元 MOV @R0,#00; 31H单元清0 L:SJMP L ; 停机 END

例、将内部RAM中40H与41H二单元内容相乘,乘积存43H,42H单元中(高字节存在43H单元,低字节存在42H单元);将40H和41H二单元内容相除,商存在44H单元中,余数存在45H单元中,试编程。 ORG 0100H

MOV A,40H; (40H)被乘数 A MOV B,41H; (41H)乘数 B MUL AB ; (A)×(B) BA MOV 42H,A; MOV 43H,B; 积存43H,42H单元中 MOV A,40H; (40H)被除数 A MOV B,41H; (41H)除数 B DIV AB ; A÷B MOV 44H,A; 商存入44H单元中 MOV 45H,B; 余数存入45H单元中 L:SJMP L ; 停机 END

习题与思考题七 已知(A)=7AH,(R0)=30H,(30H)=A5H, (PSW)=80H,问执行下列各指令后的结果(每条指令相互独立)。 (1) XCH A, R0 ; (A)= ; (R0)= (2) XCH A, 30H ; (A)= ; (30H)= (3) XCH A, @R0 ; (A)= ; (R0)= ;(30H)= (4) XCHD A, @R0 ; (A)= ; (R0)= ;(30H)= (5) SWAP A ; (A)= (6) ADD A, R0 ; (A)= ; (Cy)= ;(OV)= (7) ADD A, 30H ; (A)= ; (Cy)= ;(OV)= (8) ADDC A, 30H ; (A)= ; (Cy)= ;(OV)= (9) SUBB A, 30H ; (A)= ; (Cy)= ;(OV)= (10) SUBB A, #30H ; (A)= ; (Cy)= ;(OV)=

例、将40H单元中的内容,低四位送41H单元低四位,高四位送42H单元的高四位,试编程。

ORG 0100H MOV A,40H ; A (40H) ANL A,#0FH ; 屏蔽A中高四位,保留低四位 MOV 41H,A ; 41H 低四位 MOV A,40H ; A (40H)

ANL A,#0F0H ; 屏蔽A中低四位,保留高四位 MOV 42H,A ; 42H 高四位 L:SJMP L ; 停机

END

例:将30H单元中的低四位置1,且不影响高四位的值,试编程。 ORG 0010H

ORL 30H,#0FH L:SJMP L END

习题与思考题八

1、设(A)=10101010B,(R4)=01010101B,请分别写出它们进行“与”、“或”、“异或”操作结果。若要将R4内容取反,试问用什么指令实现?

2、试编程将内部RAM26H单元位2、4、6取反后送P1口。

例:若A中存放待处理命令编号(0~7),ROM中存放着标号为PMTB的转移地址表,则执行下列程序,将根据A内的命令编号转向相应的命令处理程序。 PM: MOV R1, A RL A

ADD A, R1; (A)×3 MOV DPTR, #PMTB; 转移表首址→DPTR JMP @A+DPTR PMTB:LJMP PM0; LJMP PM1; LJMP PM2; LJMP PM3; LJMP PM4; LJMP PM5; LJMP PM6;

转向命令0处理入口 . . . . . .

LJMP PM7; 转向命令7处理入口 例:延时程序 START: SETB P1.1 DL: MOV 30H, #40H DL0: MOV 31H, #0F0H DL1: DJNZ 31H, DL1 DJNZ 30H, DL0 CPL P1.1 AJMP DL 习题与思考题九

1、试编一程序将内部RAM 30H~3FH单元数据传送到外部RAM首址为0F00H的单元中去。 2、有两块数据分别在内部 RAM20H~29H、30H~39H,现将两块数据对换,试编程。

3、从内部RAM 24H单元开始存放有30个用ASCⅡ码表示的字符和数据,现要找B字符,若找到则转移到其处理程序,若找不到B直至找完则停机。试编程。

程序示例

一、 循环程序

例1:对数据区的一片单元清零-----单重循环程序 将30H~3FH单元的内容清成零。程序如下: ZZZ: MOV R0, # 30H

本文来源:https://www.bwwdw.com/article/kwvv.html

Top