文档库

最新最全的文档下载
当前位置:文档库 > 单片机原理及应用习题答案

单片机原理及应用习题答案

思考与练习题1

1.1单项选择题

(1)单片机又称为单片微计算机,最初的英文缩写是( D )

A.MCP

B.CPU

C.DPJ

D.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.00111000B

B.01011100B

C.11000111B

D.01010000B

(6)十六进制数93的二进制数是( A )

A.10010011B

B.00100011B

C.11000011B

D.01110011B

(7)二进制数11000011的十六进制数是( B )

A. B3H

B.C3H

C.D3H

D.E3H

(8)二进制数11001011的十进制无符号数是( B )

A. 213

B.203

C.223

D.233

(9)二进制数11001011的十进制有符号数是( B )

A. 73

B.-75

C.-93

D.75

(10)十进制数29的8421BCD压缩码是( A )

A.00101001B

B.10101001B

C.11100001B

D.10011100B

(11)十进制数-36在8位微机中的反码和补码是( D )

A.00100100B、11011100B

B.00100100B、11011011B

C.10100100B、11011011B

D.11011011B、11011100B

(12)十进制数+27在8位微机中的反码和补码分别是( C )

A.00011011B、11100100B

B.11100100B、11100101B

C.00011011B、00011011B

D.00011011B、11100101B

(13)字符9的ASCII码是( D )

A.0011001B

B.0101001B

C.1001001B

D.0111001B

(14)ASCII码1111111B的对应字符是( C )

A. SPACE

B.P

C.DEL

