Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Getting started или faq по AVR
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Страницы: 1, 2, 3, 4, 5, 6, 7
Nanobyte
Цитата(SasaVitebsk @ Sep 25 2006, 03:04) *
Цитата(Nanobyte @ Sep 25 2006, 01:44) *

Цитата(SasaVitebsk @ Sep 25 2006, 02:33) *
Может кто сконвертит в PDF или переразведёт в PCAD. Лучше выложить в нескольких форматах. smile.gif
Смогу переразвести в PCAD, но где итоговая схема?
Ничего не понимаю. smile.gif

В ближайшее время нарисую недостающие компоненты и сделаю схему и PCB в PCAD-2004.
bodja74
Цитата(singlskv @ Sep 24 2006, 23:29) *
Цитата(bodja74 @ Sep 24 2006, 22:20) *

http://Nix-06.nm.ru

Выложил примеры кода на асме-критикуйте.

Заметьте, не я первым это предложил smile.gif
............
Не забывайте, Вы собрались написать Getting started... blink.gif blink.gif


Скучно было бы жить без критиков smile.gif

За reti ,извиняюсь ,как всегда прохлопал ушами.Сохранение Sreg там необязателено,так как нет операций сравнения,но допишу с сохранением регистров,чтобы не раслаблялись.
Коменты с правой стороны у меня автоматом выдает мой редактор,но коменты еще добавлю,(просто примеры накатал за пару минут )более детально проверю код и добавлю схемы,так как там пару примеров для работы между МК.Одни и теже регистры в прерываниях - это нормальное явление,иногда их нужно сохранять иногда нет.

Цитата
Пункт "примеры кода" лучше назвать "примеры программ". Необходимо ввести ещё один уровень (как мне кажется): "Примеры программ\Примеры на ASM\Аппаратный I2C", "\...\Матричная клавиатура 4х4" ну и т.д


Сделаем.
Цитата
Нельзя допускать, чтобы были примеры одного человека. Один человек - один подход, а это не совсем правильно даже если этот человек очень грамотный. Пускай будут разные примеры и люди.

Будем ждать примеры других человеков smile.gif

Цитата
Считаю что схема "утверждена". Внёс последние изменения. Добавил светодииод питания по просьбе трудящихся. (Думаю он не помешает) Ну и подчистил хвосты. Помещаю в ZIP варианте по просьбе. Может кто сконвертит в PDF или переразведёт в PCAD. Лучше выложить в нескольких форматах


Тогда располагаю,архив в нескольких форматах расположу по готовности.
singlskv
Цитата(bodja74 @ Sep 25 2006, 15:24) *
Цитата(singlskv @ Sep 24 2006, 23:29) *

Цитата(bodja74 @ Sep 24 2006, 22:20) *

http://Nix-06.nm.ru

Выложил примеры кода на асме-критикуйте.

Заметьте, не я первым это предложил smile.gif
............
Не забывайте, Вы собрались написать Getting started... blink.gif blink.gif


Скучно было бы жить без критиков smile.gif
Одни и теже регистры в прерываниях - это нормальное явление,иногда их нужно сохранять иногда нет.


Код
                              ;SUBI INT0
SUBI_INT0:
   push R16
   in   R16,SREG
   push R16
   push R20            <---- А теперь у нас R20 бывает только +-1 ?????????
   subi R20,255-$01           ;R20+$01
   out  PORTB,R20             ;PORTB=R20
   pop  R20            <-----
   pop  R16                   ;END SUBI
   out  SREG,R16
   pop  R16
   reti

Для второго прерывания предлагаю написать так:
Код
SUBI_INT1:
   in   R2,SREG                 <---- сохраняем SREG в зарезервированном для этого R2
   subi R20,$01               ;R20-$01
   out  PORTB,R20             ;PORTB=R20
   out SREG,r2
   reti

Чтобы показать разные варианты сохранения SREG в прерываниях.
TomaT
Этот сайт посвящен чайникам,желающим освоить программирование микроконтроллеров АВР, но не знающим с чего начать.
bodja74
Цитата(singlskv @ Sep 25 2006, 15:46) *
Код
push R20            <---- А теперь у нас R20 бывает только +-1 ?????????

Угу,это тот случай когда сохранять и не нужно. sad.gif
Цитата
Для второго прерывания предлагаю написать так:
Код
SUBI_INT1:
   in   R2,SREG                 <---- сохраняем SREG в зарезервированном для этого R2
   subi R20,$01              ;R20-$01
   out  PORTB,R20            ;PORTB=R20
   out SREG,r2
   reti

Чтобы показать разные варианты сохранения SREG в прерываниях.

Тогда какого нам нужно и Sreg сохранять,путаете Вы меня. smile.gif
Давайте лучше разные варианты сохранения будем расматривать в отдельной статье по прерываниям,
(я люблю допустим в оперативке сохранять,так как ее гораздо больше чем регистров,которых мне вечно нехватает.)
я там потихоньку, ее рисую ,через недельку -может раньше выложу.И обсудим более детально,
так как на этих вещах многие спотыкаются.

Цитата
Этот сайт посвящен чайникам,желающим освоить программирование микроконтроллеров АВР, но не знающим с чего начать.

Ну вот я же и недаром такой раздел ввел,может кто напишет с чего начать.Так мои вкусы могут серьезно отличаться от других ,могут возникнуть пререкания,реплики и недовольства.
genviktr
Цитата(Nanobyte @ Sep 25 2006, 11:23) *
Цитата(SasaVitebsk @ Sep 25 2006, 03:04) *

Цитата(Nanobyte @ Sep 25 2006, 01:44) *

Цитата(SasaVitebsk @ Sep 25 2006, 02:33) *
Может кто сконвертит в PDF или переразведёт в PCAD. Лучше выложить в нескольких форматах. smile.gif
Смогу переразвести в PCAD, но где итоговая схема?
Ничего не понимаю. smile.gif

В ближайшее время нарисую недостающие компоненты и сделаю схему и PCB в PCAD-2004.


Ответьте чайнику! В схеме NIKE-06-01 отсутствуют номиналы резисторов и емкостей, не указана частота кварца. Хотелось бы иметь законченную схему. help.gif
Shurmas
друзья, если по стольку цитировать топик скоро будет не читаем !
singlskv
Цитата(bodja74 @ Sep 25 2006, 19:51) *
Тогда какого нам нужно и Sreg сохранять,путаете Вы меня. smile.gif

Неа, не путаю.
subi R20,$01 меняет SREG, и любая проверка флагов в основной программе
может работать неправильно.
Конечно Ваш код будет работать и без этого, но зачем вводить в заблуждение
новичков blink.gif
artem100
повторы какие -то
artem100
Цитата(genviktr @ Sep 25 2006, 18:52) *
Ответьте чайнику! В схеме NIKE-06-01 отсутствуют номиналы резисторов и емкостей, не указана частота кварца. Хотелось бы иметь законченную схему. help.gif

