Страница 1 из 1

управление ШИМ-контроллером ADP3180 с помощью МК PIC16F

Добавлено: Ср фев 27, 2013 23:33:25
sheffline_85
Собственно схемотехнически управление не представляется сложным, через подтягивающие резисторы к +5 В подключается 2 кнопки и к GND. На двух портах настроенных на ввод считывается состояние и задается соответствующая последовательность двоичная на 6 выводах настроенных на вывод.
при последовательном нажатии той или иной кнопки состояние суммируется с предыдущим или вычитается из предыдущего. по включению питания идет сброс на некое нулевое состояние, записанное как данные в EEPROM.
Все бы ничего, но как простую логику программную, связать с логикой VID шим контроллера? :shock:
я уже весь мозг себе вынес, помогите други, сильно перегружать не охото программу для МК, чем примитивнее и проще, тем лучше.
VID представляют из себя две убывающие последовательности десятичных чисел по сути.
В интервале от 0,8375 В до 1,0875 В последовательность 40,38,36...2,0
В интервале от 1,0875 В до 1,6 В последовательность 122,120,...,44,42
Табличка VID во вложении.
Помогите плиз!? :(
Нужен пинок по части програмной по сути в нужную сторону...
можно конечно было DIP-переключателем управлять, но это не эстетично и не практично :)
СпойлерПо сути продолжение темы
http://radiokot.ru/forum/viewtopic.php?f=11&t=73361
дошли руки наконец таки, 1,6 В 400 А :kill:

Re: управление ШИМ-контроллером ADP3180 с помощью МК PIC16F

Добавлено: Чт фев 28, 2013 09:46:13
sheffline_85
неужели ни кто не в теме и не может помочь?

Re: управление ШИМ-контроллером ADP3180 с помощью МК PIC16F

Добавлено: Чт фев 28, 2013 10:48:48
otest
Здесь многие в теме. Вопрос сложно переварить.

Re: управление ШИМ-контроллером ADP3180 с помощью МК PIC16F

Добавлено: Чт фев 28, 2013 12:04:30
sheffline_85
а что его переваривать?
есть два порта ввода (регулируемые нажатием кнопок)
на них кратковременно при нажатии формируется "0" вместо "1" (являющейся стоковым состоянием обоих портов.

Поскольку DAC 6 битный, а МК 8 битный, то числа будут записаны с учетом пустых 2 последних регистров, 6 и 7-го, соответственно на них в любцых вариациях будут "0" и они не будут считываться и физически подключены тоже.
6 же остальных будут подключены напрямую к DAC, поскольку в обоих случаях TTL, то согласовывать ничего не нужно.

дабы не мудрить с софтом и по соображением целесообразности решено было откинуть первые 20 значений DAC, оставиви только 61-21 значения (в десятичной системе).
В регистр записать константу 00111101 (61)

Если нажата кнопка 1 (+) то из значения регистра вычитается 1 бит при каждом нажатии.
Если нажата кнопка 2 (-) то к последнему значению прибавляется 1 бит при каждлм нажатии
Если нажата кнопка 2, но на выходе 00111101, то возвращать данное значение.

тут все просто, примитивно и понятно, никаких сложностей.

Сложность состоит в следующем, собственно это и нужно переваривать -
как заставить МК выполнять операции сложения/вычитания по фронту соответствующих импульсов? Прерывание? я просто с прерываниями не очень дружу и хотелось бы разъяснений небольших?
Да и тут почитал и резюмировал для себя, что лучше на AVR строить, что посоветуете?

По сути своей двоичный счетчик, по "0" либо прибавляет единичку, либо вычитает ее же.
Как это делать на более простой логике это до озноба ясно, но как быть с МК не совсем, малый опыт "общения" с ними, только с куда более сложными устройствами и языками более высокого порядка :( собственно я вырос на виндовс и си :))

Re: управление ШИМ-контроллером ADP3180 с помощью МК PIC16F

Добавлено: Чт фев 28, 2013 13:42:48
otest
Для Мк не важно чем он управляет. Приложите лучше код и спросите что не получается. Какой Мк какой язык ?

Re: управление ШИМ-контроллером ADP3180 с помощью МК PIC16F

Добавлено: Чт фев 28, 2013 18:09:24
sheffline_85
да уже разобрался, добрый человек помог))) спасибо.

Re: управление ШИМ-контроллером ADP3180 с помощью МК PIC16F

Добавлено: Чт фев 28, 2013 18:31:15
otest
Правильно поставленный вопрос -50% ответа.