?? 203.6m.asm
字號:
;My first PIC program for control si4133,IntRC_OSC
;REF=30MHz,IF=203.6MHz,R=300, N=8144,
list p=12c508a
#include <p12c508a.inc>
__config _CP_ON & _WDT_OFF & _MCLRE_OFF & _IntRC_OSC
#DEFINE DAT GPIO,3
#DEFINE CLK GPIO,5
#DEFINE ENB GPIO,6
#DEFINE LD GPIO,7
TEMP1 equ 0x08
TEMP2 equ 0x09
TEMP3 equ 0x0A
org 0x00
BEGIN
clrf GPIO
movlw 0x01
tris GPIO
movlw 0x00
option
START
movlw 0X03
movwf TEMP1
movlw 0x08
movwf TEMP2
call SDATA
movlw 0x80
movwf TEMP1
movlw 0x08
movwf TEMP2
call SDATA
movlw 0x00
movwf TEMP1
movlw 0x08
movwf TEMP2
call SDATA
call SENB ;register 0
movlw 0x00
movwf TEMP1
movlw 0x08
movwf TEMP2
call SDATA
movlw 0x02
movwf TEMP1
movlw 0x08
movwf TEMP2
call SDATA
movlw 0x01
movwf TEMP1
movlw 0x08
movwf TEMP2
call SDATA
call SENB ;register 1
movlw 0x00
movwf TEMP1
movlw 0x08
movwf TEMP2
call SDATA
movlw 0x00
movwf TEMP1
movlw 0x08
movwf TEMP2
call SDATA
movlw 0x22
movwf TEMP1
movlw 0x08
movwf TEMP2
call SDATA
call SENB ;register 2
movlw 0x00
movwf TEMP1
movlw 0x08
movwf TEMP2
call SDATA
movlw 0x00
movwf TEMP1
movlw 0x08
movwf TEMP2
call SDATA
movlw 0x03
movwf TEMP1
movlw 0x08
movwf TEMP2
call SDATA
call SENB ;register 3
;movlw 0x00
;movwf TEMP1
;movlw 0x08
;movwf TEMP2
;call SDATA
;movlw 0x00
;movwf TEMP1
;movlw 0x08
;movwf TEMP2
;call SDATA
;movlw 0x04
;movwf TEMP1
;movlw 0x08
;movwf TEMP2
;call SDATA
;call SENB ;register 4
movlw 0x01
movwf TEMP1
movlw 0x08
movwf TEMP2
call SDATA
movlw 0xFD
movwf TEMP1
movlw 0x08
movwf TEMP2
call SDATA
movlw 0x03
movwf TEMP1
movlw 0x08
movwf TEMP2
call SDATA
call SENB ;register 5
movlw 0x00
movwf TEMP1
movlw 0x08
movwf TEMP2
call SDATA
movlw 0x00
movwf TEMP1
movlw 0x08
movwf TEMP2
call SDATA
movlw 0x06
movwf TEMP1
movlw 0x08
movwf TEMP2
call SDATA
call SENB ;register 6
;movlw 0x00
;movwf TEMP1
;movlw 0x08
;movwf TEMP2
;call SDATA
;movlw 0x00
;movwf TEMP1
;movlw 0x08
;movwf TEMP2
;call SDATA
;movlw 0x07
;movwf TEMP1
;movlw 0x08
;movwf TEMP2
;call SDATA
;call SENB ;register 7
movlw 0x00
movwf TEMP1
movlw 0x08
movwf TEMP2
call SDATA
movlw 0x12
movwf TEMP1
movlw 0x08
movwf TEMP2
call SDATA
movlw 0xC8
movwf TEMP1
movlw 0x08
movwf TEMP2
call SDATA
call SENB ;register 8
call DELAY
call SLD
goto BEGIN ;Repeat
;***************************************
;* This routine is a software delay. *
;* Fosc=1/Tosc; Tcycle = 4 x Tosc *
;* Delay=TEMP1xTEMP2xTEMP3xTcycle *
;***************************************
DELAY
movlw 0xFF
movwf TEMP1 ;TEMP1=255
movwf TEMP2 ;TEMP2=255
movlw 0x07
movwf TEMP3 ;TEMP3=7
DLOOP
decfsz TEMP1, F
goto DLOOP
;decfsz TEMP2, F
;goto DLOOP
decfsz TEMP3, F
goto DLOOP
retlw 0x00
SDATA
rlf TEMP1,F
btfsc STATUS,C
goto NEXT
bcf DAT
goto NEXT1
NEXT
bsf DAT
nop
nop
NEXT1
bsf CLK
nop
nop
bcf CLK
decfsz TEMP2,F
goto SDATA
retlw 0x00
SENB
bsf ENB
nop
nop
bcf ENB
retlw 0x00
SLD
btfss LD
sleep
retlw 0x00
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -