当前位置:文档之家› 《单片机原理及应用》试题库

《单片机原理及应用》试题库

《单片机原理及应用》试题库一、填空题1、MCS-51有 5 个中断源,有 2 个中断优先级,优先级由软件填写特殊功能寄存器IP加以选择。

2、MOV PSW,#10H是将MCS-51的工作寄存器置为第2区。

3、用串口扩并口时,串行接口工作方式应选为方式0。

4、寄存器PC复位后为0000H。

5、PSW中RS1RS0=10时,R2的地址为12H。

PSW中RS1RS0=11时,R7的地址为1FH。

6、MCS-51中,T0中断服务程序入口地址为000BH。

7、80C51中断有2个优先级。

8、80C51中断嵌套最多级。

9、MCS-51单片机访问片外存贮器时,利用ALE信号锁存来自P0口的低8位地址信号。

10、12根地址线可选4K个存储单元,32KB存储单元需要15根地址线。

11、三态缓冲寄存器输出端的“三态”是指高电平态、低电平态和高阻态。

12、74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中8块芯片。

13、A/D转换器的作用是将模拟量转为数字量,D/A转换器的作用是将数字量转为模拟量。

14、单片机系统复位后,PSW=00H,因此片内RAM寄存区的当前寄存器是第0组,8个寄存器的地址为00H~07H。

15、假定SP=60H,ACC=30H,B=70H,执行下列指令:PUSH ACCPUSH B后,SP的内容为,61H单元的内容为,62H单元的内容为。

16、假定SP=62H,(61H)=30H,(62H)=70H,执行下列指令:POP DPHPOP DPL后,DPTR的内容为7030H,SP的内容为60H。

17、单片机的数据通信方式有二种,即串行方式和并行方式,其中串行方式传输距离较远,成本较低。

18、异步串行通信有单工、半双工和全双工共三种传送方向形式。

19、异步串行通信的帧格式由起始位、数据位、奇偶校验位和停止位组成。

20、波特率的含义为每秒传二进制的位数,其单位为bps。

21、MOVX指令用来对片外RAM进行读写操作。

22、80C51的T1作为串行口方式1和方式3的波特率发生器。

23、定时器0和定时器1的中断标志分别为TF0和TF1。

24、外部中断0和外部中断1的中断标志分别为IE0和IE1。

25、T0和T1两引脚也可作为外部中断输入引脚,这时TMOD寄存器中的C/位应当为1。

(我认为“作为外部中断输入引脚”就是计数器方式,故为1)26、通过设置TMOD中的M1M0位可以定义定时/计数器的工作方式,其中0为00 ,方式1为01 ,方式2为10 。

27、MCS-51内有5个中断源,按其自然优先级从高到低的排列顺序为外部0、定时器/计数器0、外部1、定时器/计数器1、串口,它们所对应的中断入口地址分别为0003H、00BH、0013H、001BH、0023H。

28.8051单片机片内有4个8位的I/O口,它们分别是P0、P1、P2和P3,其中具有第二功能的I/O口为P3。

29.8051单片机低128单元随机存贮器,按其用途可划分为寄存器区、位寻址区、字节寻址区,它们的地址范围分别为00H-1FH、20H-2FH、30H-7FH。

30.8051单片机中有4个工作寄存器区,选择当前工作寄存器组是由程序状态寄存器PSW中的RS1RS0位的状态组合来决定。

31.8051单片机一个字节所能表示的无符号数的范围为00-255,而带符号所能表示的无符号数的范围为。

(我只知道:带符号所能表示的范围为-128~127 )32.单片机进行0B0H+9FH后,PSW中各位分别为CY=,AC=,OV=,P =。

33.单片机指令具有七种寻址方式,它们分别是立即、直接、寄存器、间接、相对、变址、位。

34.8051单片机片内具有4K和128B RAM(ROM、RAM、EPROM、EEPROM)35.8051单片机一共有111条指令,其寻址方式主要有7种。

36.对于6MHz时钟频率,其机器周期为2us。

对于12MHz时钟频率,其机器周期为1us。

37.8051单片机复位后SP=07H,ACC=00H,P0=FFH。

38.单片机指令分为指令和伪指令,单片机能直接执行的是指令,它存放在单片机的ROM(RAM、ROM)中。

39.堆栈是RAM中另外划出的一个特殊的存贮器区,用来暂存数据和地址。

它是根据先进后出的原则存取数据。

40.12根地址线可选4K个存储单元;64KB存储单元需要16根地址线,其地址范围为0000H-FFFFH。

二、简答题1、8051单片机内部有几个定时/计数器?他们是由哪些专用寄存器组成?2、定时/计数器用做定时时,其定时时间与哪些因素有关?做计数时,对外界计数频率有何限制?3、什么是串行通信、并行通信?其优缺点?4、与MCS—51串行口有关的特殊功能寄存器有哪几个?5、七段LED显示器静态显示和动态显示分别具有什么特点?6、键盘的工作方式通常有哪三种?7、软件上采取的消除抖动的措施是什么?8、数据存储器空间地址同程序存储器一样,那么为什么不会发生总线冲突呢?9、MCS—51单片机有哪几种中断源?如何设定它们的优先级?各自的中断入口地址10、外部中断有哪几种触发方式?如何设定?11、什么是中断、断点、中断源和中断请求?12、CPU响应中断的基本条件是什么?13、串行通信有哪几种制式?14、什么是异步串行通信?有几种格式?其优缺点?15、8255和MCS—51相连可以为外设提供哪几个8位I/O端口?16、中断系统相关寄存器IE/IP及其位的含义,中断响应过程。

