INCLUDE 'MC68HC908QB8.inc' ;para o QB8 XDEF main ABSENTRY main ;=============================================================================== ORG Z_RAMStart ;1a pagina da RAM $0040 até $00FF TEMPO: DS 3 TLED_R: DS 1 TLED_G: DS 1 TLED_B: DS 1 ;=============================================================================== ORG RAMStart ;2a pagina da ram ;=============================================================================== ORG ROMStart ;Onde comeca a flash main: MOV #0,CONFIG2 MOV #$39,CONFIG1 MOV #$39,DDRA MOV #0,PTA INICIO: BRSET 1,PTA,TESTE1 ;DESVIA SE CH1 = 1 BRSET 0,PTA,OP2 ;DESVIA SE CH1 = 0 E CH0 = 1 OP1: MOV #2,TLED_R MOV #3,TLED_G MOV #5,TLED_B BRA BLUE TESTE1: BRSET 0,PTA,OP4 ;DESVIA SE CH1 = 1 E CH0 = 1 OP3: MOV #1,TLED_R MOV #2,TLED_G MOV #3,TLED_B BRA BLUE OP2: MOV #3,TLED_R MOV #2,TLED_G MOV #1,TLED_B BRA BLUE OP4: MOV #1,TLED_R MOV #1,TLED_G MOV #1,TLED_B BLUE: LDA TLED_B BEQ BLUE1 BSET 3,PTA DEC TLED_B GREEN: LDA TLED_G BEQ GREEN1 BSET 4,PTA DEC TLED_G RED: LDA TLED_R BEQ RED1 BSET 5,PTA DEC TLED_R TESTA: BSR D1SEG LDA TLED_B BNE BLUE LDA TLED_G BNE BLUE LDA TLED_R BNE BLUE BRA INICIO BLUE1: BCLR 3,PTA BRA GREEN GREEN1: BCLR 4,PTA BRA RED RED1: BCLR 5,PTA BRA TESTA ;Sub-rotina de delay D1SEG: MOV #100,TEMPO+2 D10MILI: MOV #100,TEMPO+1 D100MICRO: MOV #64,TEMPO VOLTA: DBNZ TEMPO,VOLTA ;5T DBNZ TEMPO+1,D100MICRO ;5T DBNZ TEMPO+2,D10MILI ;5T RTS ;=============================================================================== ORG $FFFE DC.W main ;Reset END