⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 s1505-52.asm

📁 508单片机
💻 ASM
字号:
;My first PIC program for control si4133,IntRC_OSC
;REF=10M,RF1=1505.52MHz,N1=18819,R1=125


   list p=12c508a
   #include <p12c508a.inc>
   __config  _CP_ON & _WDT_OFF & _MCLRE_OFF & _IntRC_OSC

 	#DEFINE DAT  GPIO,4
   	#DEFINE CLK  GPIO,2
  	#DEFINE ENB  GPIO,1
   	#DEFINE LD   GPIO,0

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   0x00
	movwf   TEMP1
	movlw   0x08
	movwf   TEMP2
	call    SDATA

        movlw   0x40
	movwf   TEMP1
	movlw   0x08
	movwf   TEMP2
	call    SDATA

	call    SENB	                 ;register 0 

	movlw   0x00
	movwf   TEMP1
	movlw   0x08
	movwf   TEMP2
	call    SDATA

	movlw   0x00
	movwf   TEMP1
	movlw   0x08
	movwf   TEMP2
	call    SDATA

	movlw   0x21
	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   0x12
	movwf   TEMP1
	movlw   0x08
	movwf   TEMP2
	call    SDATA
	
	call    SENB                      ;register 2

	movlw   0x04
	movwf   TEMP1
	movlw   0x08
	movwf   TEMP2
	call    SDATA

	movlw   0x98
	movwf   TEMP1
	movlw   0x08
	movwf   TEMP2
	call    SDATA

	movlw   0x33
	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   0x00
	movwf   TEMP1
	movlw   0x08
	movwf   TEMP2
	call    SDATA

	movlw   0x00
	movwf   TEMP1
	movlw   0x08
	movwf   TEMP2
	call    SDATA

	movlw   0x05
	movwf   TEMP1
	movlw   0x08
	movwf   TEMP2
	call    SDATA
	
	call    SENB                      ;register 5

	movlw   0x00
	movwf   TEMP1
	movlw   0x08
	movwf   TEMP2
	call    SDATA

	movlw   0x07
	movwf   TEMP1
	movlw   0x08
	movwf   TEMP2
	call    SDATA

	movlw   0xD6
	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   0x00
	movwf   TEMP1
	movlw   0x08
	movwf   TEMP2
	call    SDATA

	movlw   0x08
	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 + -