单片机题库分章节答案(C语言)

更新时间:2024-05-19 05:12:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第1部分 单片机概述及数学基础

一、填空题

1、十进制255的二进制是 11111111 ,十六进制是 FF 。 2、单片机是将 CPU 、 存储器 、特殊功能寄存器、 定时/计数器 和输入/输出接口电路、以及相互连接的总线等集成在一块芯片上。 3、十进制127的二进制是 1111111 ,十六进制是 7F 。 4、+59的原码是 00111011 ,-59的补码是 11000101 。

5、十进制数100转换为二进制数是 1100100;十六进制数100转换为十进制数是 256 。

6、十进制数40转换为二进制数是 101000 ;二进制数10.10转换为十进制数是 2. 5 。

7、十进制99的二进制是 1100 011 ,十六进制是 63 。

二、判断题

( × ) 1、AT89S51是一种高性能的16位单片机。8位机 ( × ) 2、有符号正数的符号位是用1表示的。

三、选择题

( )1、计算机中最常用的字符信息编码是( A ) A. ASCII B.BCD码 C. 余3码 D. 循环码

四、简答题

1、何谓单片机?单片机与一般微型计算机相比,具有哪些特点?

第2部分 51单片机硬件结构、存储系统及

I/O接口

一、填空题

1、AT89S51单片机共有 4 个8位的并行I/O口,其中既可用作地址/数据口,又可用作一般的I/O口的是 P0 。

2、 若采用12MHz的晶振,则MCS-51单片机的振荡周期为__ 1/12 μS __ ,机器周期为____1μS __。

3、AT89S51单片机字长是___8___位,有___40根引脚。 4.89S51单片机是 8 位单片机,其PC计数器是 16 位。

5.若单片机使用的晶振频率是6MHz,那么一个振荡周期是 1/6 μS,一个机器周期是 2μS μS。

6.89S51单片机是 +5 V供电的。4.0-5.5V

7.堆栈是内部数据RAM区中,数据按 先进后出 的原则出入栈的。 8.MSC-51系列单片机具有 4 个并行输入/输出端口,其中_P0_口是一个两用接口,它可分时输出外部存储器的低八位地址和传送数据,而_P1__口是一个专供用户使用的I/O口,常用于第二功能的是 P3 口。

9.当单片机系统进行存储器扩展时,用P2口的作为地址总线的 高八 位,用P0作为地址总线的 低八 位。

10.半导体存储器分为___ROM___和__RAM__两大类,其中前者具有非易失性(即掉电后仍能保存信息),因而一般用来存放系统程序,而后者具有易失性,因而一般用来存放经常变动的用户程序.中间结果等。

11.MCS-51系列单片机对外部数据存储器是采用_DPTR___作为指针的,其字长为_16__位,因而可寻址的数据存储器的最大空间为_64K_字节。 12. 51单片机有 26 个特殊功能寄存器,其中 11 个具有位寻址功能。 13. 当单片机系统需要外扩展存储器时, P2 和 P0 作为地址总线。 14.AT89S51单片机上电初始化后,将自动设置一些寄存器的初始值,其中堆栈指针SP的初始值为 07H ,P0口复位值是 FFH 。

15.单片机两种节电模式: 空闲模式 和 掉电模式 ,节电模式是由特殊功能寄存器 PCON 中的有关位来控制的。

16. 在单片机硬件设计时,31脚一般要接___高电平___, 晶振在PCB设计中应尽量___靠近51芯片___。

17.在AT89S51单片机中,RAM是 数据 存储器,ROM为 程序 存储器。 18.单片机的复位方式主要有 上电复位 和 按键 复位两种。

19.AT89S51单片机的内部RAM的寻址空间为 256B ,而内部ROM的寻址空间为 4K 。

20. 总线(BUS)是计算机各部件之间传送信息的公共通道,微机中有内部总线

和外部总线两类。其中外部总线有控制总线、 数据 总线、 地址 总线三种。 21、已知PSW的RS1和RS0为01,则 第1 组的工作寄存器区被选择为工作寄存器组,此时R0的地址为 08 H。

22、给RST引脚输入 2个机器周期的高 电平使单片机复位,此时P0= FFH或者0XFF ,SP= 07H或者0X07 。

