| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
Цифровой вольтметр (на АВР)
15.05.2010, 22:55
|
|
|
Частый гость
Регистрация: 24.03.2009
Сообщений: 21
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Цифровой вольтметр (на АВР)
Кто-то собирал данное устройство ?
Можете дать схему и исходники ?
|
|
|
|
15.05.2010, 23:20
|
|
|
Вид на жительство
Регистрация: 05.01.2007
Адрес: Украина, г. Макеевка
Сообщений: 407
Сказал спасибо: 227
Сказали Спасибо 62 раз(а) в 52 сообщении(ях)
|
Re: Цифровой вольтметр(на АВР)
Поищите в теме о проектах Proteus, там точно был.
__________________

____________________________________________
Internet Explorer - это такая программа, с помощью которой можно зайти на сайт http://opera.com и скачать себе браузер...
|
|
|
|
16.05.2010, 00:54
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: Цифровой вольтметр(на АВР)
Если решили собирать по чужой схеме, не все ли равно на каком контроллере оно собрано?
|
|
|
|
16.05.2010, 10:02
|
|
|
Частый гость
Регистрация: 24.03.2009
Сообщений: 21
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Цифровой вольтметр(на АВР)
Все равно...Просто сейчас есть только у меня АВР =)
Последний раз редактировалось inisider; 16.05.2010 в 10:49.
|
|
|
|
16.05.2010, 13:04
|
|
|
Вид на жительство
Регистрация: 14.10.2009
Сообщений: 338
Сказал спасибо: 35
Сказали Спасибо 92 раз(а) в 73 сообщении(ях)
|
Re: Цифровой вольтметр(на АВР)
да по сути все что нужно сделать это посмотреть сюда:
http://ironfelix.ru/modules.php?name...owpage&pid=119
|
|
|
|
16.05.2010, 13:23
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: Цифровой вольтметр(на АВР)
Сообщение от inisider
|
|
Все равно...Просто сейчас есть только у меня АВР =)
|
Ну АВР есть не только у вас. У меня тоже парочка валяется. Тот проект, что вам предложили, пишется за 10 минут. У вас какие-то конкретно требования к вольтметру имеются? Или надо, чтобы просто значения на дисплей выводил? Без всякой фильтрации и преобразований?
|
|
|
|
16.05.2010, 15:30
|
|
|
Частый гость
Регистрация: 24.03.2009
Сообщений: 21
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Цифровой вольтметр (на АВР)
Для начала просто хотя бы выводило значение....
|
|
|
|
16.05.2010, 16:36
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: Цифровой вольтметр (на АВР)
Если вы берете чужую программу, начало будет и концом. Пишите сами и получите то, чего хотите.
|
|
|
|
16.05.2010, 23:50
|
|
|
Частый гость
Регистрация: 24.03.2009
Сообщений: 21
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Цифровой вольтметр (на АВР)
Хорошо, тогда если не сложно подскажите, что не так...
Вот хочу работать с дисплеем, кидаю исходники и схему в протеусе, если сложно то скажите почему не выводит.
Вложения:
 |
1.rar (7.3 Кб, 98 просмотров) |
|
|
|
|
17.05.2010, 14:40
|
|
|
Вид на жительство
Регистрация: 21.10.2009
Сообщений: 349
Сказал спасибо: 181
Сказали Спасибо 65 раз(а) в 57 сообщении(ях)
|
Re: Цифровой вольтметр (на АВР)
Не правильно работаете с ногами порта нп.
влияет и на другие выводы, а не только на EN. Протеус это неплохо показывает.
И вторая ошибка, данные должны быть установлены до подачи сигнала EN.
|
Код:
|
void lcd_com(unsigned char p)
{
PORTC &= ~_BV(RS);
PORTD = p;
PORTC |= _BV(EN);
pause(TIME);
PORTC &= ~_BV(EN);
//pause(5*TIME); //задержка не нужна
}
void lcd_dat(unsigned char p)
{
PORTC |= _BV(RS);
PORTD = p;
PORTC |= _BV(EN);
pause(TIME);
PORTC &= ~_BV(EN);
//pause(5*TIME);//задержка не нужна
}
void lcd_init()
{
//_delay_ms(15); //замени на свою задержку
lcd_com(0x30); //для правильной инициализации, а не 0x38
//_delay_ms(5);//замени на свою задержку
lcd_com(0x30);
//_delay_us(100);//замени на свою задержку
lcd_com(0x30);
pause(20*TIME);
lcd_com(0x38);
// lcd_com(0x38);//не нужна повторная команда
//паузы делай перед всеми обращениями к индикатору, так как нет проверки готовности
lcd_com(0x01);
pause(1000*TIME);//пауза может быть короче
//паузы делай перед всеми обращениями к индикатору, так как нет проверки готовности
lcd_com(0x06);
//паузы делай перед всеми обращениями к индикатору, так как нет проверки готовности
lcd_com(0x0D);
} |
в int main() добавь в конце
|
Код:
|
while (1);
return (0); |
Не помешает проверять готовность индикатора, но будет работать и без оного. Проверь длительность задержек.
Последний раз редактировалось CodeNameHawk; 17.05.2010 в 15:37.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:20.
|
|