精品资料(2021-2022收藏)单片机原理及应用复习题(C为主语言版).doc
一、选择题(从下列各题4个备选答案中选出一个或二个正确答案,并将其代号写在题干后面的括号内。)1、 8051基本型单片机内部程序存储器容量为( )。A、16KB B、8KB C、4KB D、128B2、 8051基本型单片机内部RAM容量为( )。A、16KB B、8KB C、4KB D、128B3、 当优先级的设置相同时,若以下几个中断同时发生,( )中断优先响应。A、外部中断0 B、T1 C、串口 D、T04、 在80C51单片机应用系统中,可以作为时钟输出的是( )引脚。A、 B、RST C、ALE D、5、 为了能够使MCS-51单片机在正常工作中及时服务于多个外设,以下传送方式最适用的是( )。A、异步(查询)传送 B、同步(无条件)传送 C、DMA传送 D、中断传送6、 已知1只共阴极LED显示器,其中a笔段为字形代码的最低位,若需显示数字1,它的字形代码应为( )。A、06H B、0F9H C、30H D、0CFH7、 已知1只共阳极LED显示器,其中a笔段为字形代码的最低位,若需显示小数点“.”,它的字形码应为( )。A、7FH B、0F9H C、30H D、80H8、已知1只共阴极LED显示器,其中a笔段为字形代码的最低位,若需显示小数点“.”,它的字形码应为( )。A、80H B、0F9H C、30H D、7FH9、若P1口接有一个4×4的行列键盘,则P1口一定有( )。A、8位输入口 B、8位输出口 C、4位输入口 D、4位输出口10、8051单片机的定时器T1用作定时方式时是( )。A、以内部时钟频率为定时基准,12个时钟周期加1B、以内部时钟频率为定时基准,1个机器周期加1C、以外部脉冲为定时基准,12个脉冲加1D、以外部脉冲为定时基准,每个脉冲加111、DAC0832在单片机系统中是一种( )器件。A、输入 B、输出 C、将数字量转换成模拟量 D、将模拟量转换成数字量12、家用电器中使用的单片机应属于计算机的( )。A、辅助设计应用 B.测量、控制应用 C.数值计算应用 D.数据处理应用13、若82C55的PC口接有一个4×4的行列键盘,则PC口一定有( )。A、8位输入口 B、8位输出口 C、4位输入口 D、4位输出口二、填空(请将正确答案填入空格内)1、 ADC0809的作用是将 转换成数字量。2、DAC0832的作用是将 转换成模拟量。3、除了单片机这一名称之外,单片机还可称为 微控制器或嵌入式微控制器。 4、如果系统时钟频率为12MHz,定时器/计数器工作在方式1下,其单次定时最长的定时时间为 。定时器/计数器工作在方式2下,其单次定时最长的定时时间为 。5、使用双缓冲方式的D/A转换器,可实现多路模拟信号的 输出。6、在data区定义字符变量val1的C51语句为 。7、在idata区定义整型变量val2的C51语句为 。8、在xdata区定义无符号字符型数组val34 的C51语句为 。9、在xdata区定义一个指向char类型的指针px的C51语句为 。10、定义可位寻址变量flag的C51语句为 。11、定义特殊功能寄存器变量P3(其物理地址是0xb0)的C51语句为 。12、定义特殊功能寄存器变量P1(其物理地址是0x90)的C51语句为 。13、如果系统时钟频率为3MHz,定时器/计数器工作在方式1下,其最大的定时时间为 。14、使用双缓冲方式的D/A转换器,可实现多路模拟信号的 输出。三、简答题(回答要点,并作简明扼要的解释)1、 单片机内集成了那些组成计算机的基本功能部件? 2、什么是单片机?3、C51语言中的中断函数与一般的函数有什么不同?4、C51语言采用什么形式对绝对地址进行访问。?5、简述MCS-51响应中断的条件。6、简述MCS-51响应中断的全过程。7、在数码管接口设计技术的术语中,什么叫显示缓冲区?显示缓冲区一般放在哪里?显示缓冲区中通常存放的是什么?8、LED的静态显示方式与动态显示方式有何区别?各有什么优缺点?9、键盘接口需要解决哪几个问题?10、什么叫“窜键”?CPU处理窜键的原则是什么?CPU处理按键抖动的方法是什么?11、决定ADC0809模拟电压输入路数的引脚有那几条?12、DAC0832和8051接口时有哪三种工作方式。13、定时器/计数器用作计数器模式时,对外界计数频率有何限制?14、AT89S51的P1、P2、P3口的驱动能力为多少?要想获得较大的输出驱动能力,采用低电平输出还是高电平输出?15、定时器/计数器用作计数器模式时,对外界计数频率有何限制?9四、程序分析题(阅读给出的程序后回答问题)1、一个MCS-51单片机系统的时钟频率为12MHz,已知指令“MOV Rn,#data”、“DJNZ Rn,rel”、“NOP”、“RET”的机器周期数分别为1、2、1、2,下面是一个延时1ms的汇编子程序,请给每条指令加注释说明它的执行次数和时间。YS1ms: SETB RS0 MOV R2,#10LOOP1: MOV R3,#48 DJNZ R3,$ DJNZ R2,LOOP1 MOV R2,#2 DJNZ R2,$ CLR RS0 RET 1、说明这段程序的作用。2、设程序执行前,内部RAM 30H单元的内容是0FEH,执行以上程序后内部RAM 31H的内容是多少?若把内部RAM 31H的内容看作补码,其十进制真值又是多少。 MOV A,30HJZ DONEJNB ACC.7,POSIMOV A,#0FFHSJMP DONEPOSI:MOV A,#01HDONE:MOV 31H,ASJMP $END2、1、说明这段程序的作用。2、设程序执行前,内部RAM 30H单元的内容是0FEH,执行以上程序后内部RAM 31H、32H、33H的内容分别是多少?。 MOV A,30HMOV B,#100DIV ABMOV 31H,AMOV A,BMOV B,#10DIV ABMOV 32H,AMOV 33H,BEND五、设计题1、一个MCS-51单片机系统的时钟频率为12MHz,已知指令“MOV Rn,#data”、“DJNZ Rn,rel”、“NOP”、“RET”的机器周期数分别为1、2、1、2,请用汇编语言编写一个能延时1ms、2ms的子程序,并在每条指令后用注释说明该指令执行的次数和时间。2、ADC0809与8051的接口连接图如下图,请问: (1)如何启动ADC0809对IN0的输入进行AD转换?(2)8051如何知道ADC0809转换结束?执行什么样的程序段可以将转换的结果存入内部RAM 20H单元?3、DAC0832与8051的接口连接图如下图,请问: (1)如何启动DAC0832进行DA转换?(2)编写将数字量50H转换为模拟量的程序段。(3)设待转换数字量对应的十进制数为D,写出输出电压Vout的表达式。4、请画出一种实用的51单片机按钮复位电路。5、请画出一种实用的利用8051内部的振荡器产生8051单片机系统时钟的电路。6、设计一个简单的MCS-51单片机应用系统,要求用8255扩展I/O口,8255的A口用作输入,A口每一位接一个开关,B口用作输出,B口每一位接一个发光二极管,用线选法产生8255的片选信号,使8255的端口基本地址为4000H4003H,请:(1)、画出该单片机应用系统的硬件连接图。(2)、编写A口开关接通时B口相应位发光二极管点亮的程序。(提示:8255的方式控制字格式为:D7=1;D6D5,A组的方式选择,00:模式0,01:模式1,1×:模式2;D4,0:A口用作输出,1:A口用作输入;D3,0:C口高四位用作输出,1:C口高四位用作输入;D2,B组的方式选择,0:模式0,1:模式1;D1,0:B口用作输出,1:B口用作输入;D0,0:C口低四位用作输出,1:C口低四位用作输入。)7、试用C51语言编写一段对中断系统初始化的程序,允许外部中断0,外部中断1、定时/计数器T0溢出中断、串行中断,且使定时/计数器T0溢出中断为高优先级中断。