23、堆栈在内部数据RAM区中,数据按 先进后出 的原则出入栈的。 24、8051单片机的存储器的最大特点是 数据 与 程序 分开编址。 25、控制程序执行顺序的寄存器是 PC ,是 16 位寄存器。

二、判断题

( × ) 1、MCS-51单片机的程序存储器只能用来存放程序。 ( × ) 2、MCS-51若希望程序从片内存储器开始执行,EA脚应接低电平。 ( × )3、89S51单片机中,外部RAM与I/O接口是统一编址的。 ( × )4、89S51单片机复位后,特殊功能寄存器SP的内容都是00H。 ( × )5、51单片机内部寄存器都是8位的。

( √ )6、对于8位机,如果正数+正数等于负数,则会产生溢出。 ( × )7.在MCS-51系统中,一个机器周期等于1μs。

( × )8.复位之后,P0-P3的内容为0FFH,栈指针SP指向00H单元。 ( √ )9.当AT89C51的EA引脚接低电平时,CPU只能访问片外ROM,而不管片内是否有程序存储器。

( × )10.扩展I/O口占用片外数据存储器的地址资源。 ( × )11.MCS-51系统可以没有复位电路。

( × )12.程序存储器不仅可以存放程序指令字节代码和表格常数,还可以作为数据暂存和缓冲待调试的程序代码等。

( √ )13. 单片机复位后不影响片内RAM单元的数据,仅影响特殊功能寄存器中的内容。

( √ )14.程序计数器PC不能为用户编程时直接使用,因为它没有地址。 ( × )15. 8051共有21个特殊功能寄存器,它们的位都是可以用软件设置的,因此,是可以进行位寻址的。

( × )16. 8051单片机必须使用内部ROM。

( √ )17. 8051是一种8位单片机。

( √ )18. MCS-51单片机的CPU能同时处理8位二进制数据。 ( √ )19. AT89S51单片机采用的是哈佛结构。

( )20. AT89S51单片机的内部RAM的位寻址空间有128位。 ( √ )21. RXD表示串行口输入端,而TXD表示串行口输出端。 ( × )22.系统复位后,四个I/O口的初始值都是00H。

( × )23.一般AT89S51单片机的特殊功能寄存器的数据都是8位的,但数据指针寄存器DPTR的数据却是16位的。

( √ )24. AT89S51单片机共有4个8位的并行I/O口,其中P2口既可用作地址/数据口,又可用作一般的I/O口。

( √ )25. sbit不可用于定义内部RAM的位寻址区,只能用在可位寻址的SFR上

( √ )26. SFR中凡是能被8整除的地址,都具有位寻址能力。 ( √ )27. 8051单片机,程序存储器和数据存储器扩展的最大范围都是一样的。

( × )28. MCS—51单片机上电复位后,片内数据存储器的内容均为00H。 ( √ )29.当8051单片机的晶振频率为12MHZ时,ALE地址锁存信号端的输出频率为2MHZ的方脉冲。

(× )30.在51系列的单片机系统中,一个机器周期是固定的。

三、选择题

1、AT89S51单片机采用的内部程序存储器的类型是( C )。 A. EPROM B. SFR C. Flash D. 掩膜ROM 2、下列计算机语言中,CPU能直接识别的是( D )。 A. 自然语言 B. 高级语言 C. 汇编语言 D. 机器语言 3、51单片机复位后,PC与P口(I/O)的值为( B )。

A. 0000H, 00H B. 0000H, FFH C. 0003H, FFH D. 0003H, 00H 4、提高单片机的晶振频率,则机器周期( A )。 A. 变短 B. 变长 C. 不变 D. 不定 5、单片机的应用程序一般存放于( B )中

A、RAM B、ROM C、寄存器 D、CPU 6.89S51单片机的PSW寄存器中的RS1和RS0用来( A )。 A.选择工作寄存器组 B. 指示复位 C.选择定时器 D. 选择工作方式 7.80C51基本型单片机内部程序存储器容量为( C )。 A.16K

B.8K

C.4K

D.2K

8. AT89S51单片机的P0□,当使用外部存储器时它是一个( A )。 A. 传输低8位地址/数据总线□ B. 传输低8位地址□ C. 传输高8位地址/数据总线□ D. 传输高8位地址□

