单片机原理及应用课后答案 - 华中科技大学版 下载本文

内容发布更新时间 : 2024/12/23 7:08:35星期一 下面是文章的全部内容请认真阅读。

习题1

1.1什么是单片微型计算机? 答:单片微型计算机是将计算机的基本部件微型化并集成到一块芯片上的微型计算机,是计算机微型化的典型代表之一,通常片内都含有CPU、ROM、RAM、并行I/O、串行I/O、定时器/计数器、中断控制、系统时钟及系统总线等。

1.2单片机的发展经历了哪几个阶段?在哪一阶段确立了单片机在嵌入式应用中的地位。 答:单片机初级阶段(1974—1976年),芯片化探索阶段(1976—1978年),8位单片机成熟阶段(1978—1982年),从SCM向MCU过渡阶段(1983—1990年),MCU百花齐放阶段(1990年—至今)。

其中,芯片化探索阶段(1976—1978年)确立了单片机在嵌入式应用中的地位。 1.3 单片机可分为几个系列?简述每个系列的主要特性。

答:单片机按系列可分为80C51系列、PIC系列和AVR系列等。 PIC系列单片机是Micro Chip公司的产品,与51系列单片机不兼容。

1) PIC系列单片机最大的特点是从实际出发,重视产品的性能与价格比,发展多种型号来满足不同层次的应用要求。

2) 精简指令使其执行效率大为提高。 3) 产品上市零等待(Zero time to market)。 4) PIC有优越开发环境。

5) 其引脚具有防瞬态能力,通过限流电阻可以接至220V交流电源,可直接与继电器控制电路相连,无须光电耦合器隔离,给应用带来极大方便。 6) 彻底的保密性。

7) 自带看门狗定时器,可以用来提高程序运行的可靠性。 8) 睡眠和低功耗模式。

AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced Instruction Set CPU) 精简指令集高速8位单片机。AVR单片机的主要特性

1) AVR单片机以字作为指令长度单位,将内容丰富的操作数与操作码安排在一字之中(指令集中占大多数的单周期指令都是如此),取指周期短,又可预取指令,实现流水作业,故可高速执行指令。

2) AVR单片机硬件结构采取8位机与16位机的折中策略,即采用局部寄存器堆(32个寄存器文件)和单体高速输入/输出的方案(即输入捕获寄存器、输出比较匹配寄存器及相应控制逻辑)。提高了指令执行速度(1MIPS/MHz),克服了瓶颈现象;同时又减少了对外设管理的开销,相对简化了硬件结构,降低了成本。

3) AVR单片机内嵌高质量的Flash程序存储器,擦写方便,支持ISP和IAP,便于产品的调试、开发、生产、更新。

4) AVR单片机的I/O线全部带可设置的上拉电阻、可单独设定为输入/输出、可设定(初始)高阻输入、驱动能力强(可省去功率驱动器件)等特性,使得I/O口资源灵活、功能强大、可充分利用。

5) AVR单片机片内具备多种独立的时钟分频器,分别供URAT、I2C、SPI使用。

6) 增强性的高速同/异步串口,具有硬件产生校验码、硬件检测和校验帧错、两级接收缓冲、波特率自动调整定位(接收时)、屏蔽数据帧等功能,提高了通信的可靠性,方便程序编写,更便于组成分布式网络和实现多机通信系统的复杂应用,串口功能大大超过MCS-51/96单片机的串口,加之AVR单片机高速,中断服务时间短,故可实现高波特率通讯。

7) 面向字节的高速硬件串行接口TWI、SPI。TWI与I2C接口兼容,具备ACK信号硬件发送与识别、地址识别、总线仲裁等功能,能实现主/从机的收/发全部4种组合的多机通信。

SPI支持主/从机等4种组合的多机通信。

8) AVR单片机有自动上电复位电路、独立的看门狗电路、低电压检测电路BOD,多个复位源(自动上电复位、外部复位、看门狗复位、BOD复位),可设置的启动后延时运行程序,增强了嵌入式系统的可靠性。

9) AVR单片机具有多种省电休眠模式,且可宽电压运行(5~2.7V),抗干扰能力强,可降低一般8位机中的软件抗干扰设计工作量和硬件的使用量。

10) AVR单片机技术体现了单片机集多种器件(包括FLASH程序存储器、看门狗、EEPROM、同/异步串行口、 TWI、SPI、A/D模数转换器、定时器/计数器等)和多种功能(增强可靠性的复位系统、降低功耗抗干扰的休眠模式、品种多门类全的中断系统、具有输入捕获和比较匹配输出等多样化功能的定时器/计数器、具有替换功能的I/O端口等)于一身,充分体现了单片机技术的从“片自为战”向“片上系统SOC”过渡的发展方向 1.4 简述单片机技术发展的趋势。 答:(1)单片机的大容量化

