单片机原理与应用-20181223(30页).doc
-第一章习题1.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) 十六进制数93的二进制数是_。答案(A)A.10010011BB.00100011BC.11000011BD.01110011B(7) 二进制数11000011的十六进制数是_。答案(B)A.B3HB.C3HC.D3HD.E3H(8) 二进制数11001011的十进制无符号数是_。答案(B)A.213B.203C.223D.233(9) 二进制数11001011的十进制有符号数是_。答案(B)A.73B.-75C.-93D.75(10)十进制数29的8421BCD压缩码是_。答案(A)A.00101001BB.10101001BC.11100001BD.10011100B(11)十进制数-36在8位微机中的反码和补码是_。答案(D)A. 00100100B、11011100BB.00100100B、11011011BC.10100100B、11011011BD.11011011B、11011100B(12)十进制数+27在8位微机中的反码和补码分别是_。答案(C)A.00011011B、11100100BB.11100100B、11100101BC.00011011B、00011011BD.00011011B、11100101B(13) 字符9的ASCII码是_。答案(D)A.0011001BB.0101001BC.1001001BD.0111001B(14) ASCII码1111111B的对应字符是_。答案(C)A.SPACE B.P C.DEL D.(15)或逻辑的表达式是_。答案(B)A.A*B=F B.A+B=F C.AB=F D.(AB) =F(16)异或逻辑的表达式是_。答案(C)A.A*B=F B.A+B=F C.AB=F D.(AB) =F(17)二进制数10101010B与00000000B的“与”、“或”和“异或”结果是_。答案(B)A.10101010B、10101010B、00000000BB.00000000B、10101010B、10101010BC.00000000B、10101010B、00000000BD.10101010B、00000000B、10101010B(18)二进制数11101110B与01110111B的“与”、“或”和“异或”结果是_。答案(D)A.01100110B、10011001B、11111111BB.11111111B、10011001B、01100110BC.01100110B、01110111B、10011001BD.01100110B、11111111B、10011001B(19)下列集成门电路中具有与门功能的是_。答案(D)A.74LS32 B.74LS06 C.74LS10 D.74LS08(20)下列集成门电路中具有非门功能的是_。答案(B)A.74LS32 B.74LS06 C.74LS10 D.74LS08(21) Proteus软件由以下两个设计平台组成_。答案(C)A.ISIS和PPT B.ARES和CAD C.ISIS和ARES D.ISIS和CAD(22) ISIS模块的主要功能是_。答案(A)A.电路原理图设计与仿真B.高级布线和编辑C.图像处理D.C51源程序调试(23) ARES模块的主要功能是_。答案(B)A.电路原理图设计与仿真B.高级布线和编辑C.ISIS和ERASD.ISIS和CAD(24)家用电器如冰箱、空调、洗衣机中使用的单片机主要是利用了它的_能力。答案(D)A.高速运算 B.海量存储 C.远程通信 D.测量控制1.2 问答思考题(1)什么是单片机?单片机与通用微机相比有何特点? 提示单片机是在一块半导体硅片上集成了计算机基本功能部件的微型计算机。两者的比较:(1) 通用微机的CPU主要面向数据处理,其发展主要围绕数据处理功能、计算速度和精度的提高。单片机主要面向控制,数据类型、计算速度和精度都相对低一些;(2) 通用微机中存储器组织结构主要针对增大存储容量和CPU对数据的存取速度。单片机中存储器的组织结构比较简单,寻址空间一般都为64 KB;(3) 通用微机中I/O接口主要面向标准外设(如显示器、键盘、鼠标、打印机等)。单片机的I/O接口是面向用户的特定电路,需要用户掌握接口电路设计技术。(2) 单片机的发展有哪几个阶段?它今后的发展趋势是什么? 提示1、单片微型计算机阶段,即SCM,代表性产品是Intel公司的8位MCS-51系列单片机;2、微控制器阶段,即MCU,代表性产品是基于51内核的微控制器系列产品;片上系统(或系统级芯片)阶段,即SoC,代表性产品有各类专用的SoC器件。单片机总的发展趋势是多功能、高速度、低功耗、高性价比、强I/O功能及结构兼容。(3) 举例说明单片机的主要应用领域。 提示主要应用于领域:1、工业自动化控制,如过程控制器、机器人模块、物流计量模块、机电一体化控制系统等;2、智能仪器仪表,如温度仪表、流量仪表、分析仪器、医疗仪器、智能传感器等;3、通信设备,如路由器、标准键盘、打印机、传真机、复印机等;4、汽车电子与航空电子系统,如动力监测系统、自动驾驭系统、运行监视器(黑匣子)等;5、家用电器,如空调、冰箱、洗衣机、微波炉、电视机、音响、电子玩具等。(4)在众多单片机类型中,8位单片机为何不会过时,还占据着单片机应用的主导地位? 提示51单片机技术成熟、价格低廉,可以满足许多简单工况的应用要求;基于51单片机内核发展的8位高性能单片机已弥补了51单片机的性能不足,并已占有相当的市场份额;51单片机涉及微机原理、电工电路、软件编程等许多技术基础,主流微控制器产品也大都与51机保持兼容,非常适合初学者作为计算机入门知识。综上所述,由于8位单片机在学习和应用方面的独特地位,目前仍然不会过时淘汰。(5)掌握单片机原理及应用技术要注意哪些学习方法? 提示单片机是一门课程,与学习其他课程的基本方法是一样的,就是要理解,并做到在理解基础上记忆。单片机更是一门技术,实践环节尤其重要。只有通过实践才能展现单片机的价值、体会到单片机的精髓、激发起学好这门课程的动力。此外,还要养成课前预习 、课后复习 、勤做练习 的良好学习习惯。(6)单片机技术开发的主力军为何是有工程专业背景的技术人员而非计算机专业人员? 提示单片机技术门槛较低,是一种适合大众掌握的先进技术。学习单片机只需要具备基本的电子基础和初中以上文化程度即可参与其中。另外,单片机开发有较强的应用专业背景要求,不懂被控对象的特殊要求,就不可能开发出紧密结合需求的单片机产品。基于上述原因,工程技术人员是单片机技术开发的主力军。(7)学习单片机原理及应用技术需要哪些必要的基础知识? 提示C语言、电子技术基础等(8)二进制数的位与字节是什么关系?51单片机的字长是多少? 提示位即bit,是二进制数中的1位,也是计算机数据存储的最小单位。1个二进制位只可以表示0和1两种状态。字节,即Byte,由8个二进制位构成(1Byte=8bit)。字节是计算机数据处理的基本单位。字,即Word,是计算机一次存取和传送的数据长度,不同计算机的字的长度是不同的,51单片机的字长是8位。(9)简述数字逻辑中的与、或、非、异或的运算规律。 提示运算规律如下:与运算,全1为1其余为0;或运算,全0为0其余为1;非运算,逐位取反;异或运算,相同为0相异为1。(10)Proteus仿真软件为何对学习单片机原理及应用具有重要价值? 提示单片机学习中应特别强调的是理论与实践相结合的方法,然而实验器材的限制常常很难使每个学习者都得到充分的练习机会。近年来出现的单片机仿真设计软件Proteus已经克服这种限制。Proteus不仅可以作为单片机应用的重要开发工具,也可以充当一种非常高效的辅助教学手段。用户只需在PC上即可获得接近全真环境下的单片机技能培训,为学习者提供了极大的便利。(11) Proteus ISIS的工作界面中包含哪几个窗口?菜单栏中包含哪几个选项? 提示参考图1.2,列出图中标出的3个主要窗口,3个主要工具栏和菜单栏的12个选项。(12)利用ISIS模块开发单片机系统需要经过哪几个主要步骤? 提示开发过程是:1、启动ISIS,绘制电路原理图,保存为*.dsn文件;2、输入单片机汇编程序,保存为*.asm文件;3、进行源文件编译,排除语法错误后保存为*.hex文件;4、单步或断点仿真调试,排除逻辑错误后形成最终*.hex文件;5、连续仿真运行。(13) 何谓PCB?利用Proteus ARES模块进行PCB设计需要经过哪几个主要步骤? 提示PCB是印刷电路板Printed circuit board的英文缩写,它是以绝缘板为基材,切成一定尺寸,其上附有用电子印刷术制成的导电图形和孔眼(如元件孔、紧固孔、金属化孔等)的电子元器件安装底板。利用ARES模块进行PCB设计可以从元器件布局、布线、覆铜、形成光绘文件等方面进行考虑。第二章习题2.1 单项选择题(1) 下列关于程序计数器PC的描述中_是错误的。 答案(C)A.PC不属于特殊功能寄存器B.PC中的计数值可被编程指令修改C.PC可寻址64KB RAM空间D.PC中存放着下一条指令的首地址(2) MCS-51单片机的复位信号是_有效。 答案(D)A.下降沿B.上升沿C.低电平D.高电平(3) 以下选项中第_项不是80C51单片机的基本配置。答案(A)A.定时/计数器T2B.128B片内RAMC.4KB片内ROMD.全双工异步串行口(4) 单片机中的CPU主要由_两部分组成。答案(B)A.运算器和寄存器B.运算器和控制器C.运算器和译码器D.运算器和计数器(5) 在51单片机的下列特殊功能寄存器中,具有16位字长的是_。答案(D)A.PCONB.TCONC.SCOND.DPTR(6) 80C51单片机的ALE引脚是_引脚。答案(A)A.地址锁存使能输出端B.外部程序存储器地址允许输入端C.串行通信口输出端D.复位信号输入端(7) 80C51单片机的存储器为哈佛结构,其内包括_。答案(A)A.4个物理空间或3个逻辑空间B.4个物理空间或4个逻辑空间C.3个物理空间或4个逻辑空间D.3个物理空间或3个逻辑空间(8) 在通用I/O方式下,欲从P1口读取引脚电平前应当_。答案(B)A.先向P1口写0B.先向P1口写1C.先使中断标志清零D.先开中断(9) 程序状态字寄存器中反映进位(或借位)状态的标志位符号是_。答案(A)A.CYB.F0C.OVD.AC(10)单片机中的程序计数器PC用来_。答案(C)A.存放指令B.存放正在执行的指令地址C.存放下一条指令的地址D.存放上一条指令的地址(11)单片机上电复位后,PC的内容和SP的内容为_。答案(B)A.0000H,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.1B.07HC.FFHD.0(15)单片机80C51的XTAL1和XTAL2引脚是_。答案(D)A.外接定时器B.外接串行口C.外接中断D.外接晶振(16)80C51单片机的VSS(20)引脚是_。答案(B)A.主电源+5VB.接地C.备用电源D.访问片外存储器(17)80C51单片机的P0P3端口中具有第二功能的端口是_。答案(D)A.P0B.P1C.P2D.P3(18)80C51单片机的/EA引脚接+5V时,程序计数器PC的有效地址范围是(假设系统没有外接ROM)_。答案(D)A.1000HFFFFHB.0000HFFFFHC.0001H0FFFHD.0000H0FFFH(19)当程序状态字寄存器PSW中的R0和R1分别为0和1时,系统选用的工作寄存器组为_。答案(B)A.组0B.组1C.组2D.组3(20)80C51单片机的内部RAM中具有位地址的字节地址范围是_。答案(B)A.01FHB.20H2FHC.30H5FHD.60H7FH(21) 若80C51单片机的机器周期为12微秒,则其晶振频率为_MHz。答案(A)A.1B.2C.6D.12(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)PSW=18H时,则当前工作寄存器是_。答案(D)A.第0组B.第1组C.第2组D.第3组第二章习题2.2 问答思考题(1)51单片机内部结构由哪些基本部件组成?各有什么功能? 提示从图2.1的内部图框中可得到各基本部件的名称,其中CPU具有解释指令、执行操作、控制时序和处理数据等功能;ROM主要用于存放程序代码及程序中用到的常数;RAM主要用于存放中间运算结果、数据暂存和标志位等信息;定时/计数器可实现定时控制、脉冲计数和波特率发生器功能;可编程I/O口可以实现单片机与外部设备间的数据与信息传输功能;可编程串行口具有单片机与外部串行设备间的数据的收发功能;时钟振荡器具有产生单片机各系统所必需的时钟信号的功能。(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单片机在没接外部存储器时,ALE引脚上输出的脉冲频率是多少? 提示 6分频(5)计算机存储器地址空间有哪几种结构形式?51单片机属于哪种结构形式? 提示普林斯顿结构是一种将程序指令存储器和数据存储器合并在一起的存储器结构,即ROM和RAM位于同一存储空间的不同物理位置处。哈佛结构是一种将程序指令存储器和数据存储器分开设置的存储器结构,即ROM和RAM位于不同的存储空间。51系列单片机属于这种结构。(6)如何认识80C51存储空间在物理结构上可划分为4个空间,而在逻辑上又可划分为3个空间? 提示51系列单片机共有4个存储空间,即片内ROM、片外ROM、片内RAM和片外RAM。由于片内、片外程序存储器是统一编址的,因此从逻辑地址来看只有3个存储器空间,即ROM、片内RAM和片外RAM。(7)80C51片内低128B RAM区按功能可分为哪几个组成部分?各部分的主要特点是什么? 提示可分为3个组成部分:地址00H1FH的32个数据存储单元可作为工作寄存器使用。这32个单元又分为4组,每组8个单元,按序命名为通用寄存器R0R7;地址为20H2FH的16字节单元,既可以像普通RAM单元按字节地址进行存取,又可以按位进行存取。这16字节共有128个二进制位,位地址为00H7FH;地址为30H7FH的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使用,但却只能采用寄存器间接寻址方式访问。(10)什么是复位?单片机复位方式有哪几种?复位条件是什么? 提示单片机在开机和死机时需要复位,以便使各功能部件处于一个确定的初始状态开始工作。复位可以由两种方式产生,即上电复位方式和按键复位方式。复位的条件是,在RST引脚端出现满足复位时间要求的高电平状态,该时间等于系统时钟振荡周期建立时间再加2个机器周期时间(一般不小于10ms)。(11) 什么是时钟周期和指令周期?当振荡频率为12MHz时,一个机器周期为多少微秒? 提示晶振或外加振荡源的振荡周期称为时钟周期,执行一条指令所需要的时间称为指令周期。振荡频率为12MHz时,一个机器周期为1微秒。(12)简述负边沿D触发器的输入端、时钟端和输出端之间的时序关系,解释D触发器的导通、隔离、锁存功能的实现原理。 提示当时钟端为脉冲下降沿之前时,输入端和输出端之间是断开的,此时两者间为隔离状态;当时钟端为脉冲下降沿时,输入端和输出端之间是导通的,输出端跟随输入端变化;当时钟端为脉冲下降沿之后时,输入端和输出端之间又是断开的,此时输出端的状态不会随输入端变化,即为锁存状态。(13)如何理解单片机I/O端口与特殊功能寄存器P0P3的关系? 提示I/O端口P0P3对应于并行I/O口的单元电路,特殊功能寄存器P0P3则可视为并行I/O口中的4个8位的D触发器。(14) 如何理解通用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接通,这样内部“地址/数据”端的电平便可传输到引脚P0.n上。与经由锁存器输出的通用I/O口方式不同,这种方式称为地址/数据分时复用方式。不过要使传输到P0.n上的地址和数据信息分开还需要地址/数据锁存接口电路的配合才行。第三章习题3.1 单项选择题(1) 指令中包含“Ri”或“DPTR”形式操作数的寻址方式称为寄存器_。 答案(B)A.变址寻址B.间接寻址C.直接寻址D.立即寻址(2) 能实现“先将操作数减1,若结果仍不为零则转移到目标地址”功能的汇编操作码是_。 答案(A)A.DJNZB.CJNEC.LJMPD.MOVX(3) 已知P0 = #23H,执行下列第_项指令后可使其第3位置1。答案(C)A.ADDP0,#34HB.ANLP0,#3BHC.ORLP0, #3BHD.MOVP0,#34H(4) 下列指令中,能访问外部数据存储器的正确指令为_。答案(D)A.MOVA,DPTRB.MOVXA,RiC.MOVCA,A+DPTRD.MOVXA,Ri(5) 80C51汇编语言指令格式中,唯一不可缺少的部分是_。答案(B)A.标号B.操作码C.操作数D.注释(6) 下列完成80C51片内RAM数据传送的指令是_。答案(C)A.A.MOVXA,DPTRB.MOVCA,A+PCC.MOVA,RiD.JMPA+DPTR(7)80C51的立即寻址的指令中,立即数就是_。答案(B)A.放在寄存器R0中的内容B.放在指令中的常数C.放在A中的内容D.放在B中的内容(8) 指令JB 0E0H,LP 中的0E0H是指_。答案(C)A.累加器AB.累加器A的最高位C.累加器A的最低位D.一个字节地址(9) 下列指令中条件转移指令是指_。答案(C)A.AJMPaddr11B.SJMPrelC.JNZrelD.LJMPaddr16(10)80C51指令MOV R0,20H中的20H是指_。答案(B)A.立即数B.内部RAM中的字节地址C.内部RAM中的位地址D.内部ROM中的字节地址(11)在80C51指令中,下列指令_是无条件转移指令。答案(C)A.LCALLaddr16B.DJNZdirect,relC.SJMPrelD.ACALLaddr11(12)设A=0AFH,(20H)=81H,指令ADDC A,20H执行后的结果是_。答案(B)A.A=81HB.A=30HC.A=0AFHD.A=20H(13) 已知A=0DBH,R4=73H,CY=1,指令SUBB A,R4执行后的结果是_。答案(C)A.A=73HB.A=0DBHC.A=67HD.A=68H(14) 下列指令判断若累加器A的内容不为0就转LP的是_。答案(B)A.JBA,LPB.JNZA,LPC.JZLPD.DJNZA,#0,LP(15)设累加器A中为小于等于7FH的无符号数,B中数为2,下列指令中_的作用与其他几条不同。答案(D)A.ADDA,0E0HB.MULABC.RLAD.RLCA(16)能将A的内容向左循环一位,第7位进第0位的指令是_。答案(A)A.RLCAB.RRCAC.RLAD.RRA(17)将内部数据存储器53H单元的内容传送到累加器A,其指令是_。答案(A)A.MOVA,53HB.MOVA,#53HC.MOVCA,53HD.MOVXA,#53H(18)LJMP跳转空间最大可达_。答案(D)A.2KBB.256BC.128BD.64KB(19)在编程中适当采用伪指令的目的是指示和引导_。答案(B)A.如何进行手工汇编B.编译程序如何汇编C.源程序如何进行编辑D.程序员如何进行编程(20)欲将P1口的高4位保留不变,低4位取反,可用指令是_。答案(C)A.ANLP1,#0F0HB.ORLP1,#0FHC.XRLP1,#0FHD.MOVP1,#0FH(21) 访问片外数据存储器的寻址方式是_。答案(C)A.立即寻址B.寄存器寻址C.寄存器间接寻址D.直接寻址第三章习题3.2 问答思考题(1)什么是汇编语言和汇编程序?汇编程序需要进行什么预处理才能被单片机执行? 提示采用约定的英文助记符代替机器码进行编程的计算机语言称为汇编语言,由汇编语言规则编写的程序称为汇编程序。由于单片机不能直接执行汇编程序,必须通过汇编系统软件将其“翻译”成机器码并形成执行文件才能运行,这个“翻译”过程称为汇编程序的编译。(2) 什么是指令?汇编语言指令一般格式中包含了哪些区段?各区段间的分隔符规则是什么? 提示所谓指令就是指挥计算机运行的命令。一条汇编语言指令中最多包含4个区段,其中标号区段是当前指令行的符号地址,由英文字母开头的16个字符组成,不区分大小写,以英文冒号结尾;操作码区段是指令的操作行为,由操作码助记符表征,它们由25个英文字符组成,不区分大小写;操作数区段是指令的操作对象,操作数可以是03个,大于1个时,操作数之间要用英文逗号隔开;注释区段是对指令的解释性说明,可以用任何文字描述,以英文分号开始,无须结束符号。(3) 汇编语言中,如何区分十六进制地址、立即数和标识符? 提示标识符由英文字母开头的16个字符组成,例如EAH,C6A等;16进制地址由字符09和AF表示,若最高位为AF时应加前缀“0”以区别于标识符,例如0EAH,5AH等;立即数需加前缀“#”以区别于地址,例如#0EAH,#5AH等。(4)51单片机指令系统共有多少条指令?按照基本功能可划分为哪几大类? 提示MCS-51单片机指令系统共有111条指令,按照基本功能可划分为4大类,即数据传送与交换类、算术运算类、逻辑运算及移位类和控制转移类(或将分散于上述4类之中的位操作类指令汇总作为第5大类指令)。(5)51单片机的PSW程序状态字中没有判零标志,怎样判断某片内RAM单元的内容是否为零? 提示利用条件转移指令中JZ对累加器A的判零间接实现(6)子程序调用指令里,ACALL和LCALL的差异在哪里?选用时应考虑哪些因素? 提示ACALL指令的操作数是addr11,子程序可放在距当前指令2KB的范围内,而LCALL指令的操作数是addr16,子程序可放在距当前指令64KB的范围内。选用前者(双字节指令)有利于缩短代码长度,选用后者(三字节指令)可提高程序布局的灵活性。(7)根据第3章实例9,简述实现大于、等于和小于三种条件转移的汇编语言编程思路。 提示先利用CJNE判断双方是否相等,再利用JC判断C标志的状态。(8)根据第3章实例12,简述利用累加器A将并行数据转为串行数据的汇编语言编程思路。 提示先利用RLC带进位循环指令将字节数据转为C中的位数据,再利用MOV位传送指令将C传送到I/O端口输出。(9)根据第3章实例13,简述程序中所用伪指令起到的作用。 提示指定程序编译后代码的ROM存放首地址,用自定义的标识符参与编程可实现一处修改全部程序有效的要求。(10)51单片机有哪几种寻址方式?分别适用于什么地址空间? 提示51单片机共有7种寻址方法,其中直接寻址范围是片内RAM低128字节单元和除A、B、C、DPTR外的其他SFR;寄存器寻址范围是通用寄存器Rn和SFR中的A、B(仅限于乘除法)、CY和DPTR;寄存器间接寻址范围是R0、R1和DPTR;立即寻址范围是#data或#data16的立即数;变址寻址范围是A+DPTR或A+ PC;位寻址范围是片内RAM(含SFR)中的位地址单元;相对寻址范围是以当前地址与偏移量rel合成后的地址单元。(11) 汇总汇编指令分类中各大类指令的操作码助记符。 提示各类指令操作码助记符如下: 数据传送与交换类指令(8种),即MOV,MOVX,MOVC,XCH,XCHD,SWAP,PUSH和POP; 算术运算类指令(8种),即ADD,ADDC,SUBB,INC,DEC,MUL,DIV和DA; 逻辑运算及移位类指令(10种),即ANL,ORL,XRL,SETB,CLR,CPL,RL,RR,RLC和RRC; 控制转移类指令(18种),即AJMP,SJMP,LJMP,JMP,ACALL,LCALL,RET,RETI,JZ,JNZ,CJNE,DJNZ,JC,JNC,JB,JNB,JBC和NOP。(12)伪指令与汇编指令有何区别?写出至少五种常用的伪指令名称。 提示伪指令又称汇编系统控制译码指令或指示性指令,仅仅用于指示汇编系统软件要完成的操作,故一般不产生机器代码,汇编指令又称为硬指令,编译后将产生机器码。(13)简述汇编程序的主要设计步骤。 提示1分析问题,确定算法或解题思路;2通过画流程图表示程序的执行过程或程序的结构;3分别编写各个模块程序,然后汇总成完整程序;4进行语法错误和逻辑错误的调试和修改,直至问题完全排除。(14)简述利用Proteus进行汇编程序的仿真开发过程。 提示电路原理图设计汇编程序设计汇编程序编译仿真运行调试第四章习题4.1 单项选择题(1) C51数据类型中关键词“sfr”用于定义_。 答案(D)A.指针变量B.字符型变量C.无符号变量D.特殊功能寄存器变量(2) 已知共阴极LED数码显示管中,a笔段对应于字模的最低位。若需显示字符H,则它的字模应为_。 答案(A)A.0x76B.0x7fC.0x80D.0xf6(3) 为了实现keil与Proteus的联合仿真运行,需要_。答案(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.运行(5) 在下图的Proteus ISIS绘图工具条中,包含有电源端子“POWER”的按钮是左数的_。答案(D)A.第2个B.第6个C.第7个D.第8个(6) Keil开发C51程序的主要步骤是:建立工程、_、形成hex文件、运行调试 。答案(A)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 xdata aa;(8) 以下选项中合法的C51变量名是_。答案(C)A.xdataB.sbitC.startD.interrupt(9) 51单片机能直接运行的文件格式是_。答案(C)A.*.asmB.*.cC.*.hexD.*.txt(10)LED数码管用作动态显示时需要_。答案(B)A.将各位数码管的位码线并联起来B.将各位数码管的位码线串联起来C.将各位数码管的相同段码线并联起来D.将各位数码管的相同段码(11)若某LED数码管显示字符“2”的字模是0x5b,则可以判断该系统用的是_。答案(A)A.共阴极数码管B.共阳极数码管C.动态显示原理D.静态显示原理(12)C51数据类型中关键词“bit”用于定义_。答案(A)A.位变量B.字节变量C.无符号变量D.特殊功能寄存器变量(13) 已知P0口第0位的位地址是0x90,将其定义为位变量P1_0的正确命令是_。答案(B)A.bit P1_0 = 0x90;B.sbit P1_0 = 0x90;C.sfr P1_0 = 0x90;D.sfr16 P1_0 = 0x90;(14) 将bmp定义为片内RAM区的有符号字符型变量的正确写法是_。答案(A)A.char data bmp;B.signed char xdata bmp;C.extern signed char data bmp;D.unsigned char xdata bmp;(15)设编译模式为SMALL,将csk定义为片内RAM区的无符号字符型变量的正确写法是_。答案(B)A.A. char data csk;B.unsigned char csk;C.extern signed char data csk;D.unsigned char xdata csk;(16)下列关于LED数码管动态显示的描述中_是正确的。答案(C)A.一个并行口只接一个数码管,显示数据送入并行口后就不再需要CPU干预B.动态显示只能使用共阴极型数码管,不能使用共阳极型数码管C.一个并行口可并列接n个数码管,显示数据送入并行口后还需要CPU控制相应数码管导通D.动态显示具有占用CPU机时少,发光亮度稳定的特点(17)下列关于行列式键盘的描述中_是正确的。答案(B)A.每只按键独立接在一根I/O口线上,根据口线电平判断按键的闭合状态B.按键设置在跨接行线和列线的交叉点上,根据行线电平有无反转判断按键闭合状态C.行列式键盘的特点是无需CPU的控制,可以自行适应各种单片机的输入接口D.行列式键盘的特点是占用I/O口线较多,适合按键数量较少时的应用场合(18)下列关于按键消抖的描述中_是不正确的。答案(D)A.机械式按键在按下和释放瞬间会因弹簧开关变形而产生电压波动B.按键抖动会造成检测时按键状态不易确定的问题C.单片机编程时常用软件延时10ms的办法消除抖动影响D.按键抖动问题对晶振频率较高的单片机基本没有影响(19)下列关于C51与汇编语言混合编程的描述中_是不正确的。答案(B)A.C51可生成高效简洁的目标代码,简单应用场合下无需采用混合编程B.在C51中调用汇编程序的做法只适用于两种程序间无参数传递的应用场合C.在C51中嵌入汇编代码时需要对Keil编译器进行生成SRC文件的设置D.混合编程对涉及I/O口地址处理和中断向量地址安排等应用具有重要价值(20)在xdata存储区里定义一个指向char类型变量的指针变量px的下列语句中,_是正确的(默认为SMALL编译模式)。答案(A)A.char * xdata px;B.char xdata * px;C.char xdata * data px;D.char * px xdata;第四章习题4.2 问答思考题(1)C51与汇编语言相比有哪些优势?怎样实现两者的互补? 提示C51语言具有结构化语言特点和机器级控制能力,代码紧凑,效率可与汇编语言媲美。由于接近真实语言,程序的可读性强,易于调试维护,编程工作量小,产品开发周期短。C51语言与汇编指令无关,易于掌握。但对于有较高程序代码执行速度要求的场合,如I/O 接口