9.在AT8951单片机的4个并口中,需要外接上拉电阻的是( A )。 A . P0口 B . P1口 C . P2口 D . P3口

10.在CPU内部,反映程序运行状态或反映运算结果的特征寄存器是( C )。 A. PC B. A C. PSW D. SP 11.51单片机的XTAL1和XTAL2引脚是( D )引脚 A. 外接定时器 B. 外接串行口 C. 外接中断 D. 外接晶振

12. 计算机在使用中断方式与外界交换信息时,保护现场的工作应该是( B )。

A.由CPU自动完成 B.由中断服务子程序完成 C.在中断响应中完成 D.在主程序中完成 13. MCS-51系列单片机是属于( C )体系结构。 A、冯诺依曼 B、普林斯顿 C、哈佛 D、图灵

14. MCS-51系列的单片机中片内RAM的字节大小可能的是( C ) A、128M B、128K C、128 D、64

15. 可以将P1口的低4位全部置高电平的表达式是( B ) A、P1&=0x0f B、P1|=0x0f C、P1^=0x0f D、P1=~P1

16. 51单片机若晶振为6MHZ,定时/计数器一次最大的定时时间是 C 。 A.约60ms B.约100ms C.约130ms D.约160ms

17.单片机复位后P0口和SP的值分别为 C 。

A.00H,00H B.00H,13H C.0FFH,07H D.FFH,07H

18.AT89S51单片机的工作寄存器区的地址范围是 ,可分为 组。( A )

A. 00H~1FH,4 B. 00H~1FH,2 C. 00H~0FH,4 D. 00H~0FH,2 19. 访问外部数据存储器时,不起作用的信号是( C )。 A.RD B.WR C.PSEN D.ALE

20. 若MCS-51单片机使用晶振频率为6MHz时,其复位持续时间应该超过( B )。 A、2μs B、4μs C、8μs D、1ms 21.程序状态字寄存器PSW中的AC=1,表示( D )。 A. 计算结果有进位 B. 计算结果有溢出 C. 累加器A中的数据有奇数个1 D. 计算结果低4位向高位进位 22.AT89S51单片机的4个I/O口中,下列哪个I/O口内部不带上拉电阻,在应用时要求外加上拉电阻的是( A )。

A.P0 B.P1口 C.P2口 D.P3口 23.假设51单片机的晶振为8MHz,则其对应的机器周期为( C )。 A.0.5us B.1us C.1.5us D.2us

24.WDT是看门狗定时器,它包含一个 B 位计数器和定时复位寄存器WDTRST.( )

A.13 B.14 C.15 D.16 25. MCS-5l单片机的堆栈区是设置在( C )中。

A、片内ROM区 B、片外ROM区 C、片内RAM区 D、片外RAM区 26、AT89S51单片机采用的内部程序存储器的类型是( B )。 A. EPROM B. Flash C. SFR D.掩膜ROM

27、单片机复位后,SP、PC、I/O口(P0、P1、P2、P3)的内容为( C ) A. SP = 00H PC = 1000H I/O口= FFH B. SP = 00H PC = 0000H I/O口= 00H C. SP = 07H PC = 0000H I/O口= FFH D. SP = 07H PC = 0000H I/O口= 00H 28、 P0、P1口作输入用途之前必须( A )

A. 相应端口先置1 B. 相应端口先置0 C. 外接高电平 D. 外接上拉电阻 29、MCS—51单片机的CPU主要的组成部分为( A )。 A、运算器、控制器 B、加法器、寄存器 C、运算器、加法器 D、运算器、译码器 30、单片机8031的ALE引脚是( B )。

A、输出高电平 B、输出矩形脉冲,频率为fosc的1/6 C、输出低电平 D、输出矩形脉冲,频率为fosc的1/2 31、MCS-51单片机的复位信号是( A )有效。 A. 高电平 B. 低电平 C. 上升沿 D. 下降沿

31、在访问片外扩展存储器时,低8位地址和数据由( )口分时传送,高8位地址由( )口传送。( C )

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

四、简答题

1、 请说明为什么使用LED需要接限流电阻,当高电平为+5V时,正常点亮一个LED需要多大阻值的限流电阻(设LED的正常工作电流为10mA,导通压降为0.6V),为什么?