单片机内存储器容量进一步扩大。以往片内ROM为1KB~8KB,RAM为64字节~256字节。现在片内ROM可达40KB,片内RAM可达4KB,I/O也不需再外加扩展芯片。OTPROM、Flash ROM成为主流供应状态。而随着单片机程序空间的扩大,在空余空间可嵌入实时操作系统RTOS等软件。这将大大提高产品的开发效率和单片机的性能。 (2)单片机的高性能化

高性能化主要是指进一步改进CPU的性能,加快指令运算的速度和提高系统控制的可靠性。采用精简指令集(RISC)结构,可以大幅度提高运行速度。并加强位处理功能、中断和定时控制功能;采用流水线结构,指令以队列形式出现在CPU中,因而具有很高的运算速度,有的甚至采用多级流水线结构。

单片机的扩展方式从并行总线到发展出各种串行总线,并被工业界接受,形成一些工业标准。如I2C、SPI串行总线等。它们采用3条数据总线代替现行的8条数据总线,从而减少了单片机引线,降低了成本。单片机系统结构更加简化及规范化。 (3)单片机的小容量低廉化

小容量低廉的4位、8位机也是单片机发展方向之一。其用途是把以往用数字逻辑电路组成的控制电路单片化。专用型的单片机将得到大力发展。使用专用单片机可最大限度地简化系统结构,提高可靠性,使资源利用率最高。在大批量使用时有可观的经济效益。 (4)单片机的外围电路内装化

随着集成度的不断提高,可以把众多的外围功能器件集成到单片机内。除了CPU、ROM、RAM外,还可把A/D、D/A转换器、DMA控制器、声音发生器、监视定时器、液晶驱动电路、锁相电路等一并集成在芯片内。为了减少外部的驱动芯片,进一步增强单片机的并行驱动能力。有的单片机可直接输出大电流和高电压,以便直接驱动显示器。为进一步加快I/O口的传输速度,有的单片机还设置了高速I/O口,可用最快的速度驱动外部设备,也可以用最快的速度响应外部事件。甚至单片机厂商还可以根据用户的要求量身定做,把所需要的外围电路全部集成在单片机内,制造出具有自己特色的单片机。 (5)单片机的全面CMOS化

单片机的全面CMOS化,将给单片机技术发展带来广阔的天地。CMOS芯片除了低功耗特性之外,还具有功耗的可控性,使单片机可以工作在功耗精细管理状态。低功耗的技术措施可提高可靠性,降低工作电压,可使抗噪声和抗干扰等各方面性能全面提高。单片机的全盘CMOS化的效应不仅是功耗低,而且带来了产品的高可靠性、高抗干扰能力以及产品的便携化。

(6)单片机的应用系统化

单片机是嵌入式系统的独立发展之路,单片机向MCU发展的重要因素,就是寻求应用系统在芯片上的最大化解决。因此,专用单片机的发展自然形成了SOC(System on Chip)化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SOC的单片机应用系统设计会有较大的发展。因此,随着集成电路技术及工艺的快速发展,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。

1.5 单片机具有哪些突出优点?举例说明单片机的应用领域。 答:1.单片机寿命长

所谓寿命长,一方面指用单片机开发的产品可以稳定可靠地工作十年、二十年,另一方面是指与微处理器相比生存周期长。MPU更新换代的速度越来越快,以386、486、586为代表的MPU,几年内就被淘汰出局。而传统的单片机如 8051、68HC05等年龄已有二十多岁,产量仍是上升的。一些成功上市的相对年轻的CPU核心,也会随着I/O功能模块的不断丰富,有着相当长的生存周期。 2.8位、32位单片机共同发展

这是当前单片机技术发展的另一动向。长期以来,单片机技术的发展是以8位机为主的。随着移动通讯、网络技术、多媒体技术等高科技产品进入家庭,32位单片机应用得到了长足、迅猛的发展。

3.低噪声与高速度

为提高单片机抗干扰能力,降低噪声,降低时钟频率而不牺牲运算速度是单片机技术发展之追求。一些8051单片机兼容厂商改善了单片机的内部时序,在不提高时钟频率的条件下,使运算速度提高了很多。Motorola单片机使用了琐相环技术或内部倍频技术使内部总线速度大大高于时钟产生器的频率。68HC08单片机使用4.9MHz外部振荡器而内部时钟达32MHz。三星电子新近推出了1.2GHz的ARM处理器内核。 4.低电压与低功耗

