西北师大单片机试卷及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2008 --2009学年度第1学期单片机原理与接口技术期末考试试题答案(A)
一、单项选择题(共10分,每题1分)
1、MCS-51的片内RAM空间为是(A)
A)256B B)128B C)64KB D)32B
2、下面哪一个寄存器不具备位寻址能力( B )
A)ACC B)TMOD
C)P0D)PSW
3、执行PUSH ACC指令,89C51完成的操作是(A)
A) SP+1→SP , (ACC)→(SP)
B) (ACC)→(SP), SP-1→SP
C) SP-1→SP, (ACC)→(SP)
D) (ACC)→(SP), SP+1→SP
4、寄存器间接寻址方式可用于( B )
A) 只能用于ROM访问
B) 只能用于RAM访问
C) 只能用于内部RAM访问
D) 即可用于ROM访问,也可用于RAM访问
5、变址寻址方式可用于(A)
A) 只能用于ROM访问
B) 只能用于RAM访问
C) 只能用于内部RAM访问
D) 即可用于ROM访问,也可用于RAM访问
6、下列关于时序定时单位叙述正确的是( B )
A)机器周期为晶振周期的6倍
B)一个状态包括两个节拍
C)指令周期是固定不变的
D)一个状态由四个晶振周期组成
7、外部中断1对应的终端入口地址为(C )
A)0003 H B)000B H C)0013 H D)001B H
8、下面哪条指令产生WR信号( D )
A) MOVX A,@DPTR B) MOVC A,@a+PC
C) MOVC A,@A+DPTR D) MOVX @DPTR,A
9、89C51的中断源全部编为同级时,优先级最高的是( C )
A) 1
INT D)串行接口
INT B) TI C) 0
10、系统复位后89C51程序指针SP的内容是(B )
A) 00H B) 07H C) 08H D) 06H
二、填空题(共13分,每空0.5分)
1、当89C51单片机只访问片外EPROM/ROM并执行程序存储器中的指令时,其芯片引脚
EA应接低电平。
2、(2.5分)MOV R0, #20H
MOV R1,#2AH
MOV R7,#03H
CLR C
LOOP: MOV A, @R0
ADDC A, @R1
MOV @R0, A
INC R0
INC R1
JNZ R7, LOOP
CLA A
ADDC A, #0H
MOV @R0, A
阅读上面程序,描述程序所完成的任务将单元存储区20H~22H与单元存储区2AH~
2BH内容相加,并将进位存入23H单元中。
3、MCS-51进栈操作过程堆栈指针SP首先加一,数据压入栈顶;出栈操作过程数据首
先退出栈顶,堆栈指针SP减一。
4、89C51有 5 个中断源,分 2 个中断优先级。
5、假定(A)=85H,(R0)=20H,(20H)=0AFH。
执行指令
ADD A,@RO
后,累加器A的内容为34H ,CY的内容为 1 ,AC的内容为 1 。
6、89C51单片机串行口具有 4 种工作方式,在特殊功能寄存器SCON中发送中断标
志为 TI ,接收中断标志为 RI 。
7、89C51单片机有 2 个16位定时器/计数器,具有 4 种工作模式,可形成13 位、
16 位、8 位的定时器/计数器。
8、ALE主要用来锁存低位地址,它是晶振周期的 6 分频。
9、在变址寻址方式中,以累加器A作变址寄存器,以DPTR 或PC 做基地址寄
存器。
10、专用寄存器寻址的唯一方法是直接寻址。
三、简述题(共20分,每题5分)
1、什么是波特率?假设数据传送速率是120字符/s,每个字符包含10个代码位,则传送的波
特率为多少?
答:波特率即为数据传送速率,表示每秒钟传送的二进制代码的位数。
波特率为10b/字符× 120字符/s = 1200b/s
2、请叙述定时器T0在模式2的工作过程。
答:模式2把TL0配置成一个可以自动重装载的8位定时器。
TL0计数溢出时,不仅使溢出中断标志位TF0置1,而且还自动把TH0中的内容重新装载到TL0中。
这里,16位计数器被拆成二个,TL0用作8位计数器,TH0用以保存初值。
3、使用8031、2716(16K位ROM)对单片机程序存储器进行扩展,请画出示意图。
4、MCS-51如何处理下述中断情况:
a)已响应低优先级中断,此时有高优先级中断申请;
b)已响应某一中断,此时有同优先级的中断出现;
c)同级的多个中断同时出现;
答:a)响应高优先级中断,形成中断嵌套。
b)屏蔽同级中断。
c)CPU按查询顺序确定要响应的中断请求。
查询次序:外部中断0——定时中断0—
—外部中断1——定时中断1——串行中断
四、编程题(共32分)
1、(10分) 试编写程序,查找在内部RAM的20H-50H单元中是否有0AAH这一数据。
若有,
则将51H单元置为01H;若未找到,则将51H单元置为00H。
解:
MOV R2,31H
MOV R0,#20H
LOOP: MOV A,@R0
CLR C
SUBB A,#0AAH
JZ L1
INC R0
DJNZ R2,LOOP
MOV 51H,#00H
L1: MOV 51H,#01H
RET
2、(7分) 在ROM中建立一个10以内的数的平方表,根据R0中的数查出其平方值,并将
结果存到片内RAM 30H单元,若表超出范围则将FFH装入A。
解:MOV R0,direct
MOV A,R0
ANL A,#11000011B
MOV R1,A
MOV A,R0
CPL A
ANL A,#3CH
ORL A,R1
MOV direct ,A
3、(5分)有温度控制系统,采集的温度放在累加器A中,内部RAM 54H中存放着温度下
限值,内部RAM 55H中存放着温度上限值。
如果温度超过上限值则跳转到降温程序JW,如果温度低于下限值则跳转到升温程序SW。
编出主要的控制程序
解:CJNE A,55H,LOOP1
AJMP FH
LOOP1: JNC JW
CJNE A,54H,LOOP2
AJMP FH
LOOP2: JC SW
FH: RET
4、(10分)如下图,CD4094为串入并出的移位寄存器,编写程序把下列8支共阴发光二极
管从左向右依次点亮,并反复循环。
解:MOV SCON, #00H
CLR ES
MOV A, #80H
DELR: CLR P1.0
MOV SBUF, A
JNB TI, $
SETB P1.0
NOP
NOP
NOP
CLR TI
RR A
AJMP DELR
五、综合应用(25分)
1、(15分)如图所示,将P1口的P1.4~P1.7作为输入位, P1.0~P1.3作为输出位。
要求利
用89C51将开关所设的数据读入单片机内,并依次通过P1.0~P1.3输出,驱动发光二极管,以检查P1.4~P1.7输入的电平情况(若输入为高电平则相应的LED亮)。
现要求采用中断边沿触发方式,每中断一次,完成一次读/写操作。
解:如图所示,采用外部中断0,中断申请从输入,并采用了去抖动电路。
当P1.0~P1.3的任何一位输出1时,相应的发光二极管就会发光。
当开关S1闭合时,发出中断请求。
中断服务程序的矢量地址为0003H。
源程序如下:
ORG 0000H
AJMP MAIN ;上电,转向主程序
ORG 0003H ;外部中断0入口地址
AJMP INSER ;转向中断服务程序
ORG 0030H ;主程序
MAIN: SETB EX0 ;允许外部中断0中断
SETB IT0 ;选择边沿触发方式
SETB EA ;CPU开中断
HERE: SJMP HERE ;等待中断
ORG 0200H ;中断服务程序
INSER:MOV A,#0F0H
MOV P1,A ;设P1.4~P1.7为输入
MOV A,P1 ;取开关数
SWAP A ;A的高、低四位互换
MOV P1,A ;输出驱动LED发光
RETI ;中断返回
END
1、(10分)若晶振频率为11.0592M,以8031串行口按工作方式3进行串行通信,波特率为
1200bps,第9位作奇校验位,以中断方式发送外部RAM4000H~401FH中的数据。
编写发送程序。
SCON
波特率与其他参数选取关系
解:查表知,定时器1工作在模式2时定时初值为E8H 。
;发送主程序 ORG 0023H AJMP TRINT ORG 0030H MOV TMOD, 20H MOV TL1, #0E8H MOV TH1, #0E8H SETB EA SETB ES MOV PCON,#0H MOV SCON, #70H SETB
TR1
MOV DPTR, #4000H MOV R7, #20H
MOVX A, @DPTR MOV TB8, P MOV SBUF ,A DEC R7 INC DPTR AJMP $
定时器T1
SMOD 串行口工作方式
波特率/(bps) f osc /MHz C/T 模式 方式0 方式2
1M 12 × × × × 375k 187.5k 12 12 1 0 × × × × × × 方式1和方式3
62.5k 19.2k 9.6k 4.8k
2.4k 1.2k 137.5 110
12 11.0592 11.0592 11.0592 11.0592 11.0592 11.0592 12
1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0
2 2 2 2 2 2 2 1
FFH FDH FDH FAH F4H E8H 1DH FEEBH
定时器初值
;中断服务程序
ORG 8100H
CLR TI
MOVX A, @DPTR
MOV TB8, P
MOV SBUF , A
INC DPTR
DJNZ R7, SEND1
CLR ES
CLR TR1 SEND1: RETI
END。