(完整word版)单片机C语言应用程序设计(第五版)马忠梅课后习题答案 下载本文

内容发布更新时间 : 2024/11/10 3:18:48星期一 下面是文章的全部内容请认真阅读。

第一章

1、8051单片机由哪几部分组成?

8位中央处理器CPU、片内振荡电器及其时钟电路,4个8位并行I/O口(其中P0和P2可用于外部存储器的扩展),2个16位定时器/计数器,5个中断源(具有2个中断优先级),全双工串行口,布尔处理器。

2、8051单片机有多少个特殊功能寄存器?它们可以分为几组,各完成什么主要功能? P7 1-3表

答:8051单片机内部有21个特殊功能寄存器,在物理上是分散在片内各功能部件中,在数学上把它们组织在内部数据存储器地址空间80H~FFH中,以便能使用统一的直接寻址方式来访问。这些特殊功能寄存器颁在以下各个功能部件中:

(1)CPU:ACC、B、PSW、SP、DPTR(由DPL和DPH两个8位寄存器组成); 主要完成运算和逻辑判断功能;

(2)中断系统:IP、IE; 完成中断管理

(3)定时器/计数器:TMOD、TCOM、TL0、TH0、TL1、TH1; 完成定时或者计数功能 (4)并行I/O口:P0、P1、P2、P3完成I/O口功能,其中部分I/O口带有可选的纵向拓展功能

(5) 串行口:SCON、SBUF、PCON。主要完成数据的串行发送和接收

3、决定程序执行顺序的寄存器是哪几个?它是几位寄存器?是否为特殊功能寄存器?它的内容是什么信息?

是程序计数器PC,它是16位寄存器,不是特殊功能寄存器,它的内容是下一条将要执行的程序的地址

4、DPTR是什么特殊功能寄存器?DPTR的用途是什么?它由哪几个特殊功能寄存器组成?

DPTR是16位数据指针寄存器,它由两个8位特殊功能寄存器DPL(数据指针低8位)和DPH(数据指针高8位)组成,DPTR用于保存16位地址,作地址寄存器用,可寻址外部数据存储器,也可寻址程序存储器。

5、8051的引脚有多少I/O线?它们和单片机对外的地址总线和数据总线有什么关系?地址总线和数据总线各是多少位?

8051单片机的40个引脚中有32根I/O口线,P0口8根I/O线可以在外扩存储器时分时复用作为外部存储器的低8位地址总线和8位数据总线,P2口作为高8位地址总线,P3.6和P3.7分别作为外部存储器的写和读控制线。地址总线16位,数据总线为8位。

6、什么是堆栈?堆栈指针SP的作用是什么?8051单片机堆栈的最大容量不能超过多少字节?

堆栈是数据寄存器的一部分,这一部分数据的存取是按照先入后出、后入先出的原则进行的。堆栈指针SP在启用堆栈之前是用来决定堆栈的位置。如在8051芯片复位后,SP的值为07H,则决定了堆栈从08H开始设置。修改SP值可以使堆栈设置在内部RAM的其它部分。在堆栈启用之后,SP指向堆栈顶部,即由SP来决定数据读出和存入堆栈的地址。8051单片机内部用作数据区的RAM的容量为128个字节,前8个字节要用来作为工作寄存器R0-R7。堆栈可以从08H开始设置直到7FH,共120个字节。但这只是最大可能的容量。一般情况下,内部RAM还要分出一部分作一般的数据区,或者还要用其中的位寻址区来用于位操作,等等。所以,8051的堆栈区是比较小的,使用时要注意到这个限制。 8、8051内部RAM低128字节可分为几个区域?其中通用寄存器区的字节地址范围为多少?如何实现寄存器组的切换?可位寻址区的字节地址和位地址范围分别为多少? 8051内部RAM的低128字节可以分为通用寄存器区、位寻址区、便签(工作或者堆栈RAM)

1

区和特殊功能寄存器区。通用寄存器区的地址从00H到1FH共32个字节。设置PSW中的位RSO和RS1可以切换当前通用寄存器组。位寻址区地址从20H到2FH共16个字节128位,占用地址0到127.

9、8051单片机对外有几条专用控制线?其功能是什么?

一般的说法是8051单片机有4条专用控制线。它们是复位信号线RST,高电位有效,当有复位信号从此线输入时,使单片机复位。访问外部存贮器控制信号EA,低电平有效,当此控制线为低电平时,单片机全部使用外部指令存贮器,而当此控制线为高电平时,先使用片内的4KB指令存贮器(0000H-FFFFH),在4KB范围之外,才使用指令存贮器(地址为1000H-FFFFH)。另有两条输出控制:外部程序存贮器的读选通信号PSEN和外部地址锁存器允许信号ALE。前者是低电平有效,在读外部程序存贮器时使用。后者是高电平有效,在锁存P0口输出的低8位地址时使用。

10、8031的/EA端必须怎样处理?为什么? /EA端是访问外部程序存储器的控制信号;当/EA无效时,访问内部ROM,当/EA为有效时,访问外部ROM。由于8031没有内部ROM,所以EA端必须接低电平。 11、8051单片机的存储器结构与通用微机的存储器结构相比有何特点? 51单片机为8位,现在的通用微机处理器通常都为64位。

51单片机主频一般不超过40MHz,现在的通用微机处理器主频通常为1~4GHz(1000~4000Mhz)。

51单片机的I/O(输入/输出)引脚少(只有6~44个,更多的就不是典型的51了),通用微机处理器的I/O引脚多(通常数百个)。

