新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 单片机C语言程序设计师试题

单片机C语言程序设计师试题

作者: 时间:2016-11-28 来源:网络 收藏
一、选择题

1、C语言中最简单的数据类型包括( B )。

A、整型、实型、逻辑型 B、整型、实型、字符型

C、整型、字符型、逻辑型 D、整型、实型、逻辑型、字符型

2、当MCS-51单片机接有外部存储器,P2口可作为 ( C )。

A、数据输入口 B、数据的输出口

C、准双向输入/输出口 D、输出高8位地址

3、下列描述中正确的是( D )。

A、程序就是软件 B、软件开发不受计算机系统的限制

C、软件既是逻辑实体,又是物理实体 D、软件是程序、数据与相关文档的集合

4、下列计算机语言中,CPU能直接识别的是( D )。

A、 自然语言 B、高级语言 C、 汇编语言 D、机器语言

5、MCS-5l单片机的堆栈区是设置在( C )中。

A、片内ROM区 B、片外ROM区 C、片内RAM区 D、片外RAM区

6、以下叙述中正确的是( C )。

A、用C语言实现的算法必须要有输入和输出操作

B、用C语言实现的算法可以没有输出但必须要有输入

C、用C程序实现的算法可以没有输入但必须要有输出

D、用C程序实现的算法可以既没有输入也没有输出

7、定时器/计数器工作方式1是( D )。

A、8位计数器结构 B、2个8位计数器结构

C、13位计数结构 D、16位计数结构

8、C语言提供的合法的数据类型关键字是( B )。

A、Double B、short C、integer D、Char

9、片内RAM的20H~2FH为位寻址区,所包含的位地址是( B )。

A、00H~20H B、00H~7FH C、20H~2FH D、00H~FFH

10、以下能正确定义一维数组的选项是( B )。

A、int a[5]={0,1,2,3,4,5}; B、char a[ ]={0,1,2,3,4,5};

C、char a={A,B,C}; D、int a[5]="0123";

二、填空题
11、8051单片机的存储器的最大特点是 内部RAM 与 外部RAM 分开编址。

12、8051最多可以有 32 个并行输入输出口,最少也可以有 8 个并行口。

13、 函数 是C语言的基本单位。

14、串行口方式2接收到的第9位数据送 SCON 寄存器的 RB8 位中保存。

15、MCS-51内部提供 3 个可编程16 位定时/计数器,定时器有 4 种工作方式。

16、一个函数由两部分组成,即 说明部分和 语句部分

17、串行口方式3发送的第9位数据要事先写入 SCON 寄存器的 TB8 位。

18、利用8155H可以扩展 3 个并行口, 256 个RAM单元。

19、C语言中输入和输出操作是由库函数 scanf printf 等函数来完成。

三、判断题

( √ )1、在对某一函数进行多次调用时,系统会对相应的自动变量重新分配存储单元。

( × )2、在C语言的复合语句中,只能包含可执行语句。

( √ )3、自动变量属于局部变量。

( × )4、Continue 和break都可用来实现循环体的中止。

( √ )5、字符常量的长度肯定为1。

( × )6、在MCS-51系统中,一个机器周期等于1.5μs。

( √ )7、C语言允许在复合语句内定义自动变量。

( √ )8、若一个函数的返回类型为void,则表示其没有返回值。

( × )9、所有定义在主函数之前的函数无需进行声明。

( × )10、定时器与计数器的工作原理均是对输入脉冲进行计数。

( × )11、END表示指令执行到此结束。

( √ )12、ADC0809是8位逐次逼近式模/数转换接口。

( √ )13、MCS-51的相对转移指令最大负跳距是127B。

( × )14、MCS-51的程序存储器只是用来存放程序的。

( √ )15、TMOD中的GATE=1时,表示由两个信号控制定时器的的启停。

( × )16、MCS-51的特殊功能寄存器分布在60H~80H地址范围内。

( × )17、MCS-51系统可以没有复位电路。

( × )18、片内RAM与外部设备统一编址时,需要专门的输入/输出指令。

( √ )19、锁存器、三态缓冲寄存器等简单芯片中没有命令寄存和状态寄存等功能。

( √ )20、使用8751且 =1时,仍可外扩64KB的程序存储器。


四、简答题
1、在使用8051的定时器/计数器前,应对它进行初始化,其步骤是什么?

答: (1)确定T/C的工作方式——编程TMOD寄存器;

(2)计算T/C中的计数初值,并装载到TH和TL;

(3)T/C在中断方式工作时,须开CPU中断和源中断——编程IE寄存器;

(4)启动定时器/计数器——编程TCON中TR1或TR0位。


2、什么是重入函数?重入函数一般什么情况下使用,使用时有哪些需要注意的地方?

答: 多个函数可以同时使用的函数,称为重入函数。

通常情况下,C51函数不能被递归调用,也不能应用导致递归调用的结构。有此限制是由于函数参数和局部变量是存储在固定的地址单元中。重入函数特性允许你声明一个重入函数。即可以被递归调用的函数。

重入函数可以被递归调用,也可以同时被两个或更多的进程调用。重入函数在实时应用中及中断服务程序代码和非中断程序代码必须共用一个函数的场合中经常用到。

3、8051引脚有多少I/O线?他们和单片机对外的地址总线和数据总线有什么关系?地址总线和数据总线各是几位?

答:8051引脚共有40个引脚,8051的地址总线由P2和P0口提供,P2口是地址总线的高8位,P0口是地址总线的低8位;数据总线由P0口提供;P0口的地址总线和数据总线是分时进行的,P0口的地址总线需要外接地址锁存器完成地址锁存。
地址总线共16位,数据总线是8位。


4、在有串行通信时,定时器/计数器1的作用是什么,怎样确定串行口的波特率?

答:在有串行通信时,定时器/计数器1的作用是串行口发生器。

串行口的波特率根据串行口的工作方式具有不同的计算方式:

方式0的波特率固定为晶体振荡器的十二分之一;

方式1的波特率=2SMOD.(定时器1的溢出率)/32;

方式2波特率=2SMOD.(fosc/64);

方式3波特率同方式1(定时器l作波特率发生器)。


5、如何消除键盘的抖动?怎样设置键盘中的复合键?

答:由于按键是机械开关结构,所以当用手按下其中一个键时,往往会出现所按键在闭合位置和断开位置之间发生跳几下后才会稳定到闭合状态的情况。在释放一个键时,也会出现类似的情况,这就是键的抖动,抖动的持续时间不一,但通常不会大于10ms。

若抖动问题不解决,就会引起对闭合键的多次读入。对于键抖动最方便的解决方法就是当发现有键按下后,不是立即进行扫描,而是延时大约10ms后再进行。由于一个键按下的时间一般会持续上百毫秒,所以延迟10ms后再扫描处理并不迟。

复合键可以仿照计算机复合键的处理方法,通常可以假设一个键具有复合功能,再与其它减的键值组合成复合键。


评论


技术专区

关闭