单片机习题(1)[学习类别]_第1页
单片机习题(1)[学习类别]_第2页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、一、填空题1、单片机与普通微型计算机的不同之处在于其 、存储器和 三部分通过内部总线连在一起,集成于一块芯片上。2、AT89S51单片机的机器周期等于 个时钟周期,如果晶振频率采用12MHz,一个机器周期为 。3、内部RAM中,位地址为48H、98H的位,该位所在的字节地址分别为 、 。4、内部RAM中,可作为工作寄存器的单元地址为 到 。5、外部中断0的中断入口地址是 ,定时器0的中断入口地址为 。6、AT89S51单片机的微处理器是 位,有2个 位的定时器/计数器,4个 位的可编程并行I/O口, 个中断源。7、AT89S51单片机的复位电路通常采用上电自动复位和 两种方式,按钮复位有电平和

2、 两种方式。8、外部中断的两种触发方式为 方式和 方式。9、LED数码管有 显示和 显示两种方式。10、AT89S51单片机芯片共有 个引脚,AT89S51单片机为 位单片机,具有 个中断源, 级中断优先权。11、外部中断1的中断入口地址是 ,定时器1的中断入口地址为 。12、单片机AT89S51中的串行通信共有 种方式,其中方式 是用作同步移位寄存器来扩展I/O口的。13、当系统处于正常工作状态且振荡稳定后,在RST引脚上加一个 电平并持 个机器周期,可将系统复位。14、一个机器周期 个振荡周期。15、若某8位D/A转换器的输出满刻度电压为+5V,则D/A转换器的分辨率 。16、若控制字TM

3、OD设为10010100,则T1工作于方式1定时,其启动条件为TR11且INT11,T0工作于 ,其启动条件为 。 17、254= B= 。18、内部RAM中,可作为工作寄存器的单元地址为 到 。19、数码管是8段共阴数码管, A的段码是 、B的段码是 。20、P2口通常作为 在单片机扩展外部设备时高8位地址总线使用,也可以作为通用的I/O口使用。二、选择题1、8051单片机中断源共有( )个。A、3个; B、5个; C、7个; D、9个2、定时器T1中断服务程序的入口地址是()。A、0003H; B、004BH; C、001BH; D、0023H3、单片机复位时,程序计数器PC的值是多少?(

4、 )。A、0000H; B、0030H; C、4000H; D、4100H4、下面哪种设备是输出设备?( )。A打印机; B、键盘; C、A/D转换器; D、扫描仪5、下面哪个是串行口控制寄存器?( )。A、SCON; B、PCON; C、TCON; D、TMOD6、已知X为10001000,则X的补码为( )。A、11110111; B、01110111; C、11111000; D、011110007、有一位共阳极LED数码管,要使它不显示,它的字段码为( )。 A、7DH; B、82H; C、FFH; D、00H8、在定时器方式下,若fosc=12MHZ,方式1的最大定时间隔( )。 A

5、、8.192ms; B、16.384ms; C、65.536ms; D、131.072ms9、在PSW中,辅助进(借)位标志是( )。A、CY; B、AC; C、P; D、F010、单片机的P0、P1口作输入用途之前必须 ( ) 。A、在相应端口先置1 B、在相应端口先置0 C、外接高电平 D、外接上拉电阻11、AT89S51是以下哪个公司的产品? ( ) 。A、INTEL B、AMD C、ATMEL D、PHILIPS12、AT89S51单片机的 ( ) 口的引脚,还具有外中断、串行通信等第二功能。A、P0 B、P1 C、P2 D、P3 13、AT89S51单片机串行口接收数据的次序是下述的

6、顺序 ( )。(1)接收完一帧数据后,硬件自动将SCON的R1置1 (2)用软件将RI清零(3)接收到的数据由SBUF读出 (4)置SCON的REN为1,外部数据由RXD输入A(1)(2)(3)(4) B(4)(1)(2)(3)C(4)(3)(1)(2) D(3)(4)(1)(2)14、AT89S51单片机的 ( ) 口的引脚,还具有外中断、串行通信等第二功能。A. P0 B. P1 C. P2 D. P315、若AT89S51中断源都程为同级,当他们同时申请中断时CPU首先响应 ( ) 。A. B. C.T1 D.T016、PC中存放的是 ( ) 。A.下一条指令的地址 B.当前正在执行的指