2、 MCS-51单片机的存储器从物理结构上可划分几个空间?

3、 MCS-51单片机的P0~P3四个I/O端口在结构上有何异同?使用时应注意的事项?

五、编程题

1、用AT89S51单片机的P2口控制8个LED(共阳接法)依次右移1位点亮(亮200ms)。即P2.7亮→P2.6亮→……→P2.1→P2.0亮,重复循环。

#include delay() {

}

void main() { int i;

char table[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; }

2、利用AT89C51的P1口控制8个发光二极管LED。相邻的4个LED为一组,使2组每隔0.5S 交替发亮一次,周尔复始。画出电路图(含最小系统及与外设的连接图)并编写程序。 #include delay() { }

void main() { int i; while(1) }

{ }

P2=0x0f; delay(500); P2=0Xf0; delay(500); while(1) { for(i=0;i<8;i++) }

{P2=tabel[i]; }

delay(200);

4、 编制一个循环闪烁的程序。有8个发光二极管,每次其中某个灯闪烁点亮10次后,转到下一个闪烁10次,循环不止。画出电路图。 #include delay() { }

void main() { int i,j;

char table[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; while(1) { for(i=0;i<8;i++) } }

{ for(j=0;j<10;j++) }

{P2=tabel[i]; delay(200); P2=0XFF; delay(200);}

三、C语言编程基础

一、填空题

1、在C51语言的程序中,注释一般采用 /**/ 和 // 来实现。 2. KeiL C51软件中,工程文件的扩展名是 uvproj ,编译连接后生成可下载至单片机芯片的文件后缀名是 hex 。

二、判断题

( √ )1、特殊功能寄存器的名字,在C51程序中,全部大写。

( × )2、在C语言中,函数的调用是可以根据需要随便调用,前面的函数

可以调用后面的函数,后面的函数也可以调用前面的函数,无需声明。 ( √ )3、若一个函数的返回类型为void,则表示其没有返回值。 (× )4、用C语言编写AT89C51单片机时,必须添加的头文件是“stdio.h”。 ( × )4、采用单片机的C语言开发时,只能利用C51语言书写程序,不能嵌套汇编语言。

( √ )5、#include 与#include “reg51.h”是等价的。

( √ )6、在C语言中,所有定义在主函数之前的函数无需进行声明。

三、选择题

1、下列数据类型中,( C )是51单片机特有的类型。

A. char B. int C. bit D. float 2、利用下列( A )关键字可以使用不同的中断源。

A. interrupt B. sfr C. while D. using

3.使用单片机软件调试C语言程序时,首先应新建文件,其扩展名是( A ) A. *.c B. *.asm C. *.bin D. *.hex 4.下列指令判断若定时器T0未计满数就原地等待的是( B )。

A. while(T0==1); B. while(TF0==0); C. while(T0==0); D. while(TF0==1); 5.利用下列( D )关键字可以改变工作寄存器组。

A. interrupt B. sfr C. while D. using 6. C语言中最简单的数据类型包括( B )。

A、整型、实型、逻辑型 B、整型、实型、字符型 C、整型、字符型、逻辑型 D、整型、实型、逻辑型、字符型 7. 以下能正确定义一维数组的选项是( 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]=\

四、外部中断

一、填空题

1、MCS-51的外部中断有两种触发方式,分别是电平触发方式和 边沿 触发方

式。在电平触发方式下,当采集到INT0、INT1的有效信号为 低电平 时,激活外部中断。

2.一个89C51系统,要求允许外部中断INT0和允许定时器T0中断,其他中断禁止,则IE寄存器可设定为 IE=0X83 。IE寄存器的格式为: EA

3.8051在响应中断后,CPU能自动撤除中断请求的中断源有_T0、T1以及下降沿触发的外部中断_______。

4. MSC-51引脚中,与串行通信有关的引脚是_P3.0_和_P3.1_。

5.AT89S51单片机有 5 个用户中断源,其中定时器T1的中断入口地址为 001BH ,外部中断0的中断入口地址为 0003H 。

6.AT89S51单片机定时器的四种工作方式中,可自动装载初始值的是方式 2 ,该工作方式是 8 位计数器。

7.已知51单片机的中断优先级寄存器IP的格式为:

- - - PS PT1 PX1 PT0 PX0 - - ES ET1 EX1 ET0 EX0 当IP=15H时, 外部中断0 中断的优先级最高。 8.已知51单片机的中断优先级寄存器IP的格式为:

- - - PS PT1 PX1 PT0 PX0 默认情况下,各中断寄存器有一个优先权顺序,此时优先权最高的是 外部中断0 / PX0,最低的是 串行口通信/ PS 。

9、MCS-51单片机外部中断请求信号有电平方式和 边沿方式 ,在电平方式下,当采集到INT0、INT1的有效信号为 低电平 时,激活外部中断。

10. MCS-51单片机中,在IP=0x00时,优先级最高的中断是__外部中断0 ____,最低的是__串行口通信___。

二、判断题

( × )1.单片机中断系统中,只要有中断源申请中断就可中断了。 ( √ )2.在单片机AT89S51中,当同一中断优先级别的外部中断0和定时

器T0同时产生中断信号,系统会首先响应外部中断0。

(√ )3. TCON是一个即可以位寻址又可以字节寻址的特殊功能寄存器。 ( √ )4.必须有中断源发出中断请求,并且CPU打开中断,CPU才可能响应中断。

( × )5. MCS-51的5个中断源优先级相同。

( √ )6.在使用外部中断时,要把对应中断开关控制位设置为1。 ( × )7.PCON是一个即可以位寻址又可以字节寻址的特殊功能寄存器。 ( × )8.单片机外部中断时只有用低电平触发。

( √ )9、在一般情况下MCS-51单片机不允许同级中断嵌套。

( × )10.各中断发出的中断请求信号,都会标记在MCS-51系统的IE寄存器中。

三、选择题

1、51单片机在同一优先级的中断源同时申请中断时,首先响应( A )。 A. 外部中断0 B. 定时器0中断 C.外部中断1 D. 定时器1中断 2.下列说法错误的是:( B )

A.同一级别的中断请求按时间的先后顺序响应。

B.同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。

C.低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求。 D.同级中断不能嵌套。

3.在MCS-51中,需要外加电路实现中断撤除的是:( D )

A.定时中断 B.脉冲方式的外部中断 C.外部串行中断 D.电平方式的外部中断 4. 当外部中断请求的信号方式为脉冲方式时,要求中断请求信号的高电平状态和低电平状态都应至少维持( A )。

A.1个机器周期 B.2个机器周期 C.4个机器周期 D.10个晶振周期 5. 边沿触发方式的外部中断信号是( A )有效。 A.下降沿 B.上升沿 C.高电平 D.低电平 6.外部中断请求标志位是 D 。

A.IT0和IT1 B.TR0和TR1 C.TI和RI D.IE0和IE1

7. 如果将中断优先级寄存器IP中,将IP设置为0x0A,则优先级最高的是( D )

A、外部中断1 B、外部中断0 C、定时/计数器1 D、定时/计数器0

8. 计算机在使用中断方式与外界交换信息时,保护现场的工作方式应该是( C )

A.由CPU自动完成 B.在中断响应中完成 C.应由中断服务程序完成 D.在主程序中完成

9、MCS-51中断源有( A )

A、 5个 B、 2个 C、 3个 D、 6个

10、MCS-51单片机可分为两个中断优先级别,各中断源的优先级别设定是利用寄存器( B )。

A、 IE B、 IP C、 TCON D、 SCON

11、各中断源发出的中断请求信号,都会标记在MCS-51系统中的( B )。 A、 TMOD B、 TCON/SCON C、 IE D、 IP

12. MCS—51单片机在同一级别里除串行口外,级别最低的中断源是( C )。 A、外部中断1 B、定时器T0 C、定时器T1 D、串行口

四、 简答题

1、请画出航标灯控制程序流程图。要求航标灯在白天熄灭,在夜晚断续点亮,时间间隔2秒,即亮2秒,灭2秒,周期循环进行。硬件电路图如右,由P3.2控制P1.7所接LED(航标灯)的工作,图中VT1为光敏三极管,白天导通,晚上截止。VT2的状态与VT1相反。

#include sbit KEY=P3^2; sbit LED=P1^7; void delay() { }

void main() { P1=0X00; while(1) {

{ if(KEY==0) {LED=1;

delay(2000); LED=0; delay(2000); } else

;

} } }

2、什么叫中断嵌套?中断嵌套有什么限制?中断嵌套与子程序嵌套有什么区别?

五、定时/计数器

一、填空题

1、51单片机的定时器T1工作在工作方式0计数模式下,定时器T0工作在工作方式1定时模式下。则TMOD的值应为 41H 。

2、AT89S51单片机定时器的四种工作方式中,可自动装载初始值的是方 式 2 ,该工作方式是 8 位计数器。

3、假设已经设置好定时器T1的计数初始值,则要启动定时器T1,需要设置TR1= 1 。

4.AT89C51单片机有 2 个定时/计数器。

5.AT89S51单片机定时器的四种工作方式中,其中方式 3 是只有定时器T0才有的方式。

6.假设定时器T0已经正常工作,现要停止定时器T0,则需要设置TR0= 0 。

7.假设已经设置好定时器T1的计数初始值,则要启动定时器T1,需要设置TR1= 1 。

8.AT89S51单片机定时器的四种工作方式中,方式0为 13 位计数器,方式1为 16 位计数器。

二、判断题

( × ) 1、定时器与计数器的工作原理均是对输入脉冲进行计数。 ( × )2、TMOD是一个即可以位寻址又可以字节寻址的特殊功能寄存器。 ( × )3、定时器0使用时必须使用单片机的T0脚(P3.4)。

( √ )4.定时器T1不能工作在方式3。

( ×)5.因为T0和T1是内部中断所以其计数脉冲信号只能来自于CPU的内部机器周期脉冲信号。

( × )6. MCS-51的中断源全部编程为同级时,优先级最高的是INT1。 ( ×)7.定时/计数器1使用时必须使用单片机的T0脚(P3.5)。

( √ )8. 51单片机的两个定时器均有定时和计数工作方式。 ( √ )9.定时器的中断标志由硬件清0。 ( √ )10、TMOD中的GATE=1时,表示由两个信号控制定时器的的启停。

三、选择题

1、若单片机的振荡频率为6MHz,设定时器工作在方式1需要定时1ms,则定时器初值应为( C )。

A. 500 B. 1000 C. 216-500 D. 216-1000

2、定时器0工作于计数方式,外加计数脉冲信号应接到( C )引脚。 A、P3.2 B、P3.3 C、P3.4 D、P3.5 3、定时器T0计数溢出后,( B )置1 。 A、TF1 B、TF0 C、TI D、RI

4.要使MCS-51能响应外部中断1和定时器T0中断,则中断允许寄存器IE的内容应该是( B )

A、98H B、86H C、22H D、A2H

5.若单片机的振荡频率为12MHz,设定时器工作在方式1需要定时1ms,则定时器初值应为( D )。

A. 500 B. 1000 C. 216-500 D. 216-1000

6. 定时/计数器的工作方式通过对( B )寄存器编程设定。 A. TCON B.TMOD C. SCON D.IE

7.单片机振荡频率为12MHz,定时器工作在方式1需要定时50ms,则定时器初值应为( C )。

A.50000 B.216-15536 C.216-50000 D.15536

8、.8位自动重装的定时/计数器工作在( C )下。 A. 方式0 B.方式1 C. 方式2 D.方式3

9、AT89S51定时器的4种工作方式中,定时器T1没有的工作方式是( D )。 A.方式0 B. 方式1 C.方式2 D. 方式3 10.MCS-51单片机定时器工作方式1是指的( D )工作方式。 A. 8位 B. 8位自动重装 C. 13位 D. 16位 11. 在下列寄存器中,与定时/计数控制无关的是( C ) A、 TCON B、 TMOD C、 SCON D、 IE

12. 与定时工作方式1和0比较,定时工作方式2不具备的特点是( B ) A、 计数溢出后能自动重新加载计数初值 B、 增加计数器位数 C、 提高定时精度 D、 适于循环定时和循环计数应用

四、简答题

1、51系列单片机具有几个中断源?其中哪些中断源可以被定义为高优先级中断,如何定义?

2、单片机定时/计数器有几种工作方式?它们的定时/计数范围是多少?

五、编程题

1、已知51单片机晶振频率是12MHz,使用定时器T1,产生周期为200ms的等宽正方波连续脉冲由P1.2输出, 要求以中断方式完成。 #include sbit P12=P1^2; int count=0; void main() { TMOD=0X10;

TH1=(65536-10000)/256; TL1=(65536-10000)%6; IE=0X88;

TR1=1; while(1) ; }

void tt1(void) interrupt 3 using 1 { if(count<10) {count++;

TH1=(65536-10000)/256; TL1=(65536-10000)%6;

}

else { count=0;

TH1=(65536-10000)/256; TL1=(65536-10000)%6; P12=~P12;} }

2、已知单片机晶振频率是12MHz,实现功能:使用定时中断方式实现时间判断,产生8个LED形成流水灯效果。要求使用定时器工作方式1。 TMOD (89H) D7 GATE #include int i=0;

char code tabel[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01}; void main() { TMOD=0X10;

TH1=(65536-10000)/256; TL1=(65536-10000)%6; IE=0X88; TR1=1;

D6 C/T T1 D5 M1 D4 M0 D3 GATE T0 D2 C/T D1 M1 D0 M0 while(1) ; }

void tt1(void) interrupt 3 using 1 { if(count<50) {count++;

TH1=(65536-10000)/256; TL1=(65536-10000)%6;

}

else { count=0;

TH1=(65536-10000)/256; TL1=(65536-10000)%6;

P1=table[i]; if(i==7) {i=0;} i++;

} }

六、串口通信

一、填空题

1. MSC-51引脚中,与串行通信有关的引脚是_P3.0_和_P3.1_。

二、判断题

( × )1.51单片机的串口设置了1个SBUF即可实现全双工通信。 ( × )2.AT89S51单片机的串口只有2种工作方式。

( √ )3.AT89S51单片机共有4个8位的并行I/O口,其中P2口既可用作地址/数据口,又可用作一般的I/O口。

( √ )4.假设传输的数据一帧有11位,每秒钟传输30帧,则此时的比特率应为330bps。

( × )5.MCS-51的串行接口是全双工的。

三、选择题

1、下列英文缩写代表“串口控制寄存器”的是( A )。 A.SCON B.TCON C.SMOD D.TMOD 2、串行通信中,发送和接收寄存器是( B ) A、TMOD B、SBUF C、SCON D、DPTR 3、控制串行口工作方式的寄存器是( C ) A、TMOD B、PCON C、SCON D、TCON 4. 串行口每一次传送( C )字符。

A.1个 B.1串 C.1帧 D.1波特

5. 当MCS-51进行多机通讯时,串行接口的工作方式应选为( C )。 A.方式0 B.方式1 C.方式2 D.方式0或方式2

6. MCS—51单片机串行口发送/接收中断源的工作过程是:当串行口接收或发送完一帧数据时,将SCON中的( A ),向CPU申请中断。 A、RI或TI置1

B、RI或TI置 0

C、RI置1或TI置0 D、RI置0或TI置1

七、单片机扩展技术

一、填空题

1、共阳极数码管显示6时的字型码是 82H, 共阴极数码管显示9时的字型码是 6FH 。

2.ADC0809的分辨率是_8位的(0.0195v)_,若接入的参考电压为5.1V,则它能分辨的最小输入电压为_0.0199V。

3、共阳极数码管显示A时的字型码是__88__H, 共阴极数码管显示A时的字型码是__77__H。

二、判断题

( √ )1.采用软件延时可以去除按键抖动,延时时间只要超过10ms都可以。 ( √ )2.共阳极数码管显示数字“3”时,其段码值为B0H。

( √ )3.数码管采用动态扫描显示时,所有数码管的笔画段的同名端连接在一起共用一个控制引脚,而每个数码管的公共极各自独立,分别与不同控制引脚相连。

( × )4.A/D转换器的作用是将数字量转为模拟量

( √ )5. 在使用按键时要消除按键的抖动,可以通过改进硬件或软件编程的方法来实现。

( × )6. 对按键进行扫描时采用软件延时来去除抖动,延时时间越短越好。 ( × )7.AD0809是8位的数模转换器。

( × )8.4*4矩阵键盘需要16根数据线进行连接。

三、选择题

1、ADC0809是( B )AD的转换器件

A、4通道8位 B、8通道8位 C、4通道12位 D、8通道12位 2、用89C51的P1口,监测某一按键开关,使每按键一次,输出一个正脉冲(脉宽随意)。编写程序。

3. 具有模数转换功能的芯片是( A )

A、ADC0809 B、DAC0832 C、MAX813 D、PCF8563 4. 需要扩展一片外部RAM,大小32K字节,需要的地址线是( A ) A、15 B、14 C、13 D、12

5.一个共阴极的8段LED数码管,要使其显示数字6的字形,则其字型码为( C )。

A.FDH B.02H C.7DH D.82H

四、简答题

1、简述在使用普通按键的时候,为什么要进行去抖动处理,如何处理。

答:因为普通的按键都是金属触点的,金属触点在接触的瞬间会有一个撞击力导致接触点分开,然后又接触在一起,这样反复直到稳固接触在一起。这种现象叫做按键的抖动,这种抖动如果不进行处理的话,会导致按键误判断。去除抖动的方法有两种硬件和软件。硬件的方法就是在按键连接处使用RS触发器,软件的方法就是在编写程序的时候有个延时操作,利用延时越过抖动状态。 2、什么是LED数码管静态扫描和动态扫描。简述LED数码管动态扫描的原理及其实现方式。

答:数码管静态就是指在给数码管送字型码,这个字形能保持至下一次字型码到来,多于两个数码管的电路只能每个显示一个字型码,而不能显示两个不同的字形,如果要显示不同的

字形则要等到下一次送入新的字型码为止。而对于动态显示在多于两个数码管一起显示时,可以先给一个数码管送入一个字型码,让这个字形在这个数码管上显示一段很短的时间,这个时间必须短于人眼的识别时间即几十毫秒一下,然后又接着给另外一个数码管送入不同的字型码,也让这个字形在这个新的数码管上显示一段很短的时间,其实就是让所有的数码管显示的字型码轮流在各个数码管上面显示,就这样重复多次,这样我们利用人眼的惰性看到的显示数码管上面的字形就 好像是同时显示一样。数码管采用动态扫描显示时,所有数码管的笔画段的同名端连接在一起共用一个控制引脚,而每个数码管的公共极各自独立,分别与不同控制引脚相连。

五、编程题

1、要求用单片机控制七段数码管循环显示数字0 ~9,时间间隔1s。采用并行输出控制八段数码管,设小数点不亮,采用共阴顺序确定0 ~9的段码,即数码管为共阴数码管。 #include

char code tabel[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void delay() {

自己补充完整 }

void main() { int i=0;

for(i=0;i<10;i++) {P0=table[i]; delay(1000); } }

2、设计一个4位数码显示电路,编程使\从右到左显示一遍。 #include

char code tabel[]={0X08,0X04,0X02,0X01}; void delay()

{

自己补充完整 }

void main() { int i=0; for(i=0;i<4;i++) {P0=0X7F; P1=table[i]; delay(500); } }

3、拟在8031片外扩展4K EPROM、8KRAM、一片8255、一片0832、一片0809以构成一实用系统,要求:

(1)画出电路图,并标明每块芯片地址;

(2)设置8255的PA口为方式1输出,PB口为方式0输入,PC口高4位为输出,低4位为输入。试写出其初始化程序; (3)编写程序段在0832上输出下列波形。

u t

4、要求设计实现一个花样流水灯。假设硬件电路有八个发光二极管且接线于51单片机的P0口,高电平点亮,要求每间隔1s按00H、81H、42H、24H、18H、C3H、E7H、FFH的数据形式点亮流水灯。并在下图中将一个循环周期的流水花样用笔描绘出来,图中白色圆圈代表灯灭,涂黑代表灯亮。请编程实现。

高位在前,低位在后 ○○○○○○○○ ○○○○○○○○ ○○○○○○○○ ○○○○○○○○ ○○○○○○○○ ○○○○○○○○ ○○○○○○○○ ○○○○○○○○ 流水灯花样图 #include

char code tabel[]={0x00,0x81,0x42,0x24,0x18,0xc3,0xe7,0xff}; void delay() { }

void main() { int i=0; for(i=0;i<8;i++) {P0=table[i]; delay(1000); } }

本文来源:https://www.bwwdw.com/article/mem7.html

Top