《单片微机原理与接口技术》期终试题(A卷)正式答案

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档