51单片机练习题

这篇具有很好参考价值的文章主要介绍了51单片机练习题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第一章:

1、单片机是把   CPU      存储器(RAMROM   I/O      定时器/计数器       、中断系统、串行口等资源通过内部   系统时钟总线     集成到一片芯片上的微型计算机。

2MCS-51单片机是        位机。

A4B8C16D32

3AT89S51单片机中S的含义是指具有        FLASH存储器。

A、串行下载B、低电压工作;CCMOS产品;D、内部通过仿真器编程;

48031内部有    128     字节的RAM    0     KBROM8051  128  字节的RAM   4      KBROM;有    2     个定时器/计数器;8052内部有  256       字节的RAM    8     KBROM,    3      个定时器/计数器。

5AT89C51工作频率的上限为    24     MHz,而AT89S51则为    33     MHz

6AT89S51    ATMEL        公司产品,、而8031   INTEL     公司产品。

第二章

1、两个数据E7H+8FH,如果用累加器A执行加法后,程序状态字PSW中的内容为   0xc5     

251单片机CPU   运算器         控制器    组成。

3、程序计数器PC是一个独立的     16   位计数器,是否可以访问?  用户不可访问      。其内容为: 当前执行指令的下一条指令地址               

451单片机EA引脚功能是  外部程序存储访问允许      控制端。

551单片机复位信号是在RST引脚加上持续时间大于2机器周期的     电平。

651单片机堆栈的作用是保护  断点      现场  ,复位后其地址为  07   H

751单片机时钟周期是   晶振频率fosc  的倒数。

851单片机一个机器周期等于  12   个时钟周期。

951单片机指令周期是   执行一条指令所需的时间  ,一般为   12  ~   48  个时钟周期。

10、数据指针DPTR0是一个  16   位寄存器。

1151单片机运算器功能是对操作数进行算术、  逻辑        操作运算。

1251单片机的存储器分为程序存储器、   数据存储器          特殊功能寄存器       、位地址空间四部分。

1351单片机的8个工作寄存器R0-R7其物理地址是由   RS1    RS0   位决定的。

14P0,P1,P2,P3口“读引脚”输入时,必须  先向锁存器内置1    

15P0口作为通用IO时,输出为漏极开路,须外接    上拉电阻     才能有高电平输出。

16P1,P2,P3口内部有上拉电阻,为准双向口,作为输出口时是否需要外接上拉电阻? 否,不需要   

17、双向口具有    高阻抗输入        状态,而准双向口没有该状态。

1851单片机堆栈指针的工作过程,进栈是先  栈顶地址加1   ,再   进栈  ,出栈是先  出栈   ,再 栈顶地址减1    

19单片机复位后P0等各个并行IO外部引脚为      电平。

第三章:

判断题:

1idata定义存储类型的数据无论在片外还是片内的存储区只能用间接寻址的方式访问。×

2sbit定义的位只能够是特殊功能寄存器中的某些位。×

3、对PDATA区的寻址要比对XDATA区寻址快。

4PDATA区的寻址空间为256字节,XDATA寻址空间为65536字节。

5、程序存储区CODE的数据是只读不可写的。

选择题:

1、以下语句哪个正确()?

Achar idata aa; sbit abit=aa^1;

Bchar bdata aa; sbit abit=aa^8;

Cchar pdata aa; sbit abit=aa^1;

Dchar bdunsigned char pdata bata aa; sbit abit=aa^1;

2、以下语句哪个正确()?

Abit a0;

Bbit *a0;

Cbit a[2];

Dbit a[];

3、以下语句哪个错误 )?

Achar a[6]= {“cTBu”};

Bint a[3]={2,4,6};

Cint a[3]; a[3]={2,4,6};

Dint a[3]; a[1]=3;

