|
#i nclude <P16F690.INC> COUNT EQU 0X20 LOOP_CNT EQU 0X21 DLY_CNT1 EQU 0X22 DLY_CNT2 EQU 0X23 ORG 000H NOP GOTO MAIN MAIN BANKSEL ANSEL CLRF ANSEL CLRF ANSELH BANKSEL OSCCON MOVLW 0X71 MOVWF OSCCON ;内部8M晶体振荡 BANKSEL SPBRG MOVLW .12 MOVWF SPBRG ;波特率9600 MOVLW 0X28 MOVWF TXSTA ;8位异步低波特率模式 CLRF BAUDCTL BCF STATUS,RP0 MOVLW 0X80 MOVWF RCSTA CLRF COUNT CLRF LOOP_CNT MAIN_LOOP BSF STATUS,RP0 BTFSS TXSTA,TRMT GOTO $-1 BCF STATUS,RP0 SWAPF COUNT,W ;发送COUNT高位 ANDLW 0X0F CALL HEX_TO_ASCII MOVWF TXREG CALL DELAY BSF STATUS,RP0 BTFSS TXSTA,TRMT GOTO $-1 BCF STATUS,RP0 MOVLW 0X0F ;发送COUNT低位 ANDWF COUNT,W CALL HEX_TO_ASCII MOVWF TXREG CALL DELAY INCF COUNT,F INCF LOOP_CNT BSF STATUS,RP0 BTFSS TXSTA,TRMT GOTO $-1 BCF STATUS,RP0 BTFSC LOOP_CNT,4 GOTO TRAN_ENTER TRAN_TAB MOVLW .09 ;发送TAB MOVWF TXREG CALL DELAY GOTO MAIN_LOOP TRAN_ENTER CLRF LOOP_CNT BSF STATUS,RP0 BTFSS TXSTA,TRMT GOTO $-1 BCF STATUS,RP0 MOVLW .10 ;发送换行命令 MOVWF TXREG CALL DELAY GOTO MAIN_LOOP ;=================================== HEX_TO_ASCII ADDWF PCL,F DT "0123456789ABCDEF" ;=================================== DELAY MOVLW 0XB0 MOVWF DLY_CNT1 CLRF DLY_CNT2 INCFSZ DLY_CNT2,F GOTO $-1 INCFSZ DLY_CNT1,F GOTO $-4 RETURN END 以下为blog主人的回复: 开来您已经走在匠人前面了
|