1、习题1 1.单片机的基本含义和主要特点是什么? 答:基本含义 单片机是将计算机的四个基本部件,即运算器、控制器、存储器和输入输出(Input/Output)接口微型化并集成在一块芯片上的微型计算机。单片机的全称为单片微型计算机(Single Chip Microcomputer),又称为微控制器(Microcontroller Unit,MCU)。 主要特点 1)有优异的性能价格比。 由于单片机的应用不断向高级应用和复杂应用扩展,因此,其性能越来越高,如速度越来越快,存越来越大,处理字长越来越长等。而大批量的生产和使用也使单片机的价格越来越低。 2)集成度高、体积小、有很高的可
2、靠性。单片机把各功能部件集成在一块芯片上,部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。 3)控制功能强。为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以与位处理功能。单片机的逻辑控制功能与运行速度均高于同一档次的微机。 4)低功耗、低电压,便于生产便携式产品,如手机等。现在的单片机在功耗上已达到了极高的水平,不少芯片的功耗已达到微安级,在一粒纽扣电池供电的情况下就可长期运行。 5)外部总线增加了I2C(Inter-Integrated Circu
3、it)与SPI(Serial Peripheral Interface)等串行总线方式,进一步缩小了体积,简化了结构。 6)单片机的系统扩展和系统配置较典型、规,容易构成各种规模的应用系统。 2.简述单片机的基本组成与各部分功能。 答:单片机芯片部结构包括中央处理器CPU (Central Processing Unit)、程序存储器ROM(Read-Only Memory)、随机存储器RAM(Random Access Memory)、I/O口(Input/Output口)、定时/计数器(T/C)、中断系统以与将这些部分连接起来的总线,它们都分布在总线的两旁,并和它连通。一切指令、
4、数据、控制信号都可经部总线传送。 1) 中央处理器CPU——单片机的核心单元,由运算器和控制器组成,控制整个单片机系统协调工作,决定了单片机的运算能力和处理速度。 2) 程序存储器ROM——用于存放用户程序,只允许读操作,ROM的信息可在断电后长期保存。 3) 随机存储器RAM——用于存放程序运行时一些需要临时保存的工作变量和数据, 所以有时直接称之为数据存储器。RAM存放的信息可随机“读出”或“写入”,其中存放的容是易失性的,掉电后会丢失。 4) 并行I/O口——单片机的重要资源,用于并行通信,负责实现CPU与并行设备的联系。它可以使单片机和存储器或外设之间并行的传送数据。
5、5) 串行I/O口——用于串行通信,负责实现CPU与串行设备或其他单片机的联系。它可以把单片机部的并行数据一位一位向外传送,也可以一位一位地接收外部送来的数据并把它们变成并行数据送给CPU处理。 6) 定时器/计数器——用于单片机部精确定时或对外部事件进行计数。并可用定时、计数结果对单片机以与系统进行控制。 7) 系统时钟——相当于PC微机中的主频。通常采用外接石英晶体或其他振荡源提供时钟信号输入,也可用部RC振荡器。时钟电路为单片机产生时钟脉冲序列,作为单片机工作的时间基准,典型的晶体振荡频率为12MHZ。 8) 总线——各种数据信息的公共通道,包括部总线和外部总线。CPU通过总线与设
6、以与I/O接口电路交换信息。 3.单片机的分类与主要指标是什么? 答: 一、目前单片机品种很多,至少有五十多个系列、三百多个品种,可按以下方式进行分类。 (1)按适用围分 专用型——是为过程控制、参数监测、信号处理等方面的特殊需要而专门设计的单片机,是专门针对某些产品的特定用途而制作的。 通用型——通用型单片机是一种基本芯片,可把开发资源全部提供给应用者的微型控制器,它部资源比较丰富,性能全面且适用性强,能覆盖多种应用需求 (2)按制造工艺分 分HMOS工艺,CHMOS工艺 (3)按字长分 可分为4位机(如NEC公司的µPD75XX系列)、8位机(Intel公司的MCS
7、51系列)、16位机(Intel公司的MCS-96/98系列)和32位机(Motorola公司的MC683XX系列)等,字长越长其运算处理的速度越快,功能越强大。 二、指标 (1)速度 CPU处理速度,常用单位是MIPS(Million instruction Per Second),目前最快的单片机可达200MIPS。单片机的速度与系统时钟相联系,但并不是频率越高处理速度就越快,对于同一型号的单片机来说,采用频率高的时钟一般比频率低的速度快。 (2)位数 单片机一次处理数据的宽度。它与微处理器部寄存器以与CPU部数据总线宽度是一致的。按位数分类,单片机可以分成8位机、16位机、3
8、2位机、64位机等。位数越多,所表示的数据精度就越高。在完成同样精度的运算时,位数较多的单片机比位数较少的单片机运算速度快。 (3)功耗 为了满足广泛使用于便携式系统的要求,目前许多单片机的工作电压仅为1.8~3.6V,而工作电流仅为数百毫安,一些低功耗的单片机的静态电流甚至可以达到μA或nA级。 (4)I/O口 不同类型的单片机其输入/输出接口有很大差别。一般从几个到几十个。例如,MCS-51系列单片机有4个接口,使用上很方便。在片接口不够时,可考虑进行接口扩展。 (5)存储器 包括数据存储器和程序存储器。数据存储器字节数通常在几十字节到几百字节之间。程序存储器空间较大,从几KB
9、到几十KB。 (6)工作电压 几乎所有的单片机都有WAIT、STOP等省电运行方式。允许使用的电压围越来越宽,一般在3~6V围工作。低电压供电的单片机电源下限已可达1~2V。目前0.8V供电的单片机已经问世。 7.将下列二进制数转化成相应的十进制数、十六进制数。 (1)(101100)B =44=2CH (2)(11100111)B=231=E7H (3)(11.011)B =3.375=3.6H (4)(1.1001)B=1.5625=1.9H 9.设机器字长为8 位,求下列数的原码、反码和补码。 (1)+56 [原码]=[反码]=[补码]=38H (2)+1
10、17 [原码]=[反码]=[补码]=75H (3)-63 [原码]=1011 1111=BFH [反码]=1100 0000=C0H [补码]=1100 0001=C1H (4)-89 [原码]=1101 1001=D9H [反码]=1010 0110=A6H [补码]=1010 0111=A7H 10.已知下列补码,求真值。 (1)+56 [原码]=[反码]=[补码]=38H (2)+117 [原码]=[反码]=[补码]=75H
11、3)-63 [补码]=1011 1111=BFH [反码]=1011 1110=BEH [原码]=1100 0001=C1H (4)-89 [补码]=1101 1001=D9H [反码]=1101 1000=D8H [原码]=1010 0111=A7H 12.写出下列十进制数的8421BCD 码。 (1)56 =(0101 0110)BCD (2)117 =(0001 0001 0111)BCD (3)65.125 =(0110 0101.0001 0010 0101)BCD
12、 (4)99.675=(1001 1001.0110 0111 0101)BCD 习题2 2.简述MCS-51单片机的物理存储空间?按编址方式划分,其存储器可分为哪几个空间、相应编址围? 答: MCS-51单片机的存储器结构可以分为2个不同的存储空间,分别是: 1) 程序存储空间地址围64KB(ROM),包括片程序存储器(4KB)和片外程序存储器(64KB)。 2) 数据存储空间地址围64KB(RAM),包括片数据存储器(共256B,21个特殊功能寄存器与128B部RAM)和片外部数据存储器(64KB)。MCS-51单片机没有
13、独立的I/O空间,而是将I/O空间与片外数据存储器空间共用64KB地址空间围(即共同编址)。 按编址划分: 1)ROM,低4KB围(0000H~0FFFH)可划分为片与片外两部分,通过/EA区分选取片外ROM;其余部分都为片外ROM,地址围:1000H~FFFFH。 2)RAM,通过不同指令可分为片外RAM,其中片外RAM地址围为:0000H~FFFFH,采用MOVX访问;片只有256B(00H~FFH),其中高128B(80H~FFH)为特殊功能寄存器区(SFR),目前只使用21B,低128B又可分为3个区即,工作寄存器区(00H~1FH),位寻址区(20H~2FH),数据缓冲区(
14、30H~7FH)。 3.MCS-51单片机的片数据存储器分为哪几个地址空间?各部分的主要功能是什么? 答: 1)工作寄存器区 00H~1FH共32个字节单元属于工作寄存器区。工作寄存器分为4个组:0区、1区、2区、3区。每区有8个寄存器,用R0~R7命名,R0~R7称为工作寄存器。工作寄存器是MCS-51单片机的重要寄存器,指令系统中有专用于工作寄存器操作的指令,读写速度比一般RAM要快。 2)位寻址区 地址为20H~2FH共16个字节单元可分为16×8=128个二进制位进行位寻址。每一位均有一个位地址,编址为00H~7FH,位寻址区的主要用途是存放各种标志位信息和位数据。
15、3)数据缓冲区 地址30H~7FH的80个字节单元为数据缓冲区,属一般RAM,只能进行字节寻址,用作数据缓冲区以与堆栈区,供用户存放各种数据和中间结果。 4)特殊功能寄存器区 CPU对各种功能部件的控制通过特殊功能寄存器采用集中控制方式,即利用特殊功能寄存器控制单片机的I/O口、定时/计数器、串行口、中断系统等。特殊功能寄存器SFR共21个,离散地分布在高128B片RAM80H~FFH区域中。 4.MCS-51单片机特殊功能寄存器有多少个?其分布地址围?某特殊功能寄存器地址为98H,它可以按位寻址吗? 答: 特殊功能寄存器SFR共21个 分布在高128B片RAM80H~FFH
16、区域中 某特殊功能寄存器地址为98H,因其字节地址可被8整除,故可进行位寻址。 5.MCS-51单片机复位条件?复位后,CPU从00H单元开始执行程序,SP= 07H ,第一个压入堆栈的数据将位于片RAM的 08H 单元地址。 6.MCS-51单片机引脚作用是什么?在下列情况引脚应接何种电平? (1)只有片ROM,=1(2)只有片外ROM,=0 (3)有片、片外ROM,=1 (4)有片ROM但不用,而用片外ROM,=0 8.12根地址线可选多少个存储单元?32KB存储单元需要多少根地址线? 答:12根地址线可选4K个存储单元,32KB存储单元需要15根地址线
17、 9.若PSW的容为18H,则工作寄存器R0的地址是什么? 18H 0 0 0 1 1 0 0 0 故,选用的是工作寄存器3组,R0地址为18H 0组 00H-07H 1 08H-0FH 2 10H-17H 3 18H-1FH 10.MCS-51单片机片位地址7FH是在哪个字节地址的那一位? 答:片位地址7FH是字节2FH的最高位,即位7. 表2.3 RAM位寻址区的位地址映射 字节地址 位地址 D7 D6 D5 D4 D3 D2
18、 D1 D0 2FH 7FH 7EH 7DH 7CH 7BH 7AH 79H 78H 2EH 77H 76H 75H 74H 73H 72H 71H 70H 2DH 6FH 6EH 6DH 6CH 6BH 6AH 69H 68H 2CH 67H 66H 65H 64H 63H 62H 61H 60H 2BH 5FH 5EH 5DH 5CH 5BH 5AH 59H 58H 2AH 57H 56H 55H 54H 53H 52H 51H 50H 29H 4FH 4EH 4DH 4
19、CH 4BH 4AH 49H 48H 28H 47H 46H 45H 44H 43H 42H 41H 40H 27H 3FH 3EH 3DH 3CH 3BH 3AH 39H 38H 26H 37H 36H 35H 34H 33H 32H 31H 30H 25H 2FH 2EH 2DH 2CH 2BH 2AH 29H 28H 24H 27H 26H 25H 24H 23H 22H 21H 20H 23H 1FH 1EH 1DH 1CH 1BH 1AH 19H 18H 22H 1
20、7H 16H 15H 14H 13H 12H 11H 10H 21H 0FH 0EH 0DH 0CH 0BH 0AH 09H 08H 20H 07H 06H 05H 04H 03H 02H 01H 00H 11.MCS-51单片机需外部扩展存储器时,P0口为什么要外接地址锁存器?而P2口则不需接? 答:因为P0口是数据总线与地址总线低8位的复用口,为了区分地址和数据,必须把P0口输出的低8位地址锁存在锁存器中,P0口才能空出来传送随后而来的数据。而P2口只负责传送高8位地址,而不传送数据,因此不需要接外部地址锁存器。 15
21、.什么叫机器周期?机器周期与时钟频率有何关系?当时钟频率为12MHz和6MHz时,机器周期各是多少时间? CPU完成一个基本操作所需要的时间称为机器周期。 1个机器周期等于12个时钟周期,故Tcy=12/fosc 根据Tcy=12/fosc可得,12MHz时钟频率时,机器周期Tcy=1us,6MHz时钟频率时,机器周期Tcy=2us。 16.什么叫指令周期?什么叫指令字节?二者有什么区别? 答: 指令周期:指CPU执行一条指令占用的时间(用机器周期数表示)。MCS-51单片机执行各种指令时间是不一样的,可分为三类:单机器周期指令、双机器周期指令、四机器周期指令。 指令字节
22、指程序中的指令在程序存储空间中占用的长度,以字节为单位。MCS-51单片机的指令系统的指令长度可分为:单字节指令、双字节指令和三字节指令。 指令周期和指令字节是两个完全不同的概念,前者表示执行一条指令所用的时间,后者表示一条指令在ROM中所占的存储空间 17.复位的作用是什么?MCS-51单片机的复位条件是什么?复位后各寄存器的状态是什么? 答: 复位:复位是单片机的一个重要工作状态,复位是单片机的初始化操作。当单片机程序运行出错(如程序跑飞、进入死循环)或操作错误使系统处于死锁状态时,可通过复位使系统重新启动而摆脱系统死锁状态。 复位条件:必须在引脚RST加上大于2个机器周期
23、即24个时钟振荡周期)的高电平。 复位状态:复位时,SP=07H,而4个I/O端口P0~P3的引脚均为高电平,其余特殊功能寄存器基本上为清零。 18.PC的值是:(3) (1)当前正在执行指令的前一条指令的地址 (2)当前正在执行指令的地址 (3)当前正在执行指令的下一条指令的地址 (4)控制器中的指令寄存器的地址 19.MCS-51单片机引脚ALE的作用是什么?当单片机不外接存储器时,ALE上输出的脉冲频率是多少? 答: ALE引脚第一功能为地址锁存允许,当单片机上电正常工作后,ALE引脚不断输出正脉冲信号。当单片机访问外部存储器时,ALE输出信号的负跳沿用于单片机发
24、出的低8位地址经外部锁存器的锁存控制信号。 即使不访问外部锁存器,ALE仍有正脉冲信号输出,此频率为时钟振荡器频率的1/6。 习题4 7.写出完成下列要求的C程序。 (1)将地址为4000H的片外数据存储单元容,送入地址为30H的片数据存储单元中。 void main(void) { unsigned char xdata *xdp; unsigned char data *dp; xdp = 0x4000; dp = 0x30; *dp = *xdp; } (2)将地址为4000H的片外数据存储单元容,送
25、入地址为3000H的片外数据存储单元中。 void main(void) { unsigned char xdata *xdp1; unsigned char xdata *xdp2; xdp1 = 0x4000; xdp2 = 0x3000; *xdp2 = *xdp1; } (3)将地址为0800H的程序存储单元容,送入地址为30H的片数据存储单元中。 void main(void) { unsigned char code *cdp; unsigned cha






