试卷及答案A卷121126
- 格式:doc
- 大小:249.50 KB
- 文档页数:4
东莞理工学院本科试卷(A 卷)
2012—2013 学年 第 1 学期
《微机原理与单片机技术》试卷及评分标准
(共10分 每空1分)
89C51中可以用作间接寻址的寄存器有工作寄存器R0和R1,以及数据指针DPTR 。
已知10000100是一个补码,则其真值为-7C H ,若为BCD 码,则其真值为84D 。
单片机的堆栈区只可设置在 片内RAM 区 ,堆栈指针SP 始终指向栈顶位置。
当RS1RS0=11时,当前工作寄存器组是第3组,对应R1的地址为19H 。
51单片机系统读外部ROM 由/PSEN 选通,在外部ROM 中取数只能采用变址寻址。
(共10分 每题2分)(正确的打√,错误的打×)
8051单片机在系统复位时各P 口锁存器写1,允许中断嵌套,串行波特率不加倍。
I 2C 总线是通过软件寻址来选通扩展器件,即在SDA 传送寻址指令来实现片选。
rel 发生跳转时,目标地址为当前地址加上偏移量rel ,其中rel 是8位补码。
51单片机当PC ﹥0FFFH 时,不管引脚/EA 状态如何,系统都是在外部ROM 中寻址 。
在 51单片机系统中断优先级均相同时,中断响应时间不超过8个机器周期,中断返回后,1条指令后才能相应新的中断。
1( × ) 2( √ ) 3( × ) 4( √ ) 5( √ ) (共10分 每题2分)
MOV A,P1和ORL A,P1指令,源操作数P1分别来自其( )和( )。
A.引脚,锁存器 B.锁存器,引脚 C. 引脚,引脚 D. 锁存器,锁存器 单片机在访问外部数据存储器时,DPL 从( )输出,且由( )下降沿
,/PSEN B. P2,ALE C. P0,ALE D. P0,/RD 51单片机串行口当SMOD=1时,方式0、2的波特率分别是 。
(f 为系统晶振频率)
,可设置 B. f/12,f/64 C. f/32,可设置 D. f/12 ,f/32 ;2个机器周期 DEL3: PUSH 02H ; 2个机器周期 DEL4: DJNZ R2,DEL4 ; 2个机器周期 POP 02H ; 2个机器周期 DJNZ R2,DEL3 ; 2个机器周期 RET ; 1个机器周期 KK 子程序执行共需21个机器周期。
A. 21
B.23
C. 13
D. 19
5. 80C51定时/计数器1的中断入口地址为,中断地址入口为0023H的中断源是。
A. 001BH, 串行通信口
B. 0013H ,外部中断0
C. 001BH, 外部中断1
D. 000BH, 串行通信口
答: 1(A) 2(C ) 3(D ) 4(A) 5(A)
四、程序阅读,填空回答程序用到的单片机资源及实现的功能。
(共15分)
1. DSJU: MOV TMOD,#60h
MOV TH1,#0FEH
MOV TL1,#0FEH
SETB TR1
DEL: JBC TF1 ,REP
AJMP DEL
REP: CPL P1.0
AJMP DEL (8分)
填空:用定时计数器1,方式2,采用查询方式判别溢出,TF1由软件复位(4分),实现的功能是对外部脉冲的计数,当计满2个脉冲就将P1.0输出信号取反1次。
(4分)。
2. SE02:MOV DPTR,#2000H
MOVX A,@DPTR
MOV B,A
SWAP A
ANL A,#0FH
INC DPTR
MOVX @DPTR,A
INC DPTR
MOV A,B
ANL A,#0FH
MOVX @DPTR,A
LOOP: SJMP LOOP (7分)
答:把2000H的内容拆开(2分),高4位送2001H低4位(2分),低4位送2002H低4位(2分),2001H、2002H高4位清零(1分)。
五、接口技术综合题(共40分,每题20分)
1.ADC0809接口如下,填空回答问题。
(1)当系统晶振为12MHz,则ADC的时
钟信号大约为()。
(2分)
(2)设计P2.0=1实现ADC0809的线选,
中断方式读数,在原图中完成下图的接
口连接?设无关位为0,说明ADC0809
的IN5模拟量端口的地址为
()。
(8分)
(3)对下采集程序填空,完成让8个模
拟量的A/D转换结果保存在片内地址
20H开始的8个连续数据区域中,且每次采集覆盖原来的值,(10分)
答:(1)500kHz(2分)
(2)图(6分)0105H(2分)
(3)
ORG 0000H
AJMP MAIN_START
ORG 0013H
AJMP
INT_EX0_HANDLE
ORG 0100H
;ADC0809中断处理子
程序
INT_EX 0_HANDLE:
MOVX A,@DPTR
;读取ADC0809的转换结果
MOV @R0,A ;保存数据
INC R0 ;数据指针指向下一个位置
INC DPTR ;指向下一个模拟量
DJNZ R1,READ ;判断转换次数
MOV DPTR,#0100H ;重现开始新一轮A/D转换
MOV R0,#20H
MOV R1,#08H
READ:
MOVX @DPTR,A ;一次A/D结束,重新启动ADC0809
RETI
ORG 0200H
MAIN_START:
MOV R0,#20H ;设置数据保存指针
MOV R1,#08H ;设计数据个数
MOV DPTR,#0100H;设置ADC0809的最低地址
SETB IT1 ;设置外部中断为下降沿触发
SETB EX1 ;开外部中断0
SETB EA ;开全局中断
MOVX @DPTR,A ;启动ADC0809进行A/D转换
SJMP $
END (每空2分)
2.显示接口电路如下(20分)
(1)填空:下图为共阴极8位动态
显示电路,74377提供给数码管字段码,
同时也作为数码管的驱动。
数码管的字
位线则由译码器74138的输出端提供。
若a—dp依次接Q0—Q7,则显示“H.”
的字段码为B3H。
(10分)
(2)试编制完成8位LED循环1
次显示的子程序,已知显示字段码存在
以内部RAM 30H(低位)-37H的片内
RAM中,设DALAY2ms为已知的延时子程序(10分)。
答: MOV DPTR,#7FFFH ;置74377口地址(1分)
DLP1: ANL P1,#11111000B ;第0位先显示
MOV R0,#30H ;置显示字段码首地址(2分)
DLP2: MOV A,@R0 ;读显示字段码
MOVX @DPTR,A ;输出显示字段码
LCALL DALAY2ms ;调用2ms延时子程序
INC R0 ;指向下一位字段码
INC P1 ;选通下一位显示
CJNE R0,#38H,DLP2 ;判8位扫描显示完否?未完继续(6分)
RET ;子程序返回(1分)
六.回答题(15分)
1.试述51单片机串行口方式1的接收过程(含RI、SM2不同情况下数据的装载情况)。
(10分)
答:接收过程是在RI=0且REN=1条件下启动,当接收电路采样到输入信号从1到0的负跳变时,确认是开始位0,就启动接收控制器接收数据,控制器发出内部移位脉冲将RxD 上的数据逐位移入移位寄存器,当8位数据及停止位全部移入后,再进行操作。
(5分)
1.若RI=0、SM2=0,将8位数据装入接收数据缓冲器SBUF,停止位装入RB8,并置RI=l;(2分)
2.若RI=0、SM2=1,则只有在停止位为1时才发生上述操作;若停止位为0,则所接收的数据不装入SBUF,即数据丢失;(2分)
3.若RI=1,则所接收的数据在任何情况下都不装入SBUF,即数据丢失。
(1分)
2.51单片机内部定时计数器在作计数器使用时,需要读取计数结果,若先读高8位,后读低8位直接作为计数结果可能会出现什么问题?该如何处理?(5分)
答:可能由于两次读取过程中发生进位而造成读数误差巨大(2分)。
解决办法是:先读高8位,再读低8位,再读高8位,比较两次读取的高8位值是否一致,一致则正确;不一致则错误,然后重读。
(3分)。