《单片微机原理与接口技术》期终试题(A卷)正式答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机原理与接口技术 试题 班级 姓名 学号 第 1 页
2005 ~2006 学年 二 学期期末考试试题(A 卷)
一、 基本概念题(55分)
1.(4分 )(写出转换过程)
0E75H=(0000111001110101)B ; 1110011010B=( 922 )D 1001110001110.1011B=(138E.B )H ; 13FH=( 319 )D (1)0E75H = 0000 1110 0111 0101 B
(2)1110011010B =1×29+1×28+1×27+0×26+0×25+1×24+1×23+0×22+1×21
+0×20 = 922 D (3)1001110001110.1011B = 0001 0011 1000 1110. 1011B=138E.B H (4)13FH =1×162+3×161+15×160=319 D
2. (8分)写出下列程序段执行后,相关寄存器或存储单元的内容。 MOV R0,#30H MOV 30H ,#40H MOV A ,@R0 MOV 60H ,A
SJMP $
A= 40H ,R0=30H ,(30H )=40H ,(60H )=40H
3. (6分)若fosc=6MHz ,编写一个能延时200毫秒的子程序。
DELAY: MOV R7,#200 D1: MOV R6,#250 D2: DJNZ R6,D2 DJNZ R7,D1
RET
4.(15分)下列程序存放在64KB的EPROM中
ORG 0000H
0000H 020200H LJMP MAIN ;跳转到MAIN
ORG 0200H
0200H E530H MAIN: MOV A,30H ;将30H内容送A 0202H 30E706H JNB ACC.7,ABD ;ACC.7=0跳转ABD 0205H F4H CPL A ;A取反
0206H 04H INC A ;A加1
0207H F531H MOV 31H,A ;A送31H单元
0209H 8002H SJMP ABC ;跳转到ABC
020BH F532H ABD:MOV 32H,A ;A送32H单元
020DH 80FEH ABC:SJMP $ ;原地踏步无限循环
020FH
试分析该程序,并回答以下问题:
①手工汇编该程序(写出机器码),并写出每条指令的首地址(写在程序左边);见卷面。
②该程序段占用多少个存储单元;
答:15个存储单元。
③在CPU取回指令SJMP $,并执行该指令时PC值为多少,执行后PC为多少;
答:执行SJMP $指令时PC值为020FH,执行后PC值仍为020DH。
④分析该程序段,并在指令后作注释。
答:该程序段的主要功能是检测片内RAM30H单元的内容,若其最高位为“0”,则直接转存到片内RAM31H单元,否则将其内容取反再加“1”后送到片内RAM31H单元。实际上该程序段的功能是将RAM30H单元中的“补码”转换为“二进制数”的绝对值后存到RAM31H单元。5.(12分)T0用于定时,f OSC=12MHz,试为T0编写初始化程序,定时时间50ms。答:因为一个机器周期=12÷12 MHz =1μs
所以50ms内T0 需要计数的机器周期脉冲个数为N=50ms÷1μs=50000个
由此可知必须使用T0方式1的16位计数器才能满足要求
T0的初值设为X,则 X = M-N = 65536-50000 = 15536 =3CB0H = 0011110010110000B 故T0 的初值为: TH0 = 3C H, TL0 =B0H,TMOD初始化成:TMOD = 0001 0001B = 11H 还要开放中断,即初始化IE,使EA = 1;定时器T0 中断允许ET0 = 1。
要使T0启动工作,还必须初始化TCON,即使TR0 = 1;
初始化程序清单如下:
ORG 0000H ; 复位入口
AJMP START
ORG 000BH; T0中断入口
AJMP TOINT
ORG 0030H
START: MOV SP, #60H ; 主程序,初始化程序
MOV TH0, #3CH ; T0赋初值
MOV TL0, #0B0H
MOV TMOD, #11H; 赋T0方式字,令T0定时,工作于方式1 SETB TR0 ; 启动T0
SETB ET0 ; 开T0中断
SETB EA ; 开总允许中断
单片机原理与接口技术试题 班级 姓名 学号 第 2 页
6.(10分)分析下图2片6264(8KB )存储器芯片的地址范围。
效,P2.7 P2.6 P2.5=001时Y4有效,故6264(1)的地址范围为:
0010 0000 0000 0000~0011 1111 1111 1111=2000H~3FFFH
6264(2)的地址范围为:
1100 0000 0000 0000~1101 1111 1111 1111=C000H~DFFFH
二、 应用扩展题(45分)
1.(15分)根据下图所示电路编程(图中仅给出与编程有关的部分),采用定时器T0定时中断,使LED0~LED7间隔60毫秒逐个循环点亮。(设fosc=6MHz )
8031
P1.0
.
. P1.7 LED7
LED0
+5V
答:因为一个机器周期=12÷6 MHz =2μs
所以60ms内T0 需要计数的机器周期脉冲个数为N=60ms÷2μs=30000个
由此可知必须使用T0方式1的16位计数器才能满足要求
T0的初值设为X,则X = M-N = 65536-30000 = 35536 =8AD0H
故T0 的初值为: TH0 = 8A H, TL0 = D0H,TMOD初始化成:TMOD = 0001 0001B = 11H 还要开放中断,即初始化IE,使EA = 1;定时器T0 中断允许ET0 = 1。
要使T0启动工作,还必须初始化TCON,即使TR0 = 1;
初始化程序清单如下:
ORG 0000H ; 复位入口
AJMP START
ORG 000BH ; T0中断入口
AJMP TOINT
ORG 0030H
START: MOV P1, #0FFH ;先使所有LED熄灭
MOV SP, #60H ;主程序,初始化程序
MOV TH0, #8AH ;T0赋初值
MOV TL0, #D0H
MOV TMOD, #11H;赋T0方式字, 令T0定时,工作于方式1
SETB ET0 ;开T0中断
SETB EA ;开总允许中断
SETB TR0 ;启动T0
MOV P1, #0FE H ;使第一个LED亮
MAIN: AJMP MAIN
TOINT: CRL A
MOV P1, A
MOV TH0, #8AH ; 再赋T0初值
MOV TL0, #D0H
RETI
END
2.(15分)解释下面一段程序,并回答串行口工作于什么方式下,波特率为多少,(数据块存放于50H—5FH中)。
TRT:MOV SCON,#80H ; 设置串口为方式2即9位UART