《单片机原理及应用》试题库 下载本文

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

一、填空题

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 ACC PUSH B

后,SP的内容为 ,61H单元的内容为 ,62H单元的内容为 。 16、假定SP=62H,(61H)=30H,(62H)=70H,执行下列指令:

POP DPH POP 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,#10 DEL1: MOV R2,#7DH

DEL0: NOP ;单周期 NOP

DJNZ R2,DEL0 ;双周期 DJNZ R1,DEL1 DJNZ R0,DEL2

RET ;双周期

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=250

T1的溢出率=fosc/(12*(256-250))= 11.0592MHz /72=0.1536 MHz=153.6KHz 波特率=(2SMOD/32)*( T1的溢出率)= 153.6KHz/32=4.8 KHz=4800 Hz

6、若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 MHz

256-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为一组,