单片机原理与应用 试题库(1) 联系客服

发布时间 : 星期六 文章单片机原理与应用 试题库(1)更新完毕开始阅读

ORG 0000H LJMP START ORG 30H

START: MOV R0,#20H MOV R2,#10H

MOV DPTR,#1000H LOOP: MOV A,@R0 SWAP A

ANL A,#0FH

ORL A,#30H (或 ADD A,#30H) MOVX @DPTR,A INC DPTR MOV A,@R0 ANL A,#0FH

ORL A,#30H (或 ADD A,#30H) MOVX @DPTR,A INC DPTR INC R0

DJNZ R2,LOOP SJMP $ END

5.内部RAM 30H和38H开始的单元分别存放着8个压缩BCD码,请将对应单元的内容相加(不考虑溢出),并将和存入外部RAM 1000H开始的单元中。

参考答案:

ORG 0000H

LJMP START ORG 30H START: MOV R0,#30H MOV R1,#38H

MOV DPTR,#1000H MOV R2,#08 LOOP: MOV A,@R0 ADD A,@R1 DA A

MOVX @DPTR,A INC R0 INC R1 INC DPTR DJNZ R2,LOOP SJMP $ END

25

37.设80C51单片机的晶体震荡频率为12MHz,利用定时器T0编程由P1.2输出周期为10ms的方波。(要求:T0工作在方式1下,采用中断方式工作)

参考答案:

周期为10ms则半周期为5ms,因此T0的定时初值为65536-5000/1=60536=0EC78H ORG 0

LJMP START ORG 000BH LJMP TS ORG 30H START: MOV TMOD,#01H MOV TH0,#0ECH MOV TL0,#78H SETB ET0 SETB TR0 SETB EA CLR P1.2 SJMP $ TS: CLR TR0

MOV TH0,#0ECH MOV TL0,#78H SETB TR0 CPL P1.2 RETI END

38.已知80C51单片机应用系统的晶体振荡频率为12MHz,请利用定时器T0实现在P1.0引脚上输出周期为100ms的方波。(要求:采用中断方式,T0工作在方式1下)

参考答案:

输出方波周期为100ms,故半周期为50ms,因此T0的定时初值是65536-50000/1=15536=3CB0H ORG 0H LJMP START ORG 000BH LJMP TS ORG 30H

START: MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H SETB ET0 SETB TR0 SETB EA CLR P1.2 SJMP $ TS: CLR TR0

MOV TH0,#3CH

26

MOV TL0,#0B0H SETB TR0 CPL P1.2 RETI END

39.设80C51单片机应用系统的晶振频率为12MHz,请利用T0在P1.0和P1.1引脚上输出频率为20Hz、互补(两个波形互为反相)的方波。要求:采用中断方式,T0工作在方式1。

参考答案:输出频率为20Hz,则周期为1/20=50ms,半周期为50/2=25ms,T0的定时初值为:65536-25000/1=40536=9E58H ORG 0H LJMP START ORG 000BH LJMP TS ORG 30H

START:MOV TMOD,#01H ;T0设定为定时器,工作方式1 MOV TH0,#9EH MOV TL0,#58H SETB ET0 SETB EA SETB TR0 CLR P1.0 SETB P1.1 SJMP $

TS: CLR TR0

MOV TH0,#9EH MOV TL0,#58H SETB TR0 CPL P1.0 CPL P1.1 RETI END

45.设80C51单片机的晶体振荡频率为6MHz,利用定时器T1编程由P1.6和P1.7输出周期为500μS 、互补(互为反相)的方波。(要求:T1工作在方式2下,采用中断方式工作) 参考答案:T1定时器的初值=256-6*250/12=131=83H ORG 0000H LJMP START ORG 1BH LJMP TS

27

ORG 30H START: MOV TMOD,#20H MOV TH1,#131 MOV TL1,#131 SETB ET1

SETB EA (或 MOV IE,#88H) SETB TR1 CLR P1.6 SETB P1.7 SJMP $ TS: CPL P1.6 CPL P1.7 RETI END

46.已知80C51单片机应用系统的晶体振荡频率为12MHz,请利用定时器T1实现在P1.0和P1.1引脚上输出互补(互为反相)的周期为2ms的方波。(要求:采用中断方式,T1工作在方式2下)

参考答案:半周期=1ms 。方式2定时设定为250μS,其初值=256-250*12/12=6。只要T1中断4次计数即为1ms。

ORG 0000H LJMP START ORG 1BH LJMP TS ORG 30H

START: MOV TMOD,#20H MOV TH1,#6 MOV TL1,#6 SETB ET1 SETB EA SETB TR0 CLR P1.0 SETB P1.1 MOV R2,#4 SJMP $ TS: DJNZ R2,TS1 MOV R2,#4 CPL P1.0 CPL P1.1 TS1: RETI END

47.设80C51单片机应用系统的晶振频率为12MHz,请利用T1在P1.0引脚上输出频率为1Hz的方波。要求:采用中断方式,T1工作在方式1。

参考答案:1Hz方波的周期为1s,半周期为500ms。可采用T1定时50ms,并对中断计数10次来实现

28