一、简答题(5*13=65):
1.MCS-51系列单片机的基本型芯片分别为哪几种?它们的差别是什么?
答:三种,主要差别在于片内是否带有程序存储器。8031片内不带有程序存储器,8051片内带有4K ROM,8751片内带有4K EOROM程序存储器。
2.MCS-51单片机的片内都集成了哪些功能部件?
答:CPU、数据存储器(RAM)、定时计数器、串行口、中断系统、特殊功能寄存器(SFR)、4个并行I/O口(P0~P3)、有的型号还有程序存储器(ROM)。
3. 说明MCS-51单片机的引脚的作用, 该引脚接高电平和接低电平时各有何种功能?
答:接高电平时单片机访问内部程序存储器,当PC值超过(0FFFH)时,将自动转向执行外部程序存储器, 接低电平时直接访问外部程序存储器。
4.MCS-51的时钟振荡周期和机器周期之间有何关系?
答:1个机器周期等于12个时钟振荡周期
5. 内部RAM中,哪些单元可作为工作寄存器区,哪些单元可以进行位寻址?写出它们的字节地址。
答:字节地址为00H-1FH的单元可以作为工作寄存器区;字节地址为20H-2FH的单元可以进行位寻址;
6.MCS-51共有哪几种寻址方式?各有什么特点?
答:共有7种寻址方式,分别是直接寻址、寄存器寻址、寄存器间接寻址、立即寻址、基址加变址、位寻址、相对寻址。
7.访问SFR,可使用哪些寻址方式?
答:直接寻址方式是访问特殊功能寄存器的唯一寻址方式。
8.下列程序段的功能是什么?
PUSH Acc
PUSH B
POP Acc
POP B
答:A和B内容互换
9.写出完成如下要求的指令,但是不能改变未涉及位的内容。
(A)把ACC.3, ACC.4,ACC.5和 ACC.6清“0”。
(B)把累加器A的中间4位清“0”。
(C)使ACC.2和 ACC.3置“1”。
答:(A)ANL A,#87H;(B)ANL A,#C3H;(C)ORL A,#0CH。
10. 若SP=60H,标号LABEL所在的地址为3456H。LCALL指令的地址为2000H,执行如下指令:2000H LCALL LABEL后,堆栈指针SP和堆栈内容发生了什么变化?PC的值等于什么?如果将指令LCALL直接换成ACALL是否可以?如果换成ACALL指令,可调用的地址范围是什么?
答:这时SP的内容为62H,03H压入到61H中,20H压入到62H中;PC的值为3456H;不可以将指令LCALL直接换成ACALL,因为他们的3456H与2003H的高5位不同,如果换成ACALL指令,可调用的地址范围是2000H-27FFH。
11.如果采用的晶振的频率为3MHz,定时器/计数器工作在方式0、1、2下,其最大的定时时间各为多少?
答:方式0下,其最大的定时时间为32.768ms;方式1下,其最大的定时时间为262.144ms;方式2下,其最大的定时时间为1.024ms;
12.假定串行口串行发送的字符格式为1个起始位,8个数据位,1个奇校验位,1个停止位,请画出传送“55H”的帧格式。
答:从左向右:0,1,0,1,0,1,0,1,0,0,1
13.MCS-51单片机响应外部中断的典型时间是多少?在哪些情况下,CPU将推迟对外部中断请求的响应?
答:响应外部中断的典型时间是3-8个机器周期,当遇到下列三种情况之一时,CPU将推迟对外部中断请求的响应:(1)CPU正在处理同级的或更高优先级的中断;(2)所查询的机器周期不是所当前正在执行指令的最后一个机器周期;(3)正在执行的指令是RETI或是访问IE或IP的指令。
二、计算题(10分)
试述串行通讯中“波特率”的概念,并以外接晶振fosc=6MHz为例,计算波特率为2400时定时器T1(工作于方式2)的初值,(PCON.7=0)。
答:波特率:串行口每秒钟发送或接收数据的位数TH1=TL1=FAH
三、软件编程(10分)
针对原理图编制程序,要求将L1~L8八个发光二极管循环点亮。
答:Org 0000h
Ljmp start
Org 0030h
Start: mov a,#0feH
Mov p1,#0ffh
Loop:Lcall delay
Mov p1,a
RL a
Ljmp loop
Delay: MOV R7,#200
DEL1: MOV R6,#125
DEL2: DJNZ R6,DEL2
DJNZ R7,DEL1
RET
END
四、综合设计(15分)
实现8031外扩ADC0809(单片机外接晶振6MHz),并编制程序实现对8路模拟信号的采样,采样的数据存储到RAM区30H~37H中。
答:
ORG 0000H
MAIN: MOV R1,#30H ;置数据存储区首地址
MOV DPTR,#7FF8H ;指向ADC0809的0通道
MOV R7,#08H ;置通道数
LOOP: MOVX @DPTR,A ;启动转换
ACALL DELAY_130us ;等待130us
MOVX A,@DPTR ;读取转换结果
MOV @R1,A ;保存转换结果
INC DPTR ;指向下一个转换通道
INC R1 ;指向下一个存储空间
DJNZ R7,LOOP ;判断8个通道采样是否完成?
END