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

 
 
 
Reply to this topicStart new topic
> MEGA8 и динамическая индикация
MAVi
сообщение Mar 30 2007, 09:03
Сообщение #1





Группа: Новичок
Сообщений: 1
Регистрация: 8-01-05
Пользователь №: 1 843



История довольно банальная решил сэкономить на всем: микросхема. порты.плата под утюг
чтобы не сверлить Megu на панельке правда но припаял сверху как smd так вот имеем PORTD
подключен четыре старших бита на 514ИД1 четыре младших через транзистор на разряд
управляется 1 необходимо реализовать динамическую индикацию что-то в таком духе

CV

#define raz1 PORTD=0b00000001;
#define raz2 PORTD=0b00000010;
#define raz3 PORTD=0b00000100;
#define raz4 PORTD=0b00001000;

все погасили

PORTD=0b00000000;

допустим считали с ацп

out=read_adc(0);

надо вывести 1000

vdata=ceil(out)/1000;

здесь уже что-то не так
наверное надо делить на 1000
выводить в старший разряд
остаток делить 100 и тд

здесь вроде все правильно

vdata=vdata<<4;
получили то что выводить
сдвинутое на 4 разряда

PORTD|=vdata;
зажгли соответствующий разряд

PORTD|=raz1;

как это правильно реализовать
наверное былобы еще проще поменять местами разряд
и данные но вот так получилось
Go to the top of the page
 
+Quote Post
WHALE
сообщение Mar 30 2007, 10:04
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



В CV есть функция bcd2bin,не мучайтесь,почитайте в хэлпе.И нафига вам 514ИД1?Она для динамической индикации на 4 разряда вообще не пригодна,максимальный ток на сегмент 7,5ma.
Сделайте все на AVR:отчет АЦП->BCD код-7-сегментный код.Выделите под это дело отдельный порт.
Или ресурсов не хватает?


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 27th June 2025 - 20:28
Рейтинг@Mail.ru


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