;****************************************************************************************** ; Project : PIC 16F88 Sample Program ; Program Name : ; Programer : ; Create date : Version 1.0 H19.06.01 ; History : ;****************************************************************************************** ; (1)Description ; ;****************************************************************************************** LIST P=PIC16F88,ST=OFF,R=DEC INCLUDE "P16F88.inc" ; __CONFIG _CONFIG1 , _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_OFF & _PWRTE_OFF & _WDT_OFF & _INTRC_IO __CONFIG _CONFIG1 , _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_OFF & _PWRTE_OFF & _WDT_OFF & _HS_OSC __CONFIG _CONFIG2 , _IESO_OFF & _FCMEN_OFF ; X1 EQU 20H X2 EQU 21H X3 EQU 22H X4 EQU 23H X5 EQU 24H NUM EQU 25H CHR EQU 26H WAT1 EQU 27H WAT2 EQU 28H DSPLP0 EQU 29H DSPLP1 EQU 2AH LPCNT EQU 2BH ORG 0 GOTO START ORG 4 GOTO START START ; =========================================== ; 1.Initialized ; =========================================== ; (1)Initialized Port ; Bank0での設定 BANKSEL PORTA ; PortAのBankを選択する CLRF PORTA ; PortAの初期化 CLRF PORTB ; PortBの初期化 ; Bank1での設定 BANKSEL ANSEL ; ANSELのBankを選択する(Bank1) MOVLW B'00000000' ; 全てをDegitalに設定 MOVWF ANSEL ; Degital Inputに設定(Bank1) MOVLW B'11100000' MOVWF TRISA ; PortAのI/O設定(Bank1) MOVLW B'00000000' MOVWF TRISB ; PortBのI/O設定(Bank1) ; Bank0に戻す BANKSEL PORTA ; PortAのBankを選択する CLRF PORTA ; PortAの初期化 CLRF PORTB ; PortBの初期化 ; ; =========================================== ; 2.Main loop ; =========================================== MAIN CALL DEMO01 GOTO MAIN ;****************************************************************************************** ; Function Name : DEMO01 ; Title : ; Input : ; Output : ; Description : ;****************************************************************************************** DEMO01 MOVLW '0' CALL OUTDSP ; MOVLW '1' CALL OUTDSP ; MOVLW '2' CALL OUTDSP ; MOVLW '3' CALL OUTDSP ; MOVLW '4' CALL OUTDSP ; MOVLW '5' CALL OUTDSP ; MOVLW '6' CALL OUTDSP ; MOVLW '7' CALL OUTDSP ; MOVLW '8' CALL OUTDSP ; MOVLW '9' CALL OUTDSP ; MOVLW 'A' CALL OUTDSP ; MOVLW 'B' CALL OUTDSP ; MOVLW 'C' CALL OUTDSP ; MOVLW 'D' CALL OUTDSP ; MOVLW 'E' CALL OUTDSP ; MOVLW 'F' CALL OUTDSP ; MOVLW 'G' CALL OUTDSP ; MOVLW 'H' CALL OUTDSP ; MOVLW 'I' CALL OUTDSP ; MOVLW 'J' CALL OUTDSP ; MOVLW 'K' CALL OUTDSP ; MOVLW 'L' CALL OUTDSP ; MOVLW 'M' CALL OUTDSP ; MOVLW 'N' CALL OUTDSP ; MOVLW 'O' CALL OUTDSP ; MOVLW 'P' CALL OUTDSP ; MOVLW 'Q' CALL OUTDSP ; MOVLW 'R' CALL OUTDSP ; MOVLW 'S' CALL OUTDSP ; MOVLW 'T' CALL OUTDSP ; MOVLW 'U' CALL OUTDSP ; MOVLW 'V' CALL OUTDSP ; MOVLW 'W' CALL OUTDSP ; MOVLW 'X' CALL OUTDSP ; MOVLW 'Y' CALL OUTDSP ; MOVLW 'Z' CALL OUTDSP ; MOVLW 'u' CALL OUTDSP ; MOVLW 'd' CALL OUTDSP ; MOVLW 'r' CALL OUTDSP ; MOVLW 'l' CALL OUTDSP ; MOVLW ' ' CALL OUTDSP ; MOVLW 'a' CALL OUTDSP ; MOVLW 'e' CALL OUTDSP ; MOVLW '+' CALL OUTDSP ; MOVLW '-' CALL OUTDSP ; MOVLW '=' CALL OUTDSP ; MOVLW ')' CALL OUTDSP ; MOVLW '(' CALL OUTDSP ; MOVLW ']' CALL OUTDSP ; MOVLW '[' CALL OUTDSP ; MOVLW '>' CALL OUTDSP ; MOVLW '<' CALL OUTDSP ; MOVLW '"' CALL OUTDSP ; MOVLW '!' CALL OUTDSP ; MOVLW '*' CALL OUTDSP ; MOVLW '/' CALL OUTDSP ; MOVLW 'ア' CALL OUTDSP ; MOVLW 'イ' CALL OUTDSP ; MOVLW 'ウ' CALL OUTDSP ; MOVLW 'エ' CALL OUTDSP ; MOVLW 'オ' CALL OUTDSP ; MOVLW 'カ' CALL OUTDSP ; MOVLW 'キ' CALL OUTDSP ; MOVLW 'ク' CALL OUTDSP ; MOVLW 'ケ' CALL OUTDSP ; MOVLW 'コ' CALL OUTDSP ; MOVLW 'サ' CALL OUTDSP ; MOVLW 'シ' CALL OUTDSP ; MOVLW 'ス' CALL OUTDSP ; MOVLW 'セ' CALL OUTDSP ; MOVLW 'ソ' CALL OUTDSP ; MOVLW 'タ' CALL OUTDSP ; MOVLW 'チ' CALL OUTDSP ; MOVLW 'ツ' CALL OUTDSP ; MOVLW 'テ' CALL OUTDSP ; MOVLW 'ト' CALL OUTDSP ; MOVLW 'ナ' CALL OUTDSP ; MOVLW 'ニ' CALL OUTDSP ; MOVLW 'ヌ' CALL OUTDSP ; MOVLW 'ネ' CALL OUTDSP ; MOVLW 'ノ' CALL OUTDSP ; MOVLW 'ハ' CALL OUTDSP ; MOVLW 'ヒ' CALL OUTDSP ; MOVLW 'フ' CALL OUTDSP ; MOVLW 'ヘ' CALL OUTDSP ; MOVLW 'ホ' CALL OUTDSP ; MOVLW 'マ' CALL OUTDSP ; MOVLW 'ミ' CALL OUTDSP ; MOVLW 'ム' CALL OUTDSP ; MOVLW 'メ' CALL OUTDSP ; MOVLW 'モ' CALL OUTDSP ; MOVLW 'ヤ' CALL OUTDSP ; MOVLW 'ユ' CALL OUTDSP ; MOVLW 'ヨ' CALL OUTDSP ; MOVLW 'ラ' CALL OUTDSP ; MOVLW 'リ' CALL OUTDSP ; MOVLW 'ル' CALL OUTDSP ; MOVLW 'レ' CALL OUTDSP ; MOVLW 'ロ' CALL OUTDSP ; MOVLW 'ワ' CALL OUTDSP ; MOVLW 'ン' CALL OUTDSP ; MOVLW '゙' CALL OUTDSP ; MOVLW '゚' CALL OUTDSP ; RETURN ;****************************************************************************************** ; Function Name : OUTDSP ; Title : ; Input : W-REG ; Output : ; Description : ;****************************************************************************************** OUTDSP CALL SETFNT ; MOVLW H'01' CALL WATDSP ; RETURN ;****************************************************************************************** ; Function Name : SETFNT ; Title : ; Input : W-reg ; Output : ; Description : ;****************************************************************************************** SETFNT MOVWF CHR ; ; **************** ; 0-9 ; **************** ; MOVFW CHR XORLW '0' BTFSS STATUS,Z GOTO SETFNT1 MOVLW B'00000000' MOVWF X1 MOVLW B'00111110' MOVWF X2 MOVLW B'01000001' MOVWF X3 MOVLW B'00111110' MOVWF X4 MOVLW B'00000000' MOVWF X5 RETURN ; SETFNT1 MOVFW CHR XORLW '1' BTFSS STATUS,Z GOTO SETFNT2 MOVLW B'00000000' MOVWF X1 MOVLW B'01000010' MOVWF X2 MOVLW B'01111111' MOVWF X3 MOVLW B'01000000' MOVWF X4 MOVLW B'00000000' MOVWF X5 RETURN ; SETFNT2 MOVFW CHR XORLW '2' BTFSS STATUS,Z GOTO SETFNT3 MOVLW B'01000010' MOVWF X1 MOVLW B'01000001' MOVWF X2 MOVLW B'01100001' MOVWF X3 MOVLW B'01010001' MOVWF X4 MOVLW B'01001110' MOVWF X5 RETURN ; SETFNT3 MOVFW CHR XORLW '3' BTFSS STATUS,Z GOTO SETFNT4 MOVLW B'00100010' MOVWF X1 MOVLW B'01001001' MOVWF X2 MOVLW B'01001001' MOVWF X3 MOVLW B'01001001' MOVWF X4 MOVLW B'00110110' MOVWF X5 RETURN ; SETFNT4 MOVFW CHR XORLW '4' BTFSS STATUS,Z GOTO SETFNT5 MOVLW B'00111100' MOVWF X1 MOVLW B'00100010' MOVWF X2 MOVLW B'00100001' MOVWF X3 MOVLW B'01111111' MOVWF X4 MOVLW B'00100000' MOVWF X5 RETURN ; SETFNT5 MOVFW CHR XORLW '5' BTFSS STATUS,Z GOTO SETFNT6 MOVLW B'01001111' MOVWF X1 MOVLW B'01001001' MOVWF X2 MOVLW B'01001001' MOVWF X3 MOVLW B'01001001' MOVWF X4 MOVLW B'00110000' MOVWF X5 RETURN ; SETFNT6 MOVFW CHR XORLW '6' BTFSS STATUS,Z GOTO SETFNT7 MOVLW B'00111110' MOVWF X1 MOVLW B'01001001' MOVWF X2 MOVLW B'01001001' MOVWF X3 MOVLW B'01001001' MOVWF X4 MOVLW B'00110000' MOVWF X5 RETURN ; SETFNT7 MOVFW CHR XORLW '7' BTFSS STATUS,Z GOTO SETFNT8 MOVLW B'00000001' MOVWF X1 MOVLW B'00000001' MOVWF X2 MOVLW B'01110001' MOVWF X3 MOVLW B'00001001' MOVWF X4 MOVLW B'00000111' MOVWF X5 RETURN ; SETFNT8 MOVFW CHR XORLW '8' BTFSS STATUS,Z GOTO SETFNT9 MOVLW B'00110110' MOVWF X1 MOVLW B'01001001' MOVWF X2 MOVLW B'01001001' MOVWF X3 MOVLW B'01001001' MOVWF X4 MOVLW B'00110110' MOVWF X5 RETURN ; SETFNT9 MOVFW CHR XORLW '9' BTFSS STATUS,Z GOTO SETFNTA MOVLW B'00100110' MOVWF X1 MOVLW B'01001001' MOVWF X2 MOVLW B'01001001' MOVWF X3 MOVLW B'01001001' MOVWF X4 MOVLW B'00111110' MOVWF X5 RETURN ; **************** ; A-Z ; **************** ; SETFNTA MOVFW CHR XORLW 'A' BTFSS STATUS,Z GOTO SETFNTB MOVLW B'01111100' MOVWF X1 MOVLW B'00010010' MOVWF X2 MOVLW B'00010001' MOVWF X3 MOVLW B'00010010' MOVWF X4 MOVLW B'01111100' MOVWF X5 RETURN ; SETFNTB MOVFW CHR XORLW 'B' BTFSS STATUS,Z GOTO SETFNTC MOVLW B'01111111' MOVWF X1 MOVLW B'01001001' MOVWF X2 MOVLW B'01001001' MOVWF X3 MOVLW B'01001001' MOVWF X4 MOVLW B'00110110' MOVWF X5 RETURN ; SETFNTC MOVFW CHR XORLW 'C' BTFSS STATUS,Z GOTO SETFNTD MOVLW B'00111110' MOVWF X1 MOVLW B'01000001' MOVWF X2 MOVLW B'01000001' MOVWF X3 MOVLW B'01000001' MOVWF X4 MOVLW B'00100010' MOVWF X5 RETURN ; SETFNTD MOVFW CHR XORLW 'D' BTFSS STATUS,Z GOTO SETFNTE MOVLW B'01111111' MOVWF X1 MOVLW B'01000001' MOVWF X2 MOVLW B'01000001' MOVWF X3 MOVLW B'01000001' MOVWF X4 MOVLW B'00111110' MOVWF X5 RETURN ; SETFNTE MOVFW CHR XORLW 'E' BTFSS STATUS,Z GOTO SETFNTF MOVLW B'01111111' MOVWF X1 MOVLW B'01001001' MOVWF X2 MOVLW B'01001001' MOVWF X3 MOVLW B'01001001' MOVWF X4 MOVLW B'01001001' MOVWF X5 RETURN ; SETFNTF MOVFW CHR XORLW 'F' BTFSS STATUS,Z GOTO SETFNTG MOVLW B'01111111' MOVWF X1 MOVLW B'00001001' MOVWF X2 MOVLW B'00001001' MOVWF X3 MOVLW B'00001001' MOVWF X4 MOVLW B'00001001' MOVWF X5 RETURN ; SETFNTG MOVFW CHR XORLW 'G' BTFSS STATUS,Z GOTO SETFNTH MOVLW B'00111110' MOVWF X1 MOVLW B'01000001' MOVWF X2 MOVLW B'01001001' MOVWF X3 MOVLW B'01001001' MOVWF X4 MOVLW B'01111010' MOVWF X5 RETURN ; SETFNTH MOVFW CHR XORLW 'H' BTFSS STATUS,Z GOTO SETFNTI MOVLW B'01111111' MOVWF X1 MOVLW B'00001000' MOVWF X2 MOVLW B'00001000' MOVWF X3 MOVLW B'00001000' MOVWF X4 MOVLW B'01111111' MOVWF X5 RETURN ; SETFNTI MOVFW CHR XORLW 'I' BTFSS STATUS,Z GOTO SETFNTJ MOVLW B'00000000' MOVWF X1 MOVLW B'01000001' MOVWF X2 MOVLW B'01111111' MOVWF X3 MOVLW B'01000001' MOVWF X4 MOVLW B'00000000' MOVWF X5 RETURN ; SETFNTJ MOVFW CHR XORLW 'J' BTFSS STATUS,Z GOTO SETFNTK MOVLW B'00100000' MOVWF X1 MOVLW B'01000000' MOVWF X2 MOVLW B'01000000' MOVWF X3 MOVLW B'01000000' MOVWF X4 MOVLW B'00111111' MOVWF X5 RETURN ; SETFNTK MOVFW CHR XORLW 'K' BTFSS STATUS,Z GOTO SETFNTL MOVLW B'01111111' MOVWF X1 MOVLW B'00001000' MOVWF X2 MOVLW B'00010100' MOVWF X3 MOVLW B'00100010' MOVWF X4 MOVLW B'01000001' MOVWF X5 RETURN ; SETFNTL MOVFW CHR XORLW 'L' BTFSS STATUS,Z GOTO SETFNTM MOVLW B'01111111' MOVWF X1 MOVLW B'01000000' MOVWF X2 MOVLW B'01000000' MOVWF X3 MOVLW B'01000000' MOVWF X4 MOVLW B'01000000' MOVWF X5 RETURN ; SETFNTM MOVFW CHR XORLW 'M' BTFSS STATUS,Z GOTO SETFNTN MOVLW B'01111111' MOVWF X1 MOVLW B'00000010' MOVWF X2 MOVLW B'00011100' MOVWF X3 MOVLW B'00000010' MOVWF X4 MOVLW B'01111111' MOVWF X5 RETURN ; SETFNTN MOVFW CHR XORLW 'N' BTFSS STATUS,Z GOTO SETFNTO MOVLW B'01111111' MOVWF X1 MOVLW B'00000010' MOVWF X2 MOVLW B'00001000' MOVWF X3 MOVLW B'00100000' MOVWF X4 MOVLW B'01111111' MOVWF X5 RETURN ; SETFNTO MOVFW CHR XORLW 'O' BTFSS STATUS,Z GOTO SETFNTP MOVLW B'00111110' MOVWF X1 MOVLW B'01000001' MOVWF X2 MOVLW B'01000001' MOVWF X3 MOVLW B'01000001' MOVWF X4 MOVLW B'00111110' MOVWF X5 RETURN ; SETFNTP MOVFW CHR XORLW 'P' BTFSS STATUS,Z GOTO SETFNTQ MOVLW B'01111111' MOVWF X1 MOVLW B'00001001' MOVWF X2 MOVLW B'00001001' MOVWF X3 MOVLW B'00001001' MOVWF X4 MOVLW B'00000110' MOVWF X5 RETURN ; SETFNTQ MOVFW CHR XORLW 'Q' BTFSS STATUS,Z GOTO SETFNTR MOVLW B'00111110' MOVWF X1 MOVLW B'01000001' MOVWF X2 MOVLW B'01010001' MOVWF X3 MOVLW B'00111110' MOVWF X4 MOVLW B'01000000' MOVWF X5 RETURN ; SETFNTR MOVFW CHR XORLW 'R' BTFSS STATUS,Z GOTO SETFNTS MOVLW B'01111111' MOVWF X1 MOVLW B'00001001' MOVWF X2 MOVLW B'00011001' MOVWF X3 MOVLW B'00101001' MOVWF X4 MOVLW B'01000110' MOVWF X5 RETURN ; SETFNTS MOVFW CHR XORLW 'S' BTFSS STATUS,Z GOTO SETFNTT MOVLW B'00100110' MOVWF X1 MOVLW B'01001001' MOVWF X2 MOVLW B'01001001' MOVWF X3 MOVLW B'01001001' MOVWF X4 MOVLW B'00110010' MOVWF X5 RETURN ; SETFNTT MOVFW CHR XORLW 'T' BTFSS STATUS,Z GOTO SETFNTU MOVLW B'00000001' MOVWF X1 MOVLW B'00000001' MOVWF X2 MOVLW B'01111111' MOVWF X3 MOVLW B'00000001' MOVWF X4 MOVLW B'00000001' MOVWF X5 RETURN ; SETFNTU MOVFW CHR XORLW 'U' BTFSS STATUS,Z GOTO SETFNTV MOVLW B'00111111' MOVWF X1 MOVLW B'01000000' MOVWF X2 MOVLW B'01000000' MOVWF X3 MOVLW B'01000000' MOVWF X4 MOVLW B'00111111' MOVWF X5 RETURN ; SETFNTV MOVFW CHR XORLW 'V' BTFSS STATUS,Z GOTO SETFNTW MOVLW B'00011111' MOVWF X1 MOVLW B'00100000' MOVWF X2 MOVLW B'01000000' MOVWF X3 MOVLW B'00100000' MOVWF X4 MOVLW B'00011111' MOVWF X5 RETURN ; SETFNTW MOVFW CHR XORLW 'W' BTFSS STATUS,Z GOTO SETFNTX MOVLW B'00111111' MOVWF X1 MOVLW B'01000000' MOVWF X2 MOVLW B'00111111' MOVWF X3 MOVLW B'01000000' MOVWF X4 MOVLW B'00111111' MOVWF X5 RETURN ; SETFNTX MOVFW CHR XORLW 'X' BTFSS STATUS,Z GOTO SETFNTY MOVLW B'01000001' MOVWF X1 MOVLW B'00100010' MOVWF X2 MOVLW B'00011100' MOVWF X3 MOVLW B'00100010' MOVWF X4 MOVLW B'01000001' MOVWF X5 RETURN ; SETFNTY MOVFW CHR XORLW 'Y' BTFSS STATUS,Z GOTO SETFNTZ MOVLW B'00000001' MOVWF X1 MOVLW B'00000100' MOVWF X2 MOVLW B'01110000' MOVWF X3 MOVLW B'00000100' MOVWF X4 MOVLW B'00000001' MOVWF X5 RETURN ; SETFNTZ MOVFW CHR XORLW 'Z' BTFSS STATUS,Z GOTO SETFNTKNNA MOVLW B'01100001' MOVWF X1 MOVLW B'01010001' MOVWF X2 MOVLW B'01001001' MOVWF X3 MOVLW B'01000101' MOVWF X4 MOVLW B'01000011' MOVWF X5 RETURN ; **************** ; カナ文字 ; **************** ; SETFNTKNNA ; MOVF CHR,W XORLW 'ア' BTFSS STATUS,Z GOTO SETFNTKNNI MOVLW B'00000001' MOVWF X1 MOVLW B'01000001' MOVWF X2 MOVLW B'00111101' MOVWF X3 MOVLW B'00001001' MOVWF X4 MOVLW B'00000111' MOVWF X5 RETURN ; SETFNTKNNI MOVF CHR,W XORLW 'イ' BTFSS STATUS,Z GOTO SETFNTKNNU MOVLW B'00100000' MOVWF X1 MOVLW B'00010000' MOVWF X2 MOVLW B'01111100' MOVWF X3 MOVLW B'00000011' MOVWF X4 MOVLW B'00000000' MOVWF X5 RETURN ; SETFNTKNNU ; MOVF CHR,W XORLW 'ウ' BTFSS STATUS,Z GOTO SETFNTKNNE MOVLW B'00000110' MOVWF X1 MOVLW B'00000010' MOVWF X2 MOVLW B'01000011' MOVWF X3 MOVLW B'00100010' MOVWF X4 MOVLW B'00011110' MOVWF X5 RETURN ; SETFNTKNNE ; MOVF CHR,W XORLW 'エ' BTFSS STATUS,Z GOTO SETFNTKNNO MOVLW B'01000000' MOVWF X1 MOVLW B'01000010' MOVWF X2 MOVLW B'01111110' MOVWF X3 MOVLW B'01000010' MOVWF X4 MOVLW B'01000000' MOVWF X5 RETURN ; SETFNTKNNO MOVF CHR,W XORLW 'オ' BTFSS STATUS,Z GOTO SETFNTKNNKA MOVLW B'00100010' MOVWF X1 MOVLW B'00010010' MOVWF X2 MOVLW B'00001010' MOVWF X3 MOVLW B'01111111' MOVWF X4 MOVLW B'00000010' MOVWF X5 RETURN ; SETFNTKNNKA MOVF CHR,W XORLW 'カ' BTFSS STATUS,Z GOTO SETFNTKNNKI MOVLW B'01000010' MOVWF X1 MOVLW B'00111111' MOVWF X2 MOVLW B'00000010' MOVWF X3 MOVLW B'01000010' MOVWF X4 MOVLW B'00111110' MOVWF X5 RETURN ; SETFNTKNNKI MOVF CHR,W XORLW 'キ' BTFSS STATUS,Z GOTO SETFNTKNNKU MOVLW B'00001010' MOVWF X1 MOVLW B'00001010' MOVWF X2 MOVLW B'01111111' MOVWF X3 MOVLW B'00001010' MOVWF X4 MOVLW B'00001010' MOVWF X5 RETURN ; SETFNTKNNKU MOVF CHR,W XORLW 'ク' BTFSS STATUS,Z GOTO SETFNTKNNKE MOVLW B'00000100' MOVWF X1 MOVLW B'00000011' MOVWF X2 MOVLW B'01000001' MOVWF X3 MOVLW B'00100001' MOVWF X4 MOVLW B'00011111' MOVWF X5 RETURN ; SETFNTKNNKE MOVF CHR,W XORLW 'ケ' BTFSS STATUS,Z GOTO SETFNTKNNKO MOVLW B'00001000' MOVWF X1 MOVLW B'00000111' MOVWF X2 MOVLW B'01000010' MOVWF X3 MOVLW B'00111110' MOVWF X4 MOVLW B'00000010' MOVWF X5 RETURN ; SETFNTKNNKO MOVF CHR,W XORLW 'コ' BTFSS STATUS,Z GOTO SETFNTKNNSA MOVLW B'01000010' MOVWF X1 MOVLW B'01000010' MOVWF X2 MOVLW B'01000010' MOVWF X3 MOVLW B'01000010' MOVWF X4 MOVLW B'01111110' MOVWF X5 RETURN ; SETFNTKNNSA MOVF CHR,W XORLW 'サ' BTFSS STATUS,Z GOTO SETFNTKNNSI MOVLW B'00000010' MOVWF X1 MOVLW B'00001111' MOVWF X2 MOVLW B'01000010' MOVWF X3 MOVLW B'00111111' MOVWF X4 MOVLW B'00000010' MOVWF X5 RETURN ; SETFNTKNNSI MOVF CHR,W XORLW 'シ' BTFSS STATUS,Z GOTO SETFNTKNNSU MOVLW B'00001010' MOVWF X1 MOVLW B'00010100' MOVWF X2 MOVLW B'00000000' MOVWF X3 MOVLW B'01000000' MOVWF X4 MOVLW B'00111110' MOVWF X5 RETURN ; SETFNTKNNSU MOVF CHR,W XORLW 'ス' BTFSS STATUS,Z GOTO SETFNTKNNSE MOVLW B'01000010' MOVWF X1 MOVLW B'00100010' MOVWF X2 MOVLW B'00011010' MOVWF X3 MOVLW B'00100110' MOVWF X4 MOVLW B'01000010' MOVWF X5 RETURN ; SETFNTKNNSE MOVF CHR,W XORLW 'セ' BTFSS STATUS,Z GOTO SETFNTKNNSO MOVLW B'00000100' MOVWF X1 MOVLW B'01111111' MOVWF X2 MOVLW B'01000100' MOVWF X3 MOVLW B'01000100' MOVWF X4 MOVLW B'01011100' MOVWF X5 RETURN ; SETFNTKNNSO MOVF CHR,W XORLW 'ソ' BTFSS STATUS,Z GOTO SETFNTKNNTA MOVLW B'00000010' MOVWF X1 MOVLW B'00000100' MOVWF X2 MOVLW B'01000000' MOVWF X3 MOVLW B'00100000' MOVWF X4 MOVLW B'00011110' MOVWF X5 RETURN ; SETFNTKNNTA MOVF CHR,W XORLW 'タ' BTFSS STATUS,Z GOTO SETFNTKNNTH MOVLW B'00001000' MOVWF X1 MOVLW B'00000110' MOVWF X2 MOVLW B'01001001' MOVWF X3 MOVLW B'00100001' MOVWF X4 MOVLW B'00011111' MOVWF X5 RETURN ; SETFNTKNNTH MOVF CHR,W XORLW 'チ' BTFSS STATUS,Z GOTO SETFNTKNNTU MOVLW B'00001000' MOVWF X1 MOVLW B'01001010' MOVWF X2 MOVLW B'00111111' MOVWF X3 MOVLW B'00001001' MOVWF X4 MOVLW B'00001000' MOVWF X5 RETURN ; SETFNTKNNTU MOVF CHR,W XORLW 'ツ' BTFSS STATUS,Z GOTO SETFNTKNNTE MOVLW B'00000100' MOVWF X1 MOVLW B'00001000' MOVWF X2 MOVLW B'00000100' MOVWF X3 MOVLW B'01001000' MOVWF X4 MOVLW B'00111110' MOVWF X5 RETURN ; SETFNTKNNTE MOVF CHR,W XORLW 'テ' BTFSS STATUS,Z GOTO SETFNTKNNTO MOVLW B'00000100' MOVWF X1 MOVLW B'01000101' MOVWF X2 MOVLW B'00111101' MOVWF X3 MOVLW B'00000101' MOVWF X4 MOVLW B'00000100' MOVWF X5 RETURN ; SETFNTKNNTO MOVF CHR,W XORLW 'ト' BTFSS STATUS,Z GOTO SETFNTKNNNA MOVLW B'00000000' MOVWF X1 MOVLW B'01111111' MOVWF X2 MOVLW B'00001000' MOVWF X3 MOVLW B'00010000' MOVWF X4 MOVLW B'00000000' MOVWF X5 RETURN ; SETFNTKNNNA MOVF CHR,W XORLW 'ナ' BTFSS STATUS,Z GOTO SETFNTKNNNI MOVLW B'00000100' MOVWF X1 MOVLW B'00000100' MOVWF X2 MOVLW B'01000100' MOVWF X3 MOVLW B'00111111' MOVWF X4 MOVLW B'00000100' MOVWF X5 RETURN ; SETFNTKNNNI MOVF CHR,W XORLW 'ニ' BTFSS STATUS,Z GOTO SETFNTKNNNU MOVLW B'01000000' MOVWF X1 MOVLW B'01000010' MOVWF X2 MOVLW B'01000010' MOVWF X3 MOVLW B'01000010' MOVWF X4 MOVLW B'01000000' MOVWF X5 RETURN ; SETFNTKNNNU MOVF CHR,W XORLW 'ヌ' BTFSS STATUS,Z GOTO SETFNTKNNNE MOVLW B'01000010' MOVWF X1 MOVLW B'00101010' MOVWF X2 MOVLW B'00010010' MOVWF X3 MOVLW B'00101010' MOVWF X4 MOVLW B'01000110' MOVWF X5 RETURN ; SETFNTKNNNE MOVF CHR,W XORLW 'ネ' BTFSS STATUS,Z GOTO SETFNTKNNNO MOVLW B'00100010' MOVWF X1 MOVLW B'00010010' MOVWF X2 MOVLW B'01111011' MOVWF X3 MOVLW B'00010110' MOVWF X4 MOVLW B'00100010' MOVWF X5 RETURN ; SETFNTKNNNO MOVF CHR,W XORLW 'ノ' BTFSS STATUS,Z GOTO SETFNTKNNHA MOVLW B'00000000' MOVWF X1 MOVLW B'00000000' MOVWF X2 MOVLW B'01000000' MOVWF X3 MOVLW B'00111111' MOVWF X4 MOVLW B'00000000' MOVWF X5 RETURN ; SETFNTKNNHA MOVF CHR,W XORLW 'ハ' BTFSS STATUS,Z GOTO SETFNTKNNHI MOVLW B'01100000' MOVWF X1 MOVLW B'00011110' MOVWF X2 MOVLW B'00000000' MOVWF X3 MOVLW B'00011110' MOVWF X4 MOVLW B'01100000' MOVWF X5 RETURN ; SETFNTKNNHI MOVF CHR,W XORLW 'ヒ' BTFSS STATUS,Z GOTO SETFNTKNNHU MOVLW B'00111110' MOVWF X1 MOVLW B'01001000' MOVWF X2 MOVLW B'01001000' MOVWF X3 MOVLW B'01001000' MOVWF X4 MOVLW B'01001000' MOVWF X5 RETURN ; SETFNTKNNHU MOVF CHR,W XORLW 'フ' BTFSS STATUS,Z GOTO SETFNTKNNHE MOVLW B'00000010' MOVWF X1 MOVLW B'00000010' MOVWF X2 MOVLW B'01000010' MOVWF X3 MOVLW B'01000010' MOVWF X4 MOVLW B'00111110' MOVWF X5 RETURN ; SETFNTKNNHE MOVF CHR,W XORLW 'ヘ' BTFSS STATUS,Z GOTO SETFNTKNNHO MOVLW B'00001000' MOVWF X1 MOVLW B'00000100' MOVWF X2 MOVLW B'00000100' MOVWF X3 MOVLW B'00001000' MOVWF X4 MOVLW B'00010000' MOVWF X5 RETURN ; SETFNTKNNHO MOVF CHR,W XORLW 'ホ' BTFSS STATUS,Z GOTO SETFNTKNNMA MOVLW B'00110010' MOVWF X1 MOVLW B'00000010' MOVWF X2 MOVLW B'01111111' MOVWF X3 MOVLW B'00000010' MOVWF X4 MOVLW B'00110010' MOVWF X5 RETURN ; SETFNTKNNMA MOVF CHR,W XORLW 'マ' BTFSS STATUS,Z GOTO SETFNTKNNMI MOVLW B'00000010' MOVWF X1 MOVLW B'00001010' MOVWF X2 MOVLW B'00010010' MOVWF X3 MOVLW B'00101010' MOVWF X4 MOVLW B'01000110' MOVWF X5 RETURN ; SETFNTKNNMI MOVF CHR,W XORLW 'ミ' BTFSS STATUS,Z GOTO SETFNTKNNMU MOVLW B'00000000' MOVWF X1 MOVLW B'01001001' MOVWF X2 MOVLW B'01001001' MOVWF X3 MOVLW B'01001001' MOVWF X4 MOVLW B'00000000' MOVWF X5 RETURN ; SETFNTKNNMU MOVF CHR,W XORLW 'ム' BTFSS STATUS,Z GOTO SETFNTKNNME MOVLW B'01110000' MOVWF X1 MOVLW B'01001111' MOVWF X2 MOVLW B'01000000' MOVWF X3 MOVLW B'00110000' MOVWF X4 MOVLW B'01000000' MOVWF X5 RETURN ; SETFNTKNNME MOVF CHR,W XORLW 'メ' BTFSS STATUS,Z GOTO SETFNTKNNMO MOVLW B'01000000' MOVWF X1 MOVLW B'00101000' MOVWF X2 MOVLW B'00011111' MOVWF X3 MOVLW B'00100000' MOVWF X4 MOVLW B'00000000' MOVWF X5 RETURN ; SETFNTKNNMO MOVF CHR,W XORLW 'モ' BTFSS STATUS,Z GOTO SETFNTKNNYA MOVLW B'00001010' MOVWF X1 MOVLW B'01111110' MOVWF X2 MOVLW B'01001010' MOVWF X3 MOVLW B'01001010' MOVWF X4 MOVLW B'01001010' MOVWF X5 RETURN ; SETFNTKNNYA MOVF CHR,W XORLW 'ヤ' BTFSS STATUS,Z GOTO SETFNTKNNYU MOVLW B'00000100' MOVWF X1 MOVLW B'01111111' MOVWF X2 MOVLW B'00000100' MOVWF X3 MOVLW B'00010100' MOVWF X4 MOVLW B'00001100' MOVWF X5 RETURN ; SETFNTKNNYU MOVF CHR,W XORLW 'ユ' BTFSS STATUS,Z GOTO SETFNTKNNYO MOVLW B'01000000' MOVWF X1 MOVLW B'01000100' MOVWF X2 MOVLW B'01000100' MOVWF X3 MOVLW B'01111100' MOVWF X4 MOVLW B'01000000' MOVWF X5 RETURN ; SETFNTKNNYO MOVF CHR,W XORLW 'ヨ' BTFSS STATUS,Z GOTO SETFNTKNNRA MOVLW B'00000000' MOVWF X1 MOVLW B'01010100' MOVWF X2 MOVLW B'01010100' MOVWF X3 MOVLW B'01111100' MOVWF X4 MOVLW B'00000000' MOVWF X5 RETURN ; SETFNTKNNRA MOVF CHR,W XORLW 'ラ' BTFSS STATUS,Z GOTO SETFNTKNNRI MOVLW B'00000100' MOVWF X1 MOVLW B'00000101' MOVWF X2 MOVLW B'01000101' MOVWF X3 MOVLW B'01000101' MOVWF X4 MOVLW B'00111100' MOVWF X5 RETURN ; SETFNTKNNRI MOVF CHR,W XORLW 'リ' BTFSS STATUS,Z GOTO SETFNTKNNRU MOVLW B'00000000' MOVWF X1 MOVLW B'00001111' MOVWF X2 MOVLW B'00000000' MOVWF X3 MOVLW B'01000000' MOVWF X4 MOVLW B'00111111' MOVWF X5 RETURN ; SETFNTKNNRU MOVF CHR,W XORLW 'ル' BTFSS STATUS,Z GOTO SETFNTKNNRE MOVLW B'01111111' MOVWF X1 MOVLW B'00000000' MOVWF X2 MOVLW B'01111111' MOVWF X3 MOVLW B'01000000' MOVWF X4 MOVLW B'00100000' MOVWF X5 RETURN ; SETFNTKNNRE MOVF CHR,W XORLW 'レ' BTFSS STATUS,Z GOTO SETFNTKNNRO MOVLW B'00000000' MOVWF X1 MOVLW B'01111111' MOVWF X2 MOVLW B'01000000' MOVWF X3 MOVLW B'01000000' MOVWF X4 MOVLW B'00100000' MOVWF X5 RETURN ; SETFNTKNNRO MOVF CHR,W XORLW 'ロ' BTFSS STATUS,Z GOTO SETFNTKNNWA MOVLW B'00000000' MOVWF X1 MOVLW B'01111110' MOVWF X2 MOVLW B'01000010' MOVWF X3 MOVLW B'01000010' MOVWF X4 MOVLW B'01111110' MOVWF X5 RETURN ; SETFNTKNNWA MOVF CHR,W XORLW 'ワ' BTFSS STATUS,Z GOTO SETFNTKNNN MOVLW B'00000000' MOVWF X1 MOVLW B'00001110' MOVWF X2 MOVLW B'00000010' MOVWF X3 MOVLW B'01000010' MOVWF X4 MOVLW B'00111110' MOVWF X5 RETURN ; SETFNTKNNN MOVF CHR,W XORLW 'ン' BTFSS STATUS,Z GOTO SETFNTKNTN MOVLW B'00000010' MOVWF X1 MOVLW B'00000100' MOVWF X2 MOVLW B'01000000' MOVWF X3 MOVLW B'00110000' MOVWF X4 MOVLW B'00001110' MOVWF X5 RETURN ; SETFNTKNTN MOVF CHR,W XORLW '゙' BTFSS STATUS,Z GOTO SETFNTKNKN MOVLW B'00000111' MOVWF X1 MOVLW B'00000000' MOVWF X2 MOVLW B'00000111' MOVWF X3 MOVLW B'00000000' MOVWF X4 MOVLW B'00000000' MOVWF X5 RETURN ; SETFNTKNKN MOVF CHR,W XORLW '゚' BTFSS STATUS,Z GOTO SETFNTSPP MOVLW B'00000111' MOVWF X1 MOVLW B'00000101' MOVWF X2 MOVLW B'00000111' MOVWF X3 MOVLW B'00000000' MOVWF X4 MOVLW B'00000000' MOVWF X5 RETURN ; **************** ; ELSE ; **************** ; SETFNTSPP MOVFW CHR XORLW ' ' BTFSS STATUS,Z GOTO SETFNTSU MOVLW B'00000000' MOVWF X1 MOVLW B'00000000' MOVWF X2 MOVLW B'00000000' MOVWF X3 MOVLW B'00000000' MOVWF X4 MOVLW B'00000000' MOVWF X5 RETURN ; SETFNTSU MOVFW CHR XORLW 'u' BTFSS STATUS,Z GOTO SETFNTSD MOVLW B'00000100' MOVWF X1 MOVLW B'00000010' MOVWF X2 MOVLW B'01111111' MOVWF X3 MOVLW B'00000010' MOVWF X4 MOVLW B'00000100' MOVWF X5 RETURN ; SETFNTSD MOVFW CHR XORLW 'd' BTFSS STATUS,Z GOTO SETFNTSR MOVLW B'00010000' MOVWF X1 MOVLW B'00100000' MOVWF X2 MOVLW B'01111111' MOVWF X3 MOVLW B'00100000' MOVWF X4 MOVLW B'00010000' MOVWF X5 RETURN ; SETFNTSR MOVFW CHR XORLW 'r' BTFSS STATUS,Z GOTO SETFNTSL MOVLW B'00001000' MOVWF X1 MOVLW B'01001001' MOVWF X2 MOVLW B'00101010' MOVWF X3 MOVLW B'00011100' MOVWF X4 MOVLW B'00001000' MOVWF X5 RETURN ; SETFNTSL MOVFW CHR XORLW 'l' BTFSS STATUS,Z GOTO SETFNTSA MOVLW B'00001000' MOVWF X1 MOVLW B'00011100' MOVWF X2 MOVLW B'00101010' MOVWF X3 MOVLW B'01001001' MOVWF X4 MOVLW B'00001000' MOVWF X5 RETURN ; SETFNTSA MOVFW CHR XORLW 'a' BTFSS STATUS,Z GOTO SETFNTPPP MOVLW B'01111111' MOVWF X1 MOVLW B'01111111' MOVWF X2 MOVLW B'01111111' MOVWF X3 MOVLW B'01111111' MOVWF X4 MOVLW B'01111111' MOVWF X5 RETURN ; SETFNTPPP MOVFW CHR XORLW '+' BTFSS STATUS,Z GOTO SETFNTPPN MOVLW B'00001000' MOVWF X1 MOVLW B'00001000' MOVWF X2 MOVLW B'01111111' MOVWF X3 MOVLW B'00001000' MOVWF X4 MOVLW B'00001000' MOVWF X5 RETURN ; SETFNTPPN MOVFW CHR XORLW '-' BTFSS STATUS,Z GOTO SETFNTPPE MOVLW B'00001000' MOVWF X1 MOVLW B'00001000' MOVWF X2 MOVLW B'00001000' MOVWF X3 MOVLW B'00001000' MOVWF X4 MOVLW B'00001000' MOVWF X5 RETURN ; SETFNTPPE MOVFW CHR XORLW '=' BTFSS STATUS,Z GOTO SETFNTEK1R MOVLW B'00010100' MOVWF X1 MOVLW B'00010100' MOVWF X2 MOVLW B'00010100' MOVWF X3 MOVLW B'00010100' MOVWF X4 MOVLW B'00010100' MOVWF X5 RETURN ; SETFNTEK1R MOVF CHR,W XORLW ')' BTFSS STATUS,Z GOTO SETFNTPK1L MOVLW B'00000000' MOVWF X1 MOVLW B'00000000' MOVWF X2 MOVLW B'00000000' MOVWF X3 MOVLW B'01000001' MOVWF X4 MOVLW B'00111110' MOVWF X5 RETURN ; SETFNTPK1L MOVF CHR,W XORLW '(' BTFSS STATUS,Z GOTO SETFNTEK2R MOVLW B'00111110' MOVWF X1 MOVLW B'01000001' MOVWF X2 MOVLW B'00000000' MOVWF X3 MOVLW B'00000000' MOVWF X4 MOVLW B'00000000' MOVWF X5 RETURN ; SETFNTEK2R MOVF CHR,W XORLW ']' BTFSS STATUS,Z GOTO SETFNTPK2L MOVLW B'00000000' MOVWF X1 MOVLW B'00000000' MOVWF X2 MOVLW B'00000000' MOVWF X3 MOVLW B'01000001' MOVWF X4 MOVLW B'01111111' MOVWF X5 RETURN ; SETFNTPK2L MOVF CHR,W XORLW '[' BTFSS STATUS,Z GOTO SETFNTEK3R MOVLW B'01111111' MOVWF X1 MOVLW B'01000001' MOVWF X2 MOVLW B'00000000' MOVWF X3 MOVLW B'00000000' MOVWF X4 MOVLW B'00000000' MOVWF X5 RETURN ; SETFNTEK3R MOVF CHR,W XORLW '>' BTFSS STATUS,Z GOTO SETFNTPK3L MOVLW B'00000000' MOVWF X1 MOVLW B'01000001' MOVWF X2 MOVLW B'00100010' MOVWF X3 MOVLW B'00010100' MOVWF X4 MOVLW B'00001000' MOVWF X5 RETURN ; SETFNTPK3L MOVF CHR,W XORLW '[' BTFSS STATUS,Z GOTO SETFNTPPMU MOVLW B'00001000' MOVWF X1 MOVLW B'00010100' MOVWF X2 MOVLW B'00100010' MOVWF X3 MOVLW B'01000001' MOVWF X4 MOVLW B'00000000' MOVWF X5 RETURN ; SETFNTPPMU MOVF CHR,W XORLW '*' BTFSS STATUS,Z GOTO SETFNTPPWA MOVLW B'00100010' MOVWF X1 MOVLW B'00010100' MOVWF X2 MOVLW B'00001000' MOVWF X3 MOVLW B'00010100' MOVWF X4 MOVLW B'00100010' MOVWF X5 RETURN ; SETFNTPPWA MOVF CHR,W XORLW '/' BTFSS STATUS,Z GOTO SETFNTPWBU MOVLW B'10000000' MOVWF X1 MOVLW B'01100000' MOVWF X2 MOVLW B'00011000' MOVWF X3 MOVLW B'00000110' MOVWF X4 MOVLW B'00000001' MOVWF X5 RETURN ; SETFNTPWBU MOVF CHR,W XORLW '"' BTFSS STATUS,Z GOTO SETFNTPBIK MOVLW B'00000000' MOVWF X1 MOVLW B'00000111' MOVWF X2 MOVLW B'00000000' MOVWF X3 MOVLW B'00000111' MOVWF X4 MOVLW B'00000000' MOVWF X5 RETURN ; SETFNTPBIK MOVF CHR,W XORLW '!' BTFSS STATUS,Z GOTO SETFNTPKANM MOVLW B'00000000' MOVWF X1 MOVLW B'00000000' MOVWF X2 MOVLW B'11011111' MOVWF X3 MOVLW B'00000000' MOVWF X4 MOVLW B'00000000' MOVWF X5 RETURN ; SETFNTPKANM MOVF CHR,W XORLW ',' BTFSS STATUS,Z GOTO SETFNTPTEN MOVLW B'00000000' MOVWF X1 MOVLW B'01000000' MOVWF X2 MOVLW B'00110000' MOVWF X3 MOVLW B'00000000' MOVWF X4 MOVLW B'00000000' MOVWF X5 RETURN ; SETFNTPTEN MOVF CHR,W XORLW '.' BTFSS STATUS,Z GOTO SETFNTPKOR MOVLW B'00000000' MOVWF X1 MOVLW B'00000000' MOVWF X2 MOVLW B'01100000' MOVWF X3 MOVLW B'00000000' MOVWF X4 MOVLW B'00000000' MOVWF X5 RETURN ; SETFNTPKOR MOVF CHR,W XORLW ':' BTFSS STATUS,Z GOTO SETFNTPSKOR MOVLW B'00000000' MOVWF X1 MOVLW B'00000000' MOVWF X2 MOVLW B'00110110' MOVWF X3 MOVLW B'00000000' MOVWF X4 MOVLW B'00000000' MOVWF X5 RETURN ; SETFNTPSKOR MOVF CHR,W XORLW ';' BTFSS STATUS,Z GOTO SETFNTEE MOVLW B'00000000' MOVWF X1 MOVLW B'01000000' MOVWF X2 MOVLW B'00110110' MOVWF X3 MOVLW B'00000000' MOVWF X4 MOVLW B'00000000' MOVWF X5 RETURN ; SETFNTEE MOVLW B'00000110' MOVWF X1 MOVLW B'00001001' MOVWF X2 MOVLW B'01110001' MOVWF X3 MOVLW B'00000001' MOVWF X4 MOVLW B'00000010' MOVWF X5 RETURN ;****************************************************************************************** ; Function Name : WATDSP ; Title : ; Input : W-reg (1/2[S]) ; Output : ; Description : ;****************************************************************************************** WATDSP MOVWF NUM ; ========================= ; 1.Initialize ; ========================= CLRF PORTA CLRF PORTB ; ========================= ; 2.Display ; ========================= MOVFW NUM MOVWF DSPLP0 WATDSP0 ; MOVLW H'32' MOVLW H'19' MOVWF DSPLP1 WATDSP1 ; (1)X=1 MOVFW X1 IORLW B'10000000' MOVWF PORTB MOVLW H'04' CALL WAT CLRF PORTA CLRF PORTB ; (2)X=2 MOVFW X2 ANDLW B'01111111' MOVWF PORTB MOVLW B'00000001' MOVWF PORTA MOVLW H'04' CALL WAT CLRF PORTA CLRF PORTB ; (3)X=3 MOVFW X3 ANDLW B'01111111' MOVWF PORTB MOVLW B'00000010' MOVWF PORTA MOVLW H'04' CALL WAT CLRF PORTA CLRF PORTB ; (4)X=4 MOVFW X4 ANDLW B'01111111' MOVWF PORTB MOVLW B'00000100' MOVWF PORTA MOVLW H'04' CALL WAT CLRF PORTA CLRF PORTB ; (5)X=5 MOVFW X5 ANDLW B'01111111' MOVWF PORTB MOVLW B'00001000' MOVWF PORTA MOVLW H'04' CALL WAT CLRF PORTA CLRF PORTB ; (E)Loop DECFSZ DSPLP1,F GOTO WATDSP1 DECFSZ DSPLP0,F GOTO WATDSP0 ; RETURN ;****************************************************************************************** ; Function Name : WAT ; Title : ; Input : W-reg ; Output : ; Description : OSC(4MHz) => 1mS ;****************************************************************************************** WAT MOVWF WAT2 WATB MOVLW H'64' MOVWF WAT1 WATA NOP NOP NOP NOP NOP NOP DECFSZ WAT1,F GOTO WATA DECFSZ WAT2,F GOTO WATB ; RETURN END