17、定时器相关的寄存器(TCON/TMOD)其位的定义?18、简述SCON中SM2、TB8、RB8的作用?19、A/D、D/A转换器的输入量与输出量各是什么?20、串行通信的波特率?21、定时器有几种工作方式,其定时初值如何计算?22、CPU片外扩展RAM、ROM时的连接及其地址范围。

三、计算题,黄宗胤总结了一下,认为单片机可能就这几类计算题,重要!第一类:计算延时时间,按要求分为粗略算法和精确算法,要求用粗算而用精算则不合题1、以下为延时子程序,假设时钟频率为6M,估算其延时时间。

DELAY:MOV R0,#100;单周期DEL2:MOV R1,#10DEL1:MOV R2,#7DHDEL0:NOP;单周期NOPDJNZ R2,DEL0;双周期DJNZ R1,DEL1DJNZ R0,DEL2RET;双周期2、以下为延时子程序,假设时钟频率为6M,精确计算其延时时间。

DEL1:MOV R2,#0C8H;单周期DEL0:NOP;单周期DJNZ R2,DEL0;双周期RET;双周期第二类:计算定时时间,可以是要求定时时间求初值(多数题),或给定初值求定时时间。

3、晶振fosc为12MHz,用定时器0方式1产生20ms定时,计算确定其初值TL0和TH0。

4、晶振fosc为6MHz,用定时器1方式1产生2.5ms定时,计算确定其初值TL0和TH0。

第三类:计算波特率,可以是要求波特率求初值(多数题),或给定初值求波特率。

5、若8051的晶振频率fosc为11.0592MHz,串行口工作在方式1,T1作为波特率发生器,T1工作在自动重装初值的8位定时方式,设SMOD=0,(TH1)=0FAH,求串行口的波特率。

解:0FAH=250T1的溢出率=fosc/(12*(256-250))= 11.0592MHz /72=0.1536 MHz=153.6KHz波特率=(2SMOD/32)*( T1的溢出率)= 153.6KHz/32=4.8 KHz=4800 Hz6、若8051的晶振频率fosc为11.0592MHz,串行口工作在方式1,T1作为波特率发生器,T1工作在自动重装初值的8位定时方式,要求串行口的波特率为4800Hz,请设置SMOD、TH1的值。

【是5题的反问题,答案是设SMOD=0,(TH1)=0FAH,或设SMOD=1,(TH1)=0F4H】7、若8051的晶振频率fosc为11.0592MHz,串行口工作在方式1,T1作为波特率发生器,T1工作在自动重装初值的8位定时方式,设SMOD=0,要求串行口的波特率为4800Hz,求出TH1的值。

【是5题的反问题,由:波特率=(2SMOD/32)*( T1的溢出率)= ( T1的溢出率)/32=4.8 KHz 知:T1的溢出率=4.8 KHz*32=153.6KHz=0.1536 MHz再由:T1的溢出率=fosc/(12*(256-TH1))=11.0592 MHz /(12*(256-TH1))= 0.1536 MHz256-TH1= 11.0592 MHz /12/0.1536 MHz=6 得:TH1=250=0FAH 】四、编程题1、编制程序。

将30H单元开始存放的8字节二进制数(低位在30H)与40H单元开始存放的8字节二进制数(低位在40H)相加,结果存入40H单元开始的8个单元中(低位在40H)。

2、编写程序。

判别RAM中30H单元的内容,若(30H)>10,则31H单元内容置01H;若(30H)=10,则31H单元内容置02H;若(30H)<10,则31H单元内容置03H。

3、编写程序,使内部RAM中20H和30H单元内容互换。

5、编写程序。

两个无符号数比较,内部RAM的20H单元和30H单元各存放了一个8位无符号数,请比较这两个数的大小,若(20H)>=(30H),则P1.0清零,否则P1.1清零。

6、现有一5V蜂鸣器,用89C51设计一系统,由P1.0控制蜂鸣器周而复始地响20ms,停20ms。

要求20ms定时时间由定时器0产生。

画出电路,编写程序(fosc=6MHz)。

7、使用89C51片内定时器1编一个程序,从P1.0输出50Hz的对称方波(fosc=12MHz)。

8、使用89C51片内定时器1(工作在方式2)为波特率发生器,欲以9.6kHz通过串口通信,串口工作在方式3,请先算定时器初值,再编写初始化程序(fosc=11.0592MHz)。

9、利用89C51的P1口控制8个发光二极管LED,LED1-LED4为一组,LED5-LED8为一组,使二组每隔0.5秒交替发亮一次,周而复始。

画出电路,编写程序。

10、编写计算下式的程序。

设乘积和平方结果均小于255。

a、b值分别存在3001H和3002H单元中,结果存于片外3000H单元中。

(12分)(a+b)2+10 (a+b)2<10Y= (a+b)2(a+b)2=10(a+b)2-10 (a+b)2>1011、请用位操作指令编程,求下面逻辑方程,结果由P2.3输出。

(10分)P2.3=( / P1.5 × B.4 + / ACC.7) × P1.012、编程计算下列算式的程序,结果存入40H ~ 42H单元中(42H单元为高位)。

相关主题