Помнишь, Я жаловался, что мой программатор сам запитывает программируемую схему от разъема LPT, хотя делать этого не должен. А когда я подключаю питание к программируемой схеме то, он отказывается прошивать. я разобрался в чем дело! ( смотри схему ) видишь диод КД522 .... Так я его не правильно припаял! у него разметка наоборот ( со стороны анода, а я привык что разметка со стороны катода )
Исправил схему. Я подтянул Reset к питанию через выключатель. В режиме программирования выключатель будет включен, а в остальное время будет выключен. Мне кажется намного разумнее сделать подтяжку РЕСЕТа в самом программаторе. ( то-есть РЕСЕТ будет подтянут только тогда, когда программатор будет включен ) Ты как думаешь ?
Исправил схему. Я подтянул Reset к питанию через выключатель. В режиме программирования выключатель будет включен, а в остальное время будет выключен.
а смысл ? подтяни резет к 5 в. через 10 ком и забудь про этот вывод.. он будет использоваться только для программирования или сброса микроконтроллера.. для управления дисплеем он не может быть использован без изменения фюзов..
лучше для строба (sclk) дисплея используй вывод управляющий полевиком... для отладки можно выводить строки на дисплей, а потом когда дисплей отключишь уже использовать этот вывод только для управления полевиком Виталий (аka ВитГо)
ADSC - этот бит устанавливается автоматически, когда происходит преобразование АЦП. когда преобразование завершается этот бит сбрасывается в нуль. ( что бы включить одиночное преобразование нужно установить вручную этот бит )
ADATE - этот бит включает автоматический запуск АЦП // (лог_1 = автозапуск, лог_0 = одиночное преобразование )
ADIF - этот бит устанавливается при обновлении данных после завершения преобразования АЦП
ADIE - этот бит разрешает прерывание ( в том случае если бит I в регистре SREG установлен )
APDS2, APDS1 и APDS0 - эти биты устанавливают тактовую частоту
1) ну например не понял для чего устанавливать ADSC // ( ..... это для инициализации АЦП ? )
2) и не понял зачем скидывать ADATE ( отключаем автозапуск... автозапуск чего ? )
( пользовался google translate - может что не так перевел...)
3) у тебя не задан аналоговый вход (MUX0-MUX4) // ( по умолчанию что ли какой то стоит ? )
4) Читал где то что модуль АЦП может работать как в режиме одиночного преобразования, так и непрерывного.
Цитата
Ну и последняя, пожалуй, тонкость. Модуль АЦП может работать как в режиме одиночного преобразования, так и непрерывного. В первом случае модуль АЦП инициализируется и разрешается однократное преобразование, по завершении которого модуль снова переходит в ждущий режим до следующего разрешения. В режиме непрерывного преобразования модуль АЦП также инициализируется, и разрешится первое преобразование. По завершении его модуль АЦП может либо сразу автоматически начать новое преобразование, либо ожидать разрешения от какого-либо периферийного модуля (таймера, внешнего прерывания, компаратора и др.). Как вы уже, наверное, догадались, все эти режимы задаются установкой нужных битов.
Вопрос про одиночное преобразование. Как может разрешится новое одиночное преобразование? ( по какому событию ? ) не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Воскресенье, 20.01.2013, 00:12
1) ну например не понял для чего устанавливать ADSC // ( ..... это для инициализации АЦП ? ) 2) и не понял зачем скидывать ADATE ( отключаем автозапуск... автозапуск чего ? )
ADSC устанавливаем чтобы запустить преобразование ADATE - сбрасываем чтобы получить результат только одного преобразования (следующее автоматом запущено не будет) ... обычно это используется когда нужно получить значения с нескольких каналов АЦП
Цитата (uwrtey)
3) у тебя не задан аналоговый вход (MUX0-MUX4) // ( по умолчанию что ли какой то стоит ? )
почему не задан ?! вот задаю
Код
LDI R17 , ADC_ADMUX OR R17 , R16 ; накладываем номер канала для чтения OUT ADMUX , R17 ; сохраняем настройки АЦП
Цитата (uwrtey)
4) Читал где то что модуль АЦП может работать как в режиме одиночного преобразования, так и непрерывного.
Цитата (uwrtey)
Вопрос про одиночное преобразование. Как может разрешится новое одиночное преобразование? ( по какому событию ? )
вот установкой ADSC и сбросом ADATE и запускается одиночное преобразование Виталий (аka ВитГо)
блин, что сфорумом ? с интернет-эксплорера не возможно отправлять новые ответы.... ( я на работе маюсь, дома у меня мозила - проблем нет ) не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Воскресенье, 20.01.2013, 10:19
блин, что сфорумом ? с интернет-эксплорера не возможно отправлять новые ответы....
не знаю, у меня хром, вроде нормально все работает..
вообще конечно немного напрягает забота и апгрейды хостинга.. о том что есть какие то изменения я узнаю только после того как чтото отваливается и я спрашиваю у службы поддержки.. не знаю буду ли я продлять хостинг на следующий год... может быть действительно проще купить только хостинг и заплатить за создание сайта (или самому разобраться с cms какой нить) Виталий (аka ВитГо)
каждое прерывание таймера читаешь значение из АЦП и запускаешь единичное новое преобразование после этого печатаешь значение на экране...
можно и непрерывное преобразование запустить - тогда даже проще получиться - просто считываем значение АЦП и печатаем его на экране в цикле... Виталий (аka ВитГо)