搜档网
当前位置:搜档网 › 单片机C语言试题

单片机C语言试题

填空题 20*2
■对于51系列单片机,现有4种语言支持程序设计,它们是(汇编语言)、PL/M、(C语言)、BASIC。
■单片机程序设计时需要在主程序中设计死循环来防止程序跑飞。在C语言中采用(while(1))或for(;;)语句实现死循环。
■单片机程序设计中经常用到中断,在C语言程序设计中外部中断1的中断入口序号(2),而汇编语言程序设计中外部中断1的入口地址是(0013H)。
■编写串口中断程序时要在函数说明部分后写 interrupt 4 。
■编写定时器0中断程序时要在函数说明部分后写 interrupt 1 。
■C语言程序设计中有一个无符号形字符变量temp和一个位变量Flag,现在分别对它们取反。相应的语句为temp=__~___temp; Flag=_!___Flag;。

■I2C总线在传送数据过程中共有三种类型控制信号, 它们分别是:_(起始信号)____、应答信号、_(停止信号)_____。
■I2C的地址由 (协议规定) 与 (硬件设置) 两部分组成。
■I2C器件的两条信号线分别为 串行时钟线SCL 与 串行数据线SDA 。
■MCS-51单片机操作I2C器件时,单片机必须做为 主机,I\O编程 。

■在Cx51所有的数据类型中,只有 bit 与 unsigned char 直接支持机器指令。
■编译器性能比较有如下几个方面: 算数支持 、 生产代码大小 、 开打速度 、 支持浮点和long 。
■在KEIL开发套件中,BL51链接器/定位器用于创建一个 绝对目标横快 。
■Cx51中函数分为两大类: 标准库函数 和 用户自定义函数 。
■在函数名前如果不指定函数类型,则该函数的类型为 整型 。
■具有一定格式的数字或数值叫做 数据 ,数据的不同格式叫做 数据类型 ,
数据按一定的数据类型进行的排列、组合及架构称为 数据结构 。
■数据类型的转换有 自动转换 与 强制转换 两种。

