微控制器练习题及答案分享_第1页
微控制器练习题及答案分享_第2页
微控制器练习题及答案分享_第3页
微控制器练习题及答案分享_第4页
微控制器练习题及答案分享_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微控制器练习题及答案分享考试时间:______分钟总分:______分姓名:______一、选择题1.下列关于CPU存储器速度的描述,正确的是A.寄存器的存取速度比RAM快B.RAM的存取速度比ROM快C.ROM的存取速度比RAM快D.寄存器的存取速度比ROM慢2.某单片机系统使用12MHz晶振,若定时器工作在模式1(16位定时器),则最大定时时间为A.65536μsB.65.536msC.65.536sD.6.5536ms3.在C51编程中,若要定义一个指向单片机内部数据存储器(data区)的指针变量,正确的定义方式是A.char*p;B.charxdata*p;C.chardata*p;D.charcode*p;4.8051单片机复位后,P0、P1、P2、P3端口的默认输出电平是A.0B.1C.高阻态D.不确定5.串行通信中,若波特率为9600bps,传输一位数据需要的时间是A.0.104msB.1.04msC.0.104sD.1.04s6.下列关于中断优先级的说法,错误的是A.高优先级中断可以打断低优先级中断B.低优先级中断不能打断高优先级中断C.同优先级中断不能互相打断D.低优先级中断可以打断高优先级中断7.以下哪个引脚是8051单片机复位信号的输入引脚?A.TXDB.RXDC.RSTD.ALE8.若要使单片机进入掉电(PowerDown)模式,应写入控制寄存器PCON的位是A.PDB.IDLC.GF0D.GF1二、多选题1.下列关于8051单片机中断系统的说法,正确的有A.外部中断0和外部中断1可以设置为电平触发方式B.中断响应后,硬件会自动清除中断请求标志C.定时器溢出中断属于内部中断D.中断优先级控制寄存器(IP)可以设定高、低优先级2.关于I2C总线通信协议,以下描述正确的有A.I2C总线支持多主机模式B.I2C总线使用两根线:SDA(数据线)和SCL(时钟线)C.I2C通信过程中,数据只能由主机发送,从机接收D.I2C总线在空闲时,SDA和SCL都保持高电平3.下列哪些情况会导致单片机复位?A.上电瞬间B.按下复位键C.看门狗定时器溢出D.程序运行跑飞4.在C51语言中,关于volatile关键字的作用,描述正确的有A.告诉编译器该变量的值可能会在程序控制流之外改变B.用于修饰全局变量C.用于修饰寄存器映射的变量D.可以保证该变量的读写操作不会被优化5.关于PWM(脉宽调制)信号,以下说法正确的有A.PWM信号的占空比决定了负载的平均功率B.PWM信号的频率越高,滤波后的波形越平滑C.PWM可以通过改变高电平持续时间来控制输出D.PWM只能用于控制直流电机的转速三、填空题1.若要使用定时器T0进行计数,应将TMOD寄存器中的位__________置为1。2.8051单片机串行口工作在方式1时,其帧格式由__________位数据、1位起始位和1位停止位组成。3.在51单片机中,堆栈的操作遵循__________的原则。4.若晶振频率为12MHz,则机器周期为__________μs。5.要将P1端口的第0位(P1.0)置高电平,可以使用语句:__________。四、简答题1.简述UART串行通信中,波特率是如何计算的?如果系统时钟为11.0592MHz,想要设置波特率为9600bps,定时器1的模式和初值应如何设置?(需写出计算过程或公式)2.什么是中断嵌套?请说明中断嵌套发生的条件。3.请写出51单片机复位电路的基本组成元件及其作用。五、编程题1.编写一段C51程序,使用定时器0工作在模式2(8位自动重装定时器),晶振频率为11.0592MHz,要求每隔0.5秒从P1口输出一个低电平脉冲,其余时间输出高电平。2.已知单片机使用外部中断1(INT1)作为按键输入,要求按键按下(下降沿触发)时点亮P2.0口连接的LED,松开时熄灭。请写出完整的中断初始化程序和中断服务函数。试卷答案一、选择题1.A2.B3.C4.A5.A6.D二、多选题1.ACD2.BD3.ABC4.ACD5.AC三、填空题1.C/T(或CT)2.8(或8位数据)3.后进先出4.15.P1|=0x01;(或P1_0=1;)四、简答题1.解析:波特率是衡量串行通信速度的指标。计算公式为:波特率=(2^SMOD/32)×(定时器1的溢出率)。其中定时器1的溢出率=(机器周期频率)/(重装初值)。思路:*已知晶振11.0592MHz,机器周期=1μs(近似值)。*设置SMOD=0(标准波特率),定时器1工作在模式2(8位自动重装)。*公式变为:9600=(1/32)×(1/1μs)/(256-TH1)。*推导:256-TH1=(1/32)/9600=1/307200。*计算出TH1=256-1/307200≈255.999...。*考虑到11.0592MHz晶振的常用性,实际计算中TH1=0xFD(253)即可满足9600bps的要求(因为11.0592MHz除以12正好是921600Hz,经过公式推导得到253)。2.解析:中断嵌套是指当CPU正在处理一个低优先级中断请求时,又出现了高优先级的中断请求。思路:*定义:解释什么是中断嵌套。*条件:必须有高优先级中断请求产生。*执行:CPU暂停当前执行的低优先级中断服务程序,转而去响应并执行高优先级中断服务程序。*返回:高优先级中断处理完后,再返回继续执行刚才被暂停的低优先级中断服务程序。3.解析:复位电路是单片机正常工作的基础。思路:*组成元件:通常包括电阻、电容、复位按键(可选)。*上电复位:依靠电容充电产生高电平,电阻分压保证低电平。*按键复位:按下按键将RST引脚拉高,松开后电容放电维持高电平。*作用:使单片机内部寄存器(如PC、PSW等)初始化为默认状态(PC=0000H),确保单片机从程序起始地址开始运行。五、编程题1.解析:题目要求使用定时器0模式2,晶振11.0592MHz。模式2是8位自动重装,最大定时约0.5ms。要实现0.5秒(500ms)的定时,不能仅靠定时器溢出一次,需要使用软件计数器。思路:*初始化:定时器0模式2,初值计算(11.0592MHz下,65536-250=65286,即0xFF06)。*中断服务函数:每次溢出触发中断,计数器加1。*逻辑判断:当计数器达到1000次(即0.5秒)时,翻转P1.0口电平,并清零计数器。2.解析:题目要求外部中断1(INT1)作为按键输入,下降沿触发。思路:*初始化设置:*`IT1=1;`设置INT1为下降沿触发方式。*`EX1=1;`开启外部中断1允许。*`EA=1;`开启总中断允许。*中断服务函数:*进入中断后,首先清除中断标志位`PX1=0;`(或者不写,因为硬件会自动清除IE1,但软件清除是良好习惯)。*检测按键状态或直接反转P2.0。*由于是电平触发还是边沿触发取决于IT1设置,此处下降沿触发,所以进入一次中断按下一次,松开不触发,符合“按下点亮,松开熄灭”的逻辑。代码参考:1.定时器0模式2实现0.5秒脉冲```c#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintucharcount=0;sbitPulse=P1^0;voidInitTimer0(){TMOD=0x02;//定时器0,模式2(8位自动重装)TH0=0xFC;//11.0592MHz下,250us定时,初值为256-250=6TL0=0xFC;ET0=1;//允许定时器0中断EA=1;//总中断允许TR0=1;//启动定时器0}voidmain(){InitTimer0();while(1);}voidTimer0_ISR()interrupt1{staticuchari=0;TH0=0xFC;//重新加载初值TL0=0xFC;i++;if(i>=1000)//1000*0.5ms=500ms{i=0;Pulse=~Pulse;//翻转P1.0}}```2.外部中断1实现按键开关```c#inc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论