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

 
 
> Не могу собрать простейшую схему с кнопкой и диодом, Вернее могу, но она работает не так как я расчитывал
alex112
сообщение Apr 16 2012, 15:47
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 14-02-10
Пользователь №: 55 477



Решил начать осваивать программирование на AVR. Была приобретена вот такая вещь (http://www.chipdip.ru/product/me-easyavr6.aspx), был скачен протеус и понеслось.
С примерами что в протеусе, что в макетке проблемм не возникло и решил я чего то напроектировать сам.

В протусе. Взял Atmega16, повесил на ножку B0 кнопку, кнопку кинул на землю. На С0 повесил диод и его тоже на землю кинул. Написал программку:

if (Button(&PORTB,1,1) {
PORTC=0x01;
}
else {
PORTC=0x00;
}
примерно такую, пишу по памяти.

Запускаю симуляцию: нажимаешь на кнопку, диод гаснет, отпускаешь - загорается. Ладно, допустим (хотя почему такое получается? Откуда берется единица на B0?). Пытаемся повторить тоже самое на макетной плате. В приложении фотка как кнопки подключены
http://electronix.ru/forum/style_images/1/.../attach_add.png
переключил J13 на землю, воткнул J18 еще и.... ничего. Вообще никакой реакции. Опять же вопрос, почему в симуляторе работает, а тут нет?

идем дальше, возвращаем на макетной плате все обратно, шьем прошивку и работает все так как и надо -при нажатии на кнопку диод загорается, а при отпускании кнопки - гаснет. Т.е. абсолютно наоборот, нежеле в симуляторе. Но в симуляторе кнопка на землю заведена а в макетке - на питание, я так понимаю.
Тк вот вопрос: где в протеусе этот самый элемент питания? Нашел какой-то INPUT, и вроде даже заработало, но только на один раз - нажал, загорелось и все. Не гаснет после отпускания кнопки.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bav
сообщение Apr 19 2012, 09:20
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 693
Регистрация: 21-06-05
Из: Санкт-Петербург
Пользователь №: 6 184



Цитата
а что это дает и зачем нужно? со светодиодом понятно, а тут?

порты по входу имеют ооооочень высокое сопротивление, поэтому если он "висит" в воздухе (когда кнопка отпущена), то не известно что на его входе 1 или 0. поэтому и стоит подтянуть его к цепи питания для того, что бы гарантировать на входе четкую 1. это можно сделать внешним резистором (~10 к достаточно) или внутренним.
когда кнопка нажата, входной порт будет четко притянут к земле, т.е. на входе будет 0.
а теперь снова прочитайте что Вы написали
Цитата
Т.е. уровень мериентся относительно С0? Я думал что для высокого уровня нужно 5В подать....

будьте более внимательны, не ленитесь читать рекомендованную литературу...
Go to the top of the page
 
+Quote Post
alex112
сообщение Apr 19 2012, 21:46
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 14-02-10
Пользователь №: 55 477



Цитата(bav @ Apr 19 2012, 13:20) *
порты по входу имеют ооооочень высокое сопротивление, поэтому если он "висит" в воздухе (когда кнопка отпущена), то не известно что на его входе 1 или 0. поэтому и стоит подтянуть его к цепи питания для того, что бы гарантировать на входе четкую 1. это можно сделать внешним резистором (~10 к достаточно) или внутренним.
когда кнопка нажата, входной порт будет четко притянут к земле, т.е. на входе будет 0.

ну изначально я хотел по другому - когда нажата - светодиод горит, а когда отпущена, то не горит. Т.е. мне надо +5 завести через кнопку на В0 и между кнопкой и В0 заземлить проводник через резистор, т.е. подтянуть его к земле когда кнопка разомкнута.


Цитата(Палыч @ Apr 18 2012, 23:26) *
Можно включить внутреннюю подтяжку:
Код
PORTB= 0x01;

А куда она подтягивает? К питанию? А к земле это 0х00?
Go to the top of the page
 
+Quote Post
Палыч
сообщение Apr 20 2012, 04:32
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(alex112 @ Apr 20 2012, 01:46) *
ну изначально я хотел по другому - когда нажата - светодиод горит, а когда отпущена, то не горит.
Достаточно поменять местами строки присваивания значения POTRC

Цитата(alex112 @ Apr 20 2012, 01:46) *
А куда она подтягивает? К питанию? А к земле это 0х00?
Да, подтягивает к питанию. При PORTB= 0x00 подтяжка отключена.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- alex112   Не могу собрать простейшую схему с кнопкой и диодом   Apr 16 2012, 15:47
- - kovigor   Цитата(alex112 @ Apr 16 2012, 18:47) if (...   Apr 16 2012, 17:37
|- - alex112   Цитата(kovigor @ Apr 16 2012, 21:37) 1. P...   Apr 17 2012, 06:31
- - Ruslan1   Цитата(alex112 @ Apr 16 2012, 18:47) На С...   Apr 16 2012, 18:10
|- - Microwatt   Цитата(Ruslan1 @ Apr 16 2012, 21:10) Еще ...   Apr 16 2012, 21:55
- - alex112   ну так что? Просили схему и программу.... и куда в...   Apr 18 2012, 15:42
- - bav   1. на кнопку нужен подтягивающий резистор? 2. при ...   Apr 18 2012, 15:56
|- - alex112   Цитата(bav @ Apr 18 2012, 19:56) 1. на кн...   Apr 18 2012, 18:50
|- - Палыч   Цитата(alex112 @ Apr 18 2012, 22:50) наве...   Apr 18 2012, 19:26
|- - alex112   Цитата(Палыч @ Apr 18 2012, 23:26) Можно ...   Apr 18 2012, 20:32
- - alexvu   Цитата(Microwatt @ Apr 17 2012, 00:55) Ка...   Apr 18 2012, 20:57
- - bav   Цитатану изначально я хотел по другому - когда наж...   Apr 20 2012, 09:50
|- - alex112   Цитата(bav @ Apr 20 2012, 13:50) можно и ...   Apr 23 2012, 12:19
- - bav   ЦитатаА в чем принципиальное отличие? обычно комму...   Apr 23 2012, 12:53
|- - alex112   Цитата(bav @ Apr 23 2012, 16:53) обычно к...   Apr 24 2012, 20:44
- - bav   ЦитатаТак в каждой книжке пишут что лучше, от грех...   Apr 25 2012, 12:03
- - alex112   Цитата(bav @ Apr 25 2012, 16:03) есть док...   Apr 25 2012, 13:22


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

 


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


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