单片机习题思考题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题和思考题一
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. 数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 110.
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指令系统按其操作功能分几大类?
习题与思考题六
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的数值。
题:将内部RAM中的40H与41H二单元内容相乘,乘积存43H,42H单元中(高字节存43H单元,低字节存42H单元);将40H和41H单元相除,商存44H 单元中,余数存在45H单元中,试编程。
习题与思考题七
已知(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)=
习题与思考题八
1、设(A)=10101010B,(R4)=01010101B,请分别写出它们进行“与”、“或”、“异或”操作结果。
若要将R4内容取反,试问用什么指令实现?
2、试编程将内部RAM26H单元位2、4、6取反后送P1口。
习题与思考题九
1、试编一程序将内部RAM 30H~3FH单元数据传送到外部RAM首址为0F00H 的单元中去。
2、有两块数据分别在内部RAM20H~29H、30H~39H,现将两块数据对换,试编程。
3、从内部RAM 24H单元开始存放有30个用ASCⅡ码表示的字符和数据,现要找B字符,若找到则转移到其处理程序,若找不到B直至找完则停机。
试编程。
例2、多字节乘法程序
16位乘8位的乘法程序。
设被乘数放在R4、R3中,乘数在R2中,求积并将积放于R7、R6、R5中。
CF: MOV A, R2
MOV B, R3
MUL AB; 完成(R3)×(R2)
MOV R5, A; 积的低位→R5
MOV R6, B; 积的高位→R6
MOV A, R2
MOV B, R4
MUL AB; 完成(R4)×(R2)
ADD A, R6; (R3)×(R2)高位加(R4)×(R2)低位
MOV R6, A; 结果送R6保存,进位在C中
MOV A, B
ADDC A, #00H; (R4)×(R2)的高位加低位的进位
MOV R7, A; 结果送R7
RET
将A中的1位十六进制数转换为ASCII码。
将40H单元中一字节的十六进制整数转换成十进制数,分别存入31H~30H单元中(高字节在后),试编程.
习题与思考题十
1、什么叫做伪指令?伪指令与汇编程序有什么区别?
2、编写实验二、三、四、五中相应的程序。
例:若从T0引脚输入低频负脉冲信号,要求T0每次发生负跳变时,从P1.0 输出一个500us的同步脉冲,设fosc=6MHZ
T0
P1.0
1)TH0. TL0. TH1. TL1初值设定
T0:计数方式,使发生负跳变时加1计数溢出,程
序查询到TF0=1时启动T1定时,故初值应为FFH。
T1:定时500us
(256-X)×2×10-6=500×10-6 X=06H
所以(TH1)=(TL1)=06H
2)TMOD00100110(TMOD)=26H
3)程序:
START:
MOV TMOD, # 26H
MOV TH1, # 06H
MOV TL1, # 06H
MOV TH0,# 0FFH
MOV TL0, # 0FFH
SETB TR0
LOOP1:
JBC T F0, PTF01
AJMP LOOP1
PTF01:
CLR P1.0
SETB TR1
LOOP2:
JBC T F1, PTF02
AJMP LOOP2
PTF02:
SETB P1.0
CLR TR1
AJMP LOOP1
例:信号灯的控制
1、要求:
(1) 利用单片机的定时查询与中断方式,实现对信号灯的复杂控制。
(2) 使P1口的8盏灯由左至右,由右至左轮流点亮一次
1)定时器查询方式
ORG 0000H
CONT:MOV R2,#07H
MOV A,#0FEH
NEXT:MOV P1,A
ACALL DELAY
RL A
DJNZ R2,NEXT
MOV R2,#07H
NEXT1:MOV P1,A
RR A
ACALL DELAY
DJNZ R2,NEXT1
SJMP CONT
DELAY:MOV R3,#14H ;置50ms计数循环初值MOV TMOD,#10H ;设定时器1为方式1
MOV TH1,#3CH ;置定时器初值
MOV TL1,#0B0H
SETB TR1 ;启动T1
LP1:JBC T F1,LP2 ;查询计数溢出
SJMP LP1 ;未到50ms继续计数
LP2:MOV TH1,#3CH ;重新置定时器初值MOV TL1,#0B0H
DJNZ R3,LP1 ;未到1s继续循环
RET ;返回主程序
END
2)定时器中断方式
ORG 0000H ;程序入口
AJMP 0100H ;指向主程序
ORG 001BH ;定时器T1中断入口
AJMP CONT ;指向中断服务程序
ORG 0100H
MAIN:MOV TMOD,#10H ;置T1为工作方式1 MOV TH1,#3CH ;置50ms定时初值
MOV TL1,#0B0H
SETB EA ;CPU开中断
SETB ET1 ;定时器T1开中断
SETB TR1 ;启动T1
CLR 08H ;清1s计满标志位
MOV R3,#14H ;置50ms循环初值
DISP:MOV R2,07H
MOV A,#0FEH
NEXT:MOV P1,A
JNB 08H,$ ;查询1s时间到否
CLR 08H ;清标志位
RL A
DJNZ R2,NEXT
MOV R2,#07H
NEXT1:MOV P1,A
JNB 08H,$
CLR 08H
RR A
DJNZ R2,NEXT1
SJMP DISP
CONT:MOV TH1,#3CH ;重置50ms定时初值MOV TL1,#0B0H
DJNZ R3,EXIT ;判1s定时到否
MOV R3,#14H ;重置50ms循环初值
SETB 08H ;标志位置1
EXIT:RETI
END。