单片机习题.docx

上传人:b****4 文档编号:4306252 上传时间:2022-11-29 格式:DOCX 页数:33 大小:531.35KB
下载 相关 举报
单片机习题.docx_第1页
第1页 / 共33页
单片机习题.docx_第2页
第2页 / 共33页
单片机习题.docx_第3页
第3页 / 共33页
单片机习题.docx_第4页
第4页 / 共33页
单片机习题.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

单片机习题.docx

《单片机习题.docx》由会员分享,可在线阅读,更多相关《单片机习题.docx(33页珍藏版)》请在冰豆网上搜索。

单片机习题.docx

单片机习题

第一章

一、填空题:

1、计算机中数据的存放是以为单位的(用BYTE表示可简写为B),1B=位,1KB=B。

2、.微处器由、、三部分组成..

3、计算机的系统总线有、、。

二、选择题:

1、以下不是构成单片机的部件有()

A微处理器(CPU)、B存储器C接口适配器(I\O接口电路)D打印机

2、下列不是单片机总线是()

A地址总线B控制总线C数据总线D输出总线

三、回答题:

1.单片机主要用途是什么?

列举你所知道的目前应用较为广泛的单片机种类。

2.计算机字长的含义是什么?

8051单片机的字长是多少?

3.请介绍单片机的应用领域.并举一个具体例子,说明单片机在其中所起的作用.

4.请说明单片机的主要特点.

5.请说明当今单片机发展的方向有那些.

6.单片机与通用微机有什么异同?

7.请画出单片机组成的结构框图,并加以说明.

第二章

一、填空题

1、计算机系统的三大总线是指、、。

当单片机系统进行扩展时,一般用P0作为总线,用P0和P2口的作为总线。

2、如果80C51单片机晶振频率为12MHz,则时钟频率为、机器周期为

3、80C51单片机复位的条件是,复位方法一般采用复位

和复位两种方法,复位后PC的值为,P0——P3口的值为。

4、一个机器周期等于状态周期,振荡脉冲2分频后产生的时序信号的周期定义为

周期。

二、选择题

1、关于MCS-51的时钟问题,以下说法正确的是()

A晶振频率=机器频率B12*晶振周期=机器周期C所有指令周期=机器周期D12*状态周期=机器周期

2、关于PC寄存器,以下说法正确的是()

A可以对PC直接读写B单片机复位后PC指向RAM的0000HC单片机复位后PC指向ROM的0000HD执行完一条指令后PC自动减1

3、MCS-51系统中,若晶振频率8MHz,一个机器周期等于()μs

A1.5B3C1D0.5

三、问答题:

1、80C51单片机复位后的状态如何?

复位方法有几种?

画出常用的两种复位电路.

2、在89C51单片机应用系统中

/VPP引脚如何连接?

为什么?

3、80C51单片机的片内、片外存储器如何选择?

4、

/VPP引脚有何功用?

8031的引脚应如何处理?

为什么?

5、什么是时钟周期?

什么是机器周期?

什么是指令周期?

89C51CPU机器周期与时钟周期是什么关系?

如果晶振频率为12MHz,则一个机器周期是多少微秒?

6、请说明复位电路的作用.

7、请说明单片机运行的基本过程.

8、请画出单片机最小系统.

9、根据你的理解,请说明单片机系统制作的过程.

四、补充习题

1、计算机中最常用的字符信息编码是(   )。

(A)ASCII     (B)BCD码  (C)余3码    (D)循环码

2、十六进制数7的ASCII码是(   )。

(A) 37      (B)7      (C)07       (D)47

3、在计算机中,字符的编码普遍采用的是(   )。

  A.BCD码

  B.十六进制

  C.格雷码

  D.ASCII码

4、将下列各二进制数转换为十进制数。

①11010101B②11010011B③10101011B④10111101B

5、将下列各数转换为二进制数。

①215D②253D③01000011BCD④00101001BCD

6、已知原码如下,写出其反码和补码(其最高位为符号位)。

①[X]原=01011001B②[X]原=00111110B③[X]原=11011011B④[X]原=11111100B

7、当微机把下列数看成无符号数时,它们相应的十进制数为多少?

若把它们看成是补码,最高位为符号位,那么它们相应的十进制数是多少?

①10001110B②10110000B③00010001B④01110101B

第三章

一、填空题

1、MCS-51片内范围内的数据存储器,既可以字节寻址又可以位寻址.

80C51在物理有个独立的存储空间。

