单片机原理及应用模拟试题答案(B)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《单片机原理及应用》模拟试题答案(B)
一、单项选择题(每小题1分,共10分)
1. A
2. B
3. C
4. D
5. A
6. B
7.C
8.D
9.A 10.B
二、填空题(每小题2分,共10分)
1. 高0000H
2. 00H---07H 07H
3. 2 1
4. 2 1
5. 000BH 硬件
每空1分
三、阅读程序填空(每小题5分,共25分)
1.(P1)=9BH 5分
2.(A)=8BH(或10001011B) 3分
(C Y)=不影响2分
3.(R0)=7FH
(7EH)=00H
(7FH)=41H
答错1个扣1分,答错2个扣3分
4、一个机器周期为1μs 1分
执行程序所需时间T=1μs*(5×100+3)=503μs≈0.5ms 4分
5.(data)×10操作5分
四、简答题(每小题5分,共25分)
1.要点:
(1)说明P3口有第一功能和第二功能的使用。
(2)P3口的第二功能各位线的含义。
(3)使用时应先按需要选用第二功能信号,剩下的口线才作第一功能I/O线用。
(4)读引脚数据时,必需先给锁存器输出“1”。
少答1项扣1分
2.(1)8位专用寄存器。
(2)运算时存放一个操作数。
(3)运算后存放运算结果,所以称它为累加器。
少答1 项扣1分,少答2项扣3 分
3.(1)寄存器中存放的是操作数的地址,操作数是通过寄存器间接得到,这种寻址方式称
为寄存器间接寻址方式。
2分
(2)寻址范围:3分
①内部RAM低128单位,形式@Ri(i=0,1)。
②外部RAM64K使用DPTR作间址寄存器,形式为@DPTR。
4.中断入口地址为中断响应后PC的内容即中断服务的入口地址。
它们是:外部中断0 0003H 1分
定时器T0中断000BH 1分
外部中断1 0013H 1分
定时器T1中断001BH 1分
串行口中断0023H 1分
5.(1)传送按位顺序进行,速度慢。
(2)传输线少,成本低。
(3)传送距离远,可达几公尺到几千公里。
少答1 项扣1分,少答2项扣3 分
五、综合应用题(每小题10分,共30分)
1、解:两位压缩BCD码转换成二进制数的算法为:
(a1a 0)BCD=10×a1+a0
程序如下:
START: MOV A, 30H ; 取两位BCD压缩码a1a0送A
ANL A, #0F0H ; 取高4位BCD码a1
SWAP A ; 高4位与低4位换位
MOV B, #0AH ; 将二进制数10送入B
MUL AB ; 将10×a1送入A中
MOV R0, A ; 结果送入R0中保存
MOV A, 30H ; 再取两位BCD压缩码a1a0送A
ANL A, #0FH ; 取低4位BCD码a0
ADD A, R0 ; 求和10×a1+ a0
MOV 40H, A ; 结果送入40H保存
SJMP $ ; 程序执行完,“原地踏步”
END
程序编制基本正确时得满分,否则适当扣分。
2、每次传送数据的的过程相同,可以用循环程序实现。
30H~4FH共32
个单元,循环次数应为16次(保存在R2中),为了方便每次传送数据时
地址的修改,送片内RAM数据区首地址送R0,片外RAM数据区首地
址送DPTR。
程序如下:片外50H字节数据传送
MOV DPTR,#8000H
MOV R0,#10H
MOV R2,#50H
LOOP:MOVX A,@DPTR ;取数
MOVX @R0,A ;存数
1NC DPTR
1NC R0
DJNZ R2,LOOP
RE T
程序编制基本正确时得满分,否则适当扣分。
3、解:在无键按下的情况下,P1.0~P1.7线上输入均为高电平。
当有键按下
时,与被按键相连的I/O线将得到低电平输入,其他位按键的输入线上仍
维持高电平输入。
P1口8条I/O线经与非门74LS30实现逻辑与非后,再
经过1个非门74LS04进行信号变换,然后接至MCS-51的引
脚上,可通过中断的方式处理键盘。
在中断服务程序中,先延时20 ms
消除键抖动,再对各键进行查询,找到所按键,并转到相应的处理程序
中去。
主程序如下:
ORG 0000H
LJMP MAIN
ORG 0003H ; 外部中断0中断服务入口地址
LJMP INT ; 转中断服务
ORG 0100H
MAIN: SETB EA ; 开总中断允许
SETB EX0 ; 开INT0中断
SETB IT0 ; 下降沿有效
……
编制主程序基本正确时得3分。
中断服务程序清单如下:
INTI CALL D20 ;延时去抖动MOV P1, #0FFH ; P1口送全1值
MOV A, P1 ; 读P1口各引脚
CJNE A, #0FFH,CLOSE ; 验证是否确实有键闭合
AJMP INT0 ; 无键按下
CLOSE: JNB ACC.7, KEY 7 ; 查询7号键
JNB ACC.6, KEY 6 ; 查询6号键
JNB ACC.5, KEY5 ; 查询5号键
JNB ACC.4, KEY4 ; 查询4号键
JNB ACC.3, KEY 3 ; 查询3号键
JNB ACC.2, KEY 2 ; 查询2号键
JNB ACC.1, KEY 1 ; 查询1号键
JNB ACC.0,KEY 0 ; 查询0号键
INT0: R ETI
KEY 7: ……; 7号键处理程序
KEY 71: MOV A, P1 ; 再读P1口各引脚
JNB ACC.7, FUNC71 ; 确认键是否释放
RETI
KEY 6: ……; 其他键处理程序
……
D20: ……; 20ms延时子程序
……
END
程序编制基本正确时得7分。