您的当前位置:首页正文

C51单片机-期末复习题

来源:华佗健康网
期末复习题

一、选择题(每题4分,共10题)

1. 下列哪种文件后缀名是可以烧结至单片机中 ( ) A . uv2 B . c C. HEX D . inc

2. AT89C52单片机(双列直插封装)有多少引脚 ( ) A.20 B. 28 C. 40 D. 44

3. AT89C52单片机的地址总线有多少位 ( ) A.2 B. 8 C. 16 D. 32

4. 下面哪个引脚单片机的串行接受引脚 ( ) A.XTAL1 B. RXD C. REST D. ALE

5. 若采用的时钟晶体的频率是12MHz,那么单片机的机器周期是多少 ( ) A. 1/2微秒 B. 1/6微秒 C. 1微秒 D. 1-4微秒

6. 十六进制0xe5转换成二进制应该为 ( ) A. 1111 1101 B. 1110 0011 C. 1110 0101 D. 1111 1010 7. 在下列寄存器中,与定时 / 计数控制无关的是 ( ) A . TCON (定时控制寄存器) B. TMOD (工作方式控制寄存器) C. SCON (串行控制寄存器) D. IE (中断允许控制寄存器) 8. MCS-51单片机的外部中断1的中断请求标志是 。 ( ) A. TR1 B. IE1 C. IT1 D. TF1

9. 定时器/计数器工作方式1是 。 ( ) A. 8位计数器结构 B. 2个8位计数器结构 C. 13位计数结构 D. 16位计数结构

10. 已知1只共阳极LED显示器,其中a笔段为字形代码的最低位,若需显示数字E,则它的字形代码应为 。 ( )

A. 06H B. F9H C. 86H D. 79H 11. 对程序计数器 PC 的操作 ( ) A. 是自动进行的 B. 是通过传送进行的 C . 是通过加 1 指令进行的 D. 是通过减 1 指令进行的

12. 下列计算机语言中,CPU能直接识别的是 。 ( ) A. 自然语言 B. 高级语言 C. 汇编语言 D. 机器语言 13. AT89C52单片机的数据总线有多少位 ( ) A.2 B. 8 C. 16 D. 32

14. 下面哪个引脚单片机的地址锁存引脚 ( ) A.XTAL1 B. RXD C. REST D. ALE

15. 若采用的时钟晶体的频率是12MHz,那么单片机的时钟周期是多少 ( ) A. 1/2微秒 B. 1/6微秒 C. 1微秒 D. 1-4微秒

16. 当外部中断请求的信号方式为脉冲方式时,要求中断请求信号的高电平状态和低电平状态都应至少维持 。 ( ) A. 1个机器周期 B. 2个机器周期 C. 4个机器周期 D. 8个机器周期 17. 二进制0110 1101转换成十六进制应该为 ( ) A. 0xe5 B. 0x6E C. 0x7E D. 0x6D

18. 在下列寄存器中,与定时 / 计数控制无关的是 ( ) A . TCON (定时控制寄存器) B. TMOD (工作方式控制寄存器) C. SCON (串行控制寄存器) D. IE (中断允许控制寄存器)

19. MCS-51单片机的外部中断1的中断请求标志是 。 ( ) A. TR1 B. IE1 C. IT1 D. TF1

20. 已知1只共阴极LED显示器,其中a笔段为字形代码的最低位,若需显示数字E,则它的字形代码应为 。 ( ) A. 06H B. F9H C. 86H D. 79H

二、填空题 (每题5分,共4题)

1. 请写出五种中断类型:

2. 如图1所示,单片机AT89C52的P0口上接了8个LED灯,若要第一、三个灯亮,请写出P0的值(采用十六进制方式)

图1

3. 请用KEILC语言对引脚P1.0、P1.1、P1.2、P1.3定义成LED0、LED1、LED2、LED3,提示:采用特殊位进行定义。

4.在中断函数中,请将外部中断1函数格式补充完整:void external1 。 5. 请用KEILC语言对引脚P1.0、P1.1、P1.2、P1.3定义成LED0、LED1、LED2、LED3,提示:采用特殊位进行定义。

6.请写出下列图中DA转换器的数据端口地址。

7.若A=0XFE,请写出A循环左移的特殊函数表达式:A= ;

三、问答题 (每题10分,共2题)

1. 请用语言表述AT89C52单片机P3引脚的第二功能。 答案:

2. 在内部中断0中,T0采用工作方式1,晶振频率为12MHz,要求定时时间为10毫秒,请写出T0的初值(要求有计算公式和最后的十六进制值)。 答案:

3. 请画出单片机时钟电路,并连接至单片机引脚上。 答案:

4. 键盘行列排列如图,交叉处假设是按健,写出行列扫描键盘的原理(不需要程序)。 答案:

四、程序设计题(每题10分,共2题)

1.请写出延时函数void delay(unsigned char),要求:在晶体振荡器为12Hz时,延时x毫秒。

答案:

2. 请将下列程序补充完整,根据下图设计一个数码管从0到9的顺序显示。 #include

#define uchar unsigned char #define uint unsigned int

uchar code LedCode[ ]={0Xc0,0Xf9,0XA4,0xB0,0x99,0x92,0x82,0Xf8,0x80,0x90};

//根据程序定义变量

void delay(uchar x) { uchar k;

while(x--) for(k=0;k<125;k++){}

}

void main(void) {

P0= LedCode[0]; while(1) {

} } 3

3. 请写出一段完整的跑马灯程序,要求:依次第4,5灯;3,6灯;2,7灯;1,8灯亮。 答案:

因篇幅问题不能全部显示,请点此查看更多更全内容