2、MCS-51型单片机的ROM寻址范围为,外RAM的寻址范围为,内部RAM低128B区可分为、、三部分,高128B单元又称为区,其中字节地址具有特征的可进行位寻址。

二、选择题

1、程序存储器的选通信号是()

A.WRB.ALEC.PSEND.RD

2、MCS-51系列单片机存储器主要分配特点是()

AROM和RAM分开编址BROM和RAM统一编址C内部ROM和外部ROM分开编址D内部ROM和内部RAM统一编址

3、如某存储器,地址线为A0—A10,数据线为D0—D7,则存储量为()

A2KBB1KBC2KbitD1Kbit

三、问答题

1、80C51单片机的存储器的组织采用何种结构?

存储器地址空间如何划分?

各地址空间的地址范围和容量如何?

在使用上有何特点?

2、假设某CPU含有16根地址线,8根数据线,则该CPU最多寻址能力是多少KB?

3、89C51CPU复位后内部RAM各单元内容是否改变?

4、8051单片机存储器的组织结构是怎样的?

5、片内数据存储器分为哪几个性质和用途不同的区域?

6、在8031扩展系统中,外部程序存储器和数据存储器共用16位地址线和8位数据线,为什么两个存储空间不会发生冲突?

第四章

一、填空题

1、MCS-51有个并行I、O口,其中P0~P3是准双向口,所以由输出转输入时必须先

写入

2、P0口要能输出高低电平,必需外接电阻.

3、8051的几个端口中只有口只作为通用IO口,其它几个端口都具有功能.

4、P0口第二功能是和.

5、P2口的第二功能是.

6、P3口的第二功能中,与串行通信相关的引脚是和;与中断相关的是

和;与定时器相关的是和;与扩展存储器相关的是

和.

二、选择题

1、不具有第二功能的端口是()

AP0BP1CP2DP3

2、不能输出高低电平的端口是()

AP0BP1CP2DP3

3、数据总线是下列哪个端口()

AP0BP1CP2DP3

4、地址总线的高8位是哪个端口()

AP0BP1CP2DP3

5、STC单片顶机程序下载使用的端口是()

AP0BP1CP2DP3

三、问答题

1、80C51单片机的P0~P3口在结构上有何不同?

在使用上有何特点?

2、P3口的第二功能是什么?

3、复位后各端口的状态是怎样的?

4、为什么在单片机直接外接LED时,要让电流流入而不是流出单片机引脚?

5、以P1口为例,说明单片机是怎样输出高低电平的.

四、编程题

1、请编写一程序将P1口的输出变为低电平.

2、请编写一程序读入P1口的状态.

五、补充习题

1、设计一个交通信号灯的检测报警电路。

当信号灯正常工作时,红、黄、绿三个灯中只有一个灯亮,其余两灯灭,否则说明信号灯发生故障,此时应发出报警信号。

用与非门实现。

2、用“与非”门组成下列逻辑门:

(1)“与或”门

(2)“或非”门

3、写出图4.12所示两图的逻辑式。

第五章

一、填空题

1、Proteus软件具有和两大功能.

2、Proteus软件可以和软件联合仿真单片机,让程序在运行,而运行的结果在

中显示.

3、、Proteus软件中寻找元件时,电阻的符号是,电容的符号是,发光二极管的符号是,数码管的符号是.

二、选择题

1、Proteus软件能仿真的单片机有()

APICB8051CAVRDDSP

2、、Proteus软件中的虚拟仪器有()

A示波器B信号发生器C逻辑分析仪D指示灯

3、下列哪些方法仿真单片机是可行的()

A直接将程序装载到Proteus软件的单片机运行;B直接在KeilC软件中运行程序;C在Proteus软件中建立电路,在Proteus软件中运行程序;D画好电路图后,点击运行按钮,就可在Proteus软件中运行程序了.

三、操作题

1、请用Proteus画出单片机最小系统的电路图,并仿真实现使P1口输出为低电平.

2、在P0口外接8个LED,请画出电路图,并仿真实现点亮这8个发光二极管.

3、制作点亮8个发光二极管的电路,并将程序下载到单片机中,实现这一功能.

第六章

一、填空题

1、C51扩展的数据类型有:

、、、.

2、用C51编写单片机程序,与用ANSIC编写程序的不同之处是,需要根据单片机结构及内部资源,定义相应的类型和变量。

3、C51变量定义的四个要素是、、、.

4、sfr定义特殊功能寄存器SFR的地址,例如:

sfrP0=0x80;//定义P0口为80H

