Geração de sinal PWM rápido

N

nzkunal

Guest
Oi,

Estou tentando escrever um código para gerar um sinal PWM rápido (8-bit Timer).Eu estou usando um ATMEGA48 Atmel e de simplicidade optou D6 porta que corresponde a OCR0A.

Tenho lido a folha de dados e estou tentando descobrir o que eu preciso código para operar este canal.

Inicialização
TCCR0A = ox83 tão COM0A = 2 para não inverter e WGM0 [2:0] = 3 para = MAX TOP
É esta a inicialização que eu preciso para executar

Controlando o ciclo de trabalho
Mudança, ou seja OCR0A se OCR0A = 0x7F vai dar 50% do ciclo

Será que este código olhar correto?

Obrigado

 
Oi!
Tente este código.É trabalhar para mim.O relógio externo é 4MHz.

timer0_init (void)
(
TCCR0B = 0x00; / timer / stop
TCNT0 = 0x00; / contagem / clear
OCR0A = 200; / / set freqüência PWM
OCR0B = 20; / / ciclo de trabalho conjunto (para 50% duty defini-lo a 100)
TCCR0A = 0x33; / timer start /

)

Além deste, foi claramente mencionada na ficha de que a saída será visível no pino de saída correspondente (OC0x) se e somente se sua direção é definida como um pino de saída.

Espero que isso resolva o seu problema.
Atenciosamente.

 

Welcome to EDABoard.com

Sponsor

Back
Top