单片机试卷及答案

  • 格式:doc
  • 大小:79.50 KB
  • 文档页数:5

一、 填空题 (每空2分,共20分) 1.MCS-51系列单片机8031、8751、89C51在内部存储器的设置上主要区别是:8031内部___________程序存储器,8751内部___________程序存储器,89C51内部___________程序存储器。2.完成下列不同数制间的转换:(10100101)B =___________ D;(11000011)B=___________H;(58)D=___________ BCD。

3.单片机并行I/O端口在输出数据时对端口锁存器无特殊要求,而在输入数据时,必须事先向锁存器写入高电平,如果锁存器处在低电平状态则会引起___________后果。

4.8031单片机内部低128B的随机数据存储器内部,常分为寄存器工作组区、位寻址区、数据存储/缓冲区等。其寄存器工作组区,位寻址区都有确定的地址范围。堆栈区一般没有 确定的地址范围,选择栈底的原则是___________ 。 5.转移指令LJMP addr16的转移范围是___________,调用指令 ACALL addr11的调用范围是___________。 6.在中断调用过程和一般调用指令的使用中,能事先确定断点地址的是___________,调用范围不受指令类型限制的是___________。 7.单片机内外中断源按优先级别分为高级中断和低级中断,级别的高低是由___________寄存器的置位状态决定的。同一级别中断源的优先顺序是由___________决定的。 8.用汇编语言指令编写的程序,应该称作___________ )程序,经过汇编的程序应该称作___________。 9.在调用子程序时,为保证程序调用和返回不致混乱,常采用保护现场的措施。通常在进入子程序后要用___________指令保护现场DPH、DPL、ACC等。在退出子程序之前要用POP指令依次恢复现场用___________指令返回。 10、用仿真开发系统调试程序时,汇编成功只说明源程序的___________没有问题,而程序___________还要靠运行调试纠错才能成功。

二、 选择题 (每空2分, 共20分) 1.在程序状态字寄存器PSW中,判断是否有借位时用( )标志位;若选择寄存器工作组要用( )标志位置高电平。

A、 CY B、OV C、P D、RSO E、RSI 2.CPU允许接受相应中断,当INTO申请中断时,程序计数器PC的内容被自动修改为( )地址;当有定时器T1申请中断时,程序计数器 PC的内容被自动修改为( )地址。

A、0003H B、000BH C、0013H D、001BH E、0023H

3.单片机复位后堆栈指针SP,I/O端口P0、P1、P2、P3的内容为( );复位端RST电平( )。 A、 SP=07H, P0=P1=P2=P3=00H B、 SP=00H, P0=P1=P2=P3=FFH C、 SP=07H, P0=P1=P2=P3=FFH D、 SP=00H, P0=P1=P2=P3=00H E、 RST = 高电平, F、 RST = 低电平 4. MCS-51系列单片机指令的寻址方式有多种,下面指令中属于寄存器间接寻址的是( );属于变地寻址的指

令是( )。 A、MOV A,@Ri B、MOV @Ri,A C、MOVX A,@DPTR D、MOVC A,@A+DPTR E、JMP @A+DPTR

5.DA指令是BCD码运算调整指令,它只可用在如下( )指令中;它的功能是( )。 A、ADD B、SUBB C、ADDC D、DIV E、把二进制数调整为十进制数。 F、把二进制进位调整为十进制进位。 6.单片机实训线路板时钟电路晶体振荡频率为f(如12MHz),则实训线路CPU工作时的机器周期是( );定时器定时工作时的计数周期是( )。 A、1/f B、6/f C、12/f D、具体指令决定 7.在一个调试通过的程序中,堆栈指针初始值SP=30H,在执行PC=0200H的LCALL调子指令过程中(未返回),堆栈指针SP应为( );此时堆栈中保存的断点地址应为( )。 A、30H B、31H C、32H D、0200H E、0202H F、0203H 8.实训线路板上8155芯片的片选端(CE)由单片机P2.7,P2.6,P2.5经74LS138的Y2译码决定,寄存器/存储器选择端(I/O)由单片机P2.2线选决定。当8155作键盘或显示器控制口用时,控制寄存器地址应为( );当8155作存储器用时,存储区首地址应为 ( )。 A、4400H B、4000H C、 4401H D、4001H 9.8031定时器的工作方式由TMOD寄存器状态[GATE、C/T、M1、Mo、GATE、C/T、M1、Mo]控制字决定。当只有定时器T1方式1对外记数,T0不工作时,控制字应为( )当定时器T1以方式1对外记数,同时To以方式1对内定时工作时,控制字应为( )。 A、10H B、50H C、51H D、11H 10.用仿真系统调试程序时,要观察子程序内部指令的执行情况采用调试方式( );要快速检查某一条指令的执行结果采用调试方式( )。 A、单步运行(F8) B、跟踪运行(F7) C、运行至光标指定处(F4) D、运行到断点设置处(F2) E、全速运行(F9)