D.{

(15)或逻辑的表达式是( B )

A.A?B=F

B. A+B=F

C. A⊕B=F

D.(A?B)=F

(16)异或逻辑的表达式是( C )

A.A?B=F

B. A+B=F

C. A⊕B=F

D.(A?B)=F

(17)二进制数10101010B与00000000B的“与”、“或”和“异或”结果是( B ) A.10101010B、10101010B、00000000B B.00000000B、10101010B、10101010B C.00000000B、10101010B、00000000B D.10101010B、00000000B、10101010B (18)二进制数11101110B与01110111B的“与”、“或”和“异或”结果是( D ) A.01100110B、10011001B、11111111B B.11111111B、10011001B、01100110B C.01100110B、01110111B、10011001B D.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. 图像处理&

D.C51源程序调试

(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

2.1单项选择题

(1)下列关于程序计数器PC的描述中___C___是错误的。

A. PC不属于特殊功能寄存器B.PC中的计数值可被编程指令修改

C. PC可寻址64KB RAM空间D.PC中存放着下一条指令的首地址

(2)MCS-51单片机的复位信号是___D___有效。

A、下降沿

B、上升沿

C、低电平

D、高电平

(3)以下选项中第___A___项不是80C51单片机的基本配置。

A.定时/计数器T2 B.128B片内RAM

C.4KB片内ROM D.全双工异步串行口

(4)单片机中的CPU主要由___B___两部分组成。

A.运算器和寄存器B.运算器和控制器

C.运算器和译码器D.运算器和计数器

(5)在51单片机的下列特殊功能寄存器中,具有16位字长的是___D___。

A.PCON B.TCON C. SCON D.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口写0

B.先向P1口写1

C.先使中断标志清零

D.先开中断

(9)程序状态字寄存器中反映进位(或借位)状态的标志位符号是___A___。

A.CY B. F0 C . OV D. AC

(10)单片机中的程序计数器PC用来___C___。

A.存放指令

B.存放正在执行的指令地址

C.存放下一条指令地址

D.存放上一条指令地址

(11)单片机上电复位后,PC的内容和SP的内容为___B___。

A.0000H,00H B. 0000H,07H C . 0003H,07H D. 0800H,08H

(12)80C51单片机要使用片内RAM,/EA引脚___D___。

A.必须接+5V B. 必须接地 C . 必须悬空 D. 没有限定

(13)PSW中的RS1和RS0用来___A___。

A.选择工作寄存器区号

B.指示复位

C.选择定时器

D.选择

中断方式

(14)上电复位后,PSW的初始值为___D___。

A.1 B. 07H C . FFH D. 0

(15)单片机80C51的XTAL1和XTAL2引脚是___D___引脚。

A.外接定时器

B.外接串行口

C.外接中断

D.外接晶

(20)引脚是___B___引脚。

(16)80C51单片机的V

SS

A.主电源+5V

B.接地

C.备用电源

D.访问片外存储器(17)80C51单片机的P0~P3端口中具有第二功能的端口是___D___。

A.P0 B. P1 C . P2 D. P3

(18)80C51单片机的/EA引脚接+5V时,程序计数器PC的有效地址范围是(假设系统没有外接ROM)___D___。

A.1000H~FFFFH

B.0000H~FFFFH

C.0001H~0FFFH

D.0000H~0FFFH

(19)当程序状态字寄存器PSW中的R0和R1分别为0和1时,系统选用的工作寄存器组为___B___。

A.组0

B.组1

C.组2

D.组3

(20)80C51单片机的内部RAM中具有位地址的字节地址范围是___B___。

A.0~1FH B. 20H~2FH C .30H~5FH D. 60H~7FH (21)若80C51单片机的机器周期为12微秒,则其晶振频率为___A___MHz。

A.1 B.2 C.6 D.12

(22)80C51单片机内部程序存储器容量为___C___。

A.16K

B.8K

C.4K

D.2K

(23)80C51单片机的复位功能引脚是___C___。

A.XTAL1

B.XTAL2

C.RST

D.ALE

(24)80C51内部反映程序运行状态或运算结果特征的寄存器是___B___。

A. PC

B. PSW

C. A

D.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.0~P0.7、P1.0~P1.7、P2.0~P2.7、P3.0~P3.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个组成部分:地址00H~1FH的32个数据存储单元可作为工作寄存器使用。这32个单元又分为4组,每组8个单元,按序命名为通用寄存器R0~R7;地址为20H~2FH的16字节单元,既可以像普通RAM单元按字节地址进行存取,又可以按位进行存取。这16字节共有128个二进制位,位地址为00H~7FH;地址为30H~7FH的80字节单元为用户RAM区,这个区只能按字节存取。在此区内用户可以设置堆栈区和存储中间数据。

(8)80C51片内高128B RAM区与低128B RAM区相比有何特点?

高128B RAM区中仅有21个字节单元(称为特殊功能寄存器)可被用户使用,其余为系统保留单元用户不可用,而低128 RAM区的所有单元用户都可使用。(9)80C52片内高128B RAM区与80C51片内高128B RAM区相比有何特点?

80C52有两个并列的高128B RAM区,地址都是80H~FFH,其中一个作为特殊功能寄存器专用,另一个则可作为普通RAM使用,但却只能采用寄存器间接寻址方式访问。

(10)什么是复位?单片机复位方式有哪几种?复位条件是什么?

单片机在开机和死机时需要复位,以便使各功能部件处于一个确定的初始状态开始工作。复位可以由两种方式产生,即上电复位方式和按键复位方式。复位的条件是,在RST引脚端出现满足复位时间要求的高电平状态,该时间等于系统时钟振荡周期建立时间再加2个机器周期时间(一般不小于10ms)。

(11)什么是时钟周期和指令周期?当振荡频率为12MHz时,一个机器周期为多少微秒?

晶振或外加振荡源的振荡周期称为时钟周期,执行一条指令所需要的时间称为指令周期。振荡频率为12MHz时,一个机器周期为1微秒。

(12)简述负边沿D触发器的输入端、时钟端和输出端之间的时序关系,解释D 触发器的导通、隔离、锁存功能的实现原理。

当时钟端为脉冲下降沿之前时,输入端和输出端之间是断开的,此时两者间为隔离状态;当时钟端为脉冲下降沿时,输入端和输出端之间是导通的,输出端跟随输入端变化;当时钟端为脉冲下降沿之后时,输入端和输出端之间又是断开的,此时输出端的状态不会随输入端变化,即为锁存状态。

(13)如何理解单片机I/O端口与特殊功能寄存器P0~P3的关系?

I/O端口P0~P3对应于并行I/O口的单元电路,特殊功能寄存器P0~P3则

可视为并行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上的地址和数据信息分开还需要地址/数据锁存接口电路的配合才行。

思考与练习题4

4.1单项选择题

(1)C51数据类型中关键词“sfr”用于定义___D___。

A.指针变量B.字符型变量C.无符号变量D.特殊功能寄存器变量

(2)已知共阴极LED数码显示管中,a笔段对应于字模的最低位。若需显示字符H,则它的字模应为___A___。

A. 0x76

B. 0x7f

C. 0x80

D. 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程序的主要步骤是:建立工程、___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 xdata aa; (8)以下选项中合法的C51变量名是___C___。

A.xdata B.sbit C .start D.interrupt

(9)51单片机能直接运行的文件格式是___C___。

A.*.asm B.*.c C .*.hex D.*.txt

(10)LED数码管用作动态显示时,需要___C___。

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.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的下列语句中,___A___是正确的(默认为SMALL编译模式)。

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 接口地址处理、中断向量地址安排,汇编语言仍有一定优势。可以采用在C51中调用汇编程序和在C51中嵌入汇编代码的方法实现两种语言优势互补。

(2)在C51中为何要尽量采用无符号的字节变量或位变量?

这两种变量占用内存少,代码长度短,执行效率高。有符号的字节变量虽然也只占用1字节,但CPU需要进行额外的操作来测试代码的符号位,这会降低代码效率。使用浮点型的变量时,编译系统还将调用相应的库函数来保证运算精度,这会明显增加运算时间和代码长度。

(3)为了加快程序的运行速度,C51中频繁操作的变量应定义在哪个存储区?

由于片内存储器的数据传送多为单周期指令,而片外存储器多为双周期指令,CPU处理前者数据的速度要快于后者,因此频繁操作的变量应尽量定义在片内存储器中,选择如data,bdata或idata等存储类型的变量。

(4)C51的变量定义包含哪些要素?其中哪些是不能省略的?

变量定义中包含着存储种类、数据类型、存储类型和变量名4项要素,其中数据类型和变量名在变量定义时是不能省略的,存储种类和存储类型在变量定义时可以采用相应缺省值。

(5)C51数据类型中的关键词sbit和bit都可用于位变量的声明,但二者有何不同之处?

bit型变量的位地址是由编译器为其随机分配的(定义时不能由用户指定),位地址是在片内RAM的可位寻址区(bdata区)中;而sbit型变量的位地址则是由用户指定的,位地址是在可位寻址的SFR单元内(但利用bdata限定变量存储类型后,可将位地址范围扩大到bdata区)。

(6)C51中调用汇编语言程序需要解决的3个基本问题是什么?具体规则有哪些?

①程序的寻址问题——通过在汇编文件中定义与C51同名的“函数”来实现的;②参数传递问题——通过使用指定的寄存器来实现的;③返回值传递问题——通过使用指定的寄存器来实现的。

(7)C51中嵌入汇编代码的具体做法是什么?有什么需要关注的地方?

①将嵌有汇编代码的C51源文件加入当前工程文件中;②根据采用的编译模式,将相应的库文件加入当前工程文件中。此后便可采用一般编译方法进行程序编译。需要注意的是,汇编代码必须放在两条预处理命令#pragma asm和#pragma endasm之间,预处理命令必须用小写字母,汇编代码则大小写字母不限。

(8)集成开发环境μVision3的软件界面由哪些组成部分?简述创建一个C51程序的基本方法。

软件界面包括4大组成部分:菜单工具栏(标准的Windows风格,共有11个下拉菜单)、工程管理窗口(用于管理工程文件目录,由5个子窗口组成)、文件窗口(用于显示打开的程序文件,通过文件标签进行切换)和输出窗口(用于输出编译过程中的信息,由3个子窗口组成)。

创建C51程序基本方法:1、打开工程文件窗口,保存为*.uv2文件;2、选择一款51单片机,如80C51BH;3、打开空白的文本框,输入C51源程序,保存为*.c 文件;4、将*.c文件添加到工程文件中;5、设置或核查工程配置选项;6、编译当前工程文件,排除语法错误后保存为*.hex文件;7、仿真调试hex文件,排除逻辑错误后结束创建工作。

(9)简述利用μVision3进行C51程序的调试方法。

利用μVision3的Debug菜单和调试工具条可对C51程序进行调试。常用的方法有:复位、全速运行、暂停、单步、过程单步、执行完当前函数和运行到光标行。其中最基本的是单步运行与全速运行。全速运行是指一行程序执行完以后自动执行下一行程序,直至程序结束。由于程序运行的速度很快,可以看出程序的总体运行效果。单步运行是每次执行一行程序,执行完该行程序以后即停止,等待单步命令后再执行下一行程序,此时可以观察该行程序执行完以后的当前结果,借此可以找到程序中的问题所在。

调试过程中还可通过信息窗口观察运行信息。常用的信息窗口有:命令窗口、反汇编窗口、符号窗口、寄存器窗口、堆栈窗口、观察窗口、存储器窗口、串行窗口、分析窗口等。此外,还可利用系统接口对话框直接观察定时器、中断、并行端口、串行端口的工作状态。

(10)Proteus和Keil C的联合使用有什么意义?使用这一组合的单片机仿真

开发过程是什么?

联合仿真的意义在于:单片机的软硬件系统可作为一个整体运行,利用μVision3的程序调试功能可对ISIS中的虚拟电路进行仿真测试。如果发现问题,可立即在ISIS中进行电路修改或在μVision3中进行程序优化,然后再重新进行调试运行,直至达到所需要求。由于软硬件都能进行仿真检验,从而可加速单片机产品的开发过程。

联合仿真法的开发过程是:1、启动ISIS,绘制电路原理图,保存为*.dsn文件;

2、启动μVision3,创建C51源程序,保存为*.c文件;

3、进行源文件编译,排除语法错误,保存为*.hex文件;

4、并列展开ISIS和μVision3窗口,在μVision3中启动调试运行,排除逻辑错误后结束仿真过程。

(11)独立式按键的组成原理与编程思路是什么?

组成原理是,按键的一端接地,另一端与一个I/O口线连接。若按键接在P0口需外接上拉电阻,而接在P1~P3口无需要上拉电阻。编程思路是,当按键或开关闭合时,对应口线的电平就会发生反转,CPU通过读端口电平即可识别是哪个按键或开关发生了闭合。

(12)七段LED数码管的工作原理是什么?简述数码管静态显示与动态显示的特点及实现方法。

工作原理是,七段LED数码管由7个条形LED组成字符笔段,1个圆形LED 作为小数点。其中所有LED阳极连接在一起作为公共端引脚,所有LED阴极单独接出作为段位引脚(共阳极数码管)。反之,共阴极数码管则相反。利用发光二极管正向连接时点亮,反向连接时熄灭的特性,改变笔段的组合电平就能形成不同的字形。

静态显示接口采用一个并行I/O口接一个七段数码管的段位引脚,公共端接地或Vcc。这种接法的优点是电路简单,数码管显示亮度稳定。但该方法占用I/O口资源较多。动态显示接口是将n个七段数码管的相同段码引脚并联起来接在一位I/O口线上,每个数码管的位码引脚则分别由一位I/O口线控制。动态显示接口的特点是占用I/O口资源较少,但占用CPU机时较多。

静态显示采用CPU单独控制显示的做法,即将被显示字符的段码值送入相应I/O 口的锁存器中就能使数码管恒定显示,每位显示字符的段码值只需CPU输出一次即可。动态显示采用CUP分时控制显示的做法,即CPU需要轮流输出待显示字符串中某位字符的段码和位码,每一时刻只有一只数码管为显示状态其他数码管都为黑屏。当段码值和位码值的循环刷新速度很快时,由于视觉暂留特性,人眼不会感到显示值在闪烁,而是看到稳定显示的字符串。

(13)行列式键盘的组成原理与编程思路是什么?

行列式键盘组成原理是:将I/O口分为行线和列线,按键设置在跨接行线和列线的交点上,列线通过上拉电阻接正电源。采用软件扫描查询法的编程原理是,根据按键压下前后,所在行线的端口电平是否出现翻转,判断有无按键闭合动作。(14)独立式键盘与行列式键盘的特点和不足是什么?

独立式键盘的特点是电路简单,软件处理工作量小,但占用的I/O口线较多。行列式键盘的特点是占用I/O口线较少但软件处理工作量较大。

思考与练习题5

5.1 单项选择题

(1)外部中断0允许中断的C51语句为___D___。

A. RI=1; B.TR0=1; C.IT0=1; D.EX0=1;

(2)按照中断源自然优先级顺序,优先级别最低的是___B___。

A.外部中断INT1 B.串口发送TI C.定时器T1 D.外部中断INT0

(3)当CPU响应定时器T1中断请求时,程序计数器PC里自动装入的地址是___D___。

A.0003H B.000BH C.0013H D.001BH

(4)当CPU响应定时器/INT0中断请求时,程序计数器PC里自动装入的地址是___A___。

A.0003H B.000BH C.0013H D.001BH

(5)当CPU响应定时器/INT1中断请求时,程序计数器PC里自动装入的地址是___C___。

A.0003H B.000BH C.0013H D.001BH

(6)在80C51单片机中断自然优先级里,级别倒数第二的中断源是___C___。

A.外部中断1 B.定时器T0 C.定时器T1 D.外部中断0

(7)在80C51单片机中断自然优先级里,级别正数第二的中断源是___B___。

A.外部中断1 B.定时器T0 C.定时器T1 D.串口TX/RX (8)为使P3.2引脚出现的外部中断请求信号能得到CPU响应,必须满足的条件是___C___。

A.ET0=1 B.EX0=1 C.EA=EX0=1 D.EA=ET0=1

(9)为使定时器T0的中断请求信号能得到CPU的中断响应,必须满足的条件是___D___。

A.ET0=1 B.EX0=1 C.EA=EX0=1 D.EA=ET0= 1 (10)用定时器T1工作方式2计数,要求每计满100次向CPU发出中断请求,TH1、TL1的初始值应为___A___。

A.0x9c B.0x20 C.0x64 D.0xa0

(11)80C51单片机外部中断1和外部中断0的触发方式选择位是___C___。

A.TR1和TR0 B.IE1和IE0 C.IT1和IT0 D.TF1和TF0

(12)在中断响应不受阻的情况下,CPU对外部中断请求做出响应所需的最短时间为___C___机器周期。

A.1个B.2个C.3个D.8个

(13)80C51单片机定时器T0的溢出标志TF0,当计数满在CPU响应中断后__A__。

A.由硬件清零B.由软件清零C.软硬件清零均可D.随机状态

(14)CPU响应中断后,由硬件自动执行如下操作的正确顺序是___D___。

①保护断点,即把程序计数器PC的内容压入堆栈保存

②调用中断函数并开始运行

③中断优先级查询,对后来的同级或低级中断请求不予响应

④返回断点继续运行

⑤清除可清除的中断请求标志位

A.①③②⑤④ B.③②⑤④① C.③①②⑤④

D.③①⑤②④

(15)若80C51同一优先级的5个中断源同时发出中断请求,则CPU响应中断时程序计数器PC里会自动装入___B___地址。

A.000BH B.0003H C.0013H D.001BH

(16)80C51单片机的中断服务程序入口地址是指___C___。

A.中断服务程序的首句地址B.中断服务程序的返回地址

C.中断向量地址D.主程序调用时的断点地址

(17)下列关于C51中断函数定义格式的描述中___D___是不正确的。

A.n是与中断源对应的中断号,取值为0~4

B.m是工作寄存器组的组号,缺省时由PSW的RS0和RS1确定

C.interrupt是C51的关键词,不能作为变量名

D.using也是C51的关键词,不能省略

(18)下列关于INT0的描述中___D___是正确的。

A.中断触发信号由单片机的P3.0引脚输入

B.中断触发方式选择位ET0可以实现电平触发方式或脉冲触发方式的选择

C.在电平触发时,高电平可引发IE0自动置位,CPU响应中断后IE0可自动清零

D.在脉冲触发时,下降沿引发IE0自动置位,CPU响应中断后IE0可自动清零

(19)下列关于TX/RX的描述中___D___是不正确的。

A.51单片机的内部发送控制器和接收控制器都可对串行数据进行收发控制

B.若待接收数据被送入“接收SUBF”单元后,接收控制器可使RI位硬件置1

C.若“发送SUBF”单元中的数据被发送出去后,发送控制器可使TI位硬件置1

D.系统响应中断后,RI和TI都会被硬件自动清0,无需软件方式干预(20)下列关于中断控制寄存器的描述中___B___是不正确的。

A.80C51共有4个与中断有关的控制寄存器

B.TCON为串口控制寄存器,字节地址为98H,可位寻址

C.IP寄存器为中断优先级寄存器,字节地址为B8H,可位寻址

D.IE为中断允许寄存器,字节地址为A8H,可位寻址

(21)下列关于中断优先级的描述中___C___是不正确的。

A.80C51每个中断源都有两个中断优先级,即高优先级中断和低优先级中断

B.低优先级中断函数在运行过程中可以被高优先级中断所打断

C.相同优先级的中断运行时,自然优先级高的中断可以打断自然优先级低的中断

D.51单片机复位后IP初值为0,此时默认为全部中断都是低级中断

5.2 问答思考题

(1)试举例说出另一个生活或学习中的两级中断嵌套示例。

某人正在家里擦洗玻璃,突然发现洗衣机停止转动了。于是他放下抹布去检

查,发现是因电表欠费停电了。他马上用手机给电表充值,很快电表恢复了供电。在重新启动了洗衣机后他又接着去擦洗玻璃了。

(2)简述中断、中断源、中断优先级和中断嵌套的概念。

中断:在突发事件到来时先中止当前正在进行的工作,转而去处理突发事件。待处理完成后,再返回到原先被中止的工作处继续进行随后的工作。

中断源:中断管理系统能够处理的突发事件。

中断优先级:为使CPU能优先处理紧急突发事件,中断源被分成两类优先级,即自然优先级和设定优先级。CUP会优先响应高优先级的中断请求,而在同等优先级中又会按自然优先级的顺序选择响应。

(3)简述51单片机各种中断源的中断请求原理。

/INT0和/INT1:若该引脚处为低电平信号,则经过非门转换后可使中断请求标志位IE0或IE1硬件置1。若该引脚处为负跳变脉冲信号,则经过施密特触发器转换后也可使IE0或IE1硬件置1。IE0或IE1置1表示有/INT0或/INT1中断请求发生;

T0和T1:当T0或T1中累加注入的脉冲信号被充满溢出后,可使中断请求标志位TF0或TF1硬件置1。TF0或TF1置1表示有T0或T1中断请求发生;

TX和RX:若来自引脚RXD的一帧数据被送入SBUF接收单元后,可使中断请求标志位RI硬件置1。若来自SBUF发送单元的一帧数据经过输出门发送完毕后,也可使中断请求标志位TI硬件置1。RI或TI置1表示有TX或RX中断请求发生。(4)怎样理解图5.8展示的51单片机中断系统的组成?

由图可见,中断信息的传递是沿着5条水平路径由左向右展开的。以/INT0为例,为使/INT0引脚上的低电平能作为低优先级中断请求被响应,中断控制位需要满足以下条件:IT0=0(允许电平驱动),EX0=1(允许/INT0中断),EA=1(允许总中断),PX0=0(允许作为低优先级)。由于所有中断控制位都隶属于TCON,SCON,IE和IP四个工作寄存器,因此,上述四个工作寄存器是51单片机中断系统的重要组成部分。

(5)何为中断矢量(或向量)地址?怎样理解中断矢量地址存在的必要性?

51单片机中规定了5个特殊的ROM单元用于引导中断程序(或函数)的调用,这些ROM单元的地址被称为中断矢量(或向量),它与中断号的关系是,中断矢量=中断号×8+3。有了中断矢量,编写中断程序或中断函数时,只要将指向中断程序入口地址的跳转语句放在中断矢量为首的单元里,或在中断函数定义中写明中断号,就能调用位于任意ROM处的中断程序,为用户安排中断程序提供了很大的灵活性。

(6)何为中断响应?51单片机的中断响应条件是什么?

中断响应是指CPU从发现中断请求,到开始执行中断程序的过程。中断响应的条件为:1、有中断源发出中断请求;2、中断总允许位为1;3、中断源的中断允许位为1。此外,如遇CPU正在处理同级或更高优先级的中断,即使满足上述条件中断响应还会被阻止。

(7)何为中断撤销?简述51单片机中断请求标志撤销的做法。

中断请求标志清0的操作称为中断撤销。对于定时/计数器中断,可由硬件自动对TF0和TF1清0;对于脉冲触发的外部中断请求,也由硬件自动对IE0和IE1清0;对于电平触发的外部中断请求,需要先撤销/INT0和/INT1引脚上的低电平,然后要用软件方法才能使IE0和IE1清0;对于串口中断,TI和RI不能硬件自动清0,需要通过软件方法使TI和RI清0。

(8)何为中断优先级?在中断请求有效并已开放中断的前提下,能否保证该中断请求能被CPU立即响应?

中断源的重要等级称为中断优先级。在低级中断请求有效并已开放中断的前提下,如果CPU正在处理同级或高级的中断,则低级中断请求无法得到CPU响应。若同级或高级中断的请求标志刚好被撤销,而低级中断的请求标志尚未消失,则CPU可继续响应低级中断请求,否则低级中断请求将被中止。

(9)80C51只有两个外部中断源,若要扩充外部中断源,可以采用的方法有哪些?

扩充外部中断源的方法有,1、利用定时器扩展外部中断源,其思路是;当

T0或T1工作在计数器方式时,只要使其在一个外部脉冲到来时就溢出并产生中断请求,就能起到扩充外部中断源的作用。2、利用查询法扩展外部中断源,其思路是:将多个扩充中断源通过“线或”电路连接/INT0或/INT1引脚,同时也将其接到输入口线作为中断源识别线。这样无论哪个扩展中断源有中断请求都会使/INT0或/INT1引脚发出中断请求信号。CPU响应中断后再通过程序查询各识别线的逻辑电平,便可确定是哪个扩展中断源发出中断请求了。

(10)与第4章实例7的行列式键盘相比,第5章实例2的行列式键盘做了哪些改进?后者实现的原理是什么?

改进的思路是,在电路中增加了任意按键压下都可产生中断请求的功能。具体做法是电路中增加了一个4与门集成元件。该与门的4个输入端分别与键盘的4条行线相接,与门的输出端则与/INT0引脚相接。

程序实现原理是,先将各列的电平都置为0,当有任意按键压下时,与门的输出端都可发出/INT0中断请求信号。中断响应后再查验具体是哪个按键有动作发生,这样就能达到既快速响应按键动作,又能提高CPU工作效率的目的。

(11)与第4章实例2的按键检测方法相比,第5章实例3做了哪些改进?两者的切换效果上有何差异?

改进的方法是,新增了利用外部中断检测按键状态的功能。当有任意按键动作发生时,中断程序便会立即更新标志位值,主函数则根据标志位值及时切换彩灯循环方式。实例运行表明,与原先的彩灯切换明显滞后相比,新方式的切换灵敏度大大提高了。

(12)为提高中断响应的实时性,中断函数可采用哪些措施以使函数更加简洁?

首先应尽量使函数简短。其次应尽量使用简单变量类型及简单算术运算。还可采用,在中断函数中仅刷新标志变量状态,而在主函数或其他函数中根据该标志变量值再做相应处理的做法。

思考与练习题6

6.1 单项选择题

(1)使80C51定时/计数器T0停止计数的C51命令为___D___。

A.IT0=0; B.TF0=0; C.IE0=0; D.TR0=0;

(2)80C51单片机的定时器T1用作定时方式时是___B___。

A.由内部时钟频率定时,一个时钟周期加1 B.由内部时钟频率

定时,一个机器周期加1

C.由外部时钟频率定时,一个时钟周期加1 D.由外部时钟频率

定时,一个机器周期加1

(3)80C51单片机的定时器T0用作计数方式时是___C___。

A.由内部时钟频率定时,一个时钟周期加1 B.由内部时钟频率

定时,一个机器周期加1

C.由外部计数脉冲计数,一个脉冲加1 D.由外部计数脉冲计数,一个机器周期加1

(4)80C51的定时器T1用作计数方式时,___A___。

A.外部计数脉冲由T1(P3.5引脚)输入B.外部计数脉冲由内部时钟频率提供

C.外部计数脉冲由T0(P3.4引脚)输入D.外部计数脉冲由P0

口任意引脚输入

(5)80C51的定时器T0用作定时方式时是___D___。

A.由内部时钟频率定时,一个时钟周期加1 B.由外部计数脉冲

计数,一个机器周期加1

C.外部计数脉冲由T0(P3.4)输入定时D.由内部时钟频率定时,一个机器周期加1

(6)设80C51晶振频率为12MHz,若用定时器T0的工作方式1产生1ms定时,则T0计数初值应为___A___。

A.0xfc18 B.0xf830 C.0xf448 D.0xf060

(7)80C51的定时器T1用作定时方式且选择模式1时,工作方式控制字为

___C___。

A.TCON=0x01; B.TCON=0x0H; C.TMOD=0x10;

D.TMOD=0x50;

(8)80C51的定时器T1用作定时方式且选择模式2时,工作方式控制字为

___D___。

A.TCON=0x60; B.TCON=0x02; C.TMOD=0x06; D.TMOD=0x20;

(9)80C51的定时器T0用作定时方式0时,C51初始化编程为___C___。

A.TMOD=0x21; B.TMOD=0x32; C.TMOD=0x20;

D.TMOD=0x22;

(10)使用80C51的定时器T0时,若允许TR0启动计数器,应使TMOD中的___C___。

A.GATE位置1 B.C/T位置1 C.GATE位清零D.C/T 位清零

(11)使用80C51的定时器T0时,若允许INT0启动计数器,应使TMOD中的___A___。

A.GATE位置1 B.C/T位置1 C.GATE位清零D.C/T 位清零

(12)启动定时器0开始计数的指令是使TCON的___B___。

A.TF0位置1 B.TR0位置1 C.TF0位清0 D.TF1位清0

(13)启动定时器1开始定时的C51指令是___D___。

A.TR0=0; B.TR1=0; C.TR0=1; D.TR1=1;

(14)使80C51的定时器T0停止计数的C51命令是___A___。

A.TR0=0; B.TR1=0; C.TR0=1; D.TR1=1;

(15)使80C51的定时器T1停止定时的C51命令是___B___。

A.TR0=0; B.TR1=0; C.TR0=1; D.TR1=1;

(16)80C51单片机的TMOD模式控制寄存器,其中GATE位表示的是___A___。

A.门控位B.工作方式定义位C.定时/计数功能选择位D.运行控制位

(17)80C51采用计数器T1方式1时,要求没计满10次产生溢出标志,则TH1、TL1的初始值是___A___。

A.0xff,0xf6 B.0xf6,0xf6 C.0xf0,0xf0 D.0xff,0xf0H

(18)80C51采用T0计数方式1时的C51命令是___D___。

A.TCON=0x01; B.TMOD=0x01; C.TCON=0x05;

D.TMOD=0x05;

(19)采用80C51的T0定时方式2时应___D___。

A.启动T0前先向TH0置入计数初值,TL0置0,以后每次重新计数前都要重新置入计数初值

B.启动T0前先向TH0、TL0置入计数初值,以后每次重新计数前都要重新置入计数初值

C.启动T0前先向TH0、TL0置入不同的计数初值,以后不再置入

D.启动T0前先向TH0、TL0置入相同的计数初值,以后不再置入

(20)80C51单片机的TMOD模式控制寄存器,其中C/T位表示的是___C___。

A.门控位B.工作方式定义位 C.定时/计数功能选择位D.运行控制位

(21)80C51单片机定时器T1的溢出标志TF1,当计数满产生溢出时,如不用中断方式而用查询方式,则___B___。

A.应由硬件清零B.应由软件清零C.应由软件置位

D.可不处理

(22)80C51单片机定时器T0的溢出标志TF0,当计数满产生溢出时,其值为___C___。

A.0 B.0xff C.1 D.计数值

(23)80C51单片机的定时/计数器在工作方式1时的最大计数值M为__D__。

A.M=213=8192 B.M=28=256 C.M=24=16 D.M=216=65536

6.2 问答思考题

(1)与单片机延时子程序的定时方法相比,利用片内集成的定时/计数器进行定时有何优点?

延时子程序法需要独占较多CPU机时,而定时/计数器法属于软硬件相结合的方法,在定时/计数器初始化设置后便无需CPU的干预,从而可节约大量CPU 机时。

(2)怎样理解51单片机的定时器和计数器的实质都是计数器,差别仅在于脉冲信号的来源不同?

其主要原因是,定时器中用于计数累加的脉冲来自系统的时钟分频脉冲,由于其脉冲的周期是固定的,故计数结果也可用作定时;而计数器中用于计数累加的脉冲是来自引脚上的外部脉冲,因脉冲周期不确定故不能用于定时。

(3) 51单片机定时器定时时间t的影响因素有哪些?计数器定数次数N的影响因素有哪些?

定时器的定时时间与定时器字长、计数初值和时钟频率3个因素有关,而计

数器的定数次数仅与计数器字长和计数初值有关,与时钟频率无关。

(4) 80C51内部有几个定时/计数器?结构组成中的TH0、TL0、TH1和TL1与定时/计数器是什么关系?字节地址是什么?

51单片机有2个16位的定时/计数器T0和T1,其中T0由2个8位的寄存器TH0和TL0组成,字节地址是8CH和8AH;T1由2个8位的寄存器TH1和TL1组成,字节地址是8DH和8BH。

(5)定时/计数器T0作为计数器使用时,对被测脉冲的最高频率有限制吗?为什么?

有限制。这是因为单片机检测一个负跳变脉冲需要2个机器周期的时间,如果被测脉冲频率过高(即周期过短),在单片机时钟频率一定时就会无法满足上述要求。

(6)当定时器方式1的最大定时时间不够用时,可以考虑哪些办法用来增加其定时长度?

可参考本章实例6的做法,利用在中断函数中统计定时器溢出次数的办法进行长时间定时,其定时长度在理论上是没有限制的。

(7)定时器在每次计数溢出后都需要及时重新装载计数初值,有什么办法可以使得重新装载自动完成吗?

采用定时方式2,初始化时将计数初值分别存入两个8位的定时寄存器,如TH0和TL0。当TL0计满溢出时TH0会自动将其初值重新装入TL0中。重新装入的过程不改变TH0中的值,故可多次循环重装入,直到命令停止计数为止。(8)对于定时/计数器的溢出标志进行检测有哪些可用办法?各有什么优缺点?

可以采取两种检测方法,其中查询法是用软件方式检查溢出标志位的状态,但也必须用软件方式使溢出标志清0;中断法则是由系统自动检查溢出标志位的状态,并由硬件清0溢出标志位。前者编程简单但程序执行效率不高,而后者编程有些难度但程序执行效率高。

(9)利用定时/计数器进行外部脉冲宽度测量的工作原理是什么?

根据定时/计数器工作原理,当GATE=TR0=1时允许/INT0脉冲控制定时器的启停。为此,可以将被测脉冲接在/INT0引脚上,当/INT0出现下降沿脉冲时会启动T0进行时钟脉冲统计。当/INT0出现上升沿脉冲时会中止T0定时。此时T0中的计数值可以换算成被测脉冲的宽度。

(10)如何利用闲置的定时/计数器扩展外部中断源?

将按计数器最大字长确定的计数初值装入T0或T1并启动计数器后,一个外部脉冲的到来就能使T0或T1溢出并发出中断请求,其作用就相当于扩展了/INT0或/INT1中断源。

(11)为了利用Proteus进行C51源码调试,在程序编译时需要采取什么措施?

为了利用Proteus进行C51源码调试,需要在程序编译时生成omf格式文件。为此要先要在μVision3中设置“Output”选项卡,使“Create HEX Files”选项框为空,并将“Name of Executable”文本框中的可执行文件的扩展名定为.omf。在单击“确定”退出设置后,可按一般C51程序的编译操作生成.omf 格式的可执行文件。

(12)定时/计数器溢出得到中断响应后,TF0或TF1标志需要采用什么办法予以撤销?

定时/计数器的中断请求被响应后,系统可自动使TF0和TF1硬件清0,从而撤销定时/计数器的中断请求。

思考与练习题7

7.1 单项选择题

(1)从串口接收缓冲器中将数据读入到变量temp中的C51语句是___D___。

A.temp = SCON; B.temp = TCON; C.temp = DPTR; D.temp = SBUF;

(2)全双工通信的特点是,收发双方___C___。

A.角色固定不能互换 B.角色可换但需切换 C .互不影响双向通信

D.相互影响互相制约

(3)80C51的串口工作方式中适合多机通信的是___D___。

A.工作方式0 B.工作方式1 C.工作方式2 D.工作方式3

(4)80C51串行口接收数据的次序是下述的顺序___B___。

①接收完一帧数据后,硬件自动将SCON的RI置1 ②用软件将RI 清零

③接收到的数据由SBUF读出④置SCON的REN为1,外部数据由RXD(P3.0)输入

A.①②③④ B.④①②③ C.④③①② D.③④①②(5)80C51串行口发送数据的次序是下述的顺序___A___。

①待发数据送SBUF ②硬件自动将SCON的TI置1

③经TXD(P3.1)串行发送一帧数据完毕④用软件将SCON的TI 清零

A.①③②④ B.①②③④ C.④③①② D.③④①②(6)80C51用串口工作方式0时___C___。

A.数据从RXD串行输入,从TXD串行输出

B.数据从RXD串行输出,从TXD串行输入

C.数据从RXD串行输入或输出,同步信号从TXD输出

D.数据从TXD串行输入或输出,同步信号从RXD输出

(7)在用接口传送信息时,如果用一帧来表示一个字符,且每帧中有一个起始位、一个结束位和若干个数据位,该传送属于___A___。

A.异步串行传送B.异步并行传送 C.同步串行传送D.同步并行传送

(8)80C51的串口工作方式中适合点对点通信的是___B___。

A.工作方式0 B.工作方式1 C.工作方式2 D.工作方式3

(9)80C51有关串口内部结构的描述中___C___是不正确的。

A.51内部有一个可编程的全双工串行通信接口

B.51的串行接口可以作为通用异步接收/发送器,也可以作为同步移位寄存器

C.串行口中设有接收控制寄存器SCON

D.通过设置串口通信的波特率可以改变串口通信速率

(10)80C51有关串口数据缓冲器的描述中___B___是不正确的。