51单片机将程序存储器、数据存储器、处理器还有一些特殊设备(如模拟-数字转换器)等都集成在一块芯片中,系统结构紧凑,功能简单,适合低成本的电器控制。通用微机的程序存储器为硬盘,数据存储器为内存(实际有交错),这些设备以及其他外部设备都在主板上而不是芯片内,系统结构复杂,功能强大,可以实现各种丰富的应用。 12、8051向外扩展的程序存储器和数据存储器的最大容量各是多少? 13、8051四个并行接口各自的功能是什么?

答:P0口作为低8位地址总线和8位数据总线用时,内部控制信号使MUX开关倒向上端,从而使地址/数据信号通过输出驱动器输出.当向外部存储器读写时,P0口就用作低8位地址和数据总线用.这时P0口是一个真正的双向口.

P2还可以作为高8位地址总线用,同样通过MUX开关的倒换来完成.P2在外部存贮器读写时(地址大于FFH)作高8位地址线用.

P3的口其实大多数情况下都用第二功能.P3.0:RXD P3.1:TXD P3.2:-INT0 P3.3:-INT1 P3.4:T0 P3.5:T1 P3.6:-WR P3.7:-RD

四个接口的负载能力也不相同.P1,P2,P3口都能驱动三个LSTTL门,并且不需要外加电阻就能驱动MOS电路.P0口在驱动TTL电路时能带八个LSTTL门,但驱动MOS电路若作为地址/数据总线,可以直接驱动,而作为I/O口时,需外接上拉电阻(接Vcc)才能驱动MOS电路

14、对8051的P1口的输入操作前,应对端口进行怎样的处理?为什么? 置1,课本P8

15.8051复位时,SP,P0口-P3口, 其他SFR(特殊功能寄存器)及PC的初始化状态怎么样? 答:在RST引脚输入高电平.保持24个时钟周期.复位之后,07H写入入栈指针SP,P0口-P3口均置1(允许输入),程序记数器和其它特殊功能寄存器全部清零.

2

只要把电平变低,就可重新开始执行程序

16、CMOS单片机有哪两种低功耗工作方式?两者主要的不同是什么? 节电方式和掉电方式。P13

17、在读外部程序存储器时,P0口上一个指令周期中出现的数据序列是什么?在读外部数据存储器时,P0口上出现的数据序列又是什么?

读外部程序存贮器(ROM)时,有两种情况:一种是单纯地取指令,这时P0口上先送出指令所在地址低8位,然后从ROM中取回指令码。按照指令字节数的不同,这个数据序列可能重复若干次。另一种情况,则是执行从外部ROM中读取固有数据的指令,这时,P0口上先送出地址低8位,再从ROM中取回指令码,然后开始执行指令,接着从P0口上送出ROM数据单元地址低8位,再读回ROM中的数据。而再读外部数据存贮器(RAM)时,P0口上先送出指令地址低8位,然后读回指令码,再送出数据存贮单元地址低8位,再读回数据单元的内容。

18、为什么外扩存储器时,P0口要外接锁存器,而P2口却不接? P0口要传送外部数据存储器的低8位地址和8位数据,(2分)而P2口只传送外部数据存储器的高8位地址。

19、在使用外部程序存储器时,8051还有多少条I/O线可用?在使用外部数据存储器时,还有多少条I/O线可用?

使用外部程序存储器时,P 0口和P2口要作数据总线和地址总线,所以只有P1口和P2口可用作I/O口,共16条I/O线。在使用外部数据存储器时,除了占用P0和P2之外,还需要用WR和RD控制线,而这两条线就是P3口中的两条:P3.6和P3.7,所以这时只有14条I/O可用使用。当然,P2口的8条线并不一定全部占用,但即使如此,这几条线也不能再作I/O线,而只能系统扩展时再用

20、程序存储器和数据存储器的扩展有何相同点和不同点?

相同点, P0口输出数据/低8位地址线, 均需要低8位地址锁存芯片, P2口的P2.0, P2.1, P2.2接2716和2128的地址线A8, A9, A10

不同点, 2716(ROM)的地址范围必须为 0000H ~ 07FFH, 片选端接译码器的/Y0 2128(RAM)的地址范围规定为 2000H ~ 27FFH, 片选端接译码器的/Y2 第八章

1、什么是中断、中断源、中断优先级

中断是指中央处理器CPU正在处理某件事情的时候,外部发生了某一事件,请求CPU迅速去处理,CPU暂时停止当前的工作,转入处理所发生的事件,处理完以后,再回到原来被停止的地方,继续原来的工作。这样的过程称为中断。 中断源是指产生中断的请求源。

一般计算机系统允许有多个中断源,当几个中断源同时向CPU请求中断,要求服务的时候,就存在CPU优先响应哪一个中断源请求的问题,一般计算机根据中断源(所发生的实时事件)的轻重缓急排队,优先处理最紧急事件的中断请求,于是便规定每一个中断源都有一个中断优先级别。

2、8051中断有多少优先级?P171

3

7、8051的5个中断源的中断向量地址分别是多少? 第十章

1、对于12位D/A转换器,输出电压和参考电压的关系是什么? 2、什么样的D/A芯片可以直接和单片机数据总线接口 第十一章

1、对于数据采集的模拟电压信号,哪些情况适合于A/D转换,哪些情况适合于V/F转换 第十二章

1、7段LED显示器主要由哪几种显示方式?动态显示方式的原理是什么?有什么特点?

4