;------------------晶片設定----------------------
LIST P=16F946 ; list directive to define processor
#INCLUDE <P16F946.INC> ; processor specific variable definitions
__CONFIG _CP_OFF & _WDT_OFF & _BOD_OFF & _PWRTE_ON & _INTOSCIO & _CPD_OFF & _MCLRE_OFF
;------------------程式開始----------------------
ORG 0000H
;------------------------------------------------
RESET: GOTO INITIAL
;------------------------------------------------
BK0:
BCF STATUS,7
BCF STATUS,6 ;BANK 0
BCF STATUS,5
RETURN
;------------------------------------------------
BK1:
BCF STATUS,7
BCF STATUS,6 ;BANK 1
BSF STATUS,5
RETURN
;------------------------------------------------
BK2:
BSF STATUS,7
BSF STATUS,6 ;BANK 2
BCF STATUS,5
RETURN
;------------------------------------------------
BK3:
BSF STATUS,7
BSF STATUS,6 ;BANK 3
BSF STATUS,5
RETURN
;------------------------------------------------
TX:
MOVF TXREG,0
BTFSC STATUS,2
GOTO TXS
BTFSS PIR1,4
RETURN
TXS:
CALL BK1
MOVLW B'00100100' ;異步 8BIT HIGHSPEED
MOVWF TXSTA
MOVLW .25 ;9600
MOVWF SPBRG
CALL BK0
MOVLW B'10010000' ;串列致能 8BIT 連續接收 偵錯
MOVWF RCSTA
MOVLW 055H
MOVWF TXREG
MAIN:
CALL TX
GOTO MAIN
;-------------------初始化-----------------------
INITIAL:
CLRF PORTA
CALL BK1 ;BANK 1
MOVLW 07H
MOVWF CMCON0
MOVWF 000H
MOVLW ANSEL
MOVLW 00H
MOVWF TRISA
MOVLW 0E0H ;WPUB ENABLE
MOVWF WPUB
MOVLW 0E0H ;IOCB DISABLE
MOVWF IOCB
MOVLW 0FFH ;PR2 設為 FF
MOVWF PR2
MOVLW 002H ;TXIE TMR2IE ENABLE
MOVWF PIE1
CALL BK3
MOVLW 087H ;將預除器指定給TMR0,倍率為1比256
MOVWF OPTION_REG
MOVLW 0FFH ;SET PORTB INPUT
MOVWF TRISB
MOVLW 000H ;SET PORTF OUTPUT
MOVWF TRISF
MOVLW 000H
MOVWF TRISG ;SET PORTG OUTPUT
MOVLW 0FFH ;初值設定
MOVWF PORTF
MOVLW 038H
MOVWF PORTG
CALL BK2
MOVLW 000H
MOVWF WDTCON
CALL BK0
MOVLW 065H ;使用內部震盪 4 MHz
MOVWF OSCCON
MOVLW 077H ;TOUTPS 1:16 TMR2 ON T2CKPS 16
MOVWF T2CON
MOVLW 0C0H ;TMR2 RBIE INT ENABLE
MOVWF INTCON
GOTO MAIN
EEDD:
END
以上為我的程式
沒有辦法將資料傳送出去
先前已爬文過但都沒有看到確實的解決方法
不知道是不是設定上有問題
請各位大大幫忙解決一下
或是有什麼建議
也請各位大大指教
謝謝