几乎所有的单片机都有Wait、Stop等省电运行方式。允许使用的电源电压范围也越来越宽。一般单片机都能在3~6V范围内工作,对电池供电的单片机不再需要对电源采取稳压措施。低电压供电的单片机电源下限已由2.7V降至2.2V、1.8V。0.9V供电的单片机已经问世。 5.低噪声与高可靠性

为提高单片机系统的抗电磁干扰能力,使产品能适应恶劣的工作环境,满足电磁兼容性方面更高标准的要求,各单片机商家在单片机内部电路中采取了一些新的技术措施。如ST公司的由标准8032核和PSD(可编程系统器件)构成的μPSD系列单片机片内增加了看门狗定时器,NS公司的COP8单片机内部增加了抗EMI电路,增强了“看门狗”的性能。Motorola推出了低噪声的LN系列单片机。 6.ISP与IAP

ISP(In-System Programming)技术的优势是不需要编程器就可以进行单片机的实验和开发,单片机芯片可以直接焊接到电路板上,调试结束即成成品,免去了调试时由于频繁地插入取出芯片对芯片和电路板带来的不便。IAP(In-Application Programming)技术是从结构上将Flash存储器映射为两个存储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后将程序从一个存储体转向另一个。ISP的实现一般需要很少的外部电路辅助实现,而IAP的实现更加灵活,通常可利用单片机的串行口接到计算机的RS232口,通过专门设计的固件程序来编程内部存储器,可以通过现有的INTERNET或其它通讯方式很方便地实现远程升级和维护。 单片机的应用领域:

1)智能化家用电器:各种家用电器普遍采用单片机智能化控制代替传统的电子线路控制,升级换代,提高档次。如洗衣机、空调、电视机、录像机、微波炉、电冰箱、电饭煲以及各

种视听设备等。

2)办公自动化设备:现代办公室使用的大量通信和办公设备多数嵌入了单片机。如打印机、复印机、传真机、绘图机、考勤机、电话以及通用计算机中的键盘译码、磁盘驱动等。 3)商业营销设备:在商业营销系统中已广泛使用的电子称、收款机、条形码阅读器、IC卡刷卡机、出租车计价器以及仓储安全监测系统、商场保安系统、空气调节系统、冷冻保险系统等都采用了单片机控制。

4)工业自动化控制:工业自动化控制是最早采用单片机控制的领域之一。如各种测控系统、过程控制、机电一体化、PLC等。在化工、建筑、冶金等各种工业领域都要用到单片机控制。

5)智能仪器仪表:采用单片机的智能化仪表大大提升了仪表的档次,强化了功能。如数据处理和存储、故障诊断、联网集控等。

6)智能化通信产品:最突出的是手机,当然手机内的芯片属专用型单片机。

7)汽车电子产品:现代汽车的集中显示系统、动力监测控制系统、自动驾驶系统、通信系统和运行监视器(黑匣子)等都离不开单片机。

8)航空航天系统和国防军事、尖端武器等领域:单片机的应用更是不言而喻。 习题2

2.1 MCS-51单片机内部包含哪些主要逻辑功能部件? 答:微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、特殊功能寄存器(SFR)、并行I/O口、串行通信口、定时器/计数器及中断系统。

2.2 说明程序计数器PC和堆栈指针SP的作用。复位后PC和SP各为何值?

答:程序计数器PC中存放将要执行的指令地址,PC有自动加1功能,以实现程序的顺序执行。它是SFR中唯一隐含地址的,因此,用户无法对它进行读写。但在执行转移、调用、返回等指令时能自动改变其内容,以实现改变程序的执行顺序。

程序计数器PC中内容的变化决定程序的流程,在执行程序的工作过程中,由PC输出将要执行的指令的程序存储器地址,CPU读取该地址单元中存储的指令并进行指令译码等操作,PC则自动指向下一条将要执行的指令的程序存储器地址。 SP是一个8位的SFR,它用来指示堆栈顶部在内部RAM中的位置。系统复位后SP为07H,若不对SP设置初值,则堆栈在08H开始的区域,为了不占用工作寄存器R0~R7的地址,一般在编程时应设置SP的初值(最好在30H~7FH区域)。

2.3 程序状态字寄存器PSW的作用是什么?其中状态标志有哪几位?它们的含义是什么? 答:PSW是保存数据操作的结果标志,其中状态标志有CY(PSW.7):进位标志,AC(PSW.6):辅助进位标志,又称半进位标志,F0、F1(PSW.5、PSW.1):用户标志;OV(PSW.2):溢出标志;P(PSW.0):奇偶标志。

