第一章 习题
1.1
什么叫单片机?
1.2
单片机主要应用于哪些领域?
1.3
单片机由哪些基本部件组成?
1.4
一个字节的十六进制数最大值相当于多大的十进制数,两个字节的十六进制数最大值相当于多大的十进制数。
1.5
存储器的容量如下所示,若它的首地址为0000H,写出它的末地址。
存储器容量
首地址 末地址
1KB
0000H
2KB
0000H
4KB
0000H
第二章 习题
2.1 8051单片机有多少个特殊功能寄存器?它们可以分为几组,各完成什么主要功能?
2.2 决定程序执行顺序的寄存器是哪个?它是几位寄存器?它是不是特殊功能寄存器?
2.3 DPRT是什么寄存器?它的作用是什么?它由哪几个特殊功能寄存器组成?
2.4 MCS-51引脚中有多少I/O线?它们和单片机对外的地址总线和数据总线有什么关系?地址总线和数据总线各是几位?
2.5 什么叫堆栈?堆栈指针寄存器SP的作用是什么?8051单片机堆栈的最大容量不能超过多少字节?
2.6 8051单片机的内部数据存贮器可以分为几个不同区域?各有什么特点?
2.7 MCS-51单片机的寻址范围是多少?8051单片机可以配置的存贮器最多容量是多少?而用户可以使用的最大容量又是多少(包括程序存贮器和数据存贮器)?
2.8 什么叫指令周期?什么叫机器周期?什么叫时钟周期?MCS-51的一个机器周期包括多少时钟周期?
第三章 习题
3.1 指出下列指令是否有错,错在何处,应如何改正。
(1)MOVC @A+PC , A3 (2)MOVX A ,2000H
(3)DJNZ direct , rel (4)
INC A
(5)DEC DPTR
(6)MOV R1 , R2
(7)SETB 2000H (8)JZ A , LOOP
(9)MOV DPTR,10H (10) ANL 18H , A
3.2 当(SP)=60H,(A)=30H, (B)=70H, 执行下列指令PUSH A;
PUSH B后,问:(61H)=? (SP)=?
若当(SP)=62H,(62H)=70H,(61H)=30H, 执行下列指令POP DPH;POP DPL后,问(DPTR)=? (SP)=?
3.3 有 5个双字节数求和,5个数分别放在20H∽29H,结果放在30H,31H。试编写程序实现之。
3.4 编一程序将片内40H~46H单元内容的高4位清零,保持低4位不变。
3.5
分析程序并写出结果
(1)已知(R0)=20H, (20H ) =10H, (P0) =30H, (R2) =20H, 执行如下程序段后,( 40H ) =______________。
MOV @R0
, #11H
MOV A
, R2
ADDC A
, 20H
MOV PSW
, #80H
SUBB A
, P0
XRL A
, #45H
MOV 40H
, A
(2)已知
( R0 )=20H, (20H )=36H, (21H) =17H, (36H) =34H, 执行过程如下: MOV A , @R0
MOV R0
, A
MOV A
, @R0
ADD A
, 21H
ORL A
, #21H
RL A
MOV R2
, A
RET
则执行结束,(R0)=______________ (R2)=______________。
3.6 X、 Y、 Z表示位地址,进行X、Y内容的异或操作,即
Z =(X)
(Y)=(X)(
) + (
)(Y)。试编写程序实现之。
3.7 检查P1.0是否为1,若为1将P1.3置1,若为0将P1.3置0。
3.8 编写一个程序,使P1.0产生一个方波脉冲,方波脉冲的高低电平各持续10ms。
3.9 将片外RAM 2000H开始的100个单元内的数据传递给片外RAM 3000H开始的100个单元。
第四章 习题
4.1 什么是中断?MCS-51单片机有哪些中断源,对应的中断服务入口地址是什么?
4.2 MCS-51单片机的两个外部中断源有哪两种触发方式?不同触发方式下的中断请求标志是如何清0的?当采用电平触发时,对外部中断信号有什么要求?
4.3 设系统有两个中断源,分别为外部中断0和串口,要求串口为优先,试编制它的初始化程序。
4.4 CPU响应中断的条件是什么?响应中断后,CPU要进行哪些操作?
4.5 写出定时/计数器在四种不同工作模式下,每一种工作模式对应的最大计数值,如果单片机主振频率为12MHZ,试分析其各自的最大定时间隔时间(计数器一次装载最大定时时间)。
4.6 编写8051单片机定时器的初始化程序。要求如下:(1)T0作为计数,计满100溢出;(2)T1作为定时,定时时间为10ms。
4.7 利用定时器输出1KHz的方波。设单片机主振频率为6MHZ。
4.8 8051单片机主振频率为12MHZ,在P1.0引脚上接有一个发光二极管,如用T0定时,每一秒钟控制该灯亮一次,一直循环下去。试编制相关程序。
4.9假设有一个用户系统中已使用了两个外部中断源,并置定时器T1于模式2,作串行口波特率发生器用,现要求再增加一个外部中断源,并由P1.0口输出一个5kHz的方波(假设晶振频率为6MHz)。试编制相关程序。
提示:在不增加其它硬件开销时,可把定时器/计数器T0置于工作模式3,利用外部引脚T0端作附加的外部中断输入端,把TL0预置为0FFH,这样在T0端出现由1至0的负跳变时,TL0立即溢出,申请中断,相当于边沿激活的外部中断源。在模式3下,TH0总是作8位定时器用,可以靠它来控制由P1.0输出的5kHz方波。
第五章 习题
5.1为什么外扩存贮器时,P0口要外接锁存器,而P2口却不接?
5.2 在使用外部程序存贮器时,MCS-51还有多少条I/O线可用?在使用外部数据存贮器时,还有多少条I/O线可用?
5.3 用8255的A口做输入口,B口做输出口。假定8255工作在方式1,控制口地址为7FH,试写出相应的初始化程序。
5.4 程序存贮器和数据存贮器的扩展有何相同点及不同点?
5.5 8051芯片需要外扩4kB程序存贮器,要求地址范围为1000~1FFFH,以便和内部程序存贮器地址相衔接。所用芯片除了地址线和数据线外,只有一个片选控制端CS,画出扩展系统的连接线。
5.6 8031用一片64kB的RAM作为外部的ROM和外部的RAM,画出相应的接口电路。
第六章 习题
6.1试述串行通信与并行通信的优缺点。什么是异步通信,它有几种帧格式。
6.2试述在MCS-51单片机串行通信中,SCON中的SM2、RB8、TB8的作用。
6.3 MCS-51单片机串口有几种工作方式,波特率如何确定。
6.4单片机的晶振为11.059MHz,串口工作于方式3,波特率为2400bps时,T1工作于模式2,作为波特率发生器,试计算定时器T1的时间常数,并编写初始化程序。
6.5请用查询方式编写一段数据发送程序。数据块首地址为片内RAM的30H单元,块长度为20字节,设串口工作于方式1,波特率为9600bps,主频fosc为11.059MHz。
6.6按下列要求,单片机主频fosc为11.059MHz,编写串口的接收程序。
①串口工作于方式1,波特率为1200bps。②向对方发出呼叫信号“00H”。
③发送完呼叫信号后,等待接收对方应答,如对方未应答,再次呼叫。
④收到对方应答信号后,检查是否为“AAH”,如是则结束通信,如不是再次呼叫。
第七章 习题
7.1 LED静态显示和动态显示方式各有什么优缺点?
7.2 动态显示的原理是什么?
7.3 为什么要消除键盘的机械抖动?有哪些方法?
7.4 独立式键盘和矩阵式键盘各有什么特点?分别用在什么场合?
7.5 用单片机对外界信号进行测量或过程控制时,为什么要进行A/D、D/A转换?
7.6 设要显示的位数为6位,字符存于69H~6EH,七段控制码锁存器373的选通地址为8000H,字位控制码锁存器的373选通地址为6000H,选用下图7.1,数码管为共阴极,试设计一个显示子程序。

