1、单片机C51编程1.10 习题 一、填空题 1最早的单片机是 4 位的。 2MCS-51系列单片机是 Intel 公司最先推出的。 3单片机就是 单片微型计算机(Single-Chip Microcomputer) 的简称。 451系列单片机的发展方向包括 高速 、 缩短指令执行周期 、 低功耗 、高度集成性 和减小封装尺寸 。 5如果某个特殊功能寄存器 能被8整除 ,那么这个特殊功能寄存器便可以进行位寻址。 6单片机的时钟模式包括 片内时钟模式 和 片外时钟模式 两种。 7单片机片内RAM位寻址区的地址为 20H2FH 。 8通用寄存器区的地址为 00H1FH ,等分为 4 组通用寄存器,每
2、组均为 R0R7 。在同一时刻只能有一组通用寄存器参与运算。在程序中,可以通过 PSW 寄存器的 RS1和RS2 位来进行设置。 9当单片机进入省电保持模式时,其 内部时钟振荡器 停止工作,CPU及其内部所有的功能部件均停止工作。但是,此时片内RAM和全部的特殊功能寄存器的数据将可以被保存。 10当单片机进入休眠运行模式时,其内部时钟振荡器 仍然运行,但 CPU 被冻结将不再工作。此时,和省电保持模式不同的是, 单片机的内部时钟信号 仍然供给中断、串行口、定时/计数器等。 二、选择题 1下面哪个不是51系列单片机的组成部分( D )。 ACPU BRAM C并行I/O接口 D无线模块 2增强型
3、单片机主要体现在哪些方面(多选)( ABCD )。 A高速 B集成更多资源 C低功耗 D缩短指令执行周期 3下面哪个不是单片机的特点( C )。 A高性价比 B可编程能力 C可弯曲性 D扩展能力强 4典型的8051单片机的结构为( A )。 A哈佛结构 B普林斯顿结构 C冯诺伊曼结构 D以上都不是 58051单片机的一个机器周期由( D )个时钟周期构成。 A3 B4 C5 D6 68051单片机的CPU为( B )。 A4位 B8位 C32位 D16位 751系列单片机可以寻址( A )的程序存储空间。 A64KB B32KB C8KB D4KB 8算术逻辑部件(ALU)不可以执行如下哪个操
4、作( D )。 A加法 C逻辑运算 三、简答题 B减法 D傅立叶变换 1简述51系列单片机的应用领域及其所扮演的角色。 答:51系列单片机以其强大的可重复编程能力和高的性价比等优点而得到广泛应用。目前,到处都可以看到51系列单片机的身影。51系列单片机主要应用于如下几个领域: ? 家电产品,例如在电视、电话、冰箱、空调、洗衣机、家用防盗报警器等。在这里 设备中,单片机主要用于功能控制。 ? 随身影音设备,例如MP3、MP4、录音笔等。在这里设备中,单片机用于系统控制 和功能管理。 ? 电子玩具,例如各种电动玩具、发声玩具、玩具机器人、遥控电动车、遥控航模等。 在这里设备中,单片机实现了核心功能
5、的控制和智能人机接口。 ? 机电一体化设备,例如车床、铣床、数控机床等。在这类设备中,单片机作为机电 一体化设备的控制器,可以简化机械产品的结构设计,实现智能的生产和操作控制,并扩展原有设备的功能。 ? 数据通信,例如无线数传、大容量存储设备等。在这类设备中,单片机依靠串口、 并口或者高速USB接口等,实现计算机之间、计算机与外围设备之间的控制和数据传输等。 ? 测控设备,例如数据采集系统、示波器、智能仪表等。在这里设备中,依靠单片机 强大控制和通信能力,实现测试、测量和控制等功能。 上面这几个领域基本涵盖了电子设备的各个方面。因此,总的来说,需要控制、通信和智能的领域,便可以找到单片机单片机
6、的身影和应用市场。 2简述51系列单片机的发展方向 答:51系列单片机的发展方向,主要有如下几个方面。 ? 高速。早期的51内核只有几MHz的运行频率,现在各个公司推出的51单片机产 品均能够达到几十MHz的运行频率,例如Atmel公司的AT89S系列的单片机最大运行于33MHz,还有其他一些公司的产品也都具有很高的速度。 ? 缩短指令执行周期。早期的51内核指令一般需要14个指令周期来完成,最快的 单周期指令也需要6个时钟周期,相当于12个时钟振荡周期。新的增强型51内核大大缩短了指令的执行周期,例如MAXIM的高速单片机每机器周期使用一个时钟,速度是标准8051的33倍。还有其他一些公司也
7、相应提高了指令的执行时间。 ? 低功耗。单片机主要应用于各种嵌入式设备中,这类设备最大的共性便是采用电池 供电,需要具有出色的功耗控制。否则,一个产品很快没电了,便毫无使用价值了。现在的单片机功耗都在逐步下降,同时还提供了丰富的低功耗模式可供选择,大大延长了电池的使用时间。 ? 高度集成性。现在的单片机集成了越来越多的功能,例如A/D转换、D/A转换、SPI 接口、I2C接口、USART接口、USB接口、CAN接口等等。在有些设计项目中,甚至仅靠一个单片机便可以完成所有的工作,真正实现“单片”的含义。 ? 减小封装尺寸。单片机在提高强度的接口功能的同时,其封装体积也在逐步减少。 这样,可以减少
8、电路板的使用面积,使最终产品小型化。目前的手机、笔记本等的日益小型化便是很好的体现。 3简述单片机各个引脚的功能和典型接线方式。 答:单片机各个引脚的功能和典型接线方式如下: ? ? ? ? ? ? VCC(Pin40):正电源引脚。正电源接4.05.0V电压,正常工作电压为+5V。 GND(Pin20):接地引脚。 XTAL1(Pin19):时钟XTAL1脚,用作片内振荡电路的输入端。 XTAL2(Pin18):时钟XTAL2脚,用作片内振荡电路的输出端或者外部时钟源的输入引脚。 P0端口即P0.0P0.7,占据Pin39Pin32共8个引脚。P0端口具有两个功能,既可以用作双向数据总线口,
9、也可以分时复用输出低8位地址总线。 P1端口即P1.0P1.7,占据Pin1Pin8共8个引脚。P1端口一般用做通用I/O端口,是8位准并行的,具备4个TTL负载的驱动能力。P1端口可以用做位处理,既各位都可以单独输出或输入数据。 P2端口即P2.0P2.7,占据Pin21Pin28共8个引脚。P2端口可以用作通用I/O端口,或者在扩展外部存储器时用作高8位地址线。 P3端口即P3.0P3.7,占据Pin10Pin17共8个引脚。P3端口可以用作通用I/O端口,可进行位操作,同时还具有特定的第二功能。 RST引脚用于复位,其基本原理是在单片机的时钟振荡电路启动后,如果RST引脚外加两个机器周期
10、(即24个时钟振荡脉冲)以上的高电平,单片机便实现了复位。 ALE/PROG引脚(Pin30)具有两种功能,可以作为地址锁存使能端和编程脉冲输入端。 PSEN(Pin29)引脚是单片机访问外部程序存储器的读选通信号。 EA/Vpp引脚(Pin31)具有两种功能,访问内部或外部程序存储器选择信号和提供编程电压。 ? ? ? ? ? ? 4简述如何外部扩展RAM和ROM。 答:扩展外部程序存储器ROM的方法,主要包括如下几步: (1)选择合适容量的存储器。 (2)采用单片机的P0和P2作为16位地址总线的低8位和高8位,同时,P0口还分时复用为8位数据总线。 (3)将单片机的EA引脚接高电平。这样
11、,在外部扩展程序存储器情况下,程序可以首先从片内的程序存储器开始顺序执行,然后程序会自动转向外部程序存储器。 扩展外部数据存储器RAM的方法,主要包括如下几步: (1)选择合适容量的数据存储器RAM。 (2)采用P0和P2作为16位地址总线的低8位和高8位,此时,P0口还分时复用为8位数据总线。 (3)然后,便可以在程序中访问外部数据存储器。 5简述单片机指令时序中的几个基本概念的含义和区别。 答:单片机的时序是用定时单位来描述的,其描述了指令执行中各控制信号在时间上的关系,这里涉及节拍、状态、机器周期和指令周期4个概念,接下来分别说明它们之间的关系: ? 拍:拍为振荡脉冲的周期,是51系列单
12、片机中的最小时序单元。在图中,拍用P 来表示。如果采用片内时钟模式,拍(P)的周期便是晶振的振荡周期。如果采用片外时钟模式,拍(P)的周期便是外部时钟脉冲的周期。 ? 时钟周期:时钟周期是单片机CPU中最基本的时间单元,在一个时钟周期内,CPU 仅完成一个最基本的动作。振荡脉冲信号(拍)经过二分频后,便可得到单片机的时钟信号。在图中,时钟信号的周期用S来表示。由于是二分频,因此一个时钟周期包含两个拍,分别称为P1和P2。 ? 机器周期:一个机器周期由6个时钟周期(S1S6)构成,也就是12个拍组成。 从图中可以看出,这12个拍依次为S1P1、S1P2、S2P1、?、S6P2。 ? 指令周期:指
13、令周期执行一条指令所需要的时间。不同的指令有不同的指令周期,例 如单周期指令执行需要一个机器周期,双周期指令执行需要两个机器周期。 6简述单片机的掉电保护和低功耗模式的区别。 答:当单片机进入省电保持模式时,其内部时钟振荡器停止工作,CPU及其内部所有的功能部件均停止工作。但是,此时片内RAM和全部的特殊功能寄存器的数据将可以被保存。当单片机进入休眠运行模式时,其内部时钟振荡器仍然运行,但CPU被冻结将不再工作。此时,和省电保持模式不同的是,单片机内部时钟信号仍然供给中断、串行口、定时/计数器等。 2.4 习题 一、填空题 1如果开发一个最终的产品,单片机选型时应该尽量选择 贴片 的封装。 2
14、AT89S51具有 32 个通用I/O引脚, 6 个中断源, 2 个定时器/计数器。 3Keil Vision3集成开发环境中,编译当前文件的快捷键为 Ctrl+F7 。 4低功耗单片机适用于 野外或者需要长时间独立供电 场合。 二、选择题 1AT89S51是( A )公司的产品。 AAtmel BCypress CMaxim DFreescale 2AT89S51的程序存储器大小为( B )。 A128字节 B4k C8k D2k 3AT89S51的RAM存储器大小为( A )。 A128字节 B4k C8k D2k 4以下哪些不是Keil Vision3集成开发环境的特点( C )。 AW
15、indows界面风格 B支持汇编语言和C51语言 C支持桌面程序的开发 D丰富的仿真调试功能 三、简答题 1简述Keil Vision3集成开发环境的特点。 答:Keil Vision系列是一个非常优秀的编译器,受到广大单片机设计者的广泛使用。其主要特点如下: ? 具有Windows风格的可视化操作界面,界面友好,使用极为方便; ? 支持汇编语言、C51语言以及混合编程等多种方式的单片机设计; ? 集成了非常全面的单片机支持,能够完成51系列单片机以及和51系列兼容的绝大 部分类型单片机的程序设计和仿真; ? 集成了丰富的库函数,以及完善的编译连接工具; ? 提供了并口、串口、A/D、D/A、
16、定时器/计数器以及中断等资源的硬件仿真能力, 能够帮助用户模拟实际硬件的执行效果; ? 可以与多款外部仿真器联合使用,提供了强大的在线仿真调试能力; ? 内嵌RTX-51 Tiny和RTX-51 FULL内核,提供了简单而强大的实时多任务操作系 统支持; ? 在一个开发界面中支持多个项目的程序设计; ? 支持多级代码优化,最大限度地帮助用户精简代码体积; ? 由于Keil Vision具有最为广泛的用户群,因此相应的代码资源非常丰富,读者可 以轻松地找到各类编程资源以加速学习和开发过程。 ? 最新的ARM开发工具RealVIEW MDK依然采用Keil Vision3的开发环境和界面, 给用户
17、的升级带来极大的方便。 2简述单片机选型的注意事项。 答:一般来说,在进行单片机选型时应注意如下几点: ? 综合考虑整个产品的功能需求,如果各项参数指标满足的情况下,尽量选取外部资 源丰富的单片机型号。这样,一方面可以减少外部扩展芯片的投入并减少电路板的面积,另一方面可以减少程序开发调试的难度,便于统一管理。 ? 认真估计代码工作量,选择合理的RAM、ROM或者Flash资源。如果选择不当, 将会发生最终代码超过单片机程序存储器的容量,需要重新选型的麻烦。 ? 对于一个试验性的电路,尽量选型双列直插(DIP封装)的单片机,这样便于手工 焊接电路和调试,而不用投资去加工印刷电路板。 ? 对于一个
18、最终的产品,尽量选择贴片封装的单片机,这样,一方面可以减少电路板 的面积,降低硬件成本,另一方面也可以也可以获得更好的电磁兼容性。 ? 考虑产品最终应用的场合,如果是野外或者需要长时间独立供电的场合,则需要尽 量选择低功耗的单片机。 ? 认真考察单片机开发的成本以及编程器和仿真器的选择。在有条件的情况下,应尽 量选择带仿真功能的开发工具,这样可以减少调试的时间。如果条件有限,则应该选择程序下载接口简单的器件,这样可以减少编程器的投资。 ? 应尽可能了解目前市场上各类主流单片机的情况,做好充足的市场调研工作。目前 一些常用的单片机厂商如下:Atmel、Cypress、Infineon、Maxim
19、、Silicon、NXP、Winbond、Analog Devices、TI、Freescale、Renesas等。 3简述一些主流的单片机厂商的主要单片机型号和特点。 答: 1.Atmel单片机介绍 Atmel公司的产品非常丰富,除了基本的51系列单片机外,还包括针对不同设计领域的专用51内核单片机。Atmel公司的51内核单片机有如下几类。 ? 单周期8051内核单片机。这类单片机具有单周期8051内核,Flash ISP在系统编程调试,片内集成了SPI、UART、模拟比较器、PWM及内部RC振荡器等资源。主要有AT89LP213、AT89LP214、AT89LP216、AT89LP2052、AT89LP4052等。 8 / 8