реклама на сайте
подробности

 
 
> ШИМ в ATmega 128
MMP
сообщение Nov 7 2005, 09:38
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 43
Регистрация: 7-07-05
Из: г.Магнитогорск
Пользователь №: 6 618



В Apllication Builder инециализирую Таймер 1, для меги 128 выбираю режим PWM 10-bit fast. Пытаюсь отсимулить в VMLAB, подключив к осцилографу порты PB5, PB6, PB7 b ничего не вижу. Вопрос в том надо ли что-то еще писать дополнительно или этот режим должен заработать???
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
MMP
сообщение Nov 7 2005, 09:52
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 43
Регистрация: 7-07-05
Из: г.Магнитогорск
Пользователь №: 6 618



Примерно так:
//ICC-AVR application builder : 07.11.2005 14:49:30
// Target : M128
// Crystal: 16.000Mhz

#include <iom128v.h>
#include <macros.h>

void port_init(void)
{
PORTA = 0x00;
DDRA = 0x00;
PORTB = 0xE0;
DDRB = 0xE0;
PORTC = 0x00; //m103 output only
DDRC = 0x00;
PORTD = 0x00;
DDRD = 0x00;
PORTE = 0x00;
DDRE = 0x00;
PORTF = 0x00;
DDRF = 0x00;
PORTG = 0x00;
DDRG = 0x00;
}

//TIMER1 initialize - prescale:Stop
// WGM: 7) PWM 10bit fast, TOP=0x03FF
// desired value: 16KHz
// actual value: out of range
void timer1_init(void)
{
TCCR1B = 0x00; //stop
TCNT1H = 0xFC; //setup
TCNT1L = 0x01;
OCR1AH = 0x03;
OCR1AL = 0xFF;
OCR1BH = 0x03;
OCR1BL = 0xFF;
OCR1CH = 0x03;
OCR1CL = 0xFF;
ICR1H = 0x03;
ICR1L = 0xFF;
TCCR1A = 0x03;
TCCR1B = 0x08; //start Timer
}

//call this routine to initialize all peripherals
void init_devices(void)
{
//stop errant interrupts until set up
CLI(); //disable all interrupts
XDIV = 0x00; //xtal divider
XMCRA = 0x00; //external memory
port_init();
timer1_init();

MCUCR = 0x00;
EICRA = 0x00; //extended ext ints
EICRB = 0x00; //extended ext ints
EIMSK = 0x00;
TIMSK = 0x00; //timer interrupt sources
ETIMSK = 0x00; //extended timer interrupt sources
SEI(); //re-enable interrupts
//all peripherals are now initialized
}
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 07:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.01356 секунд с 7
ELECTRONIX ©2004-2016