ORG 0000H CLR P1.4 START: MOV A,#0H ;全部點(diǎn)亮 MOV P0,A LCALL DEL_5S MOV A,#00000001B ;滅一盞燈 MOV P0,A LCALL DEL_5S MOV A,#00000011B ;滅兩盞燈 MOV P0,A LCALL DEL_5S MOV A,#00000111B ;滅三盞燈 MOV P0,A LCALL DEL_5S MOV A,#00001111B ;滅四盞燈 MOV P0,A LCALL DEL_5S MOV A,#00011111B ;滅五盞燈 MOV P0,A LCALL DEL_5S MOV A,#00111111B ;滅六盞燈 MOV P0,A LCALL DEL_5S MOV A,#01111111B ;滅七盞燈 MOV P0,A LCALL DEL_5S MOV A,#11111111B ;滅八盞燈 MOV P0,A LCALL DEL_5S SJMP START ;循環(huán) ;----------------------------------------------------------------- ORG 1000H ;5秒延時(shí)程序 DEL_5S: MOV TMOD,#10H ;定時(shí)器1、方式1、定時(shí)狀態(tài) MOV TL1,#0B0H MOV TH1,#3CH ;送50ms定時(shí)初值 MOV R2,#0AH ;設(shè)置軟件計(jì)數(shù)器,使10*5ms=0.5s MOV R3,#0AH ;設(shè)置軟件計(jì)數(shù)器,使10*0.5s=5s SETB TR1 ;啟動(dòng)定時(shí)器1 LOOP: JNB TF1,$ ;判斷基時(shí)是否到 MOV TL1,#0B0H MOV TH1,#3CH ;再賦初值 CLR TF1 ;清溢出標(biāo)志 DJNZ R2,LOOP ;判斷0.5s是否到 MOV R2,#0AH DJNZ R3,LOOP ;判斷5s是否到 CLR TR1 ;關(guān)閉定時(shí)器1 RET ;定時(shí)結(jié)束
此程序根據(jù)51hei電路板線路編成,僅供參考 |