7、令 C.当前正在执行指令的地址 D.下一条要执行的指令17、对于AT89S51单片机,其内部RAM 20H-2FH单元 ( ) 。A既可位寻址又可字节寻址 B只能字节寻址 C既不能位寻址也不能字节寻址 D. 只能位寻址 18、单片机访问外部存储器时,( )作为高8位地址线。AP0口 BP1口 CP2口 DP0口 和 P2口19、AT89S51单片机定时器工作方式0是指的( )工作方式。A8位 B8位自动重装 C13位 D1620、串行口每一次传送( )字符。 A1个 B1串 C1帧 D1波特21、ADC 0809芯片是m路模拟输入的n位A/D转换器,m、n是( )。 A8、8 B8、9 C8、

8、16 D1、822、AT89S51单片机的VCC(40)引脚是( )引脚。A主电源+5V B接地C备用电源 D访问片外存贮器23、用AT89S51的定时器T0作定时方式,用模式1,则工作方式控制字为( )。A50H B01H C05H D10H24、AT89S51单片机的定时器T1用作计数方式时是( )。 A由内部时钟频率定时,一个时钟周期加1 B由内部时钟频率定时,一个机器周期加1 C由外部计数脉冲计数,下降沿加1 D由外部计数脉冲计数,一个机器周期加125、AT89S51单片机的机器周期为2s,则晶振频率为( )MHz。A1 B2 C6 D1226、单片机的P0、P1口作输入用途之前必须

9、( ) 。A在相应端口先置1 B在相应端口先置0 C外接高电平 D外接上拉电阻三、简答题1、AT89S51的串行通信的有几种工作模式,请对各工作模式作简单的叙述。 答: 串行通信共有4种工作模式,别是:模式0:同步移位寄存器;模式1:波特率可变的8位两机异步通信;模式2:波特率固定的9位可多机的异步通信;模式3:波特率可变的9位可多机的异步通信。2、AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突,为什么?答:选通信号也就不一样,前者为PSEN,后者为WR与RD;AT89S51中访问程序存储器和数据存储器的指令不一样。 3、中断响应应满足哪些条件?答:(1)总

10、中断允许开关接通,即IE寄存器中的中断总允许位EA=1。 (2)该中断源发出中断请求,即该中断源对应的中断请求标志为“1”。 (3)该中断源的中断允许位=1,即该中断被允许。 (4)无同级或更高级中断正在被服务。4、简述堆栈概念及其存取原则。答:堆栈用于中断响应或子程序调用时的断点保护,以及用PUSH和POP指令对其进行操作,实现现场保护和恢复。堆栈指针为8位,可指向内部RAM中的任何空间。存取原则:先进后出5、中断服务子程序与普通子程序有何异同之处?答:相同点:都是让CPU从主程序转去执行子程序,执行完毕又返回主程序。不同点:中断服务程序是随机的,而普通子程序是预先安排好的;中断服务子程序以

11、RETI结束,而一般子程序以RET结束。RETI除将断点弹回PC动作外,还要清除对应的中断优先标志位,以便新的中断请求能被响应。6、写出AT89S51单片机P3口作第二功能时P3.0到P3.5引脚信号的名称和作用。答:P3口的第二功能:选择第二输出功能时,该位的锁存器需要置1,使是与非门为开启状态。当第二输出为1时,场效应管截止,P3引脚输出为1;当第二输出为0时,场效应管导通,P3引脚输出为0.当选择第二输入功能时,该位的锁存器和第二输出功能端均应置1,保证场效应管截止,P3.x引脚的信息由输入缓冲器BUF3的输出获得。P3.0RXD串行数据输入P3.1TXD串行数据输出P3.2INT0#外

12、部中断0输入P3.3INT1#外部中断1输入P3.4T0定时器0外部计数输入P3.5T1定时器1外部计数输入P3.6WR#外部数据存储器写通道输出P3.7RD#外部数据存储器读通道输出7、MCS-51单片机内部有几个定时/计数器?它们由哪些寄存器组成?答:MCS-51单片机内部设有2个定时/计数器。他们由两个8位的特殊功能寄存器TCOM和TMOD,两个16位的特殊功能寄存器T0和T1构成。8、LED的静态显示方式与动态显示方式有何区别?答:(1)静态显示方式:当显示器显示某一字符的时候,发光二极管的位选始终被选中。在这种方式里,每一个LED数码管显示器都需要一个8位的输出口进行控制。但是单片机

13、本身提供的I/O口却是有限的,实际使用中,通常通过扩展I/O口的形式解决输出口数量不足的问题。静态显示主要的优点是显示稳定,在发光二极管导通电流一定的情况下显示器的亮度大,系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,这样既节约了CPU的时间,又提高了CPU的工作效率。其不足之处是占用硬件资源较多,每个LED数码管需要独占8条输出线。随着显示器位数的增加,需要的I/O口线也将增加。(2)动态显示方式:动态显示方式是指一位一位地轮流点亮每位显示器(称为扫描),即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。对于每一位显示器来说,每隔一

14、段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。通过调整电流和时间参数,可以既保证亮度,又保证显示。若显示器的位数不大于8位,则显示器的公共端只需一个8位I/O口进行动态扫描(称为扫描口),控制每位显示器所显示的字形也需一个8位口(称为段码输出)。所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路就可以了,直到要显示新的数据时,再发送新的字形码。使用这种方法CPU的开销小,控制程序简单,但占用较多的硬件资源。两者总的来说,静态显示稳定性会高很多,但成本高,动态扫描显示成本低一些,

15、稳定性也要差一些,其中哪个更好更实用这就要看使用的场合来定了。9、说明AT89S51单片机EA引脚接高电平和低电平的区别。答:当EA脚为高电平时,单片机读片内程序存储器(4K字节Flash)中的内容,但在PC值超过0FFFH(即超出4K字节地址范围)时,将自动转向读外部程序存储器内的程序;当EA脚为低电平时,单片机只对外部程序存储器的地址为0000HFFFFH中的内容进行读操作,单片机不理会片内的4K字节的Flash程序存储器。10、简述单片机中断的概念,说明中断源请求被响应满足的条件。答:中断概念:中断是指计算机在执行某一程序的过程中,由于计算机系统内、外的某种原因,而必须中止原来程序的执行

16、,转去执行相应的处理程序,待处理结束之后,再回来继续执行被中止的原程序的过程。一个中断源的中断请求被响应,必须满足以下必要条件:(1) 总中断允许开关接通,即IE寄存器中的中断总允许位EA=1。(2) 该中断源发出中断请求,即该中断源对应的中断请求标志为“1”。(3) 该中断源的中断允许位=1,即该中断被允许。(4)无同级或更高级中断正在被服务。四、计算题1、已知一单片机系统的外接晶体振荡器的振荡频率为6MHz,请计算该单片机系统的拍节P、机器周期所对应的时间是多少?(请给出计算过程)解:P1f(16)s0.167s167ns机器周期12P12167ns2.004s2、采用6MHz的晶振,定时

17、5ms,用定时器方式1时的初值应为多少?(请给出计算过程)解:机器周期 =12/Fosc=12/(6x106Hz) =2s 定时5ms的计数值=5000s/2s =2500d 约定T1工作方式1,是16位计数器, 初装值 = 216 - 2500d = 65536d -2500d = 63036d = F63Ch TH1F6H, TL13CH3、指出以下程序段每一条指令执行后累加器A内的值,已知(R0)=30H, CY=0。MOV A,#0AAH ;(A)= AAH 。CPL A ;(A)= 55H 。RL A ;(A)= AAH 。RLC A ;(A)= 54H 。CLR C ;(A)= 5