图7.1
7.7
在一个AT

图7.2
7.8 用DAC0832设计一个模拟量输出接口,端口地址为FEFFH,要求其产生周期为5ms的锯齿波。假定系统时钟为6MHz,试编写相应的程序。
第八章 习题
8.1 编写程序将内部RAM30H中的2位十进制数转换为ASCII码,并存入31H和32H中。
8.2 设有字无符号数X、Y存放在内部RAM30H、31H和32H、33H,试编写求∣X-Y∣的程序。
8.3 求内部RAM的50H~5AH中的最大值并放入5AH单元。
8.4 利用P1口控制8个发光管,编一程序让8个发光管周而复始地轮流发亮,设电路要求发光管点亮时,P1口为高电平。每次点亮时间持续为0.5s。
8.5 在程序存储区自STRING单元开始有一个字符串(字符串以00H结尾)。试编写一段程序,在此字符串中查找字符“$”,将“$”的个数存入num单元。
第九章 习题
9.1 单片机应用系统设计的一般方法和步骤是什么?
9.2 从元件级设计单片机应用系统时,硬件设计和软件设计主要包含哪些主要内容?
9.3 单片机应用系统的调试步骤是什么?其主要任务又如何?
9.4 干扰主要有哪些来源?
9.5 硬件抗干扰措施主要有哪些?分别处理什么干扰信号?
9.6 软件抗干扰措施主要有哪些?分别处理什么干扰信号?
9.7 试叙述看门狗的设计思想和具体工作过程。