1、精品思考与练习题 11.1 单项选择题(1) 单片机又称为单片微计算机,最初的英文缩写是( D ) A.MCPB.CPUC.DPJD.SCM(2) Intel 公司的 MCS-51 系列单片机是( C )的单片机。A.1 位B.4 位C.8 位D.16 位(3) 单片机的特点里没有包括在内的是( C )A. 集成度高B.功耗低C.密封性强D.性价比高(4) 单片机的发展趋势中没有包括的是( B ) A.高性能B.高价格C.低功耗D.高性价比(5) 十进制数 56 的二进制数是( A )A.00111000BB.01011100BC.11000111BD.01010000B(6) 十六进制数 9
2、3 的二进制数是( A )A.10010011BB.00100011B C.11000011BD.01110011B(7) 二进制数 11000011 的十六进制数是( B )A. B3HB.C3HC.D3HD.E3H(8) 二进制数 11001011 的十进制无符号数是( B ) A. 213 B.203C.223D.233(9) 二进制数 11001011 的十进制有符号数是( B ) A. 73B.-75C.-93D.75(10) 十进制数 29 的 8421BCD 压缩码是( A )A.00101001BB.10101001BC.11100001BD.10011100B感谢下载载(11
3、) 十进制数-36 在 8 位微机中的反码和补码是( D ) A.00100100B、11011100BB.00100100B、11011011B C.10100100B、11011011BD.11011011B、11011100B(12) 十进制数+27 在 8 位微机中的反码和补码分别是( C ) A.00011011B、11100100B B.11100100B、11100101B C.00011011B、00011011B D.00011011B、11100101B(13) 字符 9 的 ASCII 码是( D )A.0011001BB.0101001BC.1001001BD.0111
4、001B(14) ASCII 码 1111111B 的对应字符是( C )A. SPACE B.PC.DELD.(15) 或逻辑的表达式是( B )A.AB=FB. A+B=FC. AB=FD.(AB)=F(16) 异或逻辑的表达式是( C )A.AB=FB. A+B=FC. AB=FD.(AB)=F(17)二进制数 10101010B 与 00000000B 的“与”、“或”和“异或”结果是 ( B )A.10101010B、10101010B、00000000BB.00000000B、10101010B、10101010BC.00000000B、10101010B、00000000BD.1
5、0101010B、00000000B、10101010B(18)二进制数 11101110B 与 01110111B 的“与”、“或”和“异或”结果是 ( D )A.01100110B、10011001B、11111111BB.11111111B、10011001B、01100110BC.01100110B、01110111B、10011001BD.01100110B、11111111B、10011001B(19) 下列集成门电路中具有与门功能的是( D ) A.74LS32B.74LS06C.74LS10D.74LS08(20) 列集成门电路中具有非门功能的是( B ) A.74LS32B.
6、74LS06C.74LS10D.74LS08(21) Proteus 软件由以下两个设计平台组成( C )A.ISIS 和 PPTB.ARES 和 CADC.ISIS 和 ARESD.ISIS 和 CAD(22) ISIS 模块的主要功能是( A )A电路原理图设计与仿真B. 高级布线和编辑C. 图像处理D.C51 源程序调试(23) ARES 模块的主要功能是( B ) A电路原理图设计与仿真B. 高级布线和编辑C. 图像处理&D.C51 源程序调试(24) 家用电器如冰箱、空调、洗衣机中使用的单片机主要是利用了它的( D ) A高速运算B. 海量存储C.远程通信D. 测量控制1.2 问答思
7、考题(1) 什么是单片机?单片机与通用微机相比有何特点?单片机是在一块半导体硅片上集成了计算机基本功能部件的微型计算机。两者的比较:(1) 通用微机的 CPU 主要面向数据处理,其发展主要围绕数据处理功能、计算速度和精度的提高。单片机主要面向控制,数据类型、计算速度和精度都相对低一些;(2) 通用微机中存储器组织结构主要针对增大存储容量和 CPU对数据的存取速度。单片机中存储器的组织结构比较简单,寻址空间一般都为64 KB;(3) 通用微机中 I/O 接口主要面向标准外设(如显示器、键盘、鼠标、打印机等)。单片机的 I/O 接口是面向用户的特定电路,需要用户掌握接口电路设计技术。(2) 单片机
8、的发展有哪几个阶段?它今后的发展趋势是什么?1、单片微型计算机阶段,即 SCM,代表性产品是 Intel 公司的 8 位 MCS-51 系列单片机;2、微控制器阶段,即 MCU,代表性产品是基于 51 内核的微控制器系列产品;片上系统(或系统级芯片)阶段,即 SoC,代表性产品有各类专用的 SoC 器件。单片机总的发展趋势是多功能、高速度、低功耗、高性价比、强 I/O 功能及结构兼容。(3) 举例说明单片机的主要应用领域。主要应用于领域:1、工业自动化控制,如过程控制器、机器人模块、物流计量模块、机电一体化控制系统等;2、智能仪器仪表,如温度仪表、流量仪表、分析仪器、医疗仪器、智能传感器等;3
9、、通信设备,如路由器、标准键盘、打印机、传真机、复印机等;4、汽车电子与航空电子系统,如动力监测系统、自动驾驭系统、运行监视器(黑匣子)等;5、家用电器,如空调、冰箱、洗衣机、微波炉、电视机、音响、电子玩具等。(4) 在众多单片机类型中,8 位单片机为何不会过时,还占据着单片机应用的主导地位?51 单片机技术成熟、价格低廉,可以满足许多简单工况的应用要求;基于51 单片机内核发展的 8 位高性能单片机已弥补了 51 单片机的性能不足,并已占有相当的市场份额;51 单片机涉及微机原理、电工电路、软件编程等许多技术基础,主流微控制器产品也大都与 51 机保持兼容,非常适合初学者作为计算机入门知识。
10、综上所述,由于 8 位单片机在学习和应用方面的独特地位,目前仍然不会过时淘汰。(5) 掌握单片机原理及应用技术要注意哪些学习方法?单片机是一门课程,与学习其他课程的基本方法是一样的,就是要理解,并做到在理解基础上记忆。单片机更是一门技术,实践环节尤其重要。只有通过实践才能展现单片机的价值、体会到单片机的精髓、激发起学好这门课程的动力。此外,还要养成课前预习 、课后复习 、勤做练习 的良好学习习惯。(6) 单片机技术开发的主力军为何是有工程专业背景的技术人员而非计算机专业人员?单片机技术门槛较低,是一种适合大众掌握的先进技术。学习单片机只需要具备基本的电子基础和初中以上文化程度即可参与其中。另外
11、,单片机开发有较强的应用专业背景要求,不懂被控对象的特殊要求,就不可能开发出紧密结合需求的单片机产品。基于上述原因,工程技术人员是单片机技术开发的主力军。(7) 学习单片机原理及应用技术需要哪些必要的基础知识? C 语言、电子技术基础等(8) 二进制数的位与字节是什么关系?51 单片机的字长是多少?位即 bit,是二进制数中的 1 位,也是计算机数据存储的最小单位。1 个二进制位只可以表示 0 和 1 两种状态。字节,即 Byte,由 8 个二进制位构成(1Byte=8bit)。字节是计算机数据处理的基本单位。字,即 Word,是计算机一次存取和传送的数据长度,不同计算机的字的长度是不同的,5
12、1 单片机的字长是 8 位。(9) 简述数字逻辑中的与、或、非、异或的运算规律。运算规律如下:与运算,全 1 为 1 其余为 0;或运算,全 0 为 0 其余为 1; 非运算,逐位取反;异或运算,相同为 0 相异为 1。(10) Proteus 仿真软件为何对学习单片机原理及应用具有重要价值?单片机学习中应特别强调的是理论与实践相结合的方法,然而实验器材的限制常常很难使每个学习者都得到充分的练习机会。近年来出现的单片机仿真设计软件Proteus 已经克服这种限制。Proteus 不仅可以作为单片机应用的重要开发工具,也可以充当一种非常高效的辅助教学手段。用户只需在 PC 上即可获得接近全真环境
13、下的单片机技能培训,为学习者提供了极大的便利。(11) Proteus ISIS 的工作界面中包含哪几个窗口?菜单栏中包含哪几个选项?参考图 1.2,列出图中标出的 3 个主要窗口,3 个主要工具栏和菜单栏的12个选项。(12) 利用 ISIS 模块开发单片机系统需要经过哪几个主要步骤?开发过程是:1、启动 ISIS,绘制电路原理图,保存为*.dsn 文件;2、输入单片机汇编程序,保存为*.asm 文件;3、进行源文件编译,排除语法错误后保存为*.hex 文件;4、单步或断点仿真调试,排除逻辑错误后形成最终*.hex 文件; 5、连续仿真运行。(13) 何谓 PCB?利用 Proteus AR
14、ES 模块进行 PCB 设计需要经过哪几个主要步骤?PCB 是印刷电路板 Printed circuit board 的英文缩写,它是以绝缘板为基材,切成一定尺寸,其上附有用电子印刷术制成的导电图形和孔眼(如元件孔、紧固孔、金属化孔等)的电子元器件安装底板。利用 ARES 模块进行 PCB 设计可以从元器件布局、布线、覆铜、形成光绘文件等方面进行考虑。思考与练习题 22.1 单项选择题(1) 下列关于程序计数器 PC 的描述中 C 是错误的。A. PC 不属于特殊功能寄存器BPC 中的计数值可被编程指令修改C. PC 可寻址 64KB RAM 空间DPC 中存放着下一条指令的首地址(2) MC
15、S-51 单片机的复位信号是 D 有效。A、下降沿B、上升沿C、低电平D、高电平(3) 以下选项中第 A 项不是 80C51 单片机的基本配置。A定时/计数器 T2B128B 片内 RAMC4KB 片内 ROMD全双工异步串行口(4) 单片机中的 CPU 主要由 B 两部分组成。A. 运算器和寄存器B运算器和控制器C运算器和译码器D运算器和计数器(5) 在 51 单片机的下列特殊功能寄存器中,具有 16 位字长的是 D 。APCONBTCONC SCONDDPTR(6)80C51 单片机的 ALE 引脚是 A 引脚。A地址锁存使能输出端B外部程序存储器地址允许输入端C串行通信口输出端D复位信号
16、输入端(7)80C51 单片机的存储器为哈佛结构,其内包括 A 。A4 个物理空间或 3 个逻辑空间B4 个物理空间或 4 个逻辑空间C3 个物理空间或 4 个逻辑空间D3 个物理空间或 3 个逻辑空间(8) 在通用 I/O 方式下,欲从 P1 口读取引脚电平前应当 B 。A. 先向 P1 口写 0B.先向 P1 口写 1C.先使中断标志清零D. 先开中断(9) 程序状态字寄存器中反映进位(或借位)状态的标志位符号是 A 。ACYB. F0C . OVD. AC(10) 单片机中的程序计数器 PC 用来 C 。A. 存放指令B.存放正在执行的指令地址C.存放下一条指令地址D.存放上一条指令地址
17、(11) 单片机上电复位后,PC 的内容和 SP 的内容为 B 。A0000H,00HB. 0000H,07HC . 0003H,07HD.0800H,08H(12)80C51 单片机要使用片内 RAM,/EA 引脚 D 。A. 必须接+5VB. 必须接地C . 必须悬空D. 没有限定(13) PSW 中的 RS1 和 RS0 用来 A 。A. 选择工作寄存器区号B.指示复位C.选择定时器D.选择中断方式(14) 上电复位后,PSW 的初始值为 D 。A.1 B. 07HC . FFHD. 0(15) 单片机 80C51 的 XTAL1 和 XTAL2 引脚是 D 引脚。A. 外接定时器B.外
18、接串行口C.外接中断D.外接晶振(16)80C51 单片机的 VSS(20)引脚是 B 引脚。A.主电源+5VB.接地C.备用电源D.访问片外存储器(17)80C51 单片机的 P0P3 端口中具有第二功能的端口是 D 。AP0B. P1C . P2D. P3(18)80C51 单片机的/EA 引脚接+5V 时,程序计数器 PC 的有效地址范围是(假设系统没有外接 ROM) D 。A.1000HFFFFHB.0000HFFFFHC.0001H0FFFH D.0000H0FFFH(19) 当程序状态字寄存器 PSW 中的 R0 和 R1 分别为 0 和 1 时,系统选用的工作寄存器组为 B 。A
19、.组 0B.组 1C.组 2D.组 3(20)80C51 单片机的内部 RAM 中具有位地址的字节地址范围是 B 。A01FHB. 20H2FHC .30H5FHD. 60H7FH(21) 若 80C51 单片机的机器周期为 12 微秒,则其晶振频率为_A_MHz。A1B2C6D12(22)80C51 单片机内部程序存储器容量为 C 。A.16KB.8KC.4KD.2K(23)80C51 单片机的复位功能引脚是 C 。 A.XTAL1B.XTAL2C.RSTD.ALE(24)80C51 内部反映程序运行状态或运算结果特征的寄存器是 B 。A. PCB. PSWC. AD.DPTR(25) PS
20、W=18H 时,则当前工作寄存器是 D 。A. 第 0 组B. 第 1 组C. 第 2 组D. 第 3 组2.2 问答思考题(1)51 单片机内部结构由哪些基本部件组成?各有什么功能?从图 2.1 的内部图框中可得到各基本部件的名称,其中 CPU 具有解释指令、执行操作、控制时序和处理数据等功能;ROM 主要用于存放程序代码及程序中用到的常数;RAM 主要用于存放中间运算结果、数据暂存和标志位等信息;定时/计数器可实现定时控制、脉冲计数和波特率发生器功能;可编程 I/O 口可以实现单片机与外部设备间的数据与信息传输功能;可编程串行口具有单片机与外部串行设备间的数据的收发功能;时钟振荡器具有产生
21、单片机各系统所必需的时钟信号的功能。(2)单片机的程序状态字寄存器 PSW 中各位的定义分别是什么? CY(PSW7)进位标志,AC(PSW6)辅助进位标志,F0(PSW5)用户标志位,RS1、RS0(PSW4、PSW3)工作寄存器组指针,OV(PSW2)溢出标志,F1(PSW1)用户标志位。(3)51 单片机引脚按功能可分为哪几类?各类中包含的引脚名称是什么?电源及晶振引脚(4 只)VCC、VSS、XTAL1、XTAL2;控制引脚(4 只)/PSEN,ALE、/EA、RST;并行 I/O 口引脚(32 只)P0.0P0.7、P1.0P1.7、P2.0P2.7、P3.0P3.7。(4)51 单
22、片机在没接外部存储器时,ALE 引脚上输出的脉冲频率是多少? 6 分频(5) 计算机存储器地址空间有哪几种结构形式?51 单片机属于哪种结构形式?普林斯顿结构是一种将程序指令存储器和数据存储器合并在一起的存储器结构,即 ROM 和 RAM 位于同一存储空间的不同物理位置处。哈佛结构是一种将程序指令存储器和数据存储器分开设置的存储器结构,即 ROM 和 RAM 位于不同的存储空间。51 系列单片机属于这种结构。(6) 如何认识 80C51 存储空间在物理结构上可划分为 4 个空间,而在逻辑上又可划分为 3 个空间?51 系列单片机共有 4 个存储空间,即片内 ROM、片外 ROM、片内 RAM
23、和片外 RAM。由于片内、片外程序存储器是统一编址的,因此从逻辑地址来看只有 3 个存储器空间,即 ROM、片内 RAM 和片外 RAM。(7)80C51 片内低 128B RAM 区按功能可分为哪几个组成部分?各部分的主要特点是什么?可分为 3 个组成部分:地址 00H1FH 的 32 个数据存储单元可作为工作寄存器使用。这 32 个单元又分为 4 组,每组 8 个单元,按序命名为通用寄存器R0R7;地址为 20H2FH 的 16 字节单元,既可以像普通 RAM 单元按字节地址进行存取,又可以按位进行存取。这 16 字节共有 128 个二进制位,位地址为 00H7FH;地址为 30H7FH
24、的 80 字节单元为用户 RAM 区,这个区只能按字节存取。在此区内用户可以设置堆栈区和存储中间数据。(8)80C51 片内高 128B RAM 区与低 128B RAM 区相比有何特点?高 128B RAM 区中仅有 21 个字节单元(称为特殊功能寄存器)可被用户使用,其余为系统保留单元用户不可用,而低 128 RAM 区的所有单元用户都可使用。(9)80C52 片内高 128B RAM 区与 80C51 片内高 128B RAM 区相比有何特点? 80C52 有两个并列的高 128B RAM 区,地址都是 80HFFH,其中一个作为特殊功能寄存器专用,另一个则可作为普通 RAM 使用,但却
25、只能采用寄存器间接寻址方式访问。(10) 什么是复位?单片机复位方式有哪几种?复位条件是什么?单片机在开机和死机时需要复位,以便使各功能部件处于一个确定的初始状态开始工作。复位可以由两种方式产生,即上电复位方式和按键复位方式。复位的条件是,在 RST 引脚端出现满足复位时间要求的高电平状态,该时间等于系统时钟振荡周期建立时间再加 2 个机器周期时间(一般不小于 10ms)。(11) 什么是时钟周期和指令周期?当振荡频率为 12MHz 时,一个机器周期为多少微秒?晶振或外加振荡源的振荡周期称为时钟周期,执行一条指令所需要的时间称为指令周期。振荡频率为 12MHz 时,一个机器周期为 1 微秒。(
26、12) 简述负边沿 D 触发器的输入端、时钟端和输出端之间的时序关系,解释D 触发器的导通、隔离、锁存功能的实现原理。当时钟端为脉冲下降沿之前时,输入端和输出端之间是断开的,此时两者间为隔离状态;当时钟端为脉冲下降沿时,输入端和输出端之间是导通的,输出端跟随输入端变化;当时钟端为脉冲下降沿之后时,输入端和输出端之间又是断开的,此时输出端的状态不会随输入端变化,即为锁存状态。(13) 如何理解单片机 I/O 端口与特殊功能寄存器 P0P3 的关系?I/O 端口 P0P3 对应于并行 I/O 口的单元电路,特殊功能寄存器 P0P3 则可视为并行 I/O 口中的 4 个 8 位的 D 触发器。(14
27、) 如何理解通用 I/O 口的准双向性?怎样确保读引脚所获信息的正确性? 无条件输出和有条件输入的I/O 口称为准双向I/O 口,读引脚前先写1 到I/O口可避免引脚内电位被钳制到 0(15)80C51 中哪个并行 I/O 口存在漏极开路问题?此时没有外接上拉电阻会有何问题?P0 口工作在通用 I/O 口方式时,上拉场效应管 V2 将处于截止状态,由此会产生漏极开路现象,此时若没有外接上拉电阻会造成 P0 口引脚的电平状态不确定。(16)P0 端口中的地址/数据复用功能是如何实现的?当希望利用 P0 口传输 CPU 地址和数据信息时,需要先使与门 A 解锁,同时使多路开关 MUX 与非门 X
28、接通,这样内部“地址/数据”端的电平便可传输到引脚 P0.n 上。与经由锁存器输出的通用 I/O 口方式不同,这种方式称为地址/ 数据分时复用方式。不过要使传输到 P0.n 上的地址和数据信息分开还需要地址/ 数据锁存接口电路的配合才行。4.1 单项选择题思考与练习题 4(1) C51 数据类型中关键词“sfr”用于定义 D 。A. 指针变量B字符型变量C无符号变量D特殊功能寄存器变量(2) 已知共阴极 LED 数码显示管中,a 笔段对应于字模的最低位。若需显示字符 H,则它的字模应为 A 。A. 0x76B. 0x7fC. 0x80D. 0xf6(3) 为了实现 keil 与 Proteus
29、 的联合仿真运行,需要 B 。A. 将 Keil 中形成的 hex 文件加载到 Proteus 中,然后在 Proteus 环境下进行运行B. 在 Keil 中形成 hex 文件,Proteus 中形成 dsn 文件,然后用 Keil 控制 Proteus 运行C. 在 Keil 中形成 hex 文件,Proteus 中形成 dsn 文件,然后用Proteus控制 Keil 运行D. 将 Proteus 中形成的 hex 文件和 dsn 文件同时打开,然后在 Keil 环境下进行运行(4) 在下图的 Keil 运行和调试工具条中,左数第二个图标的功能是 D 。A. 存盘B.编译C. 下载D.
30、运 行(5) 在下图的 Proteus ISIS 绘图工具条中,包含有电源端子“POWER”的按钮是左数的 D 。A. 第 2 个B.第 6 个C.第 7 个D.第 8 个(6) Keil 开发 C51 程序的主要步骤是:建立工程、 A 、形成 hex 文件、运行调试 。A. 输入源程序B保存为 asm 文件C指定工作目录D下载程序(7) 将 aa 定义为片外 RAM 区的无符号字符型变量的正确写法是 D 。A. unsigned char data aa;B.signed char xdata aa;C. extern signed char data aa;D. unsigned char
31、 xdata aa;(8) 以下选项中合法的 C51 变量名是 C 。A. xdataB.sbitC .startD.interrupt(9)51 单片机能直接运行的文件格式是 C 。A*.asmB.*.cC .*.hexD.*.txt(10) LED 数码管用作动态显示时,需要 C 。A. 将各位数码管的位码线并联起来B. 将各位数码管的位码线串联起来C. 将各位数码管的相同段码线并联起来D. 将各位数码管的相同段码线串联起来(11) 若某 LED 数码管显示字符“2”的字模是 0x5b,则可以判断该系统用的是 A 。A. 共阴极数码管B. 共阳极数码管C. 动态显示原理D. 静态显示原理(
32、12) C51 数据类型中关键词“bit”用于定义 A 。A. 位变量B字节变量C无符号变量D特殊功能寄存器变量(13) 已知 P0 口第 0 位的位地址是 0x90,将其定义为位变量 P1_0 的正确命令是 B 。Abit P1_0 = 0x90;Bsbit P1_0 = 0x90;Csfr P1_0 =0x90;Dsfr16 P1_0 = 0x90;(14) 将 bmp 定义为片内 RAM 区的有符号字符型变量的正确写法是 A 。A. char data bmp;B.signed char xdata bmp;C. externsigned char data bmp;D. unsigne
33、d char xdata bmp;(15) 设编译模式为 SMALL,将 csk 定义为片内 RAM 区的无符号字符型变量的正确写法是 B 。A. char data csk;B.unsigned char csk;C.extern signed char datacsk;D. unsigned char xdata csk;(16) 下列关于 LED 数码管动态显示的描述中 C 是正确的。A. 一个并行口只接一个数码管,显示数据送入并行口后就不再需要 CPU干预B. 动态显示只能使用共阴极型数码管,不能使用共阳极型数码管C. 一个并行口可并列接 n 个数码管,显示数据送入并行口后还需要 CP
34、U控制相应数码管导通D. 动态显示具有占用 CPU 机时少,发光亮度稳定的特点(17) 下列关于行列式键盘的描述中 B 是 正 确 的 。 A每只按键独立接在一根 I/O 口线上,根据口线电平判断按键的闭合状态B. 按键设置在跨接行线和列线的交叉点上,根据行线电平有无反转判断按键闭合状态C. 行列式键盘的特点是无需 CPU 的控制,可以自行适应各种单片机的输入接口D. 行列式键盘的特点是占用 I/O 口线较多,适合按键数量较少时的应用场合(18) 下列关于按键消抖的描述中 D 是 不 正 确 的 。 A机械式按键在按下和释放瞬间会因弹簧开关变形而产生电压波动B按键抖动会造成检测时按键状态不易确
35、定的问题 C单片机编程时常用软件延时 10ms 的办法消除抖动影响D按键抖动问题对晶振频率较高的单片机基本没有影响(19) 下列关于 C51 与汇编语言混合编程的描述中 B 是不正确的。AC51 可生成高效简洁的目标代码,简单应用场合下无需采用混合编程B在 C51 中调用汇编程序的做法只适用于两种程序间无参数传递的应用场合C在 C51 中嵌入汇编代码时需要对 Keil 编译器进行生成 SRC 文件的设置D混合编程对涉及 I/O 口地址处理和中断向量地址安排等应用具有重要价值(20) 在 xdata 存储区里定义一个指向 char 类型变量的指针变量 px 的下列语句中, A 是正确的(默认为
36、SMALL 编译模式)。A. char * xdata px;Bchar xdata * px;Cchar xdata * datapx;Dchar * px xdata;4.2 问答思考题(1) C51 与汇编语言相比有哪些优势?怎样实现两者的互补?C51 语言具有结构化语言特点和机器级控制能力,代码紧凑,效率可与汇编语言媲美。由于接近真实语言,程序的可读性强,易于调试维护,编程工作量小, 产品开发周期短。C51 语言与汇编指令无关,易于掌握。但对于有较高程序代码执行速度要求的场合,如 I/O 接口地址处理、中断向量地址安排,汇编语言仍有一定优势。可以采用在 C51 中调用汇编程序和在 C5
37、1 中嵌入汇编代码的方法实现两种语言优势互补。(2) 在 C51 中为何要尽量采用无符号的字节变量或位变量?这两种变量占用内存少,代码长度短,执行效率高。有符号的字节变量虽然也只占用 1 字节,但 CPU 需要进行额外的操作来测试代码的符号位,这会降低代码效率。使用浮点型的变量时,编译系统还将调用相应的库函数来保证运算精度,这会明显增加运算时间和代码长度。(3) 为了加快程序的运行速度,C51 中频繁操作的变量应定义在哪个存储区?由于片内存储器的数据传送多为单周期指令,而片外存储器多为双周期指令, CPU 处理前者数据的速度要快于后者,因此频繁操作的变量应尽量定义在片内存储器中,选择如 dat
38、a,bdata 或 idata 等存储类型的变量。(4) C51 的变量定义包含哪些要素?其中哪些是不能省略的?变量定义中包含着存储种类、数据类型、存储类型和变量名 4 项要素,其中数据类型和变量名在变量定义时是不能省略的,存储种类和存储类型在变量定义时可以采用相应缺省值。(5) C51 数据类型中的关键词 sbit 和 bit 都可用于位变量的声明,但二者有何不同之处?bit 型变量的位地址是由编译器为其随机分配的(定义时不能由用户指定),位地址是在片内 RAM 的可位寻址区(bdata 区)中;而 sbit 型变量的位地址则是由用户指定的,位地址是在可位寻址的 SFR 单元内(但利用 bd
39、ata 限定变量存储类型后,可将位地址范围扩大到 bdata 区)。(6) C51 中调用汇编语言程序需要解决的 3 个基本问题是什么?具体规则有哪些?程序的寻址问题通过在汇编文件中定义与 C51 同名的“函数”来实现的;参数传递问题通过使用指定的寄存器来实现的;返回值传递问题通过使用指定的寄存器来实现的。(7) C51 中嵌入汇编代码的具体做法是什么?有什么需要关注的地方?将嵌有汇编代码的 C51 源文件加入当前工程文件中;根据采用的编译模式,将相应的库文件加入当前工程文件中。此后便可采用一般编译方法进行程序编译。需要注意的是,汇编代码必须放在两条预处理命令#pragma asm 和#pra
40、gma endasm 之间,预处理命令必须用小写字母,汇编代码则大小写字母不限。(8) 集成开发环境 Vision3 的软件界面由哪些组成部分?简述创建一个 C51 程序的基本方法。软件界面包括 4 大组成部分:菜单工具栏(标准的 Windows 风格,共有 11个下拉菜单)、工程管理窗口(用于管理工程文件目录,由 5 个子窗口组成)、文件窗口(用于显示打开的程序文件,通过文件标签进行切换)和输出窗口(用于输出编译过程中的信息,由 3 个子窗口组成)。创建 C51 程序基本方法:1、打开工程文件窗口,保存为*.uv2 文件;2、选择一款 51 单片机,如 80C51BH;3、打开空白的文本框,
41、输入 C51 源程序,保存为*.c 文件;4、将*.c 文件添加到工程文件中;5、设置或核查工程配置选项; 6、编译当前工程文件,排除语法错误后保存为*.hex 文件;7、仿真调试 hex 文件,排除逻辑错误后结束创建工作。(9) 简述利用 Vision3 进行 C51 程序的调试方法。利用 Vision3 的 Debug 菜单和调试工具条可对 C51 程序进行调试。常用的方法有:复位、全速运行、暂停、单步、过程单步、执行完当前函数和运行到光标行。其中最基本的是单步运行与全速运行。全速运行是指一行程序执行完以后自动执行下一行程序,直至程序结束。由于程序运行的速度很快,可以看出程序的总体运行效果
42、。单步运行是每次执行一行程序,执行完该行程序以后即停止, 等待单步命令后再执行下一行程序,此时可以观察该行程序执行完以后的当前结果,借此可以找到程序中的问题所在。调试过程中还可通过信息窗口观察运行信息。常用的信息窗口有:命令窗口、反汇编窗口、符号窗口、寄存器窗口、堆栈窗口、观察窗口、存储器窗口、串行窗口、分析窗口等。此外,还可利用系统接口对话框直接观察定时器、中断、并行端口、串行端口的工作状态。(10) Proteus 和 Keil C 的联合使用有什么意义?使用这一组合的单片机仿真开发过程是什么?联合仿真的意义在于:单片机的软硬件系统可作为一个整体运行,利用Vision3 的程序调试功能可对
43、 ISIS 中的虚拟电路进行仿真测试。如果发现问题, 可立即在 ISIS 中进行电路修改或在 Vision3 中进行程序优化,然后再重新进行调试运行,直至达到所需要求。由于软硬件都能进行仿真检验,从而可加速单片机产品的开发过程。联合仿真法的开发过程是:1、启动 ISIS,绘制电路原理图,保存为*.dsn 文件; 2、启动 Vision3,创建 C51 源程序,保存为*.c 文件;3、进行源文件编译, 排除语法错误,保存为*.hex 文件;4、并列展开 ISIS 和 Vision3 窗口,在Vision3 中启动调试运行,排除逻辑错误后结束仿真过程。(11) 独立式按键的组成原理与编程思路是什么
44、?组成原理是,按键的一端接地,另一端与一个 I/O 口线连接。若按键接在P0 口需外接上拉电阻,而接在 P1P3 口无需要上拉电阻。编程思路是,当按键或开关闭合时,对应口线的电平就会发生反转,CPU 通过读端口电平即可识别是哪个按键或开关发生了闭合。(12) 七段 LED 数码管的工作原理是什么?简述数码管静态显示与动态显示的特点及实现方法。工作原理是,七段 LED 数码管由 7 个条形 LED 组成字符笔段,1 个圆形 LED作为小数点。其中所有 LED 阳极连接在一起作为公共端引脚,所有 LED 阴极单独接出作为段位引脚(共阳极数码管)。反之,共阴极数码管则相反。利用发光二极管正向连接时点
45、亮,反向连接时熄灭的特性,改变笔段的组合电平就能形成不同的字形。静态显示接口采用一个并行 I/O 口接一个七段数码管的段位引脚,公共端接地或Vcc。这种接法的优点是电路简单,数码管显示亮度稳定。但该方法占用 I/O 口资源较多。动态显示接口是将 n 个七段数码管的相同段码引脚并联起来接在一位 I/O 口线上,每个数码管的位码引脚则分别由一位 I/O 口线控制。动态显示接口的特点是占用 I/O 口资源较少,但占用 CPU 机时较多。静态显示采用 CPU 单独控制显示的做法,即将被显示字符的段码值送入相应 I/O 口的锁存器中就能使数码管恒定显示,每位显示字符的段码值只需 CPU 输出一次即可。动
46、态显示采用 CUP 分时控制显示的做法,即 CPU 需要轮流输出待显示字符串中某位字符的段码和位码,每一时刻只有一只数码管为显示状态其他数码管都为黑屏。当段码值和位码值的循环刷新速度很快时,由于视觉暂留特性,人眼不会感到显示值在闪烁,而是看到稳定显示的字符串。(13) 行列式键盘的组成原理与编程思路是什么?行列式键盘组成原理是:将 I/O 口分为行线和列线,按键设置在跨接行线和列线的交点上,列线通过上拉电阻接正电源。采用软件扫描查询法的编程原理是, 根据按键压下前后,所在行线的端口电平是否出现翻转,判断有无按键闭合动作。(14) 独立式键盘与行列式键盘的特点和不足是什么?独立式键盘的特点是电路简单,软件处理工作量小,但占用的I/O 口线较多。行列式键盘的特点是占用