В чем прелесть этого чипа
Дело в том что схема логическая и точно соблюдать номиналы не обязательно
кварц с емкостями обвязки для ATmegaXXX вообще не обязателен достаточно колодку для кварца на всякий случай (на моей фотографии чип работает на 4MHz без кварца)
я обвел зеленым цветом обязательные узлы
номиналы вольные как для любой логической микросхемы
я предпочитаю обходится везде 1 кОм b и емкостями 0,1mkF
Если уже есть стабилизированный источник питания, то не паять верхнюю зеленую часть
-------------------------------------
Итак достаточно запаять
1 колодка на 40pin для ATmega16
2 RESET резистором R1 1kOm на 5V
3 6pin JP1 SPI для программирования
4 10pin разьем для внешних соединений хотябы один
все maniac.gif
bodja74
Цитата(singlskv @ Sep 25 2006, 19:29) *
Неа, не путаю.
....


Хорошо,сделаю по вашему.Посмотрите другие примеры, обсудим и утвердим.
genviktr
Цитата(artem100 @ Sep 23 2006, 09:57) *
Цитата(Nanobyte @ Sep 21 2006, 22:55) *

2. Лучше поставить электронный предохранитель (Polyswitch от Bourns, или подобный) на 0.5-1 А.Обратно включенный защитный диод (супрессор) типа 1.5КЕxx уж точно по питанию спалить ничего не даст.



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

куда уж проще


Artem100. Ответьте пожайлуста чайнику. Куда подключён анод VD1 и LED программатора STK200
в схеме MEGA16. help.gif
artem100
Цитата(genviktr @ Sep 25 2006, 20:25) *
Artem100. Ответьте пожайлуста чайнику. Куда подключён анод VD1 и LED программатора STK200
в схеме MEGA16. help.gif


к 5V стабилизатора 5V на плате микропроцессора

питать буфер от LPT1 порта не получиться
собственно буфер не обязателен
можно сразу LPT1<->SPI
в программаторе avreal32.exe есть специальная клюшка для такого дешевого провода
минус в таком что надо после программирования отключать
а с буфером STK200 не надо
как только программка программатора отпускает RESET микропроцессор сразу же запускается с начала программы
я применяю его потому что нотебук не выдает уровень достаточный для устойчивого програмирования
а также защищаю свой килобакс от ошибок

где-то внизу мой первый "супер навороченный" программатор в 7 проводков
между LPT1 и 20pin колодкой для AT90S2313
я даже его модернизировал
припаял шлейф в 15см tongue.gif
singlskv
Цитата(bodja74 @ Sep 25 2006, 21:18) *
Посмотрите другие примеры, обсудим и утвердим.

У меня сегодня все коментарии отображаются абракадаброй, хотя вчера все было OK.
Что-то там не то с кодировками
bodja74
Выберите на браузере
Вид->Вид кодировки->кириллица(Windows)
Посмотрю,может в страницах автоматически можно задать браузеру команду насчет кодировки.

Добавил свой адаптер понипрога
Программаторы->PonyProg

Что там с Nix-06 ? Ато схему уже расположил.
SasaVitebsk
Цитата(bodja74 @ Sep 25 2006, 22:29) *
Выберите на браузере
Вид->Вид кодировки->кириллица(Windows)
Посмотрю,может в страницах автоматически можно задать браузеру команду насчет кодировки.

Добавил свой адаптер понипрога
Программаторы->PonyProg

Что там с Nix-06 ? Ато схему уже расположил.


Платы мне уже сделали. Буду паять. К сожелению у меня нет свободных клавиатуры и дисплея. Я их уже оплатил, но заберу не раньше чем на следующей неделе. Пишу статью. Стараюсь подойти к этому серьёзно. Кстати накатаю и примеры готовых решений (кто-то просил) в том числе и в варианте с PC, в том числе и с USB. Судя по тому как размахнулся закончу не раньше чем ч/з месяц. Но надеюсь это будут рабочие проверенные прграммы с кучей коментариев. Схему пульта дорисую по приходу клавиатуры то есть на следующей неделе. Другие модули вы уже можете сами начинать.

Кто-то спрашивал номинал кварца. В принципе ответ, который ему дали правильный, но для подключения модулей RS232 и USB кварц всё-таки понадобится. Я рекомендую 14745600 (или 7372800). Кондёры к нему подключённые 15-33pF. Все остальное верно.
smk
Цитата(beer_warrior @ Jun 21 2006, 12:03) *
Особо хотелось бы видеть вопросы новичков, ибо вещи которые кажутся опытному человеку самими собой разумеющимися, для новичка могут представлять собой непреодолимую проблему.


Поскольку в части АВР могу смело причислить себя к новичкам, позвольте перечислить то, с чем столкнулся сам и что борол с помощь этого форума и здравого смысла. Кое-что утрирую конечно. Не всеми вопросами я задавался, но для порядка. И так, проблемы были такие:

1) Что значит "запрограммировать контролер"?
2) Как программа попадает в контролер?
3) Какой компилятор выбрать, где скачать? Зачем осваивать компилятор, который компилирует до 4 кбайт при памяти контроллера 8 и более килобайт? Купить лицензию?
4) Как правильно начать работу с компилятром, открыть проект? Почему он ругается то на нехватку файлов, то на ткст программы? Что он этим хочет сказать?
5) Что такое "заголовочный файл" и какие они бывают? Зачем они нужны?
6) Как проверить текст программы на правильность и как правильно писать изначально?
7) Что прочитать и где взять чтоб научиться программировать на си? (в моем случае последнюю прогу написал лет 15 назад. много воды утекло с тех пор. не сразу "врубаюсь".)
8) Где бы взять простеньких прог чтоб посмотреть как они работают и как их адаптировать к разным контроллерам? Типичные примеры с описанием "как для идиота" что, где и зачем какая букавка. (вплоть до черточек и запятых, это нужно для быстрого и полного понимания синтаксиса и правил написания строк программы.)
9) Приемы программирования?

Потом напишу еще.
Удачи!
Shurmas
зайдите например на http://www.rambler.ru и так и спросите:

"как быстро начать использовать микроконтроллеры"
"си для мк"
"avr на примерах"

спрашивайте поисковик что вас интересует и получайте ответы.

"как сделать электронное устройство"

Цитата(SasaVitebsk @ Sep 26 2006, 02:45) *
Пишу статью. Стараюсь подойти к этому серьёзно. Кстати накатаю и примеры готовых решений (кто-то просил) в том числе и в варианте с PC, в том числе и с USB. Судя по тому как размахнулся закончу не раньше чем ч/з месяц. Но надеюсь это будут рабочие проверенные прграммы с кучей коментариев.


Низкий поклон тебе! Делаешь для людей. Спасибо.
artem100
Цитата(smk @ Sep 27 2006, 12:41) *
1) Что значит "запрограммировать контролер"?