sfr16DPTR=0x82;//定义DPTR的为82H

5、bitdoor=0;//定义一个叫door的变量且初值为.

6、下列是一个子函数:

 bittestfunc(bitflag1,bitflag2)

 {/*flag1和flag2为类型的参数*/

 return(flag);/*flag是类型的返回值*/

 }

7、51系列单片机有三个逻辑存储空间:

、、.数据可任意存储到其中某一存储器中。

8、CODE区是用来存放可执行代码的存储区,用16位寻址空间可达代码段,是只读的.常数,如汉字字库常放在此区存储,但一般不能存储于此区域.

9、data区是8051内字节的内部RAM或8052的前128字节内部RAM存储区。

访问data区比访问xdata区要。

通常我们把使用比较频繁的存储在data段中,但是必须节省使用data段,因为它的空间毕竟有限。

10、另外一个子段叫做位寻址段bdata,包括个字节,共位,每一位都可单独寻址。

11、xdata区存储空间为K,和CODE区一样采用16位地址寻址称作外部数据区。

这个区通常包括一些RAM,如SRAM或一些需要通过总线接口的。

使用频繁的数据应尽量保存在区中。

12、switch…case语句的执行过程是:

首先计算的值,并逐个与case后的常量表达式的值,当表达式的值与某个常量表达式的值相等时,则执行对应该常量表达式后的语句组,再执行语句,跳出switch语句的执行,继续执行下一条语句。

如果表达式的值与所有case后的常量表达式均不相同,则执行后的语句组。

二、选择题

1、以下哪些是单片机扩展的数据类型()

Abdata;Bbit;Ccode;Ddata

2、以下哪个与其它三个语句的意义不同()

AsbitCY=0xD7;BsfrPSW=0xD0;sbitCY=PSW^7;CsbitCY=0xD0^7;DsbitCY=0xD0

3、以下不正确的说法是()

A用sbit定义的位变量,必须能够按位操作,而不能够对无位操作功能的位定义位变量。

B用sbit定义位变量,必须放在函数外面作为全局位变量,而不能在函数内部定义。

C用sbit每次只能定义一个位变量。

D用sbit定义的是一种绝对定位的位变量(因为名字是与确定位地址对应的),具有特定的意义,在应用时能像bit型位变量那样随便使用。

4、以下不正确的说法是()

A位变量不能定义成一个指针,原因是不能通过指针访问“bit”类型的数据,如定义“bit*ptr;”是非法的。

B不存在位数组,如不能定义bitSHOW_BUF[6]。

C在位定义中,允许定义存储类型,位变量都被放入一个位段,此位段总位于51单片机片内的RAM中,因此存储器类型限制为data、bdata、idata、pdata和xdata。

如果把位变量的存储类型定义为其他存储类型,将导致编译出错。

D值得注意的是,使用中断禁止(#pragmadisable)或包含明确的寄存器组切换(usingn)的函数不能返回位值,否则编译器会给出一个错误信息。

5、C-51的包含的头文件有()

Areg51.h;Bmath.h;Cabsacc.h;Dintrins.h

6、关于switch…case语句,下列不正确的是():

A各个case及default出现的次序,不影响执行的结果。

各个情况的地位相同。

BBreak语句可以省略.

C每一case的常量表达式必须互不相同,以免造成混乱。

DBreak语句不可少。

否则,不会退出,而会继续执行后面的case语句。

7、以下不是循环结构的是()

Awhile结构;Bdowhile结构;Cif语句;Dfor语句

8、在一个函数中调用另一个函数需要具备如下条件():

A被调用函数必须是已经存在的函数(库函数或者用户自己已经定义的函数。

B如果函数定义在调用之后,那么必须在调用之前(一般在程序头部)对函数进行声明。

C如果程序使用了库函数,则要在程序的开头用#include预处理命令将调用函数所需要的信息包含在本文件中。

D如果不是在本文件中定义的函数,那么在程序开始要用extern修饰符进行函数原型说明。

三、编程题

1、修改程序

试改正下列程序(直接改)

要示编写一段程序从P1口输出数据

#include

main()

{

chara;

while

(1)

{

for(a=0;a==255;a++)

{

P1=a;

for(b=0;b<50000;b++);//延时

}

}

}

2、完善程序(在空中加入适当的语句)

1)以下是计算100以内自然数的和的程序

main()

{

unsignedint,sum=;

for(;a<=100;a++)

sum+=a;

while

(1);

}

2)、以下是计算100以内自然数的和的程序

