单片机原理与接口技术-C51编程(张毅刚第二版)-习题答案 下载本文

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

单片机原理及接口技术(C51编程)(第2版)-习题答案汇总23单片机答案 第1章单片机概述 思考题及习题1 一、填空

1.除了单片机这一名称之外,单片机还可称为(控制器.)或()。答:微控制器,嵌入式参考答案

2.单片机与普通微型计算机的不同之处在于其将()、()和()三部分,通过内部()连接在一起,集成于一块芯片上。答:CPU、存储器、I/O口、总线

3. AT89S51单片机工作频率上限为()MHz。答:24MHz。 )和提

4.专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低(高()。答:成本,可靠性。

二、单选

1.单片机内部数据之所以用二进制形式表示,主要是A.为了编程方便B.受器件的物理性能限制C.为了通用性D.为了提高运算数度

A.辅助设计应用B.测量、控制应用

C.数值计算应用D.数据处理应用答:B答:B

2.在家用电器中使用单片机应属于微计算机的。一、填空

5.在AT89S51单片机中,如果采用6MHz晶振,一个机器周期为()。答:2μs

6. AT89S51单片机的机器周期等于()个时钟振荡周期。答:12

1 / 12

7.内部RAM中,位地址为40H、88H的位,该位所在字节的字节地址分别为()和()。

答:28H,88H

8.片内字节地址为2AH单元最低位的位地址是();片内字节地址为A8H单元的最低位的位地址为()。答:50H,A8H

9.若A中的内容为63H,那么,P标志位的值为()。答:0

10. AT89S51单片机复位后,R4所对应的存储单元的地址为(),因上电时这时当前的工作寄存器区是()组工作寄存器区。答:04H,00H,0。

11.内部RAM中,可作为工作寄存器区的单元地址为(PSW(=)。 )H~()H。答:00H,1FH

12.通过堆栈操作实现子程序调用时,首先要把()的内容入栈,以进行断点保护。调用子程序返回指令时,再进行出栈保护,把保护的断点送回到(),先弹出的是原来()中的内容。答:PC, PC,PCH

13. AT89S51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为AT89S51单片机的PC是16位的,因此其寻址的范围为()KB。答:64

14. AT89S51单片机复位时,P0~P3口的各引脚为()电平。答:高 XTAL1接(),引脚XTAL2),程序指针PC中的内容为

15.AT89S51单片机使用片外振荡器作为时钟信号时,引脚的接法是()。答:片外振荡器的输出信号,悬空

16. AT89S51单片机复位时,堆栈指针SP中的内容为(()。答:07H,0000H

二、单选

4.程序在运行中,当前PC的值是。

2 / 12

A.当前正在执行指令的前一条指令的地址B.当前正在执行指令的地址。C.当前正在执行指令的下一条指令的首地址D.控制器中指令寄存器的地址。答:C

17. AT89S51单片机不论是进入空闲模式还是掉电运行模式后,片内容均保持原来的状态。对RAM和SFR中的内

18.AT89S51单片机进入掉电运行模式,CPU和片内的外围电路(如中断系统、串行口和定时器)均停止工作。对

19. AT89S51单片机的掉电运行模式可采用响应中断方式来退出。对 四、简答

6. AT89S51单片机片内都集成了哪些功能部件?答:集成了如下部件:1个CPU;128个数据存储器(RAM)单元;8K Flash程序存储器;4个8位可编程并行I/O口(P0口、P1口、P2口、P3口);1个全双工串行口;3个16位定时器/计数器;1个看门狗定时器;一个中断系统,6个中断源,2个优先级;32个特殊功能寄存器(SFR)。

7. AT89S51的64KB程序存储器空间有5个单元地址对应AT89S51单片机5个中断源的中断入口地址,请写出这些单元的入口地址及对应的中断源。答:见下表表AT89S51各中断源的中断入口地址

中断源外部中断0

入口地址0003H定时器/计数器T0000BH0013H外部中断1001BH定时器/计数器T10023H串行口

8.说明AT89S51单片机的EA引脚接高电平或低电平的区别。

答:当EA脚为高电平时,单片机读片内程序存储器(4K字节Flash)中的内容,但在PC值超过0FFFH(即超出4K字节地址范围)时,将自动转向读外部程序存储器内的程序;当EA脚为低电平时,单片机只对外部程序存储器的地址为0000H~FFFFH中的内容进行读操作,单片机不理会片内的4K字节的Flash程序存储器。

3 / 12

第3章C51编程语言基础 思考题及习题3

一、填空参考答案5.全局变量可使用static关键词进行定义,由于全局变量一直存在,占用了大量的内存单元,且加大了程序的耦合性,不利于程序的移植或复用。对

6.绝对地址包含头文件absacc.h定义了几个宏,用来确定各类存储空间的绝对地址。

对 三、简答

1.C51在标准C的基础上,扩展了哪几种数据类型?答:扩展了4种数据类型,它们是:bit、sfr、sfr16和sbit。

2.C51有哪几种数据存储类型?其中数据类型“idata,code,xdata,pdata”各对应AT89S51单片机的哪些存储空间

答:C51有6种数据存储类型data、bdata、idata、xdata、pdata和code。 数据存储类型idata对应片内RAM的256字节。数据存储类型code对应程序存储区。数据存储类型xdata对应片外64KB的RAM空间。数据存储类型pdata对应片外RAM的256字节。

3.bit与sbit定义的位变量有什么区别?答:bit是用来定义普通的位变量,它的值只能是二进制的0或1。而sbit定义的是特殊功能寄存器的可寻址位,它的值是可以进行位寻址的特殊功能寄存器的某位的绝对地址,例如PSW寄存器OV位的绝对地址0xd2。

4.说明3种数据存储模式(1)SMALL模式(2)COMPAC模T式(3)LARGE模式之间的差别。

答:3种数据存储模式之间的差别如下:

4 / 12

(1)SMALL模式。在该模式下,所有变量都默认位于8051单片机内部的数据存储器,这与使用data指定存储器类型的方式一样。在此模式下,变量访问的效率高,但是所有数据对象和堆栈必须使用内部RAM。

(2)COMPAC模T式。本模式下的所有变量都默认在外部数据存储器的1页(256字节)内,这与使用pdata指定存储器类型是一样的。该存储器类型适用于变量不超过256字节的的值为非0,则继续执行循环体语句,直到表达式的值为0时结束循环。

由do-while构成的循环与while循环十分相似,它们之间的重要区别是:while循环的控制出现在循环体之前,只有当while后面表达式的值非0时,才可能执行循环体,在do-while构成的循环中,总是先执行一次循环体,然后再求表达式的值,因此无论表达式的值是0还是非0,循环体至少要被执行一次。

四、编程

1.编写C51程序,将单片机片外2000H为首地址的连续10个单元的内容,读入到片内RAM的40H~49H单元中。

答:将片外2000H为首地址的连续10个单元的内容,读入到片内RAM的40H~49H单元中。

程序如下:

xdataunsignedcharbuffer1[10] 0x40 void main(void) { unsigned char i; for(i=0; i<10; i++) { buffer2[i]= buffer1[i] } }

5 / 12