прошивка->Intel совместимым компьютером->программой->проводом->в спец порт "контролер"
Цитата
2) Как программа попадает в контролер?

"контролер от Atmel" изготавливается со специальными ножками для программирования
Цитата
3) Какой компилятор выбрать, где скачать?

все!!! и любой для слова AVR все равно они все не доросли до Intel компиляторов
Цитата
Зачем осваивать компилятор, который компилирует до 4 кбайт при памяти контроллера 8 и более килобайт? Купить лицензию?

да
Цитата
4) Как правильно начать работу с компилятром, открыть проект? Почему он ругается то на нехватку файлов, то на ткст программы? Что он этим хочет сказать?

сырость кривизна и т.д.
Цитата
5) Что такое "заголовочный файл" и какие они бывают? Зачем они нужны?

по Страйутструпу в 1990-еHiader - заголовочный файл классика для С это #include "stdio.h"
Цитата
6) Как проверить текст программы на правильность и как правильно писать изначально?

метод научного тыка тыкаешь компилируешь если что-то получается значит убедил компилятор
Цитата
7) Что прочитать и где взять чтоб научиться программировать на си? (в моем случае последнюю прогу написал лет 15 назад. много воды утекло с тех пор. не сразу "врубаюсь".)

фамилия Шпак написал для AVR и PIC читать терпимо
Цитата
8) Где бы взять простеньких прог чтоб посмотреть как они работают и как их адаптировать к разным контроллерам? Типичные примеры с описанием "как для идиота" что, где и зачем какая букавка. (вплоть до черточек и запятых, это нужно для быстрого и полного понимания синтаксиса и правил написания строк программы.)

полный бардак в документациях
здесь пытаемся что-то разумное, светлое и прекрасное написать
Цитата
9) Приемы программирования?


я сам в AVR новичек
я буду писать так
сначало класика
1 инициализируем
2 пишем подпрограммы в идеале мах25 строк
узкоспециализированное решение для микропроцессоров AVR
3 главный зацикленный цикл (кошмар ohmy.gif )

язык не важен Java C Pas Asm Basic


15 лет назад какой язык был?
Цитата
Удачи!

само собой разумеется smile.gif


сегодня было время на работе
победил кривизну AVR GCC
итак моя readme.txt для AVR GCC

WinXP + AVRGCC + Atmega16 + LED
1.Скачиваем 22Mbyte WinAVR GCC
http://surfnet.dl.sourceforge.net/sourcefo...421-install.exe
2.Инсталируем WinAVR-20060421-install.exe в C:\WinAVR
3.Создаем каталог C:\WinAVR\work\proba\
4.копируем туда исходник C:\WinAVR\work\proba\proba.c
спасибо за кривой исходник от http://www.sapunoff.ru

//=========================================================
//ATmega16 моргает светодиодом на порту PС0 21pin
//используем библиотеки
#include <inttypes.h>// не верю не нужны здесь типы
#include <avr/io.h>// а вот это пожалуй да
#include <avr/interrupt.h>// не верю какие int
#include <avr/signal.h>//не верю
//подпрограмма задержки AVR //на Intel за такое ставят двойки и выгоняют--
//Минимальная задержка с кварцем 4MHz, равна 1 ms
// При пошаговой отладке эту функцию можно оключить
void delay_ms(unsigned short ms){
unsigned short outer1, outer2;//init он и в африке Init
outer1 = 200; //init он и в африке Init
while (outer1) { //зациклиться кошмар :O
outer2 = 1000; //init он и в африке Init
while (outer2) { //еще зациклиться кошмар на кошмар :O
while ( ms ) ms--; //еще зациклиться кошмар на кошмар на кошмар:O
outer2--; //расcасыватся по единичке
}
outer1--; //расcасыватся по единичке
}
}
//Основная программа ===================================
void main(void){
DDRC |= _BV(PC0); //Установить линию 0 порта С в "1" т.е. на вывод
while(1) { //Бесконечный цикл обязательный кошмар для микропроцессоров
PORTC &= ~_BV(PC0); //Сбросить бит PС0 в "0" = 0V, светодиод включен
delay_ms(500); //Ждем 0.5 сек.
PORTC |= _BV(PC0); //Установить бит PС0 в "1" = 5V, светодиод выключен
delay_ms(500); //Ждем 0.5 сек.
}
}
//=======================================================

5.создаем настроечный файл утилитой "MFile"
C:\WinAVR\bin\wish84.exe mfile.tcl
Makefile
MCUtype
ATmega
mega16
Makefile
C/C++source криво прописывает путь !!!
File
SaveAs
C:\WinAVR\work\proba\Makefile
6.Запускаем редактор
C:\WinAVR\pn\pn.exe
Открываем настроечник C:\WinAVR\work\proba\Makefile
Ctrl+O
находим кривой параметр !!!
CPPSRC = main.cpp
правим ручками на место нашего исходника например:
#CPPSRC = main.cpp
CPPSRC = C:\WinAVR\examples\proba\proba.c
Закрываем настроечник
7.Открываем исходник C:\WinAVR\work\proba\proba.c
Настраиваем параметры компиляции компилятора make.exe
Tools
Options
Tools
C/C++
Add
Name:my make all <--
Command:make
Folder:%d
Parameters:all <--
Shortcut:Нет
Save:Current File
Добавляем чистку
Add
Name:my make clean <---
Command:make
Folder:%d
Parameters:clean <---
Shortcut:Нет
Save:Current File
8.компилируем и создаем шестнадцатиричную прошивку testpp.hex для ATmega16
Tools
my make all
9.шестнадцатиричную прошивку testpp.hex можно шить в ATmega16
C:\avw125r4>writeATmega16_stk200.bat atmega16.hex
на 21 ножку она же PORTC 0 светодиод
подаем 5в питание -> светодиод моргает

Wed Sep 27 13:50:43 GMT 2006 Efremov Artem
где-то внизу фотография работающей ATmega16
только что прошил, смотрю моргает
эх ктобы мне такиую readme-шечку
все один да один все монолог до монолог
bodja74
2Artem

Пришпилю через пару дней к примерам на Си,если критики не прихлопнут. smile.gif

По вопросам от smk ,думаю можно на этой базе собрать раздел "С чего начать?",естественно немного подредактировав вопросы и предстатив более развернутые ответы.
SasaVitebsk
Artem100 у меня два серьёзных вопроса. smile.gif
Первый. Вы уверены что по Вашему "путеводителю" любой начинающий найдёт дорогу? Это я к вопросу о сложности написания примеров использования.
Второй. О каком таком компиляторе Intel идёт речь. И кто именно до него не дорос? Фамилию.

