BTFSC STATUS,C
BSF PORTA,DOUT
BCF PORTA,CLK
CALL T1 ;调用延时子程序T1
DECFSZ COUNT,1 ;COUNT减一为零则结束传送
GOTO SET_LP2
BSF PORTA,CLK
CALL T1
BSF PORTA,LOAD
BSF PORTA,DOUT
RETURN ;子程序返回
START
BSF STATUS,RP0 ;主程序
MOVLW 0X18
MOVWF TRISA
MOVLW 0XFF
MOVWF TRISB
BCF STATUS,RP0
CALL T1
CALL T1
MOVLW 0X12
MOVWF PORTA
BCF PORTA,LOAD
CON_COM
CALL T1 ;初始化PS7219内部RAM
MOVLW 0X0A ;设置亮度为最亮
MOVWF SENT_ADDRESS
MOVLW 0X0F
MOVWF SENT_DATA
CALL SEND ;调用串行通讯子程序
CALL T1
MOVLW 0X0B ;设置扫描界线为8位
MOVWF SENT_ADDRESS
MOVLW 0X07
MOVWF SENT_DATA
CALL SEND ;调用串行通讯子程序
CALL T1
MOVLW 0X09 ;设置每位译码方式为BCD译码
MOVWF SENT_ADDRESS
MOVLW 0XFF
MOVWF SENT_DATA
CALL SEND
CALL T1
MOVLW 0X0C ;设置工作方式为正常
MOVWF SENT_ADDRESS
MOVLW 0X01
MOVWF SENT_DATA
CALL SEND
LED_CON
CALL T1 ;LED显示控制部分
MOVLW 0X01 ;LED1显示为1
MOVWF SENT_ADDRESS
MOVLW 0X01
MOVWF SENT_DATA
CALL SEND
CALL T1
MOVLW 0X02 ;LED2显示为2
MOVWF SENT_ADDRESS
MOVLW 0X02
MOVWF SENT_DATA
CALL SEND
CALL T1
MOVLW 0X03 ;LED3显示为3
MOVWF SENT_ADDRESS
MOVLW 0X03
MOVWF SENT_DATA
CALL SEND
CALL T1
MOVLW 0X04 ;LED4显示为4
MOVWF SENT_ADDRESS
MOVLW 0X04
MOVWF SENT_DATA
CALL SEND
CALL T1
MOVLW 0X05 ;LED5显示为5
MOVWF SENT_ADDRESS
MOVLW 0X05
MOVWF SENT_DATA
CALL SEND
CALL T1
MOVLW 0X06 ;LED6显示为6
MOVWF SENT_ADDRESS
MOVLW 0X06
MOVWF SENT_DATA
CALL SEND
CALL T1
MOVLW 0X07 ;LED7显示为7
MOVWF SENT_ADDRESS
MOVLW 0X07
MOVWF SENT_DATA
CALL SEND
CALL T1