西南科技大学单片机原理与应用期末试题A
————————————————————————————————作者:————————————————————————————————日期:
2
西南科技大学2007——2008学年第2 学期《单片机原理及应用B 》期末考试试卷( A卷)
课程代码 2 2 3 1 4 1 1 2 0 命题单位信息学院:自动化教研室
学院:_______________班级:_____________姓名:_______________学号:____________
一、填空题:(15分,每空1分)
1、在MCS-51单片机的引脚信号中,ALE 用于在访问外部存储器时锁存
16地址的低8位;EA用于选择片内或片外存储器,PSEN用于控制(读)
外部程序存储器。
2、若要使工作寄存器R3映射在片内RAM中的0BH单元,此时PSW寄存器
中的RS0= 1 ,RS1= (0)。
3、MCS-51单片机复位后执行的第1条指令的地址为 0000H ,外部中断0
的入口地址为 0003H 。
4、MCS-51单片机对SFR(特殊功能寄存器)的访问只能使用直接)寻址
方式,对地址为80H~0FFH的片内数据存储器的访问只能使用(寄存
器间接)寻址方式(52子系列),对外部数据存储器的访问只能使用
MOVX 指令。
5、定义字节常数的伪指令是 DB , END伪指令以后的所有指令都不会被
汇编。
6、普通按键在按下和释放的瞬间会产生抖动,因此在设计系统时要考虑
此因数并设法消除其影响。
7、单片机与A/D转换器的接口方式有并行和串行两种方式。
二、判断题:(20分,每小题2分)
1、由于MCS-51具备片内振荡器,所以不能接入外部振荡信号。
X
2、MCS-51单片机串行口工作于同步方式时,波特率由定时器T1的溢出
率决定。
x
3、MCS-51单片机具备5个中断优先级,同级中断不能嵌套。
x
3 / 7
4、MCS-51单片机通过标志位F0实现对运算结果为全0的判断。
x
5、MCS-51单片机所有SFR中的位都可以使用位寻址进行访问。
x
6、MCS-51单片机P3口的每个引脚都具备第二功能。
T
7、MCS-51单片机的中断入口是固定的。
T
8、MCS-51单片机的定时/计数器除工作于16位计数方式外,还可工作于
13位计数方式和8位计数方式。
T
9、MCS-51单片机所有并行接口在复位后的初始态全为 1 。
T
10、MCS-51单片机用位寻址可访问所有位地址空间的所有位。
T
三、简答题:(20分)
1、简述MCS-51单片机的主要功能。
(5分)
答:8位CPU、片内带振荡器(1分)、128字节的片内数据存储器、4KB 的片内程序存储器(8031无)、外部的数据存储器和程序存储器的寻址范围为64KB(1分)、21个专用寄存器、4个8位并行I/O接口、1个全双工的串行口(1分)、2个16位的定时器/计数器、5个中断源、2个中断优先级(1分)、111条指令、具有位寻址功能、片内采用单总线结构(1分)。
简述MCS-51单片机的振荡周期、状态周期、机器周期。
(5分)
振荡周期:振荡脉冲周期(1分)。
状态周期:两个振荡周期为一个状态周期,也称时钟周期,用S表示(1分)。
两个振荡周期作为两个节拍分别被称为节拍P1和节拍P2(1分)。
机器周期:一个机器周期包含6个状态周期,用S1,S2,…,S6表示(1分),它是指令执行时间的单位(1分)。
2、简述MCS-51单片机堆栈的特点。
(5分)
存在于地址为00~7FH(1分)的片内数据存储器中(1分),SP的值为栈顶地址(1分),入栈后,SP值增加,反之,SP值减少(1分),除PC值外,其余每次入/出栈的数据类型均为字节(1分)。
4 / 7
3、简述MCS-51单片机数据存储器的编址。
(5分)
共分为片内、片外两个独立的地址空间(1分),前者地址范围为00~0FFH,后者地址范围为0000~0FFFFH(1分)。
片内数据存储器又分为RAM和SFR 两块(1分),RAM块地址是00~07FH(51子系列)或是00~0FFH(52子系列)(1分),SFR块地址是80H~0FFH(1分)。
四、编程题:(20分)
1、编写一个将两个无符号(字)二进制数求和的子程序。
设加数与被加
数的首地址分别放在R0和R1中(数的低字节放在首地址单元,高字
节放在相邻的下一个单元),和放在R6(低)和R7(高)中。
(5分)1、FUN1: MOV A, @R0
ADD A, @R1
MOV R6, A (1分)
INC R0 (1分)
INC R1 (1分)
MOV A, @R0
ADC A, @R1
MOV R7, A (1分)
RET (1分)
2、编写一个用查表的方法求整数(0~9)平方的子程序。
设数放在R6
中,结果(组合BCD数)放在R7中。
(5分)
FUN2: MOV A, R6 (1分)
MOV DPTR, #QTAB
MOVC A, @A+DPTR (1分)
MOV R7, A (1分)
RET (1分)
5 / 7
QTAB: DB 00H, 01H, 04H, 09H
DB 16H, 25H, 36H, 49H
DB 64H, 81H (1分)
3、编写一个将数据区内的无符号数(字节型)按从大到小排序的子程序。
设数据区首地址放在R0中,数据区大小放在R2中。
(10分)
LOOP2: DJNZ R2, B1 (1分)
RET (1分)
B1: MOV A, @R0
MOV R1, R0
INC R1 (1分)
MOV R3, R2 (1分)
LOOP1: CJNE A, @R1, A1
A1: JNC A2 (2分)
XCH A, @R1
MOV @R0, A (2分)
A2: INC R1
DJNZ R3, LOOP1 (1分)
INC R0
SJMP LOOP2 (1分)
4、
五、设计题:(25分)
1、利用MCS-51单片机P1端口实现与4 4键盘的人机接口。
要求给出硬
件电路图和键盘扫描程序的流程图,并说明分析过程。
(10分)
1、
因端口内部有上拉电阻所以可不在键盘行或列上加电阻(2分);
为克服键抖动,因此采用软件延时(10ms)(2分);
6 / 7
逐行/列扫描法或行列反转法(2分);
硬件图(2分);
流程图(2分)。
2、使用定时器和中断实现在P1.0引脚输出1KHz的方波,设时钟频率为
12MHz。
要求回答分析过程,并写出程序。
(15分)
ORG 0000H
LJMP START
ORG 000BH
LJMP Timer0Interrupt
START:
MOV SP,#60H
MOV TMOD,#02H
MOV TH0,#00H
MOV TL0,#0CEH
SETB EA
SETB ET0
SETB TR0
SJMP $
Timer0Interrupt:
MOV TH0,#00H
MOV TL0,#0CEH
CPL P1.0
RETI
END
7 / 7。