main()

{

inta=,sum=0;

for(;a<=100;)

{

sum+=a;

;

}

while

(1);

}

3、编写程序

1)试用while循环编写一段延时程序;

2)试用for循环编写一段延时程序;

3)试编写一主程序及一子程序。

子程序为有形参的延时程序,主程序调用子程序实现延时,时间到后使P1.0输出低电平。

4)编制一个循环闪烁的程序。

有8个发光二极管,每次其中某个灯闪烁点亮10次后,转到下一个闪烁10次,循环不止。

画出电路图。

5)利用89C51的P1口控制8个发光二极管LED。

相邻的4个LED为一组,使2组每隔0.5S交替发光一次,周而复始。

试编写程序。

6)试编制一跑马灯程序.要求控制P1口所接的8个LED从两头向中央汇合.

7)有如图所示电路,当开关S0闭合时,LED0亮,…开关S7闭合时,LED7亮。

其他情况下LED全灭,任一时刻只能有一个LED亮。

要求用switch/case语句。

8)如图所示电路,试用do…while循环编写一段程序,当P3.0闭合时,P1口的LED0-LED7闪烁,当断开时,全灭。

9)综合练习

在P0口接有8个发光二极管,试分别编写程序实现以下功能:

①测试P1口的电平,若为低则相应的发光管亮;

②8个发光管亮一会,灭一会,即不断闪烁。

③2个发光管从右向左运动。

要求画示出电路图及编写程序的流程图。

四、制作练习

在已有的跑马灯电路板上,再制作交通灯.

编一交通灯控制程序.要求:

平时东西、南北向正常转换,当S1按下时,东西向通行;S2按下时南北向通行。

要求:

1、画出电路图;

2、画出程序流程图;

3、列出程序清单(详细注释);

4、制作交通灯演示系统;

5、将程序下载到单片机中,通电观察结果是否正确.

第七章

一、填空题

1、中断是指在突发事件到来时先中止的工作,转而去处理突发事件。

待处理完成后,再返回到的工作处,继续进行随后的工作。

2、引起突发事件的来源称为;中断源要求服务的请求称为;对中断请求提供的服务称为;中断管理系统处理事件的过程称为.

3、外部中断0可由IT0(TCON.0)选择其为低电平有效还是有效。

当CPU检测到P3.2引脚上出现有效的中断信号时,中断标志IE0(TCON.1)置,向CPU申请中断。

4、CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器控制的。

中断允许寄存器中:

⏹EX0(IE.0),是允许位;

⏹EX1(IE.2),是允许位;

⏹EA(IE.7),CPU中断位。

以上各位为时,允许相应的中断,为时禁止相应的中断,其中,

为中断的总开关。

5、8051单片机有个中断优先级,即可实现级中断服务嵌套。

每个中断源的中断优先级都是由中断优先级寄存器中的相应位的状态来规定的。

中断优先级寄存器中:

⏹PX0(IP.0),是优先级设定位;

⏹PX1(IP.2),是优先级设定位;

上面各位为时,是高优先级,为时为低优先级。

6、进入中断服务是单片机自动安排的,如进入前会保存中断处及其它重要信息。

进入中断服务程序后则执行相应的服务程序,执行完后还要恢复原来的及重要信息,然后返回到处断续执行原来的程序。

7、中断响应时间即从发出中断请求到的时间,这一时间不长,一般为

个机器周期。

8、中断响应过程就是自动调用并执行的过程。

C51编译器支持在C源程序中直接以函数形式编写中断服务程序。

常用的中断函数定义语法如下:

void函数名()interruptn

其中n为,C51编译器允许0~31个中断,标准8051,n取值范围是。

二、选择题

1、8051单片机的中断优先级有三条原则():

ACPU同时接收到几个中断时,首先响应优先级别最高的中断请求。

B正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。

C正在进行的中断过程在中断服务程序结束前不能被中断.

D正在进行的低优先级中断服务,能被高优先级中断请求所中断。

2、中断响应条件是()

A中断源有中断请求;

B此中断源的中断允许位为1;

CCPU开中断(即EA=1)。

D同时满足上述条件时,CPU才有可能响应中断。

3、以下寄存器中与中断无关的寄存器是:

AIP;BIE;CTMOD;DTCON

三、问答题

1、MCS-51系列单片机能提供几个中断源、几个中断优先级?

各个中断源的优先级怎样确定?

在同一优先级中,各个中断源的优先顺序怎样确定?

