標(biāo)題: 求一匯編程序,急用 [打印本頁(yè)]

作者: 別總趴著    時(shí)間: 2012-3-26 14:28
標(biāo)題: 求一匯編程序,急用

有八盞燈,全亮,每隔五秒滅一盞

希望有大俠幫忙解決一下


作者: 別總趴著    時(shí)間: 2012-4-12 11:12

頂一下,希望版主能看到幫忙解決一下


作者: itmaybe    時(shí)間: 2012-4-21 19:48

          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電路板線路編成,僅供參考


作者: itmaybe    時(shí)間: 2012-4-21 20:09

          ORG      0000H
          CLR      P1.4
          MOV      R4,#00H
START:    MOV      A,#0H             ;全部點(diǎn)亮
          MOV      P0,A             
          LCALL    DEL_5S
          MOV      DPTR,#TAB
LOOP1:    MOV      A,R4
          MOVC     A,@A+DPTR
          MOV      P0,A
          LCALL    DEL_5S
          INC      R4                ;滅n盞
          CJNE     R4,#8H,LOOP1
          MOV      R4,#0H
          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é)束
;---------------------------------------------------------------
TAB:      DB  01H,03H,07H,0FH
          DB  1FH,3FH,7FH,0FFH  

 

 

 

 

這個(gè)看起簡(jiǎn)潔些






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1