单片机基础学习知识原理与应用盛珣华习题集和思考题规范标准答案.docx
《单片机基础学习知识原理与应用盛珣华习题集和思考题规范标准答案.docx》由会员分享,可在线阅读,更多相关《单片机基础学习知识原理与应用盛珣华习题集和思考题规范标准答案.docx(29页珍藏版)》请在冰豆网上搜索。
单片机基础学习知识原理与应用盛珣华习题集和思考题规范标准答案
习题和思考题答案
第一章单片机概述
1.第一台电子数字计算机发明的年代和名称。
1946年、ENIAC。
2.根据冯·诺依曼提出的经典结构,计算机由哪几部分组成?
运算器、控制器、存储器、输入设备和输出设备组成。
3.微型计算机机从20世纪70年代初问世以来,经历了哪四代的变化?
经历了4位、8位、16位、32位四代的变化。
4.微型计算机有哪些应用形式?
系统机、单板机、单片机。
5.什么叫单片机?
其主要特点有哪些?
单片机就是在一片半导体硅片上,集成了中央处理单元(CPU)、存储器(RAM、ROM)、并行I/O、串行I/O、定时器/计数器、中断系统、系统时钟电路及系统总线的用于测控领域的微型计算机,简称单片机。
单片机技术易于掌握和普及、功能齐全,应用广泛、发展迅速,前景广阔、嵌入容易,可靠性高。
6.举例说明单片机的应用?
略
7.当前单片机的主要产品有哪些?
各自有何特点?
MCS是Intel公司生产的单片机的系列符号,MCS-51系列单片机是Intel公司在MCS-48系列的基础上于20世纪80年代初发展起来的,是最早进入我国,并在我国应用最为广泛的单片机机型之一,也是单片机应用的主流品种。
其它型号的单片机:
PIC单片机、TI公司单片机、AVR系列单片机。
8.简述单片机应用系统的开发过程。
(1)根据应用系统的要求进行总体设计
总体设计的目标是明确任务、需求分析和拟定设计方案,确定软硬件各自完成的任务等。
总体设计对应用系统是否能顺利完成起着重要的作用。
(2)硬件设计
根据总体设计要求设计并制作硬件电路板(即目标系统),制作前可先用仿真软件(如Proteus软件)进行仿真,仿真通过后再用硬件实现并进行功能检测。
(3)软件设计
软件编程并调试,目前一般用keil软件进行设计调试。
调试成功后将程序写入目标单片机芯片中。
(4)综合调试
进行硬软件综合调试,检测应用系统是否达到设计的功能。
9.说明单片机开发中仿真仪的作用。
单片机本身没有开发功能,必须借助开发器(仿真仪)来排除应用系统的硬件故障和软件错误。
在硬件设计和软件设计完成后,将调试完成的程序借助开发器固化到单片机的芯片中,完成整体的开发过程。
10.MCS一51系列单片机的基本型芯片分为哪几种?
它们的差别是什么?
MCS-5l系列单片机主要包括基本型产品:
8031、8051、8751(对应的低功耗型80C31、80C51、87C51)和增强型产品:
8032、8052、8752。
8031片内没有程序存储器、8051单片机片内含有4KB的ROM,8751单片机片内含有4KB的EPROM。
11.叙述AT89S51单片机的特点,并说明“S”的含义是什么?
AT89S51单片机增加了一些新的功能,如看门狗定时器WDT、ISP(在系统编程,也称在线编程)及SPI串行接口技术等。
片内Flash存储器允许在线(+5V)电擦除、使用编程器或串行下载写入对其重复编程。
另外,AT89C5x/AT89S5x单片机还支持由软件选择的两种节电工作方式,非常适于电池供电或其他要求低功耗的场合。
“S”表示含有串行下载的Flash存储器,
12.简述单片机开发中Proteus软件和keil软件的作用。
单片机应用系统设计时可先用Proteus软件进行设计和仿真,以提高设计的成功率。
keil软件用于单片机软件的录入、编辑、编译、调试。
Keil软件提供了包括宏汇编、链接器、库管理和仿真调试器在内的完整开发方案,并通过集成开发环境(μVision)将它们组合在一起。
第二章单片机硬件系统
一.填空
1.MCS-51系列单片机中8051/8751/8031单片机的区别是内部是否有ROM。
2.单片机由CPU、存储器和I/O接口3部分组成。
3.AT89S51单片机的应接高电平,可扩充的外部程序存储器最大容量为60KB。
4.当信号有效时,表示CPU要从外部ROM读取信息。
5.89SC51单片机的状态寄存器PSW中,RS0和RS1的用途是工作寄存器组选择位,CY的作用为进位借位位和位累加器。
6.晶振频率12M,机器周期为1uS。
指令周期为1uS至4uS。
7.单片机复位时,PC的值是0000H,SP的值是0007H。
8.89S51单片机的内部RAM容量为128B。
外部可扩充的数据RAM的容量为64KB。
9.工作寄存器组共占32字节的地址空间,地址从00H到1FH。
10.位寻址区有16字节,有128位。
11.堆栈的数据结构为后进先出,堆栈应设置在内部RAM30-7FH区域。
12.89S51单片机共有4个8位并行I/O口;其中作地址低8位的是P0口,作地址高8位的是P2口,具有双功能作用的是P3口。
13.除了单片机和电源外,单片机最小系统还包括时钟电路和复位电路。
14.21个SFR的寻址区域为80-FFH。
其中可位操作的SFR的地址特征是地址能被8整除。
二.选择题
1.89S51单片机四个并行I/O口中,可作为数据总线的是(A)
A.P0B.P1C.P2D.P3
2.若特殊功能寄存器PSW的RS1、RS0位的内容是01,那么此时工作寄存器R1的字节地址是(C)
A.19HB.11HC.09HD.01H
3.CPU复位时,下面说法正确的是(A)
A.P0=FFHB.P1=00HC.SP=00HD.PC=07H
4.复位时,RST引脚应保持(C)
A.一个机器周期的高电平B.一个机器周期的低电平
C.二个机器周期的高电平D.二个机器周期的低电平
5.下列是关于89S51单片机特殊功能寄存器(SFR)的描述,其中正确的是(B)。
A.特殊功能寄存器容量为32B,分为四组。
B.特殊功能寄存器容量为21B,部分有位地址。
C.特殊功能寄存器容量64kB,字节地址和位地址范围均为0000H~FFFFH。
D.特殊功能寄存器容量为128B,字节地址和位地址范围均为00H~7FH。
6.程序计数器PC中存放的是(A)
A.下一条要执行的指令的地址B.当前执行的指令
C.下一条要执行的指令D.当前执行的指令的地址
7.MCS-51单片机堆栈操作,正确的说法是(C)
A.数据入栈再修改指针B.修改指针再出栈
C.修改指针数据入栈D.以上说法都不对
8.ALE信号有效时,表示(D)
A.从ROM中读取数据B.从RAM中读取数据
C.P0口输出数据D.P0口输出地址
9.89S51单片机的CPU是(C)
A.32位CPUB.16位CPU
C.8位CPUD.4位CPU
10.89S51单片机的PC是16位的计数器,其寻址范围是(D)
A.8KBB.16KB
C.32KBD.64KB
三、回答问题
1.简述MCS-51单片机的内部结构。
(l)8位微处理器(CPU);
(2)时钟和复位电路;
(3)片内存储器:
数据存储器(128BRAM);程序存储器(4KBFlashROM);
(4)2个可编程的16位定时器/计数器;
(5)P0-P34个8位可编程并行I/O口;
(6)l个全双工的异步串行口;
(7)中断系统具有5个中断源,2个优先级;
(8)AT89C51单片机的特殊功能寄存器(SFR)21个(AT89S51单片机扩展到26个)
2.程序状态寄存器PSW的作用是什么?
叙述OV、AC、P位的具体含义。
PSW用来保存ALU运算结果的特征和处理器的状态。
OV:
溢出标志位,有溢出时OV=l,否则OV=0;AC:
辅助进位、借位标志(低4位与高4位间的进位、借位),有辅助进位、借位时AC=1,否则AC=0;P:
奇偶标志位,运算结果中有奇数个“l”时P=1,会则P=0,可用于串行通信时的奇偶校验。
3.说明MCS-51单片机的堆栈和堆栈指针的用途。
堆栈主要是为子程序调用和中断操作而设立的。
堆栈的具体功能有两个:
保护断点和现场保护。
堆栈的操作需要一个指针指示,在单片机中设置了堆栈指针SP。
堆栈指针SP指示堆栈栈顶的位置,存放该位置的地址。
4.简述晶振周期、状态周期、机器周期、指令周期的含义和它们之间的关系。
时钟周期:
又称震荡周期,是单片机时钟控制信号的基本时间单位。
时钟周期是单片机晶振频率的倒数。
机器周期:
CPU完成一个基本操作所需要的时间称为机器周期。
一个机器周期包含6个S状态周期:
S1、S2、S3、S4、S5、S6。
每个S状态有P1和P22个节拍,一拍即一个震荡周期,因此一个机器周期包含12个振荡周期。
指令周期:
一条指令的执行时间称作指今周期。
MCS-51单片机的指令按执行时间可以分为三类:
单周期指令、双周期指令和四周期指令。
5.位地址20H和字节地址20H有何区别,位地址20H在内存的什么位置?
位地址是单片机进行位操作时某一位的地址,字节地址是单片机进行8位操作时数据的地址。
位地址20H在字节地址24H的最低位,见表2-5。
6.信号和、信号功能有何不同。
/PSEN:
片外程序存储器的读选通信号。
/WR、/RD是片外数据存储器的写/读选通信号。
7.AT89S51单片机有哪两种低功耗节电工作模式?
两种低功耗节电工作模式:
空闲模式和掉电保持模式。
8.叙述ProteusISIS仿真软件的功能和电路设计的步骤。
(1)启动并新建设计文件
(2)设定图纸的大小
(3)添加元器件
(4)将器件放置在图形编辑窗口的合适位置并布线
(5)设置和修改元件属性
(6)保存设计。
第三章单片机程序设计
第一部分汇编语言程序设计
一、选择题
1.已知:
A=64H,R1=43H,(43H)=22H,Cy=1,执行指令SUBBA,@R1后,A和Cy的内容分别为(A)
A.(A)=41H,Cy=0B.(A)=42H,Cy=0
C.(A)=20H,Cy=0D.(A)=21H,Cy=0
2.下列指令中哪个是正确的指令(A)
A.MOVR0,AB.MOVR0,#8000H
C.MOVC,#5HD.MOVXB,@DPTR
3.不管P1口以前的内容为何值,总可以使其高4位为1,低4位不变的指令是(B)
A.ANLP1,#0F0HB.ORLP1,#0F0H
C.XRLP1,#0F0HD.MOVP1,#0F0H
4.指令AJMP的跳转范围是(C)
A.256BB.1KBC.2KBD.64KB
5.已知单片机的晶振频率12MHz。
下列延时子程序中各指令运行的机器周期数列在指令右边:
DELAY:
MOVR3,#28;1个机器周期
LOOP:
DJNZR3,LOOP;2个机器周期
RET;2个机器周期
则该子程序的延时时间为(B)
A.83μSB.59μSC.43μSD.5μS
6.下列各条指令中寻址方式属于正确变址寻址的是(D)
A.MOVXA,@A+PCB.MOVA,@A+DPTR
C.MOVCB,@B+PCD.MOVCA,@A+PC
7.已知:
(09H)=10000011B,(21H)=01000001B,执行指令:
CPL09H09H和21H单元的内容分别为(B)
A.(09H)=83H,(21H)=41HB.(09H)=7CH,(21H)=41H
C.(09H)=7CH,(21H)=43HD.(09H)=83H,(21H)=43H
8.若寄存器1组为当前工作寄存器组,现要改为0组为当前工作寄存器组,能使用指令(B)
A.SETBPSW.3B.CLRPSW.3
C.MOVPSW.3,#01D.MOVPSW,#08H
二、说明指令中源操作数的寻址方式
(1)MOVDPTR,#2000H立即数
(2)MOVR7,A寄存器
(3)ADDA,40H直接
(4)MOVP1,#0FFH立即数
(5)MOVX20H,@DPTR寄存器间接
(6)MOVCA,@A+PC变址
(7)SJMPLOOP相对
(8)MOVC,P1.1位
(9)JBACC.5,TAB位
(10)SETBF0
三、改错(找出下列指令中的错误并改正)
1.MOVXA,1000H片外送片内需要寄存器间接寻址
2.DECDPTR无此条指令
3.SETP1.0改为SETB
4.SUBA,#23改为SUBB
5.MOVCA,@PC@A+PC
6.PUSHR0PUSH后面用直接寻址
7.MOVA,P3.1位不能送字节,该A为C
8.CJNER3,40H,LOP不能用R3,要用A
四、(A)=0E8H,(R0)=40H,(R1)=20H,(R5)=3AH,
(40H)=2CH,(20H)=0FH,单独执行下列指令后寄存器和存储单元的内容
(1)MOVA,@R0(A)=2CH
(2)ANL40H,#0FH(40H)=0CH
(3)XCHA,R5(A)=3AH
(4)SWAPA(A)=C2H
(5)DEC@R1@R1=(20H)=0EH
(6)XCHDA,@R1(A)=0E2H
五、回答问题
1、什么是指令与指令系统?
MCS-51单片机有多少条指令?
按功能是如何划分的?
指令是使计算机完成基本操作的命令。
一台计算机的CPU所能执行的全部指令的集合称为该CPU的指令系统。
MCS-51系列单片机指令系统共有111条指令,功能上可分成五类:
数据传送指令、算术运算指令、逻辑操作指令、控制转移指令、位操作指令。
2、寻址方式的定义。
MCS-51单片机有多少种寻址方式?
寻址方式是指寻找指令中操作数或操作数的地址的方式。
MCS-51指令系统共提供七种寻址方式:
立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址方式、位寻址方式。
3、立即数寻址方式和直接寻址方式的区别?
立即数在ROM中,用#表示;直接寻址数据在内部RAM中,使用时直接给出RAM的地址。
4、寄存器寻址方式和寄存器间接寻址方式的区别?
寄存器寻址方式数据在某个寄存器中,寄存器间接寻址方式数据在RAM中,寄存器中放的是该存储单元的地址,用@表示。
5、访问内部数据存储器和访问外部数据存储器在寻址方式和指令方面有何不同?
访问内部数据存储器可用直接寻址或寄存器间接寻址,用MOX指令。
和访问外部数据存储器只能用寄存器间接寻址,指令用MOVX。
六、用传送指令完成下面操作
1、内部RAM单元60H内容送外部RAM的1000H单元
MOVA,60H
MOVDPTR,#1000H
MOVX@DPTR,A
2、外部RAM的1000H单元送寄存器R2
MOVDPTR,#1000H
MOVXA,@DPTR
MOVR2,A
3、外部RAM的1000H单元内容送外部RAM的2000H单元
MOVDPTR,#1000H
MOVXA,@DPTR
MOVDPTR,#2000H
MOVX@DPTR,A
七、编程序段:
将字符‘9’和‘6’拼装为BCD码69,存入内存40H单元(略)
第二部分C51程序设计
一、选择题
1.一个C程序的执行是从A。
A)本程序的main函数开始,到main函数结束
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C)本程序文件的第一个函数开始,到本程序main函数结束
D)本程序的main函数开始,到本程序文件的最后一个函数结束
2.以下叙述不正确的是D。
A)一个C源程序必须包含一个main函数B)一个C源程序可由一个或多个函数组成
C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面
3.以下叙述正确的是C。
A)在对一个C程序进行编译的过程中,可发现注释中的拼写错误
B)在C程序中,main函数必须位于程序的最前面
C)C语言本身没有输入输出语句
D)C程序的每行中只能写一条语句
4.一个C语言程序是由B。
A)一个主程序和若干个子程序组成B)函数组成
C)若干过程组成D)若干子程序组成
5.C51常把B语句作为循环体,用于产生延时效果。
A)赋值语句B)表达式语句C)循环语句D)空语句
6.下面正确的字符常量是D。
A)“c”B)‘\\’’C)‘’D)‘K’
7.设C51语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为C。
A)0~255B)0~32767C)0~65535D)0~2147483647
8.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是_B____。
A)floatB)intC)longD)double
9.以下正确的函数定义形式是___C____。
A)doublefun(intx,inty)B)doublefun(intx;y)
C)doublefun(intx,inty);D)doublefun(intx,y);
10.变量的指针,其含义是指该变量的____B____.
A)值B)地址C)名D)一个标志
二.回答问题
1.C51在标准C的基础上,扩展了哪几种数据类型?
位变量bit。
特殊功能位sbit。
特殊功能寄存器sfr。
特殊功能寄存器sfrl6。
2.C51有哪几种数据存储类型?
其中数据类型“idata,code,xdata,pdata”各对应AT89S51单片机的哪些存储空间?
data、idata和bdata。
xdata和pdata。
Code。
idata:
片内RAM的256字节;code:
程序存储区分为内部和外部扩充2部分;xdata:
片外64KB的RAM空间;pdata片外RAM的256字节.
3.说明3种数据存储模式(l)SMALL模式()COMPACT模式(3)LARG模式之间的差别。
若声明charvarl,则在使用SMALL存储模式下,varl被定位在data存储区,在使用COMPACT模式下,varl被定位在idata存储区;在LARGE模式下,varl被定位在xdata存储区中。
4.编写C51程序,将片外2000H为首地址的连续10个单元的内容,读入到片内40H到49H单元中。
略
5.do-while构成的循环与while循环的区别是什么?
do-while构成的循环先执行后判断,while循环先判断后执行
三.实型数组sample存有10个采样值,编写程序段,要求返回其平均值(平均值滤波)。
略
第四章并行端口原理及应用
l.89S51单片机四个并行I/O口中,可作为数据总线的是(A)
A.P0B.P1C.P2D.P3
2.89S51单片机四个并行I/O口中,可作为地址总线高8位的是(C)
A.P0B.P1C.P2D.P3
3.判断下列说法是否正确?
A.P0口作为总线端口使用时,它是一个双向口。
(×)
B.P0口作为通用I/O端口使用时,外部引脚必须接上拉电阻,因此它是一个准双向口。
(√)
C.P1~P3口作为输入端口用时,必须先向端口寄存器写入1。
(√)
D.P0~P3口的驱动能力是相同的。
(×)
4.双向口与准双向口的区别是什么?
真正的双向口,应该是具有高电平、低电平和高阻抗输入3种状态的端口。
准双向口不具有高阻抗状态。
5.画出P0口驱动LED发光二极管的电路,说明电路的原理。
见图4-5
6.单片机P1口接8个LED灯,用汇编语言或C51编写程序实现如下功能:
(1)从上到下逐个点亮8个LED灯,再从下到上逐个点亮8个LED灯;
(2)从中间到上下逐个点亮8个LED灯;
(3)隔灯逐个点亮8个LED灯。
略
第五章单片机中断系统
一、填空
1、与AT89S51单片机的中断系统相关的4个特殊功能寄存器是TMOD、SCON、
IE和IP。
2、AT89S51单片机的5个中断源是:
外部中断0、定时计数器0、外部中断1、定时计数器1、串行口。
3、当TCON中的IT0=1时,说明当IT0=1时,INT0为边沿触发方式。
4、中断源中断请求信号的撤除方式有硬件自动清除、软件清除、撤销电路。
5、复位后单片机5个中断源的优先级排列为INT0—T0—INT1—T1_—串行口。
二、选择题
1、当CPU相应外部中断0的中断请求后,程序计数器PC的内容是B,若相应定时计数器1的中断请求后,程序计数器PC的内容是D。
A、0003HB、000BHC、0013HD、001BH
2、下面个中断源中,优先级最高的是B,最低的是D。
A、外部中断1B、定时器T0C、定时器T1D、串行口
3、当串行口接收或发送完一帧数据时,将SCON中的A,向CPU申请中断。
A、RI或TI置1B、RI或TI置0C、RI置1TI置0D、RI置0TI置1
4、当外部中断0发出中断请求后,中断的响应条件是D。
A、EX0=1B、ET0=1C、IE=0x61D、IE=0x81
5、单片机CPU关中断的语句是C。
A、ES=0B、ES=1C、EA=0D、EA=1
三、回答问题
1、什么叫中断?
计算机中为何要采用中断?
所谓中断是指CPU正在处理某一事件A时,外部发生了另一事件B,请求CPU迅速去处理,CPU暂时中断当前的工作,转去处理事件B,待CPU将事件B处理完毕后,再回到原来事件A被中断的地方,继续处理事件A,这样的过程称为中断。
(1)使用中断方式,可允许多个外围设备与CPU并行工作,实现分时操作,大大提高了计算机的利用率。
(2)利用中断技术,CPU能够及时处理测试、控制系统中许多随机的参数和信息,实现实时处理,大大提高了计算机处理问题的实时性和灵活性。
(3)中断系统使CPU具有处理设备故障、掉电等突发性事件的主能力,提高了计算机系统本身的可靠性。
2、MCS-51的单片机有几个中断源?
各中断标志是如何产生的?
又是如何复位的?
CPU响应各中断时,其中断入口地址是多少?
外部中断0(INT0);外部中断1(INT1);定时/计数器0(T0);定时/计数器1(T1);串行口中断(TX