Есть и более мелкие вопросы. Ну, например, почему цикл это "кошмар". smile.gif
artem100
Цитата(SasaVitebsk @ Sep 27 2006, 22:16) *
Artem100 у меня два серьёзных вопроса. smile.gif
Первый. Вы уверены что по Вашему "путеводителю" любой начинающий найдёт дорогу?

Меня так учил Borland
пошаговая шпаргалка readme.txt десятилетиями проверенна работает
Хотите редактировать редактируйте smile.gif
главное соблюсти три принципа
1 что надо иметь до действий
2 что надо сделать
3 что мы получим в результате

в местном случае
1 какой компилятор и какая микросхема
2 что нажимать
3 как микросхема будет работать
Цитата
Это я к вопросу о сложности написания примеров использования.

не понял писать или повторять? повторять по readme.txt
Цитата
Второй. О каком таком компиляторе Intel идёт речь.

C:\WINDOWS\system32\debug.exe C:\Delphi7\Bin\delphi32.exe и т.д. и т.п.
Цитата
И кто именно до него не дорос? Фамилию.

это я такое где-то? когда-то ? там вопрос про чтокакие компиляторы был
Цитата
Есть и более мелкие вопросы. Ну, например, почему цикл это "кошмар". smile.gif

заставляя многоразрядный Intel-совместимый всеми разрядами синхронно беспрерывно щелкать мы его просто сжигаем
меня учили во время вялотекущего перебора по принципу сравнил если годиться, то решил. Никаких "форсажей"
а здесь как зарядил так без остановки намолачивай пока как-нибудь не прервет
мне за такие решения ставили двойки
Правда тут на какае-то спящие режимы натыкаюсь.

на местном языке С я наткнулся на конструкцию void main(void){ while(1){} }то есть
самое главно( не возратить ни ошибку ни правду){ пока(правда){молотить без остановки всегда} }
вот если бы не единица, а переменная тогда даем расслабится многоразрядному и горячему Intel-у или SPARC-у

но мы что-то от темы уходим

Getting started AVR

научите меня на местном программировать?
с удовольствием поучусь smile3046.gif


P.S. глянул на получившуюся readme.txt первая мысль ну и кривой компилятор sad.gif
текст написан на одном дыхании без правок
пока увидел только одну несущественную опечатку c:\winavr\example...<- c:\winavr\work\proba\proba.c
при расписывании названий меню на таких форумах теряются пробелы
ухудшается логичность и читаемость angry.gif
кому не лень можете оригинал скачать
SasaVitebsk
Цитата(artem100 @ Sep 28 2006, 00:06) *
Цитата

Второй. О каком таком компиляторе Intel идёт речь.

C:\WINDOWS\system32\debug.exe C:\Delphi7\Bin\delphi32.exe и т.д. и т.п.
Цитата
Есть и более мелкие вопросы. Ну, например, почему цикл это "кошмар". smile.gif

заставляя многоразрядный Intel-совместимый всеми разрядами синхронно беспрерывно щелкать мы его просто сжигаем


Немного у Вас сумбур в голове. smile.gif Но это бывает по первости

debug - это не компилятор, а Delfi - это не компилятор Intel. smile.gif Для Intel х86 ещё можно сказать.

Кто Вам сказал что заставляя работать Intel или другой CPU - мы его сжигаем. Как правило процессору ничего не происходит при непррывной работе даже за десятки лет. Если он работает по паспортным характеристикам. Снашиваться там практически не чему. Только старение.

Вот отрывок из статьи которую я пишу.

Часто раздаются реплики что программирование МК ни чем не отличается от программирования прикладного (Например на PC). Смею утверждать что это высказывание не верно. Хотя в общем то есть много общего, но существуют и серьёзные отличия. Рассмотрим два отличия понимание которых нам понадобится в будущем:
1) Программа на PC пишется таким образом чтобы минимально занимать ресурсы компьютера. Либо при "данном потреблении" обеспечивать максимальные возможности. Программа на МК должна просто выполнять свою функцию. То есть для МК считается вполне успешной программа, которая занимает 97% процессорных ресурсов. И наоборот если процессор занят на 30%, то, как правило, это говорит о неправильном выборе МК. (Исключения имеют право на жизнь)
2) Программа на МК пишется "на всю жизнь". То есть максимально тестируется. Максимально устраняются ошибки. "Вылизываются" алгоритмы. Расширение предусматривается только если оно явно просматривается либо предположительно возможно. В программе для PC должны быть изначально заложены возможности для расширения и взаимодействия с другим программным обеспечением.
Оба этих отличия проистекают из того, что программа МК - есть практически часть этого МК и не предусматривает частую смену. Даже если используется bootloader. Пользователь должен иметь возможность использовать изделие в том виде, в котором оно было ему поставлено. И смена программного обеспечения может рассматриваться только как факультатив (например для расширения возможностей изделия).
Рассмотрим одну особенность МК, которая также влияет на написание программ для МК. Мы безусловно привыкли что среди микропроцессоров для PC господствует архитектура Intel, но для МК всё не так запущено. smile.gif Сотни МК почти мирно уживаются на рынке. То та то другая архитектура вырывается вперёд. Мы рассматриваем семейство AVR, хотя в этом классе также из наиболее известных мы имеем ещё PIC и MSP430. Обратите на слово семейство. Это означает что при том же ядре (системе команд) выпускается несколько (иногда несколько десятков) МК отличающихся набором периферийных узлов, вычислительной мощностью, энергопотреблением и т.п.
arttab
Цитата
Программа на МК пишется "на всю жизнь". То есть максимально тестируется. Максимально устраняются ошибки. "Вылизываются" алгоритмы.

В соглашении пользователя проги для ПК есть отмазка изготовителя о ущербе нанесенной программой. Максимум возврат стоимости проги (более крупного возмещения не встречал), а за збой в работе РЭА можно ответить по факту нанесенного ущерба.
Это очень существенная разница.
artem100
[quote name='SasaVitebsk' post='158842' date='Sep 28 2006, 02:56']
повторы какие-то

Тут вы не правы.

Но мы явно в сторону от Start for AVR уходим
artem100
Цитата(SasaVitebsk @ Sep 28 2006, 02:56) *
Немного у Вас сумбур в голове. smile.gif Но это бывает по первости

d AVR я ничего не знаю жду статей
Цитата
debug - это не компилятор, а Delfi - это не компилятор Intel. smile.gif Для Intel х86 ещё можно сказать.

не согласен
Цитата
Кто Вам сказал что заставляя работать Intel или другой CPU - мы его сжигаем.

Проверенно работало на чипах без внутренней термозащиты.
Но нигде вы не найдете упоминание, кроме архивов Intel.
Цитата
Как правило процессору ничего не происходит при непррывной работе даже за десятки лет. Если он работает по паспортным характеристикам. Снашиваться там практически не чему. Только старение.

Вот отрывок из статьи которую я пишу.