2.4 什么是堆栈? 堆栈有何作用? 为什么要对堆栈指针SP重新赋值? SP的初值应如何设定? 答:堆栈是一种数据结构,所谓堆栈就是只允许在其一端进行数据写入和数据读出的线性表。 其主要作用有两个:保护断点和保护现场。

堆栈区的设置原则上可以在内部RAM的任意区域,但由于MCS-51单片机内部RAM的00H~1FH地址单元已被工作寄存器R0~R7占用,20H~2FH为位寻址区,故堆栈一般设在30H~7FH(对于8032系列芯片可为30H~0FFH)的区域内。单片机复位后,SP的内容为07H,堆栈事实上由08H单元开始,考虑到08H~1FH单元分别属于1~3组的工作寄存器区,则最好把SP值改置为1FH或更大的值。 2.5 开机复位后,CPU使用的是哪组工作寄存器? 它们的地址如何? CPU如何指定和改变当前工作寄存器组?

答:开机复位后使用的是0组工作寄存器,它们的地址是00H~07H,对程序状态字PSW中

的RS1和RS0两位进行编程设置,可指定和改变当前工作寄存器组。RS1、RS0=00H时,当前工作寄存器被指定为0组;RS1、RS0=01H时,当前工作寄存器被指定为1组;RS1、RS0=10H时,当前工作寄存器被指定为2组;RS1、RS0=11H时,当前工作寄存器被指定为3组。

2.6 MCS-51的时钟周期、机器周期、指令周期是如何定义的?当振荡频率为12MHz时,一个机器周期为多少微秒? 答:① 时钟周期也称为振荡周期,定义为时钟脉冲的倒数,是计算机中最基本的、最小的时间单位。 ② CPU取出一条指令至该指令执行完所需的时间称为指令周期,因不同的指令执行所需的时间可能不同,故不同的指令可能有不同的指令周期。 ③ 机器周期是用来衡量指令或程序执行速度的最小单位。它的确定原则是以最小指令周期为基准的,即一个最小指令周期为一个机器周期。 ④当振荡频率为12MHz时,一个机器周期1微秒 2.7 MCS-51单片机的控制信号、、有哪些功能?

答:是访问程序存储器控制信号。当端接低电平时,则不管芯片内部是否有程序存储器,CPU只访问外部程序存储器。对8031来说,因其内部无程序存储器,所以该引脚必须接地。当端接高电平时,CPU访问内部程序存储器,但当PC(程序计数器)值超过某一值时,将自动转向片外程序存储器1000H地址继续执行程序。

是地址锁存允许信号。当CPU访问外部存储器或I/O接口时,ALE输出脉冲的下降沿用于锁存16位地址的低8位。在不访问外部存储器或I/O接口时,ALE端有周期性正脉冲输出,其频率为振荡频率的1/6。但是,每当访问外部数据存储器或I/O接口时,在第二个机器周期中ALE只出现一次,即丢失一个ALE脉冲。

片外程序存储器读选通信号。在CPU从外部程序存储器读取指令(或常数)期间,每个机器周期两次有效,但在访问外部数据存储器或I/O接口时,信号将不出现。端可以驱动8个TTL负载。

2.8 MCS-51的片外程序存储器和片外数据存储器共处同一地址空间为什么不会发生总线冲突? 答:MCS-51的片外程序存储器和片外数据存储器共处同一地址空间,地址范围都是0000H~FFFFH(64 KB),但不会发生总线冲突。因片外程序存储器和片外数据存储器的读写控制信号不同,片外程序存储器的读信号是,而片外数据存储器的读信号为、写信号为,访问片外程序存储器和片外数据存储器的指令也不同,所以它们不会发生总线冲突。 2.9 简述MCS-51内部数据存储器的存储空间分配。 答:内部数据存储器分为3个区域: 工作寄存器区(00H~1FH); 位寻址区(20H~2FH);

堆栈和数据缓冲器区(30H~7FH或30H~0FFH)。

2.10 位地址和字节地址有何区别? 位地址20H具体在内存中什么位置? 答:MCS-51的位存储器由以内部RAM中20H~2FH单元和特殊功能寄存器中地址为8的倍数的特殊功能寄存器两部分组成。其中每个单元的每一位都有一个位地址映像,它们既可以像普通内部RAM单元一样按字节存取,也可以对单元中的任何一位单独存取。 字节地址是内部RAM中和特殊功能寄存器中每个存储单元的地址。 位地址20H是内部RAM24H中的D0位。

2.11 8051的4个I/O口作用是什么? 8051的片外三总线是如何分配的?

答:MCS-51单片机有4个8位并行I/O端口,分别记作P0、P1、P2、P3口。