发布时间 : 星期四 文章单片机复习资料更新完毕开始阅读18ebe306e53a580217fcfe7b
1、补码为FFH的机器数真值是( A )。
A:-1D B:-2D C:-127D D:254D
2、单片机复位后的IE与TMOD的内容是( A )。P23页
A:IE=0xx0 0000B,TMOD=00H B: IE=0xx0 TMOD=FFH
C:IE=1xx0 0000B,TMOD= 00H
FFH
3、单片机中PSEN的功能是选通是( C )。
A:片外数据RAM C:片外程序ROM
0000B,
D:IE=1xx0 0000B,TMOD=
B:片内数据RAM
D:片内程序ROM
4、在下列指令中,正确的MCS-51单片机指令是( C )。
A:PUSH R7 B:MOV DPTR, 8000H C:ADDC A,#0FFH D:XRL 20H, C 5、能同时将TF0清零的跳转指令是( B )。 A:JB TF0,LOOP B:JBC TF0,LOOP C:JNB TF0,LOOP D:JNC LOOP 6、当R0的地址为10H时,PSW中的RS1、RS0两位是( C )。 A:00 B:01 C:10 D:11 7、没有片内上拉电阻的并口是( D )。
A:P3 B:P2 C:P1
D:P0
8、外部中断0的中断服务程序入口地址是( A )。
A:0003H B:000BH C:0013H (外部中断1 ) D:
0023H
9、用6MHz晶体时,T1做一次定时的最长时间为( D )。
A:510 μS B:512 μS C:131070μS D:131072 μ
S=65536*2
10、在串口控制寄存器SCON中,TI是( C )。
A:串行接收中断标志位 B:串行接收允许位 C:串行发送中断标志位 D:串行发送允许位 11、定时器T1的溢出中断标志是( C )。
A:TF0 B:TI C:TF1 D:IE0 12、START在ADC0809中起到什么样的作用( A )
A.启动AD转换
C. ADC0809的片选信号
B. AD转换结束标志 D. 不能确定
13、已知PSW = FFH, R0= 06H,R1 = 08H, 有这样的定义char idata *p; 其中p = 0x19;则*p = ( D )
A.00H B.06H
C.01H D.08H
14、已知C语言程序 p = 0x30; *p = 0x48与之等价的汇编语言程序为(A )
A.MOV 30H,#48H B.MOV
30H,#48
C.MOV
30H,48H
D.MOV 30H,48
15、单片机的ALE信号的频率与单片机Fosc的频率的比值为( A )
A.1/6
B.6
C.1/12 D.12
二、阅读程序填空(每小题5分,共25分)
1、设DPTR=2049H、A=0EDH,问:执行下列程序后DPTR= 4A4AH ?A= 0DEH ?
INC PUSH PUSH POP POP SWAP
DPTR ACC DPL DPH ACC A
2、问:执行下列程序后DPTR= 0300H ?A= 09H ?
MOV DPTR,#0300H
MOV A,#03H
MOVC A,@A+DPTR LJMP $
ORG 0300H
SEGCODE: DB 01H,02H,05H,09H,0AH,12H
3、用6MHz晶体。该程序段的运行时间= 401.202 ms?并写出计算步骤: 2*(1+200*(2+1+250*4)) =401202 us 。
MOV
LOOP1: MOV LOOP2: NOP NOP
DJNZ DJNZ
R1,#200 R0,#250 R0,LOOP2 R1,LOOP1
;该指令的时钟周期数为12 ;该指令的时钟周期数为12 ;该指令的时钟周期数为12 ;该指令的时钟周期数为24
4、单片机外接22.1184MHz晶体,复位后执行了下列串口初始化程序段。问:串口的波特率被设置为 19200 bps?串行通信的一帧数据有 10 位?
MOV MOV MOV MOV SETB MOV
SCON,#40H TMOD,#20H TH1,#250 TL1,#250 TR1
PCON,#80H
5、DAC0832工作在直通工作方式,DAC0832的D4~D0与单片机的P0.4~P0.0依次连接。问:运行如下程序时产生的波形是 锯齿波 波?
MOV MOV INC LJMP
A,#00H P0,A A LOOP
LOOP:
三、编程题(每小题4分,共20分)
1、编写程序段,将20H与30H中的内容互换,其中R0的地址为00H,请在程序中设置PSW。 程序1:
2、编写汇编语言程序段,完成对立即数BDH、45H、55H的相加运算,结果存放在地址为50H和51H两个存储单元中,其中低字节结果放在50H中,高字节结果放在51H单元中。
mov a,#0bdh add a,#45h push acc mov a,#0 addc a,#0 mov 51h,a pop acc add a,#55h mov 50h,a mov a,51h addc a,#0 mov 51h,a MOV PSW,#0 PUSH 20H PUSH 30H POP 20H POP 30H 程序2: MOV PSW,#0 MOV A, 20H MOV 20H,30H MOV 30H,A char *p1,*p2; char m; PSW=0; p1=0x20; p2=0x30; m=*p1; *p1=*p2; *p2=m;
3、编写汇编语言程序段,将地址20H开始的20H个连续单元的内容按顺序传送到地址40H开始的20H个连续单元中,要求用R6作为循环计数器。
4、编写汇编语言程序段,实现以下公式的计算。其中有符号数X在R1中,Y在R2中。
mov a,r1 jnb acc.7,lp cpl a inc a lp: mov r2,a sjmp $ mov r6,#20h mov r0,#20h mov r1,#40h lp: mov a,@r0 mov @r1,a inc r0 inc r1 djnz r6,lp ??X?X?0?Y?? -XX<0????
5、编写完整C语言程序,使用定时器T0进行定时,用中断方式在P2.0引脚产
生周期为10Hz(0.1秒)的方波。 #include
硬件电路的示意图如下(晶体频率为12MHz):