埋地灯三色跳变源程序_刘佩沙_新浪博客

;variable  DECLARE
;可以用片内晶振,三条I/O线低电平选择条变速度。
;------------------
;INDF EQU  0
;TMR0 EQU  1
;PCL EQU 2
;STATUS EQU 3
;FSR EQU 4
;GPIO EQU 6
COUNT EQU 8
COUNT1 EQU 9
count2 equ  0ah
count3 equ  0bh
count4 equ  0ch
count5 equ  0dh
count6 equ  0eh
count7 equ  0fh
;------------------
    ORG 00H
    MOVWF OSCCAL
    GOTO MAIN
;-------------------
;子程序

loop:
    movfw count2
    movwf count1
loop1:
    CLRF TMR0
loop2:
    MOVLW 08h
    SUBWF TMR0,0          ;TMRO-W=?,if zero back to main program
    SKPZ
    goto loop2
DEC:
    decfsz  count1
    goto loop1
    retlw  0
;----------------------------
ONE:
    BTFSC  GPIO,2
    GOTO   NEXT
    RETLW  00H
NEXT:
    BTFSC  GPIO,1
    GOTO   NEXT1
    RETLW  01H
NEXT1:
    BTFSC  GPIO,0
    GOTO   ONE
    RETLW  02H
;---------------------------
TABLE:
      ADDWF   2,1           ; plc 内容加 w 的值,w 的值由call one 返回。
      RETLW   02H
      RETLW   05H
      RETLW   0AH
;-----------------
MAIN:
    MOVLW 111111B
    TRIS GPIO
    MOVLW  07H
    OPTION
  CALL  ONE
  CALL  TABLE
    movlw  2Fh
    MOVWF  COUNT2
    movlw  014h
    movwf  count3
    movwf  count4
    movlw  02h
    movwf  count5
;//////////////////////////////////
    MOVLW 38H              ;setting the I/o port         111000
    TRIS GPIO
;/////////////////////////////////
    MOVLW 07H              ;turn off all the lamp
    IORWF GPIO
  ---------------
forward:
    clrwdt
    MOVLW 07H             ;setting the frequency 1:256 to timer
    OPTION                       ;clear the watch door dog
    CLRWDT
R:
    MOVLW 111100b
    MOVWF GPIO
G:
    call loop
    MOVLW 111010b
    MOVWF GPIO
B:
    call loop
    MOVLW 111001b
    MOVWF GPIO
    call  loop
    decfsz  count3
    GOTO forward
backward:
    clrwdt
    MOVLW 07H             ;setting the frequency 1:256 to timer
    OPTION                       ;clear the watch door dog
    CLRWDT
Rr:
    MOVLW 111001b
    MOVWF GPIO
Gg:
    call loop
    MOVLW 111010b
    MOVWF GPIO
Bb:
    call loop
    MOVLW 111100b
    MOVWF GPIO
    call  loop
    decfsz  count4
    GOTO backward
;////////////////////////////////
GLITTER_R:
    MOVLW 111100b
    MOVWF GPIO
    MOVLW  018H
    MOVWF  COUNT6
R_R:
    CALL  LOOP
    DECFSZ  COUNT6     ;ZERO  JUMP
    GOTO   R_R
GLITTER_G:
    MOVLW 111010b
    MOVWF GPIO
    MOVLW  018H
    MOVWF  COUNT6
G_G:
    CALL  LOOP
    DECFSZ  COUNT6     ;ZERO  JUMP
    GOTO   G_G
GLITTER_B:
    MOVLW 111001b
    MOVWF GPIO
    MOVLW  018H
    MOVWF  COUNT6
B_B:
    CALL  LOOP
    DECFSZ  COUNT6     ;ZERO  JUMP
    GOTO   B_B
    DECFSZ  COUNT5
    GOTO   GLITTER_R
    goto   main
    END

郑重声明:资讯 【埋地灯三色跳变源程序_刘佩沙_新浪博客】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——