roboforum.ru

Технический форум по робототехнике.

Помогите с програмированием

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Помогите с програмированием

Сообщение Demonion » 07 мар 2006, 20:17

Я начинающий, определился с МК-ATmega16, скачал курс 123avr, внимательно прочитал, но въехал не во все, потому что автор объесняет кусками и не приводит конечный результат программы. Кто нибудь может показать полный текст простой программы под ATMega16 с подробным коментарием. Пользуюсь CodeVisionAVR, VMLAB, ICC
Demonion
 
Сообщения: 57
Зарегистрирован: 28 фев 2006, 17:46

Сообщение Карлсон » 07 мар 2006, 20:33

Код: Выделить всёРазвернуть
#include <mega16.h>

// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTA=0x00;
DDRA=0xFF;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;

// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

while (1)
     {
     // Place your code here

     };
}


это сгенерированно при помощи мастера из CVavr.

комментарии перевести или сами переводчиком воспользуетесь?
Аватара пользователя
Карлсон
 
Сообщения: 114
Зарегистрирован: 30 окт 2005, 13:10
Откуда: Москва

Сообщение Demonion » 07 мар 2006, 20:42

За код БОЛЬШОЕ спасибо, тока вот что он делает?
Demonion
 
Сообщения: 57
Зарегистрирован: 28 фев 2006, 17:46

Сообщение Карлсон » 07 мар 2006, 21:36

приведенный код всего лишь конфигурирует МК.
порт А назначаетя для вывода.
может вам стоит еще раз перечитать курс?

с английским, я так понимаю, напряг?
Аватара пользователя
Карлсон
 
Сообщения: 114
Зарегистрирован: 30 окт 2005, 13:10
Откуда: Москва

Сообщение Demonion » 07 мар 2006, 21:54

Да, с англиским напряг. А ты не мог бы привести схему, которая бы допустим мигала светодиодами или крутила движками?
Demonion
 
Сообщения: 57
Зарегистрирован: 28 фев 2006, 17:46

Сообщение avr123.nm.ru » 07 мар 2006, 23:47

Demonion писал(а):  
Я начинающий, определился с МК-ATmega16, скачал курс 123avr,

внимательно прочитал,

но въехал не во все, потому что автор объесняет кусками и не приводит конечный результат программы.

Кто нибудь может показать полный текст простой программы под ATMega16 с подробным коментарием.

Пользуюсь CodeVisionAVR, VMLAB, ICC


У вас СОВЕСТЬ ЕСТЬ ?

Зачем же так ВРАТЬ !!!

============

вы пишите что внимательно прочитали курс !

и вы не заметили что к задачам прилагаются архивы с файлами с текстами программ ?

============

А вы не увидели на странице 6

-> Упражнения - задачи по курсу AVR

вот это : ( ЛОШАДИНЫМ ШРИФТОМ написано !!! )
Поэтому я сделал:
вариант этой задачи для ATmega16

Задача 03 new


Вы ее смотрели ? и не увидели комментариев ?

============

и вот это:

Задача 10

Устройство изменяющее состояние нагрузки при громком звуке длительностью от 5 до 20 мС.

Цель задачи: разработать устройство и

программу для МК ATmega16

которое будет анализировать длительность сигнала от микрофона и если она будет лежать в пределах 5-20 мС то будет менять состояние подключенной нагрузки: если была выключена - то включит и наоборот.

Задача повторяет-закрепляет навык генерации начального кода программы

в компиляторе CodeVisionAVR для ATmega16.


Вы ее смотрели ? и ОПЯТЬ не увидели комментариев ?

============

А вот это читали ? на стр 4 где рассказ о компиляторах и симуляторах...

Выделеный текст на бежевом фоне !

Совет !

Скачайте мою заготовку (Шаблон, "РЫБА") для быстрого старта в совместном использовании -

компилятора CodeVisionAVR и симулятора
VMLAB и МК ATmega16

Скрин симуляции программы в VMLAB посмотрите здесь: http://avr123.nm.ru/VMLAB.png

...........

В общем качайте ! - это нужно ВАМ !
http://avr123.nm.ru/CodeVisionAVR_VMLAB.rar

Такая же по сути заготовка - но для компилятора
ICC - это файлы к задаче 03 new


==========  ++++++++++ ============

Мне очень обидно, что вы так "мимоходом"  выдали такое про курс.

Читать нужно ДЕЙСТВИТЕЛЬНО ВНИМАТЕЛЬНО !!!

========

-> Краткий Курс микроконтроллеры AVR - где взять примеры, куски кода ШИМ=PWM Servo LCD i2c 1-wire MotorControl - как сделать электронное устройство - основы электроники

Там же как побороть английский !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8


Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron