2018年单片机考试复习资料

北京吉利学院2017  —2018  学年第   学期期末考试试卷

学院            专业           班级          

成绩          

姓名            学号           考场          

《单片机原理及接口技术》B卷

 

(满分:100分,考试时间:120   分钟) 

                                         

题号

总分

分数

本题得分

 

一、选择题(本大题共20小题,每小题1.5分,共 30分)

1、MCS-51系列的单片机中片内RAM的字节大小可能的是(     B    )

A128M       B128K          C128           D64

2、C51语言提供的合法的数据类型关键字是( A    )。

Asfr          BBIT          CChar           Dinteger r

3、片内RAM的位寻址区,位于地址(    B   )处。

   A、00H1FH    B20H2FH     C30H7FH     D 80H~FFH

4、间接寻址片内数据存储区(256字节),所用的存储类型是(   C   

   Adata           Bbdata         Cidata          Dxdata

5MCS-51单片机上电复位的信号是( D  

   A、下降沿        B、上升沿       C、低电平        D、高电平

6、可以将P1口的低4位全部置高电平的表达式是(   B  

   AP1&=0x0f      BP1|=0x0f      CP1^=0x0f      DP1=~P1

7、一般单片机C51程序中,为了使程序执行的效率最高,函数参数传递时,函数参数的个数不能够超过(  C  

   A1             B2             C3            D4

8、需要扩展一片外部RAM,大小32K字节,需要的地址线是( A     

   A15            B14            C13           D12

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

   A、外部中断1                 B、外部中断0           

C、定时/计数器1               D、定时/计数器0

10、单片机C51中用关键字(  C  )来改变寄存器组

    Ainterrupt       Bunsigned      Cusing        Dreentrant

11、红外线遥控码由发射电路经(   A   Hz的载频调制后发射。

A38K         B、 12M           C6M          D、 32768K

12、红外线遥控码的逻辑“0”与逻辑“1”是以脉冲的( B )决定的。

   A、电平         B、宽度          C、频率          D、形状          

13DS1302内的时钟寄存器是以( C )的数据格式定义的。

    A、十进制      B、十六进制      CBCD码        D、压缩BCD

14、设MCS-51单片机晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率应为(  )

     A2MHz        B1MHz        C500kHz        D250kHz

15、使用_nop_()函数时,必须包含的库文件是(  C   

    Areg52.h       Babsacc.h       Cintrins.h        Dstdio.h

16ADC0809的启动转换的信号是(  D   

    AALE          BEOC         CCLOCK         DSTART

17、线反转法识别有效按键时,如果读入的列线值不全为1,则说明(  A   

A、有键被按下            B、一定只有一个键被按下 

C、一定有多个键被按下    D、没有键被按下

18、在单片机应用系统中,LED数码管显示电路通常有( )显示方式。

 A、静态   B、动态   C、静态和动态  D、查询

19、共阳极LED数码管加反相器驱动时显示字符“6”的段码是(

 A0x06   B0x7D   C0x82  D0xFA

20串行口每一次传送( A  字符。

A1个          B1串          C1波特         D1

本题得分

 

二、填空题(共11小题,每空1分,共20 分)

1、单片机中,常用作串入并出的芯片是          ,常用作232串口电平转换芯片是_________

2、在单片机硬件设计时,31脚一般要接  EA , 晶振在PCB设计中应尽量__靠近单片机。

3、单片机程序的入口地址是_____0000H_________,外部中断0的入口地址是___0003H_____

4、非编码式键盘识别有效键盘的方法通常有两种:一种是___逐列扫描法__另一种是 反转法

5、若采用12MHz的晶体振荡器,则MCS-51单片机的振荡周期为_______1/12us______,机器周期为       1us   

6LCD1602常用的写子函数有 ______________           两种。

7KeiL C51软件中,工程文件的扩展名是    .UV2      ,编译连接后生成可烧写的文件扩展名是  .hex    

8、字符型LCD标准西文字库采用是 ASCii    编码方式。

9、若只需要开串行口中断,则IE的值应设置为     90H         ,若需要将外部中断0设置为下降沿触发,则执行的语句为___IT0=1____

10一个函数由两部分组成,____函数头____函数体___ 

11、DS1302是双电源工作方式,第二电源的作用是____________________________。

本题得分

 

三、程序分析与填空题(每空3分,共15分)

1下面的while循环执行了  无限    次空语句。

       i = 3;

       while(i! = 0);

2、//该程序功能为点亮第一个发光二极管

      #include <reg51.h>   //51系列单片机头文件

      sbit     led1=P1^0;        //声明单片机P1口的第一位为led1

      void main()    //主函数

     {

     led1=0;       /*点亮第一个发光二极管*/

      }

3、将下面的程序补充完整:

   #include<reg51.h>

   _void delay(unsigned int i)_________;

   void main()

   {

          while(1)

          {

              P1 = 0xFF;

              ________delay__(1200);

              P1 = 0x00;

              ______delay____(1200);

          }

}

//函数名:delay

//函数功能:实现软件延时

//形式参数:整型变量i,控制循环次数

    //返回值:无

    void delay(unsigned int i)

    {

     unsigned int k;

     for(k = 0;k < i;k ++);

     }

四.简答题(前两题各8分,第3小题9分,第4小题10分,共35分)

  1. 中断响应过程中,为什么通常要保护现场?需要保护哪些内容?如何保护?

因为一般主程序和中断服务程序都可能会用到累加器,PSW寄存器及其他一些寄存器。CPU在进入中断服务程序后,用到上述寄存器时,就会破坏它原来存在寄存器中的内容;一旦中断返回,将会造成主程序的混乱。因而在进入中断服务程序后,一般要先保护现场,然后再执行中断处理程序,在返回主程序以前再恢复现场。

保护方法一般是把累加器、PSW寄存器及其他一些与主程序有关的寄存器压入堆栈。在保护现场和恢复现场时,为了不使现场受到破坏或者造成混乱,一般规定此时CPU不响应新的中断请求。这就要求在编写中断服务程序时,注意在保护现场之前要关中断,在恢复现场之后开中断。如果在中断处理时允许有更高级的中断打断它,则在保护现场之后再开中断,恢复现场之前关中断。

  1. 51单片机外扩的程序存储器和数据存储器地址空间相同,但不会发生数据冲突,为什么?

51的指令系统设计了不同的数据传送指令以区别这4个不同的逻辑空间:CPU访问内、片外ROM指令用MOVC,访问片外RAM指令用MOVX,访问片内RAM指令用MOV。 程序存储器用于存放编好的程序和表格常数。程序通过16位程序计数器寻址,寻址能力为64KB。这使得指令能在64KB的地址空间内任意跳转,但不能使程序从程序存储器空间转移到数据存储器空间。 实际上,当引脚EA接高电平时,8051的程序计数器PC执行片内ROM中的程序,当指令地址超过片内ROM地址时,就自动转向片外ROM中去取指令。当引脚EA接低电平(接地)时,8051片内ROM不起作用,CPU只能从片外ROM中取指令,地址可以从0000H开始编址。8051从片内程序存储器和片外程序存储器取指时的执行速度相同。 用P0口作地址/数据复用总线,用P2口的口线作高位地址线,最多可以扩展64KB的存储器。控制信号线包括:使用ALE作为地址锁存的选通信号,以实现低8位地址的锁存;以PSEN信号作为扩展程序存储器的读选通信号;以EA信号作为内、外程序存储器的选择信号;以EA和作为扩展数据存储器和I/O端口的读、写选通信号。执行MOVX指令时,RD和WR信号分别自动有效。片外数据存储器RAM的读和写由8051的RD (P3.7)和WR(P3.6)信号控制,而片外程序存储器的输出允许(OE)由读选通PSEN信号控制。尽管片外数据存储器和片外程序存储器共处同一地址空间,但由于控制信号及使用的数据传送指令不同,故不会发生总线冲突。

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

用来实现控制串行通信速率的,也就是方式1,方式3时的波特率是由T1的溢出率来实现控制的。

4.已知单片机系统晶振频率为6MHz,若要求定时值为10ms时,定时器T0工作在方式1时,定时器T0对应的初值是多少?TMOD的值是多少?TH0=?TL0=?(写出步骤)

1)T0:定时方式工作在方式 1。方式字 TMOD=01H

2) fosc=6MHz16 位计数器10ms 定时设计数初值为 a5 t=12/ fosc*(216 - a)  10*103=12/6 *(216 - a) a=60536=EC78H  即 TH0=ECH TL0=78H 所以:TMOD=01H TH0=ECH TL0=78H


一、选择题(本大题共20小题,每小题1.5分,共 30分)

  1. 51单片机的CPU主要由( A  )组成。

A、运算器、控制器             B、加法器、寄存器

 C、运算器、加法器             D、运算器、译码器

  1. 程序是以(C )形式存放在程序存储器中。

AC语言源程序             B、汇编程序

C、二进制编码             DBCD

  1. 单片机8031EA(——)引脚( A )。

A、必须接地              B、必须接+5V电源

C、可悬空                D、以上三种视需要而定

  1. 单片机上电复位后,PC的内容为(A )。

A0x0000      B0x0003      C0x000B    D0x0800

  1. 外部扩展存储器时,分时复用做数据线和低8位地址线的是( A

AP0口      BP1口       CP2口      DP3

  1. 单片机的ALE引脚是以晶振振荡频率的(C )固定频率输出正脉冲,因此它可作为外部时钟或外部定时脉冲使用。

A1/2       B1/4         C1/6        D1/12

  1. 下面叙述不正确的是(  C )。

A、一个C源程序可以由一个或多个函数组成。

B、一个C源程序必须包含一个主函数main( )

C、在C程序中,注释说明只能位于一条语句的后面。

 DC程序的基本组成部分单位是函数。

8、在C语言中,当do-while语句中的条件为( A)时,循环结束。

A、0       Bfalse          Ctrue         D、非0

9、下面的while循环执行了(A )次空语句。

        Whilei=3);

A、无限次       B0次        C1        D2

10C程序总是从()开始执行的。

A、主函数      B、主程序      C、子程序       D、主过程

11在C51程序中常常把( D)作为循环体,用于消耗CPU运行时间,产生延时效果。

A赋值语句   B表达式语句   C循环语句  D空语句

12在单片机应用系统中,LED数码管显示电路通常有(C )显示方式。

 A静态   B动态   C静态和动态  D查询

13、共阳极LED数码管加反相器驱动时显示字符“6”的段码是( B  

 A0x06   B0x7D   C0x82  D0xFA

1451单片机的定时器T1用做定时方式时,采用工作方式1,则工作方式控制字为( A

       A0x01   B0x05   C0x10  D0x50

15、启动T0开始计数是使TCON的(B )。

       ATF0位置1   BTR0位置1   CTR0位清0  DTR1位清0

16、在定时/计数器的计数初值计算中,若设最大计数值为M,对于工作方式1下的M值为(D)。

A、M=213 = 8192              BM=28 = 256

      CM=24 = 16               DM=216 = 65536

1751单片机的串行口是( B  )。

      A单工       B全双工       C半双工      D并行口

18、表示串行数据传输速率的指标为(  D )。

AUSART     BUART       C字符帧      D波特率

19、单片机输出信号为( B )电平。

ARS-232C    BTTL         CRS-449      DRS-232

20、串行口的发送数据和接收数据端为( A )。

A、TXDRXD   BTIRI   CTB8RB8  DREN

二、填空题(共7小题,每空1 分,共20 分)

1除了单片机和电源外,单片机最小系统包括_时钟_电路和__复位 _电路。

2MCS-51系列单片机的存储器主要有4个物理存储空间,即____片内数据存储器_________数据存储器___________片内程序存储_____片外程序存储器。

3、当振荡脉冲频率为12MHz时,一个机器周期为______1微秒______;当振荡脉冲频率为6MHz时,一个机器周期为_____2微秒____

4while语句和do-while语句的区别在于:__do-while__语句是先执行、后判断;而__while____语句是先判断、后执行。

5、结构化程序设计的三种基本结构是____顺序_____选择_________循环____

651单片机的定时器的内部结构由以下四部分组成:______TMON_______TCON________T1___________T0_____

7A/D转换器的作用是将__模拟__量转为__数字_量;D/A转换器的作用是将___数字___量转为___模拟____量。

  

三、简答题(本大题共4小题,1、2小题各8分,3小题9分,第4小题10分, 35分)

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

在书上

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

3、如何消除键盘的抖动? 

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


#include "reg52.h"			 
#include<intrins.h>		
void delay(int i)
{
	while(i--);	
}
void main()
{
	char i;
	P2=0xfe;
	delay(50000); 	
	while(1)
	{	
		for(i=0;i<7;i++)	 
		{
			P2=_crol_(P2,1);
			delay(50000); 	
		}
		for(i=0;i<7;i++)			
		{
			P2=_cror_(P2,1);
			delay(50000); 	
		}	
	}		
}

  


#include "reg52.h"             
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
int code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
                    0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//显示0~F的值
void delay(int i)
{
    while(i--);    
}
void DigDisplay()
{
    char i;
    for(i=0;i<8;i++)
    {
        switch(i)     //位选,选择点亮的数码管,
        {
            case(0):
                LSA=0;LSB=0;LSC=0; break;//显示第0位
            case(1):
                LSA=1;LSB=0;LSC=0; break;//显示第1位
            case(2):
                LSA=0;LSB=1;LSC=0; break;//显示第2位
            case(3):
                LSA=1;LSB=1;LSC=0; break;//显示第3位
            case(4):
                LSA=0;LSB=0;LSC=1; break;//显示第4位
            case(5):
                LSA=1;LSB=0;LSC=1; break;//显示第5位
            case(6):
                LSA=0;LSB=1;LSC=1; break;//显示第6位
            case(7):
                LSA=1;LSB=1;LSC=1; break;//显示第7位    
        }
        P0=smgduan[i];//发送段码
        delay(100); //间隔一段时间扫描    
        P0=0x00;//消隐
    }
}

void main()
{    
    while(1)
    {    
        DigDisplay();  //数码管显示函数    
    }        
}
This moment will nap, you will have a dream; but this moment study, you will interpret a dream.
原文地址:https://www.cnblogs.com/mawenqi-barry/p/9721754.html