18、4H 。五、编程题1、写出一延时1ms的程序段,设晶振频率为12MHZ。答:#include#define uint unsigned intvoid delay()Uint x,y;for(x=10;x0;x-)for(y=80;y0;y-);2、编写设置定时器T0为方式1的初始化函数。答:定时器0方式1的初始化函数TH0=(65536-N)/256;TL0=(65536-N)%256; 延时5ms机器周期T=12*(1/时钟频率)12M:5000s11.0592M: 约为4608s void T0_T_1_init() TMOD=0x01;/设置定时器0的工作方式 TH0=(65536-

19、5000)/256; /高八位装入初值 TL0=(65536-5000)%256; /低八位装入初值 EA=1; /开总中断 ET0=1; /开定时器0中断 TR0=1; /启动定时 0 void T0_time () interrupt 1 TH0=(65536-5000)/256; /重装高八位装入初值 TL0=(65536- 5000)%256; /重装低八位装入初值 num+; if(num=200) /num为uint 型的 num=0; 3、编写外中断0为跳沿触发方式的中断初始化函数。答:SETB IT0=1SETB EX0=1SETB EA=14、AT89S51单片机的P1.4P

20、1.7接4个开关S0S3,P1.0P1.3接4个发光二极管LED0LED3。编写程序,将P1.4P1.7上的4个开关的状态按照从上到下的顺序反映在4个发光二极管上。1个发光二极管的状态,对应一个开关的状态。答:例如P1.4引脚上开关S0的状态,由P1.0引脚上的LED0显示,P1.6引脚上开关S2的状态,由P1.2引脚上的LED2显示。凡是开关闭合的引脚,对应的LED发光二极管点亮。includevoid main( ) /*主函数*/ while(1) unsigned char temp; /*定义临时变量temp*/ P1=0xff; /*P1口低4位置1,作为输入;高4位置1,发光二极

21、管熄灭*/ temp=P1&0xf0; /*读P1口并屏蔽低4位,送临时变量temp*/ temp=temp4; /*temp的内容右移4位,P1口高4位状态移至低4位*/ P1=temp; /*临时变量值写入P1口输出*/ 5、使用定时器作为延时,要求在P1.0和P1.1间的两灯按1s间隔互相闪烁,时钟工作频率为12MHz。答:#include sbit P0_0=P00; sbit P0_1=P01; int t=0;void time0() interrupt 1 using 0 TH0=0x3C; TL0=0xB0; t+;void Init_t0(void) TMOD=0x01;TH

22、0=0x3C;TL0=0xB0;EA=1;ET0=1; TR0=1;void main() P0_0=1; P0_1=0;Init_t0();while(1)if(t=20) t=0; P0_0=P0_0; P0_1=P0_1; 6、AT89C51和8位数码管设计一个简单的时钟,数码管的段选信号接在P0端口,定时器定时一次的时间为50ms,晶振的频率为12MHz。(1)请将下图中单片机最小系统补充完整。(2)计算定时器的初值。(3)请将函数void display()、void timer0() interrupt 1、void int_init()补充完整。答:(1)如图所示(2) 定时器定

23、时一次的时间为50ms(即50000s),设定时器的计数初值位X因为晶振的频率为12HZ,所以定时时间为:定时时间=(65536-X)12/晶振频率则50000=(65536-X)12/12,得X=15536转换成十六进制后为:0x3cb0,其中0x3c装入TH0,0xb0装入TL0。(3) #include Char i=100; /*给变量i赋初值*/Void main( ) TMOD=0x01; /*设置定时器T0为方式1*/ TH0=0x3c; /*向TH0写入初值的高8位*/ TL0=0xb0; /*向TL0写入初值的低8位*/ P0=0x00; /*P0口8只LED点亮*/ EA=1; /*总中断允许*/ ET0=1; /*定时器T0中断允许*/ TR0=1; /*启动定时器T0*/ While(1); /*无穷循环,等待定时中断*/Void T0_int(void) interrupt 1 TH0=0x3c; /*给T0装入16位初值,计 个数后,T0溢出*/ TL0=0xb0; i-; /*循环次数减1*/ if(

温馨提示

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

评论

0/150

提交评论