习题和思考题答案第一章单片机概述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公司单片机、A VR系列单片机。
8. 简述单片机应用系统的开发过程。
(1)根据应用系统的要求进行总体设计总体设计的目标是明确任务、需求分析和拟定设计方案,确定软硬件各自完成的任务等。
总体设计对应用系统是否能顺利完成起着重要的作用。
(2)硬件设计根据总体设计要求设计并制作硬件电路板(即目标系统),制作前可先用仿真软件(如Proteus软件)进行仿真,仿真通过后再用硬件实现并进行功能检测。
(3)软件设计软件编程并调试,目前一般用keil软件进行设计调试。
调试成功后将程序写入目标单片机芯片中。
(4)综合调试进行硬软件综合调试,检测应用系统是否达到设计的功能。
9. 说明单片机开发中仿真仪的作用。
单片机本身没有开发功能,必须借助开发器(仿真仪)来排除应用系统的硬件故障和软件错误。
在硬件设计和软件设计完成后,将调试完成的程序借助开发器固化到单片机的芯片中,完成整体的开发过程。
10.MCS一51系列单片机的基本型芯片分为哪几种?它们的差别是什么?MCS-5l系列单片机主要包括基本型产品:8031、8051、8751(对应的低功耗型80C31、80C51、87C51)和增强型产品:8032、8052、8752。
8031片内没有程序存储器、8051单片机片内含有4 KB的ROM,8751单片机片内含有4 KB的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 字节的地址空间,地址从 00 H 到 1F H 。
10.位寻址区有 16 字节,有 128 位。
11.堆栈的数据结构为 后进先出 ,堆栈应设置在内部RAM 30-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.P32. 若特殊功能寄存器PSW 的RS1、RS0位的内容是01,那么此时工作寄存器R1的字节地址是( C )A. 19HB. 11HC. 09HD. 01H3.CPU 复位时,下面说法正确的是(A )A.P0=FFHB.P1=00HC.SP=00HD.PC=07H4.复位时,RST 引脚应保持( C )A. 一个机器周期的高电平B. 一个机器周期的低电平C. 二个机器周期的高电平D. 二个机器周期的低电平5.下列是关于89S51单片机特殊功能寄存器(SFR )的描述, 其中正确的是( B )。
A.特殊功能寄存器容量为32B ,分为四组。
EA PSENB.特殊功能寄存器容量为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位CPUC. 8位CPUD. 4位CPU10.89S51单片机的PC是16位的计数器,其寻址范围是(D )A. 8KBB. 16KBC. 32KBD. 64KB三、回答问题1.简述MCS-51 单片机的内部结构。
(l)8位微处理器(CPU);(2)时钟和复位电路;(3)片内存储器:数据存储器(128B RAM);程序存储器( 4KB Flash ROM);(4)2个可编程的16位定时器/计数器;(5)P0-P3 4个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和P2 2个节拍,一拍即一个震荡周期,因此一个机器周期包含12个振荡周期。
指令周期:一条指令的执行时间称作指今周期。
MCS-51单片机的指令按执行时间可以分为三类:单周期指令、双周期指令和四周期指令。
5.位地址20H和字节地址20H有何区别,位地址20H在内存的什么位置?位地址是单片机进行位操作时某一位的地址,字节地址是单片机进行8位操作时数据的地址。
位地址20H在字节地址24H的最低位,见表2-5。
6.信号和、信号功能有何不同。
PSEN WR RD/PSEN:片外程序存储器的读选通信号。
/WR、/RD是片外数据存储器的写/读选通信号。
7.A T89S51单片机有哪两种低功耗节电工作模式?两种低功耗节电工作模式:空闲模式和掉电保持模式。
8.叙述Proteus ISIS仿真软件的功能和电路设计的步骤。
(1)启动并新建设计文件(2)设定图纸的大小(3)添加元器件(4)将器件放置在图形编辑窗口的合适位置并布线(5)设置和修改元件属性(6)保存设计。
第三章单片机程序设计第一部分汇编语言程序设计一、选择题1.已知:A=64H,R1=43H,(43H)=22H,Cy=1,执行指令SUBB A, @R1 后,A和Cy的内容分别为(A )A. (A)=41H, Cy=0B. (A)=42H, Cy=0C. (A)=20H, Cy=0D. (A)=21H, Cy=02.下列指令中哪个是正确的指令(A )A. MOV R0,AB. MOV R0,#8000HC. MOV C,#5HD. MOVX B,@DPTR3.不管P1口以前的内容为何值,总可以使其高4位为1,低4位不变的指令是( B )A. ANL P1 ,#0F0HB. ORL P1 ,#0F0HC. XRL P1 ,#0F0HD. MOV P1 ,#0F0H4. 指令AJMP的跳转范围是(C )A. 256BB. 1KBC. 2KBD. 64KB5. 已知单片机的晶振频率12MHz。
下列延时子程序中各指令运行的机器周期数列在指令右边:DELAY:MOV R3, #28 ;1个机器周期LOOP:DJNZ R3, LOOP ;2个机器周期RET ;2个机器周期则该子程序的延时时间为(B )A. 83μSB. 59 μSC. 43 μSD. 5 μS6.下列各条指令中寻址方式属于正确变址寻址的是(D)A. MOVX A, @A+PCB. MOV A, @A+DPTRC. MOVC B, @B+PCD. MOVC A,@A+PC7.已知:(09H) = 10000011B, (21H) = 01000001B, 执行指令:CPL 09H 09H和21H单元的内容分别为(B)A.(09H)=83H,(21H)=41HB.(09H)=7CH ,(21H)=41HC.(09H)=7CH,(21H)=43HD.(09H)=83H ,(21H)=43H8.若寄存器1组为当前工作寄存器组,现要改为0组为当前工作寄存器组,能使用指令(B )A. SETB PSW.3B. CLR PSW.3C. MOV PSW.3,#01D. MOV PSW,#08H二、说明指令中源操作数的寻址方式(1)MOV DPTR,#2000H 立即数(2)MOV R7,A 寄存器(3)ADD A,40H 直接(4)MOV P1,#0FFH 立即数(5)MOVX 20H,@DPTR 寄存器间接(6)MOVC A,@A+PC 变址(7)SJMP LOOP 相对(8)MOV C,P1.1 位(9)JB ACC.5,TAB 位(10)SETB F0三、改错(找出下列指令中的错误并改正)1. MOVX A,1000H 片外送片内需要寄存器间接寻址2. DEC DPTR 无此条指令3. SET P1.0 改为SETB4. SUB A,#23 改为SUBB5. MOVC A,@PC @A+PC6. PUSH R0 PUSH后面用直接寻址7. MOV A ,P3.1 位不能送字节,该A为C8. CJNE R3,40H,LOP 不能用R3,要用A四、(A)=0E8H,(R0)=40H,(R1)=20H, (R5)=3AH,(40H)=2CH,(20H)=0FH, 单独执行下列指令后寄存器和存储单元的内容(1) MOV A,@R0 (A)=2CH(2) ANL 40H,#0FH (40H)=0CH(3) XCH A,R5 (A)=3AH(4) SWAP A (A)=C2H(5) DEC @R1 @R1= (20H)=0EH(6) XCHD A,@R1 (A)=0E2H五、回答问题1、什么是指令与指令系统?MCS-51单片机有多少条指令?按功能是如何划分的?指令是使计算机完成基本操作的命令。