■直接出现在程序中的数值(如TMOD=0x21)称为 常数 。在程序运行的过程中,其值不能改变且被定义为符号的(如#define CONST 60)称为 常量 。
■软件对常量与变量的命名规范是:常量名用 大写 字母,变量名用 小写 字母。
■MCS-51单片机串口用于中断通讯时,在进行初始化时必须设置的特殊功能寄存器有:
SCON 、 TMOD 、PCON 、 TH1 、 TL1 、 TCON 和 IE 。
■用位操作语句开T0定时器中断需要执行 ETO=1 与 EA=1 。
■用赋值语句开T0定时器中断需要执行 IE=0x82 。
■用Cx51编程要掌握三个方面的技术: 内部资源编程 、 扩展资源编程

、与 C语言的编程技巧 。

■软件在处理按键时的流程是: 去抖动 、 读键 、 等待释放 、 去抖动 。

■单片机系统设计中经常用到单片机AD总线的读写时序来进行硬件系统设计,单片机C语句temp=XBYTE[地址]包含三层含义:①外部地址单元的数读到变量temp中。 ②单片机的(RD)信号有效。 ③外部地址单元的数据送到____P0___端口上。
■C51程序设计中在定义变量类型时一般要求定义为 无符号字符 。
■在结构化语言中,为了避免使用无条件转移语句,采用的命令是 break
与 return 。
■不使用goto语句而要从循环体中提前退出、要使用命令 break 。
■当前出现了以C语言取代汇编语言的发展趋势,但汇编编程却是不可摒弃的。这是因为一个实际运行程序会要求: 运行速度 、 响应时间 、 代码空间 与 时序控制 。
■C中最高优先级的操作是 取非 。
■数组的两个基本特性是 固定数目 与 相同类型 。
■如果不在函数说明后用using选择寄存器组,则其地址范围为 00 至 07 。

选择题: 10*2
■不适用于用汇编语言编程的情况是 C
对时序要求较严格的产品
对程序代码空间有严格要求的产品
对软件开发的进度有所要求的时候
对实时性要求较高的应用场合

■与MCS-51硬件资源无关的关键字是 A 。
A. char B. code C. interrupt D. using

■将一个变量v的值扩大一倍,效率最高的方法是 A 。
A. v=v+v; B. v=v*2;
C. v=v<<1; D. 编译后都一样

■将一个变量v的值扩大一倍,最通用的方法是 C 。
A. v=v+v; B. v=v*2;
C. v=v<<1; D. 编译后都一样

■在下面四种流程图中,哪种表示法最好? B


A B C D

■ 将下面左边四项与右边四项用线连起来。

1data 80~FF3

2bdata 00~7F1

3sfr 20~2F2

4xdata 0000~FFFF4

■ 单片机C语言程序设计中,用关键字 (A )定义单片机的端口。
A. sbit B. bit
C. unsigned char D. unsigned int

■单片机C51中用关键字( C )来改变寄存器组。
A.interrupt B.unsigned
C. using D.define

■下面的语句哪个是设置定时器0的中断使能的(B )。
A.EX0=1; B. ET0=1;
C.ES0=1; D. EA=1;

■与开启定时器0中断无关的是 C 。
A.TR0=1; B. ET0=1;
C.ES0=1; D. EA=1;

■24C02采用的总线形式是 B
A. CAN B. I2C
C. SPI D.

RS232

■MCS-51串口采用的总线形式是A
A. UART B. I2C
C. SPI D. RS232

■一个在程序运行中其值不会改变的数组,应定义其类型为 C 。
A. char B. unsigned char
C. code D. xdata

■用MCS-51单片机串行口扩展并行接口,应采用 A 。
A. 方式0 B. 方式1
C. 方式2 D. 方式3

■下面哪一条不属于Cx51的优点? C 。
A. 具有较好的可读性,方便系统维护和升级。
B. 不需要较多考虑微处理器具体指令系统和体系结构的细节问题。
C. 源程序代码简短,运行速度快。
D.具有较好的移植性,能实现程序代码资源的灵活共享。

■下面哪一条不属于C语言的不足? D 。
A. 程序生成的代码占用空间大、效率低。
B. 不能准确计算程序的运行时间。
C. 不能对某些时序电路进行控制。
D. 只能针对MCS-51系列单片机编程。

■在对常量、变量、子程序与管脚命名时主要用小写字母的是 C 。
A. 常量 B. 变量 C. 子程序 D. 管脚定义

■下面是用MCS-51单片机操作I2C器件的一些概念,其中错误的是 D 。
A. 无I2C硬件接口 B. 必须做为主机
C. 必须I/O编程 D. 可以中断接收

■I2C器件的管脚特性为 B 。
A. TTL B. 开路输出 C. RS232 D. RS485

■STC单片机片内E2PROM用了哪一个存储空间? D 。
A. AP程序存储器 B. ISP程序存储器
C. 数据存储器 D. 独立的存储空间

■STC单片机片内无哪一个硬件资源? C 。
A. AP程序存储器 B. ISP程序存储器
C.串行E2PROM D. 并行E2PROM

■单片机混合编程设计时,如在C中定义了一个字符变量Count,要在汇编中使用时,对它正确的声明是(C )。
A.extrn bit(Count) B. extrn code(Count)
C.extrn data(Count) D. extern data(Count)

■混合编程中C语言调用汇编函数时,在汇编语言编程时要用 D 将汇编函数予以声明。
A.extern B. extrn;
C.extern code D. public

■软件在按键处理时,哪一项不是必须的? A 。
A.进入中断 B. 延时去抖
C.等待释放 D. 错,三项都必须


判断题: 15*2
2■用C51编程不需要考虑微处理器具体指令系统和体系结构的细节问题。
2■编程时在程序中不能出现常数。
1■用C51编程有可能某些指令或类型编译时能通过、但实际运行时会出错。
2■在编写软件时开发速度比代码的长短重要。
1■单片机程序设计中常常需要在最开始用循环语句来延时几十毫秒。
1■一个实际应用软件常常会严格要求程序的代码大小与运行速度
2■Cx51自带的库函数与用户定义函数具有本质上的区别。
2

■STC-ISP下载程序将编译生成的HEX文件写进STC单片机内部。
1■使用符号常量可做到一改全改,利于移植和升级。
1■要改变常量的值,必需先修改程序后重新编译。
2■串行通讯必须采用中断方式。
1■采用定时器查询方式时必须软件清除溢出标志。
1■进入串口中断后必须判断是接收中断还是发送中断。
2■进入定时器中断后必须软件清除溢出标志。
1■C51中,特殊功能寄存器一定需要用大写。 ( )
1■MCS-51单片机的程序存储器是可以用来存放数据的。( )
2■bit和sbit都是用来定义位变量,所以两者之间没有区别,可以随便替换使用。
1■单片机的程序中,一定有一个死循环的程序,否则,会出现运行错误。
1■中断函数的调用是在满足中断的情况下,自动完成函数调用的。
2■单片机能处理直接任何数据类型的变量,因此对变量的定义无特殊要求。
2■C 语言是单片机能直接识别的一种语言( )
2■I2C器件的地址由硬件连线所确定。
1■单片机程序设计时C语言中XBYTE和汇编语言中的MOVX是等效的
2■用KEIL编译器编译程序会自动生成hex文件。
2■在单片机C语言程序设计用switch/case语句时,default项是必须的不然程序会跑飞。
2■用switch/case语句时,每条case后不加break则程序是错误的。
2■单片机C语言程序设计中可以不分大小写。
2■单片机C语言程序设计时只要完成相应的功能就行可以不考虑程序的结构和规范性。
2■单片机能处理直接任何数据类型的变量,因此对变量的定义无特殊要求。

1;C51程序设计中在定义变量类型时一般要求定义无符号数据类型。
1;定时器与计数器的工作原理均是对输入脉冲进行计数。( )
2;MCS-51单片机晶振频率为12MHz,定时器/计数器作计数器使用时,其计数频2率为1 MHz( )。
2;使用循环语句时是必须用花括号{}将循环体括起来。
2;应用Cx51编程必须清楚了解运算的优先级。
2;不清楚了解运算的优先级将无法编写出正确的程序。
2;用Cx51编程必须在每个函数说明后用using选择寄存器组。

2;STC单片机在操作I2C器件时,既可做为主机、也可做为从机。
2;STC单片机片内E2PROM占用了外部数据存储器空间。
2;I2C器件是串行通讯芯片,两条信号线是RXD与TXD。
1;I2C器件的两条信号线必须接上拉电阻。
1;当硬件上将按键接到INT引脚上后,也可以编程为定时扫描




相关主题