Configuração

.
;********************************************************************************
.MESSAGE "Rotinas das configurações ativadas."
;********************************************************************************
;
;
;********************************************************************************
;*  Variáveis e fixos da configuracao.inc
;*
;* v_DDR_C
;* v_PORTA_C
;* SAIDA_C
;*
;* f_DADO_C
;* f_mascE
;* f_mascOu
;********************************************************************************
;
;
;********************************************************************************
 ; sm2, se, sm1, sm0, 
; 000 = idle
; 110 = standby
; 111 = standby estendido
;********************************************************************************
re_ucp_cnfg:        in r16,SFIOR
                    cbr r16,(1<<PUD)                    ; 0 = habilita o pull-up
                    out SFIOR,r16
                    ret
;********************************************************************************
;
;
;
;********************************************************************************
.MESSAGE "Configurando o modo de DORMÊNCIA..."
re_dormencia:       
.MESSAGE "Modo baixo consumo..."
                    in r16,MCUCR                        ; dorminh, baixo consum e ints por descida
                    clr r16
                    cbr r16, (0<<SM2)
                    sbr r16, (1<<SM1)
                    cbr r16, (0<<SM0)
                    out MCUCR,r16
                    ret
;********************************************************************************
;
;
;
;********************************************************************************
re_caoguarda:        push r16
.MESSAGE "Cão de guarda 4..."
                    in r16,WDTCR
                    cbr r16,(1<<WDE)
                    sbr r16,(1<<WDP2)
                    sbr r16,(1<<WDP1)
                    sbr r16,(1<<WDP0)
                    cbr r16,(1<<WDTOE)
                    out WDTCR,r16
                    pop r16
                    ret
;********************************************************************************
;
;
;
;********************************************************************************
.MESSAGE "Definindo a direção e pull-up da PORTA C..."
re_portC_cnfg:        ldi r16,f_CNFG_C
                    sts v_DDR_C,r16
                    ldi r17,f_DADO_C
                    sts v_PORTA_C,r17
                    out DDRC,r16
                    out SAIDA_C,r17
                    wdr
                    ret
;********************************************************************************
;
;
;
;********************************************************************************
;* PC5 (TDI)    LCD_RS                                                             *
;* PC4 (TDO)    LCD_EN                                                                *
;* PC3 (TMS)    SER_dado                                                          *
;* PC2 (TCK)    SER_clk                                                              *
;*                                                                                  *
;* 1 = saída e 0 = entrada                                                          *
;********************************************************************************
.MESSAGE "Configurando os pinos de E/S do uC para o LCD..."
.MESSAGE "Definido o LCD paralelo..."
re_cpu_lcdcnfg:        lds r16,v_DDR_C
                    andi r16,f_mascE                ; 1 = saída e 0 = entrada
                    ori r16,f_mascOu
                    sts v_DDR_C,r16
                    out DDRC,r16
                    ret
;********************************************************************************
.

Nenhum comentário:

Postar um comentário