4C51在标准C的基础上,扩展了哪几种数据类型?( 

A bit,sfr,sfr16,sbit; B bit,sfr,*,sbit; C bdata,idata,pdata,code; D data,xdata,idata,pdata;

5、以下哪个不是51单片机内部数据存储区的数据存储类型?()

A data; B idata; C bdata; D pdata

6、以下哪种是访问51单片机外部数据存储区的数据存储类型?()

A xdata,pdata; B bdata,idata; C data,bdata; D xdata,idata

7、以下哪种是访问51单片机程序存储区的数据存储类型?()

A pdata; B bdata; C code; D xdata

8、以下哪个变量位于片内RAM位寻址区?()

A pdata char s1; B bdata char s1; C idata char s1; D xdata char s1

9、要访问片外RAM地址为0x0066单元,以下哪个定义正确?()

A #define EIO DBYTE[0x0066];  B #define EIO XBYTE[0x0066];

C unsigned char xdata eio;       D idata unsigned char eio _at_ 0x0066;

10、关于存储模式,哪个说法错误?()

A SMALL模式下变量位于内部RAM; B COMPACT模式下变量与pdata指定存储类型一样;

C LARGE模式下变量位于外部RAM; 三种模式下LARGE模式效率最高;

填空题:

1、定义某变量xdata unsigned int y2 _at_ 0xFFF7,可以采用绝对宏定义为:     #define Y2 XWORD[0xFFF7]        

2sum=0; for(i=1;i<10;i++) { if(i%3==0) continue; sum=sum+i;} sum结果为:     27        

3、假设unsigned char a=0x32, b=0xA7,a&&b=        a|b=        

4C51语言中指针包括一般指针    存储器    指针

5、如果要定义某一整型变量a,位于片内RAM存储区,且必须间接寻址,则定义语句为:            

6、语句#define VARB DBYTE[0x60],定义了VARB宏位于       区域,长度       字节。

7、语句#define VARA DWORD[0x20],定义了VARA宏位于       区域。

8、语句xdata unsigned int buf _at_ 0x2A06; 定义了变量buf位于       区域。

9、语句unsigned char code square[]={0,1,4,9,16,25};定义了square位于       区域。

10、如果要定义某一字符变量b,位于片外RAM存储区第一页,用八位数据指针间接寻址,则定义语句为:      unsigned char pdata b             

编程题:

1  请编写代码将片外RAM 2345H单元开始的连续50个字节单元依次填充数字1-50

#include<reg51.h>

unsigned char xdata buffer[50]_at_0x2345;

void main(void) {

unsigned char j;

for(j = 0;j<50;j++)

 {

buffer[j] = j+1;

}

}

第五章:

填空题:

151单片机的P0口作为地址/数据总线口是    双向        口。

251单片机的P1口是   准双向         口。

3I/O口的三态是指  高电平      低电平     高阻态     

451单片机的并行I/O口输入时有   读引脚        读锁存器     两种方式。

5P2口通常作为    8位地址总线        口。

6、共阴极8段发光二极管要电亮其中的某段时需要将段选码对应的IO   1      

7LED的显示方式有静态显示和    动态显示       

8、键盘去除抖动可以通过  延时函数       和专用键盘/显示器接口芯片。

9、已知8LED数码管要显示某字符的共阳极段码为A1H,则该字符为   d      

选择题:

1、关于LED,以下说法错误的是( 

A8段发光二极管有共阴极和共阳极两种。BLED静态显示方式占用IO较多。

CLED静态显示需要提供段选码和位选码。DLED动态显示是利用人的视觉暂停效应。

2、关于单片机扩展键盘,以下说法错误的是( 

A、键盘扫描方式有查询扫描,定时扫描,中断扫描。

B、单片机外扩键盘通常有独立式键盘和矩阵式键盘。

C、矩阵式键盘占用IO比独立式键盘要少D、查询扫描效率最高。( 

3、矩阵式键盘查询扫描方法中,确认键值的是哪项( 

A、所有行线均置为低电平,再依次检查所有列线的电平状态。

B、所有行线均置为低电平,再检查所有列线的电平状态。

C、依次将行线置为低电平,再逐行检查所有列线的电平状态。

D、依次将列线置为低电平,再逐列检查所有行线的电平状态。

编程题:

1、请写出位段式LED数码管仅显示小数点的共阴极和共阳极的段码。

2、请利用AT89S51单片机自身的资源,下画为扩展64个按键的行列式键盘的电路图,请编写程序。

第六章:

填空题:

1、定时器1的中断服务入口地址为:    001BH            

2、如果IP寄存器中的内容为00000101,则中断优先级最高的是      外部中断0          ,中断优先级最低的是         串口中断       

3中断请求标志位    TI        RI    必须由软件清零。

4中断请求允许位如果被置1,则该中断请求被   允许     

5、外部中断有两种触发方式,分别为   电平触发         跳沿出发    

6、中断请求标志寄存器包括   TCON         SCON    两个寄存器,是否可以位寻址?   可位寻址     

7、中断允许寄存器是   IE     ,是否可以位寻址?  可位寻址      

8、中断优先级控制寄存器是  IP      

选择题:

1、下列语句正确的是:()

A、定时器中断是自动撤消的

B、外部中断是需要加外部电路撤消的

C、串行口中断是自动撤消的

D51单片机所有中断都是自动撤消的

2、关于51单片机中断封锁的条件,下列描述正确的是:()

A、一旦中断产生,CPU就能够立即响应

BCPU正在处理同级或更低优先级的中断,此时产生的中断被封锁

C所查询的机器周期不是当前正在执行指令的最后一个机器周期

D、正在执行的指令是RETI或是访问TCONSCON的指令

3、一个中断源的中断请求被响应,以下哪个不是必须满足的必要条件:()

A、总中断允许开关接通,即IE寄存器中的中断总允许位EA=1

B该中断源对应的中断请求标志被软件置1

C、该中断源的中断允许位为1,即该中断被允许

D、无同级或更高级中断正在被服务

4、以下哪个是外部中断中断请求标志位?()

ATF0TF1 BIE1IE0 CIT1IT0 DTR1TR0

5、以下哪个是定时器中断中断请求标志位?()

ATF0TF1 BIE1IE0 CIT1IT0 DTR1TR0(启动中断标志位)

6、以下哪个是串行口中断中断允许位?()

AEA BES CET1 DEX1

7外部中断中断触发方式选择位为()

ATF0TF1 BIE1IE0 CIT1IT0 DTR1TR0

8、中断服务函数关键字interrupt后的数字如为2,则表示下列哪个中断?()

AINT0 BT0CINT1 DT1

9、各中断源发出的中断请求信号存储在下列哪个寄存器中?()

AINT0 BIECIP DSCON,TCON

1051单片机复位后,中断优先级最低的是哪一个?()

AINT0 BT0CINT1 DTX,RX

简答题:

1、简述AT89S51单片机中断程序应遵循的规则。

 1)中断函数没有返回值

2)中断函数不能进行参数传递

3)在任何情况下都不能直接调用中断函数

4)如果再中断函数中再调用其他函数,则被调用的函数所使用寄存器区必须与中断函数所使用的寄存器区不同。

编程题

编程题目:

1  请用写出INT1为低电平触发方式的中断系统初始化程序;

2、请根据电路图编写键盘中断扫描方式的初始化程序以及中断服务程序。

设计一采用中断扫描方式独立式键盘,接口电路见下图。当键盘中有键按下时,8输入与非门74LS30输出经过74LS04反相后向单片机外中断请求输入引脚INT0*发出低电平中断请求信号,根据键值,P0口接的LED显示相应键盘键值。

第七章:

一、填空题

1、定时器/计数器T0有两种工作模式     定时           计数      ,有  4  种工作方式。

2、定时器/计数器工作方式0  13  位定时器/计数器,工作方式1  16  位定时器/计数器。

3、定时器/计数器工作方式2的初值重装方式为    自动重装初值            

4定时器的最大定时时间由决定     工作频率               时钟频率          

5、已知晶振频率为12MHz,要求用定时器T1,定时时间为40ms,则用方式  1     ,装载初值为TH1=  63   HTL1=  c0   H

6、单片机的定时器定时的信号来源是对       时钟信号        进行计数。

7、单片机的定时器计数的信号来源是对     外部脉冲          进行计数。

8、单片机的定时器计数器的寄存器内容改变的方式是每计数一个脉冲寄存器内容   1    

二、选择题:

1、定时器/计数器工作方式2时,其寄存器工作位数为:()

A13B16C8D14

2、定时器/计数器初始化不需要设置的寄存器是:()

ATMODBSOCNCTCONDIE

3、定时器/计数器他T1GATE=1时,其计数器是否计数的条件取决于:()

ATR1BGATECINT1DTR1INT1

4、如需要测量INT0引脚外部脉冲的正脉冲的宽度,TMOD的内容应该为:()

A87HB09HC80HD01H

三、简答题

1、要设置定时器T1为工作方式2,下列语句是否正确?原因。

M1=1;

M0=0;

C/T=0;

2、要启动定时器T1工作,下列语句是否正确?原因,如果采用字节寻址,请写出语句。

TR1=1;

四、编程题

1、如图,通过外部中断0外接一个按键K1,当按键按下后触发一个延时过程。假设延时时间为1s,用定时器T0实现,当达到延时时间后,使LED灯点亮,再次按下K1,熄灭LED,交替循环。已知AT89S51单片机晶振频率为6MHz。编程实现。

第八章:

填空题:

151单片机串行口的中断服务入口地址为:    0023H            

251单片机串行口有     4   种工作方式。

351单片机串行口的波特率在方式13是使用定时器   T1     做波特率发生器,此时该定时器是否允许中断        

4SCON寄存器中的REN位表示   串口允许接收控制位     

551单片机串行口发送数据和接收数据的方式有中断方法和    查询方法    

6波特率的定义是串行口    每秒发送数据的位数    

7串行口中断标志位TIRI   软件     清零。

8、通过查询方式从串口接收数据存放到变量a,补充完整语句:     whileRI==0        ;RI=0;a=SBUF;

9SM2=      1     时,只有当RB8=1时,才使RI置“1”,产生中断请求。

10、收发双方的波特率必须保持   相同       

 

选择题:

1、关于AT89S51串行口,下列语句错误的是:( 

A、数据发送和接收是按位进行传输,而不是按字节进行数据传输。

B、串行口数据可与外部设备同时双向传输。

C、是异步通信方式。

D发送和接收共用一个缓冲器SBUF,物理和逻辑地址都相同。×

2、关于51单片机串行口的SCON寄存器,下列描述正确的是:( 

A、发送和接收必须通过该寄存器设置是否允许

B、在方式1下,需要用到该寄存器的TB8或者RB8

CSCON寄存器可以位寻址(TMOD不可位寻址)

DSM0SM1SM2用于设置其工作方式

3、关于AT89S51串行口工作方式,下列语句错误的是:( 

A方式0为移位寄存器工作方式,波特率可变×,方式0波特率固定

B、方式110位异步串行通信,波特率可变

C、方式211位异步串行通信,波特率和定时器无关

D、方式311位异步串行通信,波特率可变

4、关于串行通信接口标准比较,下列语句错误的是:(  

ARS232为负逻辑,传输距离最短;BRS422支持通信距离比RS232长;

CRS485支持通信速率比RS232高;DRS485使用电缆芯数比RS422;×

5、两台单片机AB双机通信,接口电路中连接方式正确的是:( 

AATXDRXDVCC分别接BRXDTXD

BATXDRXDVCC分别接BTXDRXDVCC

CATXDRXDGND分别接BRXDTXDGND;GND+GND TXD+RXD RXD+TXD(我的发送是你的接收)

DATXDRXDGND分别接BTXDRXDGND

 编程题目:

2、根据程序上下文,填写空白处语句。

  #inlcude <reg51.h>                         

unsigned char code buf[10] ={0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a};

unsigned char  temp;

void main(void)                 

{    

        IE=              

TMOD=0x20;              

  TH1=0xf4;                  

   TL1=0xf4;               

  PCON=0x00;               

  SCON=0x50;                   

   TR1=1;                     

       while(1)

       {

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

              {           

                     SBUF=buf[i];              

                      while(TI==0)                                   

                     TI=0;                         

              }

       }

}   

第九章:

填空题:

1、单片机总线包括:     地址总线           数据总线             控制总线      

274LS373功能是   地址锁存器     

374LS138功能是    译码功能    

4、全译码和部分译码的区别为部分译码方式得到的地址有    重叠地址    

5、当没有参加片选的信号线悬空时,设置其为0,则得到的地址为   基本地址     

6、如果某EPROM芯片具有8K的地址空间,则其有    13    条地址总线。

7、扩展ROMRAM地址空间是否可以相同?    可以    

8外部ROM等设备的片选信号为无效信号时候,其I/O  高阻      状态

选择题:

1、下列哪项不是扩展外部设备的方法( 

A、全译码方式;B、部分译码方式;C、线选方式;D、片选方式。×

2、扩展外部设备的方法描述错误的是( 

A、全译码方式扩展外部设备没有重叠地址。

B、计算外部设备地址的时候可以将不用的信号线置0或者置1进行计算。

C、扩展外部设备必须要用译码器。×

D、外部设备的片选信号线如果是低电平有效则可以直接接地。

3、扩展外部存储器的描述正确的是( 

A扩展的外部EPROMRAM其地址可以相同。√

B、如果单片机只能够访问外部RAM,则/EA必须接地。

C、单片机可以通过读和写信号线访问外部ROM和外部RAM

D、如果某程序运行过程中使用了270个字节的内存,则需要扩展外部EPROM

4AT89S51内部的ROM类型是( 

APROMBEPROMCEEPROMDFLASH ROM

5、单片机扩展外部RAM时,一般不会使用下列哪个引脚?( 

A/PSEN ROM用;B/RDC/WRDALE

编程题:

1AT89S51需要扩展一片外部RAM(具有16K地址空间)和一片外部EPROM(具有32K地址空间),编程将数组buffer[20]存储到片外RAM的起始地址开始的20个单元中。文章来源地址https://www.toymoban.com/news/detail-540411.html

到了这里,关于51单片机练习题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 单片机原理及接口技术(C51微课第3版)张毅刚课后习题答案

    教材:单片机与原理及接口技术(C51编程)(微课版第3版) 主编:张毅刚 副主编:刘连胜  崔秀海 出版社:人民邮电出版社  下载地址:https://pan.baidu.com/s/1uqT7hfcx7UJGBC_jjDfNzg?pwd=720h  提取码:720h (这个不全) 链接:https://pan.baidu.com/s/1QbckwwJxeKpB477pJihyZQ?pwd=mp57  提取码:m

    2024年02月01日
    浏览(57)
  • 单片机 | 51单片机原理

    【金善愚】 单片机应用原理篇 笔记整理 课程视频 :https://space.bilibili.com/483942191/channel/collectiondetail?sid=51090 三类 电源及晶振引脚(共4只) 控制引脚(共4只) 端口引脚(共32只) Vcc(40脚):电源端,接+5V电源。 Vss(20脚):接地端。 XTAL1(19脚):接外部晶振和微调电容的一端。 XTAL2(18脚):

    2024年02月02日
    浏览(58)
  • 51单片机项目(9)——基于51单片机的电子琴设计

    简易电子琴设计设计内容: 1.用矩阵键盘代表琴键,至少能弹出8个音符,分别是:音符1.23.4.,5,6,  2.键按下的时间长短表征节拍的长短,用蜂鸣器发出声音 3.数码管显示出当前音符 4.音量可调 (代码及其工程文件放在最后) 电路图如下: 51单片机电子琴是一种基于51单片机(

    2024年02月09日
    浏览(49)
  • 51单片机项目(7)——基于51单片机的温湿度测量仿真

    本次做的设计,是利用DHT11传感器,测量环境的温度以及湿度,同时具备温度报警的功能:利用两个按键,设置温度阈值的加和减,当所测温度大于温度阈值的时候,蜂鸣器就会响起,进行报警提示。 同时系统还有一个LCD1602屏幕,用于显示实时的温度湿度,还可以显示温度阈

    2024年02月10日
    浏览(51)
  • 51单片机:设计一单片机双机通信电路

    鱼弦:CSDN内容合伙人、CSDN新星导师、全栈领域优质创作者 、51CTO(Top红人+专家博主) 、github开源爱好者(go-zero源码二次开发、游戏后端架构 https://github.com/Peakchen) 设计一单片机双机通信电路。要求编程实现:甲单片机系统中的按键可以控制乙单片机系统中的数码管(MPX8)动

    2024年02月20日
    浏览(54)
  • 51单片机的基础知识——单片机简介

    仅用于学习交流!!! 仅用于学习交流!!! 仅用于学习交流!!! 单片机,即单片微型计算器,简称为单片机。用专业术语来讲单片机就是在一块硅片上集成了微处理器、存储器以及各种输入/输出(I/O,I指的是input,O指的是output)口的芯片。通俗点讲,单片机是一块集

    2024年02月03日
    浏览(61)
  • 51单片机实现贪吃蛇(清翔单片机)

    目录 一、创作背景 二、实现过程 1.一些声明与定义 2.键盘扫描 3.定时器中断 5.蛇的初始化 6.蛇体的移动 7.食物的创建 8.食物的检测和身体的增长 9.检测死亡 10.总代码 总结 由于大一的一个小作业,花了10天完成了这个小项目,中途克服了很多困难,发此文章以作纪念。 这些

    2024年02月08日
    浏览(47)
  • 【单片机】51单片机串口的收发实验,串口程序

    这段代码是使用C语言编写的用于8051单片机的串口通信程序。它实现了以下功能: 引入必要的头文件,包括reg52.h、intrins.h、string.h、stdio.h和stdlib.h。 定义了常量FSOC和BAUD,分别表示系统时钟频率和波特率。 定义了一个发送数据的函数send,该函数将数据发送到串口,等待数据

    2024年02月14日
    浏览(46)
  • 【51单片机系列】proteus仿真单片机的串口通信

    本文参考:https://zhuanlan.zhihu.com/p/425809292。 在proteus之外使用串口软件和单片机通信。通过在proteus设计一个单片机接收PC发送的数据,并将接收的数据发送出去,利用软件【Configure Virtual Serial Port Driver】创建一对虚拟串口,利用软件【串口助手】向单片机发送数据。 proteus仿真

    2024年01月17日
    浏览(53)
  • 51单片机(一)软硬件环境和单片机介绍

    ❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其是STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 :适用于想要从零基础开始学习入门单片机,且有一定C语言基础的的童鞋

    2024年02月11日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包