实验内容
定时器控制流水灯的速度,但流水灯到边缘的时候,自动调整方向,先反方向继续流动
- 使用的是 定时器0
ORG 0000H LJMP MIAN ORG 000BH LJMP T0_break ORG 0200H INIT: MOV TMOD,#01H ;定时器0为方式1 ;定时器0计时100us MOV TL0,#0B0H MOV TH0,#3CH SETB ET0 ;开启总中断 SETB EA RET MIAN: LCALL INIT ACALL PS0 LOOP: JMP LOOP PS0: MOV R5,#0EFH MOV R4,#0AH MOV P2,#0FFH CPL TR0 RET T0_1: RETI Inv_C: CPL C LJMP D2 RET T0_L: RR A MOV R5,A CPL P1.5 RETI T0_break: ;重新装载初始值 MOV TL0,#0B0H MOV TH0,#3CH ;每10次流动一次 DJNZ R4,T0_1; MOV R4,#0AH MOV P2,R5; MOV A,R5 ;判断是否反向 JNB P2.7, Inv_C JNB P2.0, InV_C D2: JC T0_L RL A MOV R5,A CPL P1.5 RETI end
Thank for your reading!!!!
公众号:FPGA之旅