; Copyright 2005 Doi Shigeki ;list0804.asm PIC16F88テスト・プログラム ; シリアル通信のテスト 57600ボー@8MHz LIST P=16F88 #INCLUDE P16F88.inc ;コンフィグレーション・ワード 1 __CONFIG _CONFIG1, _BODEN_OFF & _WDT_OFF & _INTRC_IO ; _CP_OFF,_CCP1_RB0,_DEBUG_OFF,_WRT_PROTECT_OFF,_CPD_OFF,_LVP_ON,_MCLR_ON,_PWRTE_OFFはデフォルト ;コンフィグレーション・ワード 2 __CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF ORG 0 ;0番地より展開 MAIN NOP ;割り込みの場合も再スタート NOP NOP NOP START BSF STATUS, RP0 ;バンク1へ切替え MOVLW B'01110000' ;内蔵OSCを8MHzに設定 MOVWF OSCCON MOVLW B'00000000' MOVWF TRISA MOVLW B'00000111' ;RB2(RX),RB1,RB0を読み込み MOVWF TRISB MOVLW B'00100100' ;TXEN=1,BRGH=1 MOVWF TXSTA MOVLW D'8' ;8/(16(8+1))=57600 MOVWF SPBRG BCF STATUS, RP0 ;バンク0へ切り替え MOVLW B'10010000' MOVWF RCSTA CHECK BTFSS PIR1,RCIF ;RCIF=1ならスキップ GOTO CHECK MOVF RCREG,W ;受信レジスタからデータ取り出し MOVWF PORTA ;LEDへ出力 CHECK2 BTFSS PIR1,TXIF GOTO CHECK2 MOVWF TXREG ;PCへエコー GOTO CHECK END