;******************************************************************** ;Ver 1.03 2007/09/12- LED Dotmatrix Display unit MIKIO.UCHIYAMA ;Ver 1.03RV 2007/11/23 LED ;******************************************************************** list p=16f877A, st=OFF, x=OFF, n=0 errorlevel -302 #include __CONFIG _BODEN_OFF & _CP_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC & _DEBUG_OFF & _CPD_OFF & _LVP_OFF ;******** Define Symbol********************************** BUF232 EQU 0F0H ;Top of RS232C Input Buffer BUFLED EQU 020H ;Top of LED BUFFER ;****************************************************** CBLOCK 0x20 LED1R1: 1 ;LED Row DATA Buffer LED1R2: 1 ;LED Row DATA Buffer LED1R3: 1 ;LED Row DATA Buffer LED1R4: 1 ;LED Row DATA Buffer LED1R5: 1 ;LED Row DATA Buffer LED1R6: 1 ;LED Row DATA Buffer LED1R7: 1 ;LED Row DATA Buffer LED1R8: 1 ;LED Row DATA Buffer LED2R1: 1 ;LED Row DATA Buffer LED2R2: 1 ;LED Row DATA Buffer LED2R3: 1 ;LED Row DATA Buffer LED2R4: 1 ;LED Row DATA Buffer LED2R5: 1 ;LED Row DATA Buffer LED2R6: 1 ;LED Row DATA Buffer LED2R7: 1 ;LED Row DATA Buffer LED2R8: 1 ;LED Row DATA Buffer LED3R1: 1 ;LED Row DATA Buffer LED3R2: 1 ;LED Row DATA Buffer LED3R3: 1 ;LED Row DATA Buffer LED3R4: 1 ;LED Row DATA Buffer LED3R5: 1 ;LED Row DATA Buffer LED3R6: 1 ;LED Row DATA Buffer LED3R7: 1 ;LED Row DATA Buffer LED3R8: 1 ;LED Row DATA Buffer DATAR1: 1 ;LED Row DATA DATAR2: 1 ;LED Row DATA DATAR3: 1 ;LED Row DATA DATAR4: 1 ;LED Row DATA DATAR5: 1 ;LED Row DATA DATAR6: 1 ;LED Row DATA (BLANK) LEDCNT: 1 ;LED Row DATA Counter CHRCNT: 1 ;Character Font Counter LEDWR: 1 ;LED Row DATA SHIFT Counter POINTER: 1 ;Character POINTER LED_ST: 1 ;LED DISPLAY STATUS GETCHR: 1 ;Result Character PC_HI: 1 ;PCRATH FOR Font DATA PC_LO: 1 ;PCL FOR Font DATA ;********************************************************** W_save: 1 ;register for saving W during ISR Status_save: 1 ;registers for saving context STA_SAVE: 1 ;Save for INTERUPT job WR_SAVE: 1 ;Save for INTERUPT job PCLATH_save: 1 ;during ISR FSR_save: 1 PIRmasked: 1 ;*******For RS232C & LCD*********************** W_HEX: 1 ;register for saving W during OUTHEX S_HEX: 1 ;Status saving for OUTHEX HEXH: 1 HEXL: 1 POINT: 1 ;**************************************************** ; Define Constant or Work ;**************************************************** FS_WC: 1 ;FSR Write Counter Value FS_RC: 1 ;FSR Read Counter Value FS_DAT: 1 ;FSR Read DATA LED_WC: 1 ;FSR LED Write Counter Value LED_RC: 1 ;FSR LED Read Counter Value MD3R: 1 ;MATRIX DATA BLINKX: 1 ;LED BLINK TIMES LED_RD: 1 ;LED MATRIX DATA PUSHSW: 1 ;Status PUSH SW COM_CH: 1 ;COMMAND CHARACTER from HOST COM_ST: 1 ;COMMAND STATUS COM_LL: 1 ;COMMAND Length DATA1: 1 ;Temp DATA CTR1: 1 ;Timer counter CTR2: 1 ; CTR3: 1 ; CTR4: 1 ; CTR5: 1 ; CTR6: 1 ; TEMP: 1 ;temporary work temp: 1 ; DT_DATA: 1 ;Data Table DATA LCD_DAT: 1 ;LCD display data LCDBUSY: 1 ;LCD BUSY CHECK TMR1NB: 1 ;TMR1 INT TMR0C8: 1 ;TMR0 INT COUNTER ENDC ;*************SET SYMBOLS***************************************** ;******* MACROS ******************************************** ;Macros to select the register bank Bank0 MACRO ;macro to select data RAM bank 0 bcf STATUS,RP0 bcf STATUS,RP1 ENDM Bank1 MACRO ;macro to select data RAM bank 1 bsf STATUS,RP0 bcf STATUS,RP1 ENDM Bank2 MACRO ;macro to select data RAM bank 2 bcf STATUS,RP0 bsf STATUS,RP1 ENDM ;****** Show W-Reg contents by HEX ******************************* HEXOUT macro pagesel outhex call outhex ;send HEX data endm ;****** TESTPOINT CHARACTER Via RS232C *************************** TPOUT macro XX MOVLW XX pagesel TX232 call TX232 ;send endm ;***** text data table MACRO ********************************* tableM macro local ShowData movwf DT_DATA movlw HIGH ShowData movwf PCLATH movlw LOW ShowData addwf DT_DATA,w btfsc STATUS,C incf PCLATH,f movwf PCL ShowData endm tableMX macro local TextData MOVF POINTER,W movwf DT_DATA movlw HIGH TextData movwf PCLATH movlw LOW TextData addwf DT_DATA,w btfsc STATUS,C incf PCLATH,f movwf PCL TextData endm ;******************************** ; Jumping Vector ;******************************** ORG 0 GOTO MAIN ORG 4 GOTO INTRPT INTPROC RETFIE ;dumy ;******************************** ; Main Routine ;******************************** ORG 08H MAIN ;************************************ ; PORT AB & C Initialize Routine ;************************************ ;*******INIT PORT AB & C**************** Bank1 ;Set Bank 1 MOVLW B'00000111' ;Set MOVWF ADCON1 ;Set ADCON1 (A/D Disable) MOVLW B'00010000' ;set port MOVWF TRISA ;PORTA MOVLW B'00000000' ;set port MOVWF TRISB ;PORTB MOVLW B'00000000' ;set port MOVWF TRISC ;PORTC MOVLW B'00000000' ;set port MOVWF TRISD ;PORTD MOVLW B'00000000' ;set port MOVWF TRISE ;PORTE Bank0 ;Set Bank 0 MOVLW B'00110001' ; MOVWF T1CON ;Set Timer 1 MOVLW 00H ; MOVWF TMR1L ;Set Timer 1 MOVLW 00H ; MOVWF TMR1H ;Set Timer 1 ;*******SET INTERUPT******************** Bank1 ;Set Bank 1 MOVLW B'11100000' ;Set ; MOVLW B'11000000' ;Set MOVWF INTCON ;Set INTCON ; MOVLW B'00100001' ; MOVLW B'00000001' ; MOVWF PIE1 ;Set PIE1 ;*******SET TMR0*********************** MOVLW B'00000001' ;1/4 MOVWF OPTION_REG ;Set for TMR0 Bank0 ;Set Bank 0 ;*******Init others******************************************** MOVLW BUF232 ;Top of Buffer(0F0H) MOVWF FSR ;Set FSR 0FH MOVWF FS_WC ;Set FSR Write counter 0F0H MOVWF FS_RC ;Set FSR Read counter 0F0H MOVLW B'11111111' ;all High MOVWF PORTA ;all ON MOVWF PORTB ;all ON MOVWF PORTC ;all ON MOVWF PORTD ;all ON MOVWF PORTE ;all ON ; BCF INTCON,GIE ;Interrupt Disable CLRF TMR1NB ;-------RESTORE PUSHSW----------------------------- CALL EEPROM_RD ;RESTORE FROM EEPROM ANDLW B'00000111' ;SET LIMIT LESS THAN 07H MOVWF PUSHSW ;---Blink All LED----------------------------------------- MOVLW 6H ;BLINK MOVWF BLINKX LED_BLINK MOVLW d'30' ;Loop 30 times MOVWF LEDCNT ;Counter data save MOVLW 20H ;READ/WRITE LED DATA MOVWF LEDWR ; SET_LED MOVLW 0FFH MOVWF PORTA MOVWF PORTC MOVF LEDWR,W MOVWF FSR ;READ Address Set MOVLW 0FFH MOVWF INDF ;ALL LED ON INCF LEDWR,F ;For NEXT DATA DECFSZ LEDCNT,F GOTO SET_LED ;LOOP call TM_100 ;100m sec call TM_100 ;100m sec call TM_100 ;100m sec CALL CLR_DISP ;Clear All ; CLRF PORTA ; CLRF PORTC call TM_100 ;100m sec DECFSZ BLINKX,F ;BLINK TIMES GOTO LED_BLINK CALL CLR_DISP ;Clear All goto MAIN0 ; CLR_DISP MOVLW d'24' ;Loop 24 times MOVWF LEDCNT ;Counter data save MOVLW 20H ;READ/WRITE LED DATA MOVWF LEDWR ; CLR_LED MOVF LEDWR,W MOVWF FSR ;READ Address Set CLRF INDF ;INIT TO '00000000' INCF LEDWR,F ;For NEXT DATA DECFSZ LEDCNT,F GOTO CLR_LED ;LOOP RETURN ;**** MAIN LOOP **************************************************** MAIN0 MOVLW 6H ;CHARACTER MOVWF CHRCNT CLRF DATAR6 ;SET BLANK CLRF POINTER ;reset table pointer CLRF LED_ST ;reset LED STATUS CALL SET_CHR ;SET Top of Character DATA MAIN1 BTFSC LED_ST,0 ;Check seek next Character CALL SET_CHRN ;SET New Character DATA BTFSC PORTA,4 ;Check PUSH SW GOTO MAIN1 INCF PUSHSW,W ANDLW B'00000111' MOVWF PUSHSW CALL EEPROM_WD ;SAVE TO EEPROM call TM_100 ;100m sec call TM_100 ;100m sec call TM_100 ;100m sec ;-------Display PUSH SW Number---------------------- MOVF PUSHSW,W ADDLW 31H ;GET NUMBER 1-8 CLRF PC_HI ; MOVWF PC_LO ;Aderess x8 BCF STATUS,C ;Reset Carry RLF PC_LO,F ;x2 RLF PC_HI,F ;x2 BCF STATUS,C ;Reset Carry RLF PC_LO,F ;x4 RLF PC_HI,F ;x4 BCF STATUS,C ;Reset Carry RLF PC_LO,F ;x8 RLF PC_HI,F ;x8 BSF PC_HI,4 ;Set page2 CALL CLR_DISP ;Clear All SWDX macro DATARX CALL GET_FD ;Get FONT DATA pagesel $ MOVWF DATARX INCF PC_LO,F endm SWDX LED2R1 SWDX LED2R2 SWDX LED2R3 SWDX LED2R4 SWDX LED2R5 MOVLW 6H ;CHARACTER MOVWF CHRCNT CLRF DATAR6 ;SET BLANK CLRF POINTER ;reset table pointer CLRF LED_ST ;reset LED STATUS CALL SET_CHR ;SET Top of Character DATA GOTO MAIN1 ;************************************************************************* ;---------------EEPROM Read------------------------------------------ EEPROM_RD BSF STATUS,RP1 ; BCF STATUS,RP0 ; Bank 2 MOVLW 010H ;EEPROM ADDRESS MOVWF EEADR ; Address to read BSF STATUS,RP0 ; Bank 3 BCF EECON1,EEPGD ; Point to Data memory BSF EECON1,RD ; EE Read BCF STATUS,RP0 ; Bank 2 MOVF EEDATA,W ; W = EEDATA BCF STATUS,RP1 ; Bank 0 RETURN ;---------------EEPROM Write------------------------------------------ EEPROM_WD BSF STATUS,RP1 ; Bank 3 BSF STATUS,RP0 BTFSC EECON1,WR ;Wait for write GOTO $-1 ;to complete BCF STATUS, RP0 ;Bank 2 MOVWF EEDATA ;to write MOVLW 010H ;EEPROM ADDRESS MOVWF EEADR ;Address to write BSF STATUS,RP0 ;Bank 3 BCF EECON1,EEPGD ;Point to DATA memory BSF EECON1,WREN ;Enable writes BCF INTCON,GIE ;Disable INTs. MOVLW 55h ; MOVWF EECON2 ;Write 55h MOVLW 0AAh ; MOVWF EECON2 ;Write AAh BSF EECON1,WR ;Set WR bit to begin write BSF INTCON,GIE ;Enable INTs. BCF EECON1,WREN ;Disable writes BCF STATUS,RP1 ; Bank 0 BCF STATUS,RP0 RETURN ;**** SET CHACTER DATA TO LED BUFFER ********************************* SW_SX macro XX,YY LOCAL AA MOVLW XX ;Set SW data SUBWF PUSHSW,W ;Check SW Status BTFSS STATUS,Z ; GOTO AA ;Fail CALL YY ;Find character MOVWF GETCHR AA NOP ENDM SET_CHRN ;SET Character DATA TO LED Buffer INCF POINTER,F ;NEXT CHARACTER SET_CHR ;SET Character DATA TO LED Buffer SW_SX 0H,TABLE0 ;SW1 SW_SX 1H,TABLE1 ;SW2 SW_SX 2H,TABLE2 ;SW3 SW_SX 3H,TABLE3 ;SW4 SW_SX 4H,TABLE4 ;SW5 SW_SX 5H,TABLE5 ;SW6 SW_SX 6H,TABLE6 ;SW7 SW_SX 7H,TABLE7 ;SW8 MOVF GETCHR,W ADDLW 0 ;test zero? BTFSC STATUS,Z ;end zero? GOTO SET_CHZ ;END CLRF PC_HI ; MOVF GETCHR,W MOVWF PC_LO ;Aderess x8 BCF STATUS,C ;Reset Carry RLF PC_LO,F ;x2 RLF PC_HI,F ;x2 BCF STATUS,C ;Reset Carry RLF PC_LO,F ;x4 RLF PC_HI,F ;x4 BCF STATUS,C ;Reset Carry RLF PC_LO,F ;x8 RLF PC_HI,F ;x8 BSF PC_HI,4 ;Set page2 ;---------------------------------- CFDX macro DATARX CALL GET_FD ;Get FONT DATA pagesel $ MOVWF DATARX INCF PC_LO,F endm CFDX DATAR1 CFDX DATAR2 CFDX DATAR3 CFDX DATAR4 CFDX DATAR5 CLRF DATAR6 ;BLANK BCF LED_ST,0 ;Reset FLAG OF NEXT CHARACTER RETURN SET_CHZ ; CLRF POINTER ;reset DATA table pointer GOTO MAIN0 ;-------GET FONT------------------------------------------- GET_FD MOVF PC_HI,W MOVWF PCLATH ;SET PC High MOVF PC_LO,W MOVWF PCL ;SET PC LOW ;GOTO FOINT57 DATA AND RETLW ;***** ここに8種類のメッセージを書き込みます********************* ;****** DATA TABLE ************************************************ TABLE0 tableMX DT "EJ ej エレキジャック コウヒョウ ハツバイチュウ ",0,0 TABLE1 tableMX DT "Thank you!!! アリガトウ ",0,0 TABLE2 tableMX DT "How are you? ゲンキ? ",0,0 TABLE3 tableMX DT "Sorry スミマセン ",0,0 TABLE4 tableMX DT "Now on SALE イラッシャイマセ ",0,0 TABLE5 tableMX DT "OPEN イラッシャイマセ ",0,0 TABLE6 tableMX DT "CLOSE ヘイテン シマシタ ",0,0 TABLE7 tableMX DT "STOP ツイトツ チューイ ",0,0 ; DT "ウチヤマ ",0,0 ; DT "アイウエ ",0,0 ; DT "1234 ",0,0 ; DT "ABCD ",0,0 ;-------------For Check All 5x7font----------------------------------------------------- ; DT 20H,21H,22H,23H,24H,25H,26H,27H,28H,29H,2AH,2BH,2CH,2DH,2EH,2FH,0,0 ; DT 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,3AH,3BH,3CH,3DH,3EH,3FH,0,0 ; DT 40H,41H,42H,43H,44H,45H,46H,47H,48H,49H,4AH,4BH,4CH,4DH,4EH,4FH,0,0 ; DT 50H,51H,52H,53H,54H,55H,56H,57H,58H,59H,5AH,5BH,5CH,5DH,5EH,5FH,0,0 ; DT 60H,61H,62H,63H,64H,65H,66H,67H,68H,69H,6AH,6BH,6CH,6DH,6EH,6FH,0,0 ; DT 70H,71H,72H,73H,74H,75H,76H,77H,78H,79H,7AH,7BH,7CH,7DH,7EH,7FH,0,0 ; DT 0A0H,0A1H,0A2H,0A3H,0A4H,0A5H,0A6H,0A7H,0A8H,0A9H,0AAH,0ABH,0ACH,0ADH,0AEH,0AFH;0,0 ; DT 0B0H,0B1H,0B2H,0B3H,0B4H,0B5H,0B6H,0B7H,0B8H,0B9H,0BAH,0BBH,0BCH,0BDH,0BEH,0BFH,0,0 ; DT 0C0H,0C1H,0C2H,0C3H,0C4H,0C5H,0C6H,0C7H,0C8H,0C9H,0CAH,0CBH,0CCH,0CDH,0CEH,0CFH;0,0 ; DT 0D0H,0D1H,0D2H,0D3H,0D4H,0D5H,0D6H,0D7H,0D8H,0D9H,0DAH,0DBH,0DCH,0DDH,0DEH,0DFH,0,0 ;******* TMR0 overflow interupt(Set LED DOT MATRIX SHIFT8 SPEED)************ TMR0_Int BCF INTCON,T0IF MOVLW 00H ; MOVWF TMR0 ;Set Timer 0 INCF TMR0C8,W ;INC TMR0 COUNTER ANDLW B'00000111' ; MOVWF TMR0C8 ;SAVE C8_SX macro XX,YY MOVLW XX ;Set SW data SUBWF TMR0C8,W ;Check DISPKAY Status BTFSC STATUS,Z ; GOTO YY ;MUTCH ENDM C8_SX 0H,LEDC1S ; C8_SX 1H,LEDC2S ; C8_SX 2H,LEDC3S ; C8_SX 3H,LEDC4S ; C8_SX 4H,LEDC5S ; C8_SX 5H,LEDC6S ; C8_SX 6H,LEDC7S ; C8_SX 7H,LEDC8S ; RETURN ;-----------DISPLAY 8x24 LINE----------------- LEDC8X macro XX,YY,ZZ,CC MOVF XX,W MOVWF PORTB MOVF YY,W MOVWF PORTD MOVF ZZ,W MOVWF PORTE MOVWF MD3R RRF MD3R,F RRF MD3R,F RRF MD3R,F BCF MD3R,5 ;RA5=0 BTFSC MD3R,4 ;CHECK 4 BSF MD3R,5 ;RA5=0 MOVF MD3R,W MOVWF PORTA MOVLW CC ;Set Column MOVWF PORTC ;C1-C8 RETURN endm ;LEDC1S LEDC8X LED1R1,LED2R1,LED3R1,B'10000000';C8 ;LEDC2S LEDC8X LED1R2,LED2R2,LED3R2,B'01000000';C7 ;LEDC3S LEDC8X LED1R3,LED2R3,LED3R3,B'00100000';C6 ;LEDC4S LEDC8X LED1R4,LED2R4,LED3R4,B'00010000';C5 ;LEDC5S LEDC8X LED1R5,LED2R5,LED3R5,B'00001000';C4 ;LEDC6S LEDC8X LED1R6,LED2R6,LED3R6,B'00000100';C3 ;LEDC7S LEDC8X LED1R7,LED2R7,LED3R7,B'00000010';C2 ;LEDC8S LEDC8X LED1R8,LED2R8,LED3R8,B'00000001';C1 ;---------------For RV--------------------------------- LEDC1S LEDC8X LED3R1,LED2R1,LED1R1,B'00000001';C8 LEDC2S LEDC8X LED3R2,LED2R2,LED1R2,B'00000010';C7 LEDC3S LEDC8X LED3R3,LED2R3,LED1R3,B'00000100';C6 LEDC4S LEDC8X LED3R4,LED2R4,LED1R4,B'00001000';C5 LEDC5S LEDC8X LED3R5,LED2R5,LED1R5,B'00010000';C4 LEDC6S LEDC8X LED3R6,LED2R6,LED1R6,B'00100000';C3 LEDC7S LEDC8X LED3R7,LED2R7,LED1R7,B'01000000';C2 LEDC8S LEDC8X LED3R8,LED2R8,LED1R8,B'10000000';C1 ;******* TMR1 overflow interupt(Set LED DOT MATRIX SHIFT24 SPEED)************ TMR1_Int BCF PIR1,TMR1IF MOVLW 00H ; MOVWF TMR1L ;Set Timer 1 MOVLW 00H ;Speed Limit Value MOVWF TMR1H ;Set Timer 1 ;-----------Test fixed first 4 characters------- ; INCF TMR1NB,F ;Check 4 Character Finish ; movlw d'25' ; ; subwf TMR1NB,W ;Check ; btfsc STATUS,Z ; ; goto chstop ;-------------------------------------------- CALL SHIFT_R DECFSZ CHRCNT,F ;Check Character Finish return ;No MOVLW 6H ;Set CHARACTER Counter MOVWF CHRCNT BSF LED_ST,0 ;SET FLAG OF NEXT CHARACTER RETURN chstop DECF TMR1NB,F ;Check 4 Character Finish return ;No ;*********** Shift LED Display ********************************* SHIFT_R MOVLW d'30' ;Loop 30 times MOVWF LEDCNT ;Counter data save MOVLW 20H ;READ/WRITE LED DATA MOVWF LEDWR ; SLOOP_R INCF LEDWR,W ;READ LED DATA MOVWF FSR ;READ Address Set MOVF INDF,W ;Read data DECF FSR,F ;WRITE Address Set MOVWF INDF ;Write data INCF LEDWR,F ;For NEXT DATA DECFSZ LEDCNT,F ;LOOP GOTO SLOOP_R RETURN ;************************************************************** ;*************** Interrupt CHECK ************************ INTRPT movwf W_save ; save W movf STATUS,W clrf STATUS ; force to page 0 movwf Status_save ; save STATUS movf PCLATH,w movwf PCLATH_save ; save PCLATH movf FSR,w movwf FSR_save ; save FSR ; BCF PORTA,4 ;Check int time pagesel TMR0TEST ; Interrupt Service Routine Process_ISR TMR0TEST btfsc INTCON,T0IE btfss INTCON,T0IF goto INTTEST call TMR0_Int ; nop ; insert TMR0 code call here INTTEST btfsc INTCON,INTE btfss INTCON,INTF goto RBTEST nop ; insert RB0/INT code call here RBTEST btfsc INTCON,RBIE btfss INTCON,RBIF goto PERIPHERALTEST nop ; insert PORTB Change code call here PERIPHERALTEST btfss INTCON,PEIE ; is there a peripheral interrupt? goto EndISR ; all done.... TEST_PIR1 ; TPOUT "i" banksel PIR1 movf PIR1,w banksel PIE1 andwf PIE1,w ; mask the enables with the flags banksel PIRmasked movwf PIRmasked btfsc PIRmasked,ADIF ; AD Done? nop ; pagesel Rs232_Int ; Rs232c int btfsc PIRmasked,RCIF ; call Rs232_Int ; Rs232c int btfsc PIRmasked,TXIF nop btfsc PIRmasked,CCP1IF nop ;CCP1 int btfsc PIRmasked,TMR2IF nop btfsc PIRmasked,TMR1IF call TMR1_Int ;Timer 1 int TEST_PIR2 banksel PIR2 movf PIR2,w banksel PIE2 andwf PIE2,w banksel PIRmasked movwf PIRmasked btfsc PIRmasked,CCP2IF nop EndISR ; BSF PORTA,4 ;Check INT time clrf STATUS ; select bank 0 movf FSR_save,w ; restore the FSR movwf FSR movf PCLATH_save,w ; restore PCLATH movwf PCLATH movf Status_save,w ; restore Status movwf STATUS swapf W_save,f ; restore W without corrupting STATUS swapf W_save,w retfie ;*************** Timer(Clock=10MHz) ************************************ TM_10U movlw d'7' ;約10usecのタイミングを作る movwf CTR1 TM_LP1 decfsz CTR1,F ;2+3*7-1=22 goto TM_LP1 return ;22+1=23 TIMINGM macro xx,yy,TMX ;決まった時間を作るマクロ local zz movlw xx ;繰返し回数を指定 movwf yy ; zz call TMX decfsz yy,F ;2+(TMX+3)*xx goto zz return ; endm TM_100U TIMINGM d'9',CTR2,TM_10U ;約100usecのタイミングを作る TM_1M TIMINGM d'90',CTR3,TM_10U ;約1msecのタイミングを作る TM_5M TIMINGM d'47',CTR4,TM_100U ;約5msecのタイミングを作る TM10M TIMINGM d'98',CTR4,TM_100U ;約10msecのタイミングを作る TM_10M TIMINGM d'49',CTR5,TM_1M ;約50msecのタイミングを作る TM_1S TIMINGM d'99',CTR6,TM_5M ;約0.5Secのタイミングを作る TIMSS TIMINGM d'20',CTR6,TM_1M ;約20mSecのタイミングを作る TM_100 TIMINGM d'100',CTR6,TM_1M ;約0.15Secのタイミングを作る TM_250 TIMINGM d'250',CTR6,TM_1M ;約0.25Secのタイミングを作る ;******************************************************************** #include ;****************************************************************************** END ;******************************************************************************