Часто раздаются реплики что программирование МК ни чем не отличается от программирования прикладного (Например на PC). Смею утверждать что это высказывание не верно. Хотя в общем то есть много общего, но существуют и серьёзные отличия. Рассмотрим два отличия понимание которых нам понадобится в будущем:
1) Программа на PC пишется таким образом чтобы минимально занимать ресурсы компьютера. Либо при "данном потреблении" обеспечивать максимальные возможности. Программа на МК должна просто выполнять свою функцию. То есть для МК считается вполне успешной программа, которая занимает 97% процессорных ресурсов. И наоборот если процессор занят на 30%, то, как правило, это говорит о неправильном выборе МК. (Исключения имеют право на жизнь)
2) Программа на МК пишется "на всю жизнь". То есть максимально тестируется. Максимально устраняются ошибки. "Вылизываются" алгоритмы. Расширение предусматривается только если оно явно просматривается либо предположительно возможно. В программе для PC должны быть изначально заложены возможности для расширения и взаимодействия с другим программным обеспечением.
Оба этих отличия проистекают из того, что программа МК - есть практически часть этого МК и не предусматривает частую смену. Даже если используется bootloader. Пользователь должен иметь возможность использовать изделие в том виде, в котором оно было ему поставлено. И смена программного обеспечения может рассматриваться только как факультатив (например для расширения возможностей изделия).
Рассмотрим одну особенность МК, которая также влияет на написание программ для МК. Мы безусловно привыкли что среди микропроцессоров для PC господствует архитектура Intel, но для МК всё не так запущено. smile.gif Сотни МК почти мирно уживаются на рынке. То та то другая архитектура вырывается вперёд. Мы рассматриваем семейство AVR, хотя в этом классе также из наиболее известных мы имеем ещё PIC и MSP430. Обратите на слово семейство. Это означает что при том же ядре (системе команд) выпускается несколько (иногда несколько десятков) МК отличающихся набором периферийных узлов, вычислительной мощностью, энергопотреблением и т.п.

в отрывке из статьи Вы пишете аккуратно
Полностью согласен
а вот с терминологиейКомпилятор
C:\WINDOWS\system32\debug.exe
C:\Delphi7\Bin\delphi32.exe
...
и даже определенных ситуациях Интерпретатор с помощью C:\jdk150\bin\javaС.exe C:\jdk150\bin\java.exe ведет себя как Компилятор
Симуляторы надеюсь тоже местные потрогать smile.gif
С терминологией
Компилятор - Преобразователь текста в двоичный код огромная масса debug delphi bcc16 bcc32... etc.
Интерпретатор - Выполнятель текста(кода) без преобразования Из современных например - C:\jdk150\bin\java.exe
Симуляторы - Симулировать оболочку Различные виртуальные машины одной Операционной системы в другой Операционной системе. Симулирование физического устройства программной оболочкой.
Тут вы не правы.

Но мы явно в сторону от Start for AVR уходим
TomaT
Цитата(bodja74 @ Sep 25 2006, 19:51) *
Цитата

Этот сайт посвящен чайникам,желающим освоить программирование микроконтроллеров АВР, но не знающим с чего начать.

Ну вот я же и недаром такой раздел ввел,может кто напишет с чего начать....

Да я не то имел ввиду! Ошибку на исправьте на заглавной странице, а то не солидно как то...

Цитата(artem100 @ Sep 25 2006, 21:56) *
...
питать буфер от LPT1 порта не получиться
...

Вот тут бывает "очень сильное колдунство" smile.gif у меня, например, прекрасно (правда через разsmile.gif) зашивалась М128 подключенная через 244-й без питания вообще! т.е. питания для нее и для 244-го хватало того, что натекало через защитные диоды с сигнальных линий. Долго я репу чесал чегой то оно у меня через раз прошивается...
genviktr
Цитата(SasaVitebsk @ Sep 20 2006, 22:23) *
А я предлагаю модульную структуру.
1) Сам контроллер. Все порты выведены единым образом на разъёмы.
2) Подключаемая переферия. Исходя из п.1 может подключатся к любым портам.

Это даёт возможность подключать нужную переферию.

Предлагаю следующую схему контроллера. Понравится сделаю плату и остальную переферию.


Вопрос чайника! Где приобрести ЖКИ HDM20416L или какой другой подходящий по г.Москве или инет-магазине. Заранее благодарен! smile.gif
ILYCHOFF
Цитата(genviktr @ Sep 28 2006, 13:35) *
Цитата(SasaVitebsk @ Sep 20 2006, 22:23) *

А я предлагаю модульную структуру.
1) Сам контроллер. Все порты выведены единым образом на разъёмы.
2) Подключаемая переферия. Исходя из п.1 может подключатся к любым портам.

Это даёт возможность подключать нужную переферию.

Предлагаю следующую схему контроллера. Понравится сделаю плату и остальную переферию.


Вопрос чайника! Где приобрести ЖКИ HDM20416L или какой другой подходящий по г.Москве или инет-магазине. Заранее благодарен! smile.gif


В Чип и Дип. 20 символьный 4 строчный
genviktr
Цитата(ILYCHOFF @ Sep 28 2006, 13:47) *
Цитата(genviktr @ Sep 28 2006, 13:35) *

Цитата(SasaVitebsk @ Sep 20 2006, 22:23) *

А я предлагаю модульную структуру.
1) Сам контроллер. Все порты выведены единым образом на разъёмы.
2) Подключаемая переферия. Исходя из п.1 может подключатся к любым портам.

Это даёт возможность подключать нужную переферию.

Предлагаю следующую схему контроллера. Понравится сделаю плату и остальную переферию.


Вопрос чайника! Где приобрести ЖКИ HDM20416L или какой другой подходящий по г.Москве или инет-магазине. Заранее благодарен! smile.gif


В Чип и Дип. 20 символьный 4 строчный


Вы имеете в виду фирму DATA VISION DV-20400S2RT/R и подобные ? smile.gif
SasaVitebsk
Цитата(genviktr @ Sep 28 2006, 12:35) *
Вопрос чайника! Где приобрести ЖКИ HDM20416L или какой другой подходящий по г.Москве или инет-магазине. Заранее благодарен! smile.gif


Я нашёл такой элемент в базе. А вообще можно прибретать любой такого типа. Для стенда можете взять 4х20 или 2х20 или 2х16. Работать они будут практически одинаково. Во всяком случае я буду писать прогу чтобы с любым работало. По деньгам дешевле двухстрочные. Лучше возьмите с подсветкой в корпусе, а то они бывают безкорпусные (просто стекло и выводы). Средняя стоимость от 5 до 9$.

