1、程序状态字PSW包含的标志位为CY、AC、FO、RS1、RS0、OV、P。当 2、单片机内部从00H-1FH为寄存器组区、从20H-2FH为位存储区,位存储区的
位地址范围为00H-7FH。
3、确定当前工作寄存器组的寄存器是RS1、RS0。
4、在单片机扩展外部存储器时,利用RD引脚读外部RAM的数据,利用WR引
脚写外部数据存储器,利用PSEN读外部程序存储器。
5、RST引脚持续保持2个机器周期的高电平就可以实现单片机的复位操作。 6、单片机有4个8位的I/O端口,他们是P0、P1、P2、P3,其中P0口无上拉电
阻。
7、在扩展外部存储器时,P0口作为数据线和低8位地址线、P2口作为高8位地
址线,并且用ALE引脚锁存P0 口的地址信号。 8、单片机复位时所有的I/O端口都为高电平。
9、单片机存取外部数据存储器的指令是MOVX,读取外部程序存储器的指令是
MOVC。
10、51单片机的寻址方式有:立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址、位寻址。
11、8051单片机有5中断源分别是INT0、T0、INT1、T1、TI/RI,共有2个优先级,对同一优先级下中断源的优先级顺序是INT0、T0、INT1、T1、TI/RI,中断入口分别是0003H、000BH、0013H、001BH、0023H。
12、8051单片机外部中断源有2种触发中断请求的方法,当ITx=0为低点评触发、 当当ITx=1为下降沿触发。
13、51单片机有2个定时器/计数器,共有4种工作模式,可以由软件对特殊功能寄存器TMOD中的控制位M1、M0进行设置。
14、当定时器T0工作于方式3时,定时器T1一般用作串行口波特率发生器使用,用T1的控制位C/T切换其工作方式就可以使T1运行。
15、51单片机在串行接受时,当SBUF接收到数据后置位RI,在串行输出时,当
第 1 页/共 2 页
SBUF的数据串行输出完毕会置位TI。
16、单片机的串行口工作于方式0输出时,数据从RXD引脚输出,串行移位时钟从TXD引脚输出。
17、单片机外部扩展RAM的地址寻址范围是0000H-FFFFH,ROM的地址寻址范围是0000H-FFFFH。
18、51单片机在从0000H地址运行外ROM的程序时,EA引脚必须接低电平。 二、简答题(5*8=40分)
1、MCS-51单片机的存储结构有什么特点?
答:单片机的存储器分为内部RAM、外部RAM、外部ROM。
内部RAM分为寄存器区、位寻址区、通用RAM区。
内部RAM的地址从00H-7FH,外部RAM和ROM地址从0000H-FFFFH。 2、MCS-51的指令系统按系统功能可分为哪几类? 答:数据传送指令类。
算术运算指令类。 逻辑运算指令类。 位操作指令类。 控制转移指令类。
3、8051定时器有哪几种工作模式? 答:方式0,13位工作方式。
方式1,16位工作方式。
方式2,自动8位重装入工作方式。 方式3,两个8位工作方式。
4、8051定时器作定时和计数时、其计数脉冲分别从何处提供?
答:8051定时器作定时时计数脉冲从fosc的12分频的脉冲作为计数脉冲。
用作计数时,从外部Tx引脚输入的脉冲作为计数脉冲。 5、8051定时器的门控信号GATE设置为1时,定时器如何启动?
答:8051定时器的门控信号GATE设置为1时,定时器的启动只能通过外部引脚
第 2 页/共 2 页
INTx启动,当INTx为1时定时器启动,当INTx为0时定时器关闭。 6、使用一个定时器,如何通过软件实现较长时间的定时?
答:可以在定时中断服务程序中设定中断次数计数器,当到达所需的计数次数后处理相应的事件。
7、为什么定时器T1用作串行口波特率发生器时,常选用工作方式2? 答:工作方式2是自动重装入方式。
作为波特率发生器的定时器定时时间都比较短,8位即可以满足需要。 自动重装入方式省去了中断程序装初值,提高了精度且不占用程序执行时间。
8、什么是单片机的时钟周期、机器周期和指令周期? 答:时钟周期就是振荡周期。
一个机器周期由12个振荡周期组成。
CPU执行一条指令所需的时间称为指令周期,指令周期是以机器周期为单位的。
9、么是波特率?什么是传送速率?
答:波特率是指数据传送速率。
数据传送速率表示每秒传送二进制代码的位数。
三、综合题
1、已知8051单片机的fosc=6MHz,请用T0和P1.0输出矩形方波。矩形方波的高
电平为50µs,低电平宽度为300µs。 解:AJMP MAIN
ORG 000BH AJMP T0_INT
MAIN:MOV SP,#30H
CLR F0
MOV TMOD #00000001B MOV TH0,#0FFH MOV TL0,#0E7H SETB TR0
第 3 页/共 2 页
SETB EA SETB ET0 SJMP $ T0_INT:
JB F0,HIGH MOV TH0,#0FFH MOV TL0,#0E7H SETB P1.0 SETB F0 RETI HIGH:
MOV TH0,#0FFH MOV TL0,#06AH CLR P1.0 CLR F0 RETI
2、将存放在30H单元中的压缩BCD码拆分后,分别放在31H和32H单元中。 解:MOV A,30H
ANL A,#0FH MOV 32H,A MOV A,30H ANL A,#0F0H SWAP A MOV 31H,A
3、试将存放在40H单元中的数据0FH乘4,结果仍然存放在40H单元中。
解:MOV A,40H
第 4 页/共 2 页
RL A RL A MOV 40H,A
4、编写一段程序,查找存放在30H-50H单元中是否有数据34H,若有则将F0置1,
否则将F0清零。 解:MOV R0,#30H
MOV R1,#21H CLR F0
LOOP:
CJNE @R0,#34H,NOT_EQU SETB F0 SJMP QUIT
NOT_EQU: INC R0
DJNZ R1,LOOP
QUIT:
5、若单片机的晶体震荡频率为12MHz,编写一输出到P1.0的脉冲,脉冲周期为
100µs。 解:AJMP MAIN
ORG 000BH AJMP T0_INT
MAIN:MOV SP,#30H
MOV TMOD #00000001B MOV TH0,#0FFH MOV TL0,#0ECH SETB TR0 SETB EA
第 5 页/共 2 页
SETB ET0 SJMP $ T0_INT:
MOV TH0,#0FFH MOV TL0,#0ECH CPL P1.0 RETI
6、编写程序,将外部RAM中2000H-2020H单元的内容送入内部RAM的30H-50H单元
中。
解:MOV P2,#20H
MOV R0,#00H MOV R1,#30H MOV R2,#21H
LOOP:
MOVX A,@R0 MOV @R1,A INC R0, INC R1 DJNZ R2,LOOP
第 6 页/共 2 页
因篇幅问题不能全部显示,请点此查看更多更全内容