2、MCS-51有几个中断优先级?

试通过修改IP寄存器,使串行口中断优先级最高,定时器T1的中断优先级最低。

3、MCS-51外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同?

怎样设定?

4、CPU响应中断请求后,不能自动清除哪些中断请求标志?

5、80C51有几个中断源?

各中断标志是如何产生的?

又是如何复位的?

CPU响应各中断时,其中断入口地址是多少?

四、编程题

1、用中断控制的交通灯控制系统

编写一交通灯控制程序.要求:

正常情况下东西向通行60秒,黄灯转换3秒;然后南北向通行120秒,黄灯转换3秒,如此反复循环.如果有紧急情况,交警干预:

按下S1时,强制南北向通行,而东西向停止通行;按下S2时,强制东西向通行,而南北向停止通行.

实现方式:

交警的干预使用中断的方式进行.

仿真要求:

在Proteus环境下建立电路图,在KeilC环境下输入程序;在KeilC环境下运行程序,在Proteus环境下观看运行结果.

1)设计原理图;

2)建立程序流程图;

3)建立仿真环境;

4)调试程序;

2、如图所示电路,要求中断开关断开时,在LED条上显示你的学号(两位BCD码),中断开关闭合时,产生中断,显示P0口开关的状态的反码(接电源相应的LED亮;接地相应的LED不亮).并思考:

1)中断过程是怎样的?

2)如果要开关不断转换,能在显示学号与显示开关状态间转换,程序该怎样编写?

3)外部中断改为边沿触发,如何改?

改后能实现原来的显示功能吗?

为什么?

3、如图所示中断嵌套实验中如果不用译码器,直接将数码管接到三个端口,要达到同样的效果,程序该如何编写?

1)画出电路图;

2)画出主程序及中断程序流程图;

3)编写相应的程序.

第八章

一、填空题

1、工作方式寄存器作用:

用来确定两个定时器的工作方式。

低半字节设置定时器,高半字节设置定时器。

它的字节地址是,位寻址。

2、GATE=1时,要用软件使TR0或TR1为1,同时也为高电平时,才能启动定时/计数器工作。

3、

定时/计数模式选择位。

=0为模式;

=1为模式。

4、M1M0:

设置位。

定时/计数器有工作方式,由M1M0进行设置。

5、TR1(TCON.6):

定时器运行控制位。

TR1置时,定时器开始工作;TR1置时,停止工作。

TR1由软件置1或清0。

所以,用软件可控制定时/计数器的启动与停止。

TR0(TCON.4):

定时器运行控制位,其功能与TR1类同。

6、TH、TL是计数器的和,包括、(对应定时器T1)、(对应定时器T0)。

7、当定时器To工作在方式时,要占定时器T1的和TF1两个控制位.

二、选择题

1、定时器的工作方式有()

A13位定时/计数方式;

B16位定时/计数方式;

CT0拆分为二个定时/计数器;

D8位自动重装定时器/计数器.

2、定时器T1常用作为串行通信的波特率发生器,此时,定时器工作在()

A13位定时/计数方式;

B16位定时/计数方式;

C方式2;

D方式3.

3、计数器也要预装初值,初值是所要计数值的补数。

故四种方式初值可按如下方法计算:

X=M–计数值

对于不同的工作方式,计数器位数不同,故最大计数值M也不同,方式2的M为:

AM=213=8192;

BM=216=65536;

CM=28=256;

DM=210;

三、问答题

1、综述MCS-51系列单片机定时器0、1的结构与工作原理。

8051定时器作定时和计数时,其计数脉冲分别由谁提供?

2、8051定时器的门控信号GATE为1时,定时器如何启动?

3、如果系统晶振频率为12MHz,分别指出定时/计数器方式1和方式2最长定时时间。

4、定时/计数器工作于定时和计数方式时有何异同点?

5、当定时/计数器T0用作方式3时,定时/计数器T1可以工作在何种方式下?

如何控制T1的开启和关闭?

四、编程题

1、应用单片机内部定时器T0工作在方式1下,从P1.0输出周期为2ms的方波脉冲信号,已知单片机的晶振频率为6MHZ。

(1)计算时间常数X,应用公式X=216-t(f/12)

(2)写出程序清单

2、以定时器1进行外部事件计数,每计数1000个脉冲后,定时器l转为定时工作方式。

定时10ms后,又转为计数方式。

如此循环不止。

设fosc=6MHz,试用模式1编程。

3、设:

fosc=12MHz,试编写一

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1