《单片机技术》期末考试试题(A卷)参
适用于2004级 电子工程系各 班
考生注意:
题 号 | 一 | 二 | 三 | 四 | 五 | 六 | 七 | 八 | 总 分 |
评 分 | |||||||||
评卷人 |
姓名要准确、
工整地填写
在相应的
框格内。
一、填空题(每空1分,共20分)
1、指令格式是由 操作码 和 操作数 部分组成。
2、C51单片机接片外存储器芯片时,4个I/O口P1~P3中用作数据总线的是 P0 。
3、程序状态字寄存器PSW中 RS1(PSW.4) 、 RS0(PSW.3) 两位是工作寄存器的选择控制位, OV(PSW.2) 是溢出标志位。
4、51系列单片机中,内RAM中有一个位寻址区,其范围是 20H ~
2FH 。
5、堆栈应遵循 先进后出(后进先出) 规律,堆栈指针的符号为 SP 。
6、指令AJMP的跳转范围是 2KB(211B) 。
7、指令MOV A,#30H是属于 立即数 寻址方式,指令MOV A,30H是属于
直接 寻址方式,MOVC A,@A+DPTR是 寄存器变址 寻址方式。
8、定时/记数器的工作方式由寄存器 TMOD 决定,中断请求标志由寄存器 TCON 控制。
9、外部中断0的中断入口地址为 0003H ,定时/记数器T1的中断入口地址为 001BH 。
10、串行口工作方式2为 9 位异步通信,若SMOD=0,f OSC = 6 MHZ ,则其相应波特率为 6×106/ b/s。
装
订
线
班 别
学 号
姓 名
装订线内
不要答题
二、根据各题要求写出指令(每题4分,共20分)
1、将地址单元20H与30H中的内容相减,结果存在40H 中。
CLR C
MOV A,20H
SUBB A,30H
MOV 40H,A
2、将片内RAM单元20H的内容送给片外3001H单元。
MOV DPTR,#3001H
MOV A,20H
MOVX @DPTR,A
3、将40H单元中的内容与数据4FH相比较,相等返回,不相等将40H单元置FFH返回。
MOV A,40H
CJNE A,# 4FH,BD
RET
BD:MOV 40H,#0FFH
RET
4、将20H单元中内容的第7位取反后送给F0。
MOV A,20H
CPL ACC.7
MOV C,ACC.7
MOV F0,C
5、将单元30H的高4位与31H单元的低4位组合放在32H单元里。
ANL 30H,#0F0H
MOV A,30H
ANL 31H,#0FH
ADD A,31H
MOV 32H,A
第 页(共 页)
三、读程序,写结果。(每空1分,共15分)
1、设(70H)=60H,(60H)=20H,P1口为输入口,当前的输入状态为B7H,执行下面的程序:
MOV R0,#70H
MOV A,@R0
MOV R1,A
MOV B,@R1
MOV @R0,P1
执行后结果:(70H)= B7H ,(B)= 20H ,(R1)= 60H ,
(R0)= 70H 。
2、已知(A)=58H,(30H)=7FH,(P1)=EAH,执行下列程序:
MOV SP,#40H
PUSH A
PUSH 30H
MOV A,P1
MOV 30H,A
POP 30H
POP A
执行后结果:(SP)= 40H ,(A)= 58H ,(30H)= 7FH ,(41H)= 58H 。
3、已知(30H)=49H,(31H)=2BH,(32H)=0A3H,执行以下程序:
MOV R7,# 4
RR0: MOV R6,# 3
CLR C
MOV R0,# 30H
RR1: MOV A,@R0
RRC A
MOV @R0,A
INC R0
DJNZ R6,RR1
DJNZ R7,RR0
RET
从该程序可看出这段程序的功能是: 将内RAM中30H~32H的内容
右移4位,空位补0 。(4分)
执行后结果:(30H)= 04H ,(31H)= 92H ,(32H)= BAH 。
装
学 号
订
姓 名
线
装订线内
不要答题
四、根据各题要求编写程序。(共45分)
1、按要求根据注释将下列程序补充完整:将内RAM的30H~3FH 16个单元中的数据比较大小,最大的数据存在40H单元内。(每空1.5分,共9分)
MOV 40H,30H ;将初始单元送40H单元
MOV R0,#31H
MOV R7,#15 ;设置循环次数
LOOP: CLR C ;进位标志清0
MOV A,40H ;最大数给A
SUBB A,@R0 ;最大数与R0间接地址区相减
JNC DY ;A大于((R0))跳到DY
MOV A,40H ;小于则交换
XCH A,@R0
MOV 40H,A
DY: INC R0 ;数据区指向下一单元
DJNZ R7,LOOP ;循环是否结束?未结束跳到LOOP
RET
2、要求以方式2从串行口上发送片内RAM中从50H开始的16个单元的内容。奇偶校验位P作为第8位输出,设fOSC=11.0592MHz,波特率为fOSC/32。 (15分)
答: MOV SCON,#80H
MOV PCON,#80H
MOV R0,#50H
MOV R7,#16
LOOP:MOV A,@R0
MOV C,P
MOV TB8,C
MOV SBUF,A
JNB TI,$
CLR TI
INC R0
DJNZ R7,LOOP
END
3、ATC51单片机P1端口上接有8只发光二极管(高电平亮,低电平灭),若晶振为12MHz,用定时/计数器T0以工作方式1工作,使8只发光二极管每1S单灯循环点亮。要求:
(1)计算定时初值,写出过程(4分)
(2)编写程序(12分),适当标出相应注释(5分)
第 页(共 页)
3、ATC51单片机P1端口上接有8只发光二极管(高电平亮,低电平灭),若晶振为12MHz,用定时/计数器T0以工作方式1工作,使8只发光二极管每1S单灯循环点亮。要求:
(1)计算定时初值,写出过程(4分)
(2)编写程序(12分),适当标出相应注释(5分)
答:(1)定时初值:
(216-X)×1μS = 50mS
X=216-50000
=15536
(2) MOV TMOD,#01H ;设T0工作方式
MOV DPTR,#15536 ;置定时初值50mS
MOV TH0,DPH
MOV TL0,DPL
MOV A,#01H ;置A初值
SETB TR0 ;允许定时
LOOP:MOV R7,#20 ;设定时次数
MOV P1,A ;从P1口输出
LOOP1: JNB TF0,$ ;判断定时50mS到没
CLR TF0 ;定时时间到,TF0清0
MOV TH0,DPH ;重新置定时初值50mS
MOV TL0,DPL
DJNZ R7,LOOP1 ;判断定时次数到没
RL A ;输出左移
SJMP LOOP ;继续循环输出
END
第 页(共 页)