.
;********************************************************************************
.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