三、 程序分析题 (每空3分,共30分) 该程序是信号灯控制程序,采用P1口控制8个发光二极管的亮与灭(由线路板决定,P1口输出低电平时对应的发光二极管被点亮)。

ORG 0000H

AJMP MAIN ORG 000BH ;该地址是( )地址

LJMP TT0 ;当出现( )时,才会执行到该指令。 ORG 0030H

MAIN: MOV TMOD, #01H ;执行该指令的目的( ) MOV TH0, #3CH ;设置T0 50ms定时初始值 MOV TL0, #0B0H ;此时堆栈指针的内容是( ) MOV R2, #40 ;设50ms循环40次定时2秒 MOV R3, #8 ;设亮灯个数 SETB ET0 SETB EA SETB TR0 ;启动T0定时 SJMP $ ;执行该程序的目的( ) TT0: MOV TH0, #3CH MOV TL0, #0B0H DJNZ R2, BACK ;不够40次(2秒)退出中断 MOV R2, #40H ; LCALL LJMP ;调亮灯子程序 BACK: RETI ;中断返回 LAMP: CLR TR0 ;进入亮灯程序后为何关定时器( ) MOV R4, #0FEH ;设置亮灯控制字 LP1: MOV P1, R4 ;最先亮的灯是( ) ACALL DELAY ;调亮灯延时 MOV A, R4 ;此时SP内容是( ) CLR C ;清进位位为参与亮灯循环 RLC A ;带进位位左移循环 MOV R4 A DJNZ R3 LP1 SETB TR0 RET ;亮灯子程序返回 DELAY: MOV R6, #100 ;设0.1s延时循环参数 (1ms*100) L2: MOV R7, #250 ;设1ms 延时循环参数 (4us*250) L1: NOP ;L1循环一次为何是4us ( ) NOP DJNZ R7, L1 DJNZ R6, L2 RET ;循环运行该程序发光管变化规律是( END ; )

四、简答题(每题5分,共10分) 1. 试述51系列单片机内部RAM如何按功能进行划分

2、何为键抖动,在程序中怎样去除键抖动

五、编程题(每题10分,共20分) (一)、参考第三题按要求完成各小题 1.将CPU对T0的中断响应方式改为中断查询方式工作。 2. 将8个发光管定时依次全亮循环过程修改为先定时依次全亮,然后在依次全灭的循环过程。

(二)、利用单片机定时器0中断方式从P1.0输出占空比为1:5,频率为10KHz的脉冲信号。 一、填空题 (每空2分,共20分) 1、 无任何 2、 4KB EEPROM 3、 4KB flash ROM 4、 165D 5、 C3 H 6、 0101 1000 BCD 7、 高电平下拉为低电平,数据混乱。 8、 不影响寄存器工作组和位寻址区工作需要且堆栈区范围用。 9、 64KB 10、 2KB 11、 一般调用指令 12、 中断调用指令 13、 中断优先级寄存器 14、 自然优先级顺序 15、 汇编语言源程序 16、 运目标程序(或机器码程序) 17、 POP指令 18、 ACC,DPL,DPH等 19、 指令语法 20、 行逻辑正确 二、选择题 (每空2分, 共20分) 1、A 2、E,D 3、A 4、D 5、C 6、A,C 7、D 8、A,C 9、B 10、C 三、程序分析题 (每空3分,共30分) 1、 T0 中断入口地址 2、 开中断,且T0身亲请中断时 3、 设置定时器T0以方式1定时 4、 SP=07H 5、 等待T0 50MS定时中断 6、 暂停T0计时 7、 低位灯(D0)先亮 8、 SP=09H 9、 两NOP为单周期指令,DJNZ为双周期指令,指令的机器周期为1us,故(4*1us)为4us。 10、 该程序为每隔2秒,8只发光管由D0~~D7依次顺序全亮起来。每只灯的亮延时为0.1秒。 四、编程题(每题10分,共20分) (一) ORG 0000H AJMP MAIN ; ORG 000BH ; LJMP TT0 ORG 0030H MAIN: MOV TMOD, #01H MOV TH0, #3CH MOV TL0, #0B0H MOV R2, #40 MOV R3, #8 ; SETB ET0 ; SETB EA SETB TR0 ; SJMP $ WAIT: JBC TF0, TT0 AJMP WAIT

TT0: MOV TH0, #3CH MOV TL0, #0B0H DJNZ R2, BACK MOV R2, #40 LCALL LAMP BACK: ; RETI AJMP WAIT

LAMP: CLR TR0 MOV R4, #0FEH LP1: MOV P1, R4

ACALL DELAY

MOV A, R4 CLR C RLC A MOV R4, A DJNZ R3, LP1 ; SETB TR0 ; RET