单片机复习资料 联系客服

发布时间 : 星期四 文章单片机复习资料更新完毕开始阅读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 sbit led=P2^0; void timer0() interrupt 1 { TH0=(-50000)>>8; TL0=(-50000)&0XFF; led=!led; } main() { EA=1; ET0=1; TMOD=0X11; TH0=(-50000)>>8; TL0=(-50000)&0XFF; TR0=1; while(1); } 四、综合应用题(每小题5分,共10分)第一题必须用汇编语言编写,第二题可以用汇编也可以用C语言

硬件电路的示意图如下(晶体频率为12MHz):