(完整版)单片机题库分章节答案(C语言)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第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)。
即亮,重复循环。
#include<reg51.h>
delay()
{
}
void main()
{ int i;
char table[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
while(1)
{ for(i=0;i<8;i++)
{P2=tabel[i];
delay(200);
}
}
}
2、利用AT89C51的P1口控制8个发光二极管LED。
相邻的4个LED为一组,使2组每隔0.5S 交替发亮一次,周尔复始。
画出电路图(含最小系统及与外设的连接图)并编写程序。
#include<reg51.h>
delay()
{
}
void main()
{ int i;
while(1)
{
P2=0x0f;
delay(500);
P2=0Xf0;
delay(500);
}
}
4、编制一个循环闪烁的程序。
有8个发光二极管,每次其中某个灯闪烁点亮10
次后,转到下一个闪烁10次,循环不止。
画出电路图。
#include<reg51.h>
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 <reg51.h>与#include “reg51.h”是等价的。
(√)6、在C语言中,所有定义在主函数之前的函数无需进行声明。
三、选择题
1、下列数据类型中,( C )是51单片机特有的类型。
A. char
B. in t
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]="0123";
四、外部中断
一、填空题
1、MCS-51的外部中断有两种触发方式,分别是电平触发方式和边沿触发方
式。
在电平触发方式下,当采集到INT0、INT1的有效信号为 低电平 时,激活外部中断。
2.一个89C51系统,要求允许外部中断0INT 和允许定时器T0中断,其他中断禁止,则IE 寄存器可设定为 IE=0X83 。
IE 寄存器的格式为:
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 的格式为:
当IP=15H 时, 外部中断0 中断的优先级最高。
8.已知51单片机的中断优先级寄存器IP 的格式为:
默认情况下,各中断寄存器有一个优先权顺序,此时优先权最高的是 外部中断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 <reg51.h> 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 <reg51.h>
sbit P12=P1^2;
int count=0;
void main()
{ TMOD=0X10;
TH1=(65536-10000)/256;
TL1=(65536-10000)%256;
IE=0X88;
while(1) ;
}
void tt1(void) interrupt 3 using 1
{ if(count<10)
{count++;
TH1=(65536-10000)/256;
TL1=(65536-10000)%256;
}
else
{ count=0;
TH1=(65536-10000)/256;
TL1=(65536-10000)%256;
P12=~P12;}
}
2、已知单片机晶振频率是12MHz,实现功能:使用定时中断方式实现时间判断,产生8个LED形成流水灯效果。
要求使用定时器工作方式1。
#include <reg51.h>
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)%256;
IE=0X88;
TR1=1;
}
void tt1(void) interrupt 3 using 1
{ if(count<50)
{count++;
TH1=(65536-10000)/256;
TL1=(65536-10000)%256;
}
else
{ count=0;
TH1=(65536-10000)/256;
TL1=(65536-10000)%256;
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 <reg51.h>
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位数码显示电路,编程使"8"从右到左显示一遍。
#include <reg51.h>
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上输出下列波形。
4、要求设计实现一个花样流水灯。
假设硬件电路有八个发光二极管且接线于51单片机的P0口,高电平点亮,要求每间隔1s按00H、81H、42H、24H、18H、C3H、E7H、FFH的数据形式点亮流水灯。
并在下图中将一个循环周期的流水花样用笔描绘出来,图中白色圆圈代表灯灭,涂黑代表灯亮。
请编程实现。