Цитата(Artem100 @ Sep 28 2006, 12:35) *
и даже определенных ситуациях Интерпретатор с помощью C:\jdk150\bin\javaС.exe C:\jdk150\bin\java.exe ведет себя как Компилятор
Симуляторы надеюсь тоже местные потрогать
С терминологией
Компилятор - Преобразователь текста в двоичный код огромная масса debug delphi bcc16 bcc32... etc.
Интерпретатор - Выполнятель текста(кода) без преобразования Из современных например - C:\jdk150\bin\java.exe
Симуляторы - Симулировать оболочку Различные виртуальные машины одной Операционной системы в другой Операционной системе. Симулирование физического устройства программной оболочкой.
Тут вы не правы.


Опеделения просты. smile.gif
Есть такое понятие - Транслятор. Трансляторы бывают двух типов - Компиляторы и Интерпретаторы. Они по определению не могут быть одинаковы. Что значит "ведут себя одинаково в определённых ситуациях". Спирт в определённых ситуациях ведёт себя как бензин. Вы бензин пробовали пить? Другое дело что существуют програмные пакеты которые интегрируют в себе Редактор, Интерпретатор и Компилятор. Но в любом случае - это разные вещи. Так например интерпретатор может написать программист средней руки. И займёт это не долго. Написать же компилятор - это задача отнюдь не тривиальная. Можно конечно упростить, так называемый пи-код, но в любом случае - это задача очень непростая.
Симулятор к этому никакого отношения не имеет. В своей жизни я писал несколько Ассемблеров-Дизасемблеров, а также и симулятор писал. Для 51-ой однокристалки. И пользовался им. smile.gif Он у меня есть и я могу выложить его для прикола.
SasaVitebsk
Цитата(genviktr @ Sep 28 2006, 12:35) *
Вопрос чайника! Где приобрести ЖКИ HDM20416L или какой другой подходящий по г.Москве или инет-магазине. Заранее благодарен! smile.gif


Я нашёл такой элемент в базе. А вообще можно прибретать любой такого типа. Для стенда можете взять 4х20 или 2х20 или 2х16. Работать они будут практически одинаково. Во всяком случае я буду писать прогу чтобы с любым работало. По деньгам дешевле двухстрочные. Лучше возьмите с подсветкой в корпусе, а то они бывают безкорпусные (просто стекло и выводы). Средняя стоимость от 5 до 9$.

Цитата(Artem100 @ Sep 28 2006, 12:35) *
и даже определенных ситуациях Интерпретатор с помощью C:\jdk150\bin\javaС.exe C:\jdk150\bin\java.exe ведет себя как Компилятор
Симуляторы надеюсь тоже местные потрогать
С терминологией
Компилятор - Преобразователь текста в двоичный код огромная масса debug delphi bcc16 bcc32... etc.
Интерпретатор - Выполнятель текста(кода) без преобразования Из современных например - C:\jdk150\bin\java.exe
Симуляторы - Симулировать оболочку Различные виртуальные машины одной Операционной системы в другой Операционной системе. Симулирование физического устройства программной оболочкой.
Тут вы не правы.


Опеделения просты. smile.gif
Есть такое понятие - Транслятор. Трансляторы бывают двух типов - Компиляторы и Интерпретаторы. Они по определению не могут быть одинаковы. Что значит "ведут себя одинаково в определённых ситуациях". Спирт в определённых ситуациях ведёт себя как бензин. Вы бензин пробовали пить? Другое дело что существуют програмные пакеты которые интегрируют в себе Редактор, Интерпретатор и Компилятор. Но в любом случае - это разные вещи. Так например интерпретатор может написать программист средней руки. И займёт это не долго. Написать же компилятор - это задача отнюдь не тривиальная. Можно конечно упростить, так называемый пи-код, но в любом случае - это задача очень непростая.
Симулятор к этому никакого отношения не имеет. В своей жизни я писал несколько Ассемблеров-Дизасемблеров, а также и симулятор писал. Для 51-ой однокристалки. И пользовался им. smile.gif Он у меня есть и я могу выложить его для прикола.
artem100
Цитата(SasaVitebsk @ Sep 28 2006, 14:10) *
Опеделения просты. smile.gif
Есть такое понятие - Транслятор. Трансляторы бывают двух типов - Компиляторы и Интерпретаторы. Они по определению не могут быть одинаковы. Что значит "ведут себя одинаково в определённых ситуациях". Другое дело что существуют програмные пакеты которые интегрируют в себе Редактор, Интерпретатор и Компилятор. Но в любом случае - это разные вещи. Так например интерпретатор может написать программист средней руки. И займёт это не долго. Написать же компилятор - это задача отнюдь не тривиальная. Можно конечно упростить, так называемый пи-код, но в любом случае - это задача очень непростая.
Симулятор к этому никакого отношения не имеет. В своей жизни я писал несколько Ассемблеров-Дизасемблеров, а также и симулятор писал. Для 51-ой однокристалки. И пользовался им. smile.gif Он у меня есть и я могу выложить его для прикола.

не согласен
поставте и изучите термин Интерпретатор - Исполнитель
C:\jdk150\bin\java.exe
мне не инстересно спорить
мы явно уходим от темы

только что отловил ошибку у Шпак Программирование для микроконтроллеров AVR и PIC стр.77

//sos.c------------------
#include <avr/io.h>
//#include <avr/delay.h>
#include "C:\WinAVR\avr\include\util\delay.h"//не обязательно так четко версию выбирать указывать
//-------------------------
void pause(int ms){
PORTD=0xff;//светодиоды отключенны
_delay_loop_2(ms);//задержка <--!!!
}
//-----------------------
void p(void){
PORTD=0;//включены светодиоды
_delay_loop_2(5);//задержка
pause(5);//пауза с погасшими светодиодами
}
//----------------------
void d(void){
PORTD=0;//включены светодиоды
_delay_loop_2(20);//задержка
pause(5);//пауза с погасшими светодиодами
}
//===========================
int main(void){
DDRB=0xff;//init port out
while(1){
p();
p();
p();
d();
d();
d();
p();
p();
p();
pause(100);
}
}
//===========================

-------- end --------


> Process Exit Code: 0
> Time Taken: 00:01

ксати по теме
для языка Java NanoVM в ATmega8 кто-нибудь пробовал?
здесь в терминологии NanoVM не уверен
bodja74
Цитата(artem100 @ Sep 28 2006, 17:19) *
мне не инстересно спорить
мы явно уходим от темы


Действительно,начали за здравие,кончили за упокой. smile.gif

Цитата
Второй. О каком таком компиляторе Intel идёт речь. И кто именно до него не дорос? Фамилию.

Этот вопрос обсуждали как хотели.

Цитата
Первый. Вы уверены что по Вашему "путеводителю" любой начинающий найдёт дорогу? Это я к вопросу о сложности написания примеров использования.


Зато про этот никто и не вспомнил.

Предлагаю действительно,примеры кода вынести в отдельный раздел,а как пользоватся допустим
WinAVR и как настроить и подробнее это написать ,вынести в другой.
Так как я например и половины не понял ,что и как настроить ,чтобы успешно откомпелировать.
SasaVitebsk
Цитата(bodja74 @ Sep 28 2006, 21:09) *
Предлагаю действительно,примеры кода вынести в отдельный раздел,а как пользоватся допустим
WinAVR и как настроить и подробнее это написать ,вынести в другой.
Так как я например и половины не понял ,что и как настроить ,чтобы успешно откомпелировать.


Я тоже не разобрался с GCC. Правда особо не стремился. Как-то сразу на IAR рванул. Кто-то на форуме обещался написать чёткий путеводитель по GCC. Установка, работа и прочее. Это был бы большой плюс. А то обилие информации о какой они пишут, я бы сказал, не совсем упорядочена. Во всяком случае мне так показалось. Так что я оцениваю пишущих на нём как профи с большой буквы. smile.gif
С другой стороны, мне кажется , любые примеры имеют право быть. Может кому-то по душе придётся пример написанный artem100. И будет даже наглядней того, что мы ваяем. Поэтому можно помещать и такие примеры в раздел примеров для начинающих. Примеров много не бывает. Вот статьи стоит обсуждать и править. И, возможно, убирать спорные места.
bodja74
2SasaVitebsk

Согласен smile.gif

Теперь по теме.
Смоитрим , обсуждаем и критикуем две статьи. Раздел "статьи" - "асм-комманды" и "шим".

ЗЫ Если у кого в в кеше осталась старая страница , нажать кнопку "обновить"
SasaVitebsk
Цитата(bodja74 @ Sep 28 2006, 22:41) *
Теперь по теме.
Смоитрим , обсуждаем и критикуем две статьи. Раздел "статьи" - "асм-комманды" и "шим".

ЗЫ Если у кого в в кеше осталась старая страница , нажать кнопку "обновить"


По таймеру бегло просмотрел, - мне понравилось. Надо скачать. smile.gif

А по командам у меня готовая есть. Очень удобная. Посмотри пожалуйста. Там правда не описаны новые дерективы препроцессора. Типа .if / .else ..... Но это можно поправить.
bodja74
Вау,хорошая справка,да еще и html,не нужно теги вколачивать,дополню часто применяемыми последовательностями и будет самое оно. smile.gif
singlskv
Цитата(bodja74 @ Sep 28 2006, 23:41) *
Теперь по теме.

Исчо немного критики smile.gif
rjmp (PC-2)
brne (PC-1)
, и т.д.
может быть заменить на реальные метки ?
новички могут не понять...
singlskv
Цитата(bodja74 @ Sep 28 2006, 23:41) *
Смоитрим , обсуждаем и критикуем две статьи. Раздел "статьи" - "асм-комманды" и "шим".

Посмотрел про PWM.
ИМХО:
У Вас не соответствуют диаграммы с установками регистров таймера smile.gif
OCRx=(кол тактов) -1 (должно быть?!)
bodja74
Цитата(singlskv @ Sep 28 2006, 23:29) *
rjmp (PC-2)
brne (PC-1)
, и т.д.
может быть заменить на реальные метки ?
новички могут не понять...


Я думаю как раз стоит их учить создавать короткие переходы именно так,а не создавать бесчисленное
количество меток только ради того,что бы перепрыгнуть через пару команд.
Конечно можно возразить ,типа "а если захочется вставить еще парочку команд всередину",
я могу согласиться ,но почему бы не показать пример уже отлаженой подпрограммы для применения в других проектах и не думать о том, что метки могут совпасть.

Это конечно мое ИМХО . smile.gif Хотя могу согласиться с тем ,что у каждого свои взгляды ,как нужно учить и расказывать новичку.


Цитата(singlskv @ Sep 29 2006, 00:04) *
У Вас не соответствуют диаграммы с установками регистров таймера smile.gif
OCRx=(кол тактов) -1 (должно быть?!)


Согласен,исправимся smile.gif
Petka
Цитата(bodja74 @ Sep 29 2006, 01:20) *
Цитата(singlskv @ Sep 28 2006, 23:29) *


rjmp (PC-2)
brne (PC-1)
, и т.д.
может быть заменить на реальные метки ?
новички могут не понять...


Я думаю как раз стоит их учить создавать короткие переходы именно так,а не создавать бесчисленное
количество меток только ради того,что бы перепрыгнуть через пару команд.
....
конечно мое ИМХО . smile.gif Хотя могу согласиться с тем ,что у каждого свои взгляды ,как нужно учить и расказывать новичку.


Категорически настаиваю, что бы переходы в примерах были только по меткам, это приучает к правильному стилю программирования, но надо обязательно в статьях уделить внимание что так тоже иногда пишут. Но только для того, что бы прочитавший статью умел читать чужой код, но сам писал "правильно".
genviktr
Цитата(SasaVitebsk @ Sep 25 2006, 02:33) *
Считаю что схема "утверждена". Внёс последние изменения. Добавил светодииод питания по просьбе трудящихся. (Думаю он не помешает) Ну и подчистил хвосты. Помещаю в ZIP варианте по просьбе. Может кто сконвертит в PDF или переразведёт в PCAD. Лучше выложить в нескольких форматах. smile.gif


Вопрос чайника! SasaVitebsk зачем нужен jp7, как бы питание на землю непосадить? В rs232 незнакомый тр-р 2n3565, можно ли его чем-нибудь заменить, и зачем он нужен? Заранее благодарен.
smile.gif
genviktr
И всё-же в nix-06-01 F1 - это предохранитель на 1А или Диод I=1А, если Диод, то какой? Отечественные уж больно большие. help.gif
bodja74
Цитата(Petka @ Sep 30 2006, 11:22) *
Категорически настаиваю, что бы переходы в примерах были только по меткам, это приучает к правильному стилю программирования, но надо обязательно в статьях уделить внимание что так тоже иногда пишут. Но только для того, что бы прочитавший статью умел читать чужой код, но сам писал "правильно".


Приведу слова SasaVitebsk

Цитата
Нельзя допускать, чтобы были примеры одного человека. Один человек - один подход, а это не совсем правильно даже если этот человек очень грамотный. Пускай будут разные примеры и люди.
То же и для Си. Это упростит навигацию. Конечно подразделы можно создавать и в процессе поступления примеров и статей.


У меня конструкция типа (PC+1) только в одном примере.И как Вы заметели так тоже пишут smile.gif
Поэтому предлагаю написать свои примеры как вы считаете правильно,а я их расположу на сайте.

ЗЫ Я принимаю конструктивную критику что касается ошибок в программе или статье.Критику в адресс стиля написания,названия меток ,коментариев и прочее в дальнейшем я принимать не буду и оставляю это право за собой.
Таже политика будет и в адресс чужой статьи или примеров.
SasaVitebsk
Цитата(genviktr @ Sep 30 2006, 19:08) *
Цитата(SasaVitebsk @ Sep 25 2006, 02:33) *

Считаю что схема "утверждена". Внёс последние изменения. Добавил светодииод питания по просьбе трудящихся. (Думаю он не помешает) Ну и подчистил хвосты. Помещаю в ZIP варианте по просьбе. Может кто сконвертит в PDF или переразведёт в PCAD. Лучше выложить в нескольких форматах. smile.gif


Вопрос чайника! SasaVitebsk зачем нужен jp7, как бы питание на землю непосадить? В rs232 незнакомый тр-р 2n3565, можно ли его чем-нибудь заменить, и зачем он нужен? Заранее благодарен.
smile.gif


JP7 Если Вам не нужен, то можно не запаивать (чтобы не закоротить). Вообще то для работы с АЦП для учебных задач вполне подходит внутренняя опора (2.5V). Однако в определённых случаях это опорное напряжение необходимо изменить (например уменьшить до 1V). В этом случае применяется спец. микросхема. При той схеме что нарисована, вполне можно будет сделать маленькую плату и воткнуть в JP7.

в RS232 стоит обычный тр-р типа нашего кт3102/кт315. Можно применить и полевой типа кп505. Правда во втором случае надо выкинуть резистор базы/затвора. Используется он для индикации. Дело в том что выход у adm232 - слабенький. Кстати микруха пойдёт max232/adm202ean/adm232aan. Я поставил последнюю. Обычно АД подешевле. Схема на USB - полный аналог. Иными словами программа одна и та же будет работать как со стороны PC так и со стороны м16.


Я уже всё запаял. Выложу картинки. smile.gif Детали пульта купил и привёз. Сделаю библиотечные элементы, потом нарисую схему/плату и выложу. Программы пока пишу.

Цитата(Petka @ Sep 30 2006, 19:08) *
Категорически настаиваю, что бы переходы в примерах были только по меткам, это приучает к правильному стилю программирования, но надо обязательно в статьях уделить внимание что так тоже иногда пишут. Но только для того, что бы прочитавший статью умел читать чужой код, но сам писал "правильно".


Сам ассемблер AVR Studio, конечно очень слабенький. Это очевидно любому. Но они с него начали, и теперь пытаются поддерживать. Но говорить макроассемблер даже язык не поворачивается. То что Вы считаете "правильным", на самом деле - не очень. Представте себе хорошую прогу на ассемблере. 5000 строк. Учитывая построение ассемблера представьте себе общее число меток. Я не считал, но думаю свыше тысячи. Теперь представьте себе, что по писанному (ну тоесть Eto_metka_bloka_2_hfzd4) не хочется. Иначе потом все переходы получаются аналогичные. Ну вот и начинается типа: v23x4. Конечно ненаглядно и потом начинаешь повторятся ну и т.д. Выходом из такой ситуации всегда были локальные метки. Но их нет в AVR Studio. В этом смысле относительные метки ни чем не хуже а даже лучше. А в некоторых случаях просто незаменимы. Например в MACRO. Привожу пример:

.macro outHDRS
sbi portHDRS,HDRS ; Установить строку в "1"
brts PC+2 ; проверить бит регистра
sbi portHDRS,HDRS ; Сбросить строку в "0" если нужно
.endm
genviktr
Цитата(artem100 @ Sep 23 2006, 09:57) *
Цитата(Nanobyte @ Sep 21 2006, 22:55) *

2. Лучше поставить электронный предохранитель (Polyswitch от Bourns, или подобный) на 0.5-1 А.Обратно включенный защитный диод (супрессор) типа 1.5КЕxx уж точно по питанию спалить ничего не даст.

вместо "молчащем светодиоде" и защиты от ошибки, в таком случае мы получаем необходимость поиска, паяния очередного предохранителя
вы что хотите обслуживать за деньги (не погарантии) эти макетки smile.gif

схемы куда уж проще
рисуется лежа на диване двумя пальцами по даташиту mega16.pdf от Atmel-a
паяется на коленке к 40ножечной колодке на весу за 2 часа
а дальше только кодить надо

программатор lpt1 типа STK200 с C:\avw125r4\avreal32.exe от Редчука проще нет
я выбрал подключение через буфферочик типа К1533АП5 на схемке англоязычный вариант 74hc244
буфер не обязателен
я выбрал чтобы защитить порт нотебука1500$ и поднять уровни программирования
длянна шлейфа нотебук<->макетка уверрено достигла 40см

кикие схемо-редакторы с вечно кривыми библиотеками OrCad Pcad Eagle
повторюсь

делать обязательно
------------------------------------------
1 к 40 ножечной колодке паяются штырки,
2 10кОм на RESET,
3 конденсатор на 50мкф,
4 стабилизатор на 5v+прямо включенный диодик,
5 штырки для внешнего стабилизатора, а полезнее от старого 12v UPS-ного аккумулятора (на год хватит)
-------------------------------------------

по желанию
-------------------------------------------
6 кнопки
7 контрольные светодиоды
8 релюшки
9 шаговые моторы
10 дешевые двух-строчные типа SC1602 LCD-шки надеваются на штырки
--------------------------------------------

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

куда уж проще


Artem100! Поясните пожайлуста. Разве можно в STK200 соединять выходы 15533АП5 3,5,7 и т.д. вместе. help.gif
SasaVitebsk
По поводу "куда уж проще" выскажусь продолжая топик выше.
Ч/з неделю ты не вспомнишь что за штырьки и куда что втыкалось. А ч/з месяц вообще не вспомнишь что это за хреновина валяется. Всё это мы проходили. Иногда не по одному разу. (т.к. потом паяешь другую и т.д.)

Не ленитесь. Ленивый тоже платит дважды. А здесь у вас будут твёрдые схемы и цивилизованное изделие. У меня, например, тест уже работает. Фотку пришлю.

Теперь по поводу стенда пара слов.
Обнаружено при отладке два хомута. sad.gif
1) Моё гнездо питания почему-то не ту цокалёвку имеет. sad.gif Я просто бросил перемычку. Если у других аналогично, то я исправлю.
2) Для тех у кого есть JTAG (У меня JTAG ICE MK2). На ногу 4 разъёма JTAG надо подать +5V. Иначе не фурычит.

Сваял простенькое устр-во. Для проверки портов и т.д. Написал прогу на IAR C. Динамическая индикация.

1. Нужны - 8-ми разрядный светодиодный индикатор (я взял от аона) и 8 резисторов 2к2.
2. На порт B(A) подаём сегменты ч/з резисторы 2к2. На порт D© подаём выборку.
Заливаем и смотрим число секунд работы изделия. Порты A-C - счёт от нуля. А порты B-D от 99999999 к нулю.

Я разряды подключал последовательно, хотя программа позволяет менять всё.
Проект прикладываю.
bodja74
2 SasaVitebsk

Будем выкладывать в примеры или подождем?

Расположил присланную мне схему и печатку STK200.
Смотрим. http://nix-06.nm.ru/Prog/STK200.html
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.