Файлы  •  Ссылки  •  Прошивки  •  Правила  •  Архив  •   FAQ  •  Участники  •  Поиск
Регистрация  •  Вход

Подправить ASM для PIC16F628, собираю часики

Список форумов» Флейм» Технофлейм На страницу 1, 2  След.
АвторСообщение
ARTHUR
Участник
Сообщения: 413




10-05-2011 20:38

Собираю часики на инках, чет увлекло меня это дело.
За основу взято отсюда http://homepage.ntlworld.com/steven.rougier/Pixie_details.html ,все работает, ключи переделаны на К155ИД1. Но хочется немного оттюниговать программу (или много Чудной ).
Вообщем просьба номер один, и самая для часов основная:На порт будильника вывести импульс _(1-2 секунды )при наступлении каждого часа, но с 23 и до 7, чтоб молчало и ненарушало спокойствия
улыбка Сам будильник из программы можно в принципе выкинуть, часы больше для декоративной функции и греяния души.
Вторая менее значимая на свободный порт вывести сигнал 10гц или 20 гц, он будет использован для крутилки на декатроне, хочется чтоб все закварцовано было гы-гы хотя на таймере 555 крутится уже
Там у чела все подробно расписано, исходник вроде подробный с описаниями, принцип работы программы тоже расписан... какжется что человеку который владеет ассемблером , не очень сложно будет понять что и куда..сам к сожелению в этом полный дуб,

рёв в три ручья рёв в три ручья

small_pixie_schem.JPG
 Описание: small_pixie_schem.JPG
 Размер файла: 99,54 КБ
 Просмотрено: 326 раз(а)

small_pixie_schem.JPG



Vitaly
Участник
Сообщения: 3881




10-05-2011 23:22

http://homepage.ntlworld.com/steven.rougier/drains.html
Эта страничка поинтересней будет, чувака развели на бабосы местные асенизаторы. улыбка
Пардон, что не в тему.
starko
Гость 217.151.*.*





11-05-2011 04:05

ARTHUR, понять-то не очень сложно, но времени надо много, чтобы разобраться и сделать. Тема не актуальная. Зачем постороннему человеку это нужно?
Сам потихоньку разбирайся, заодно и ПИКи изучишь, польза будет.
ARTHUR
Участник
Сообщения: 413




11-05-2011 06:36

Vitaly, ты это к чему вообще запостил?
starko, да понятно, что
starko писал:
Зачем постороннему человеку это нужно?
, но здесь вроде как форум людей с общими интересами, понмаю что тема не по профилю "монитора", но и запостил, то я ее в технофлейме
улыбка
Ну и ганораров никто не отменял Пьем пиво
pavel-pervomaysk
Your editor
Сообщения: 7961




11-05-2011 09:31

ARTHUR, 155 ид1 открытые коллекторы, по моему 200 воль держат. ИН-ки прошлый век. ИВ используй, получше будет и экономичнее.
Но нахрена часы чтоб только от сети работали ? Ставить уже АЛС и аккум туда впихнуть. А за часы основа RTC. Потом можно извращаться по самые немогу.
Алекс240311
Забанен
Забанен
Сообщения: 292




11-05-2011 10:36

ARTHUR писал:
какжется что человеку который владеет ассемблером , не очень сложно будет понять что и куда..


Это мне напоминает -"Там наверное, просто, проводочек отвалился! Я бы сам сделал, только у меня паяльника нет"
ARTHUR, в этом деле, почти всегда проще написать свое, чем модернизировать чужое. Втыкая любой новый оператор в программу, ты сразу изменяешь время ее выполнения. А это значит что часики могут потерять точность хода, а могут еще и с индикацией циферек заглючить.
starko
Гость 95.153.*.*





11-05-2011 13:43

Алекс240311, ну там же не тупо по кругу! Все через прерывания, так что можно экспериментировать, но аккуратно.
ARTHUR
Участник
Сообщения: 413




11-05-2011 15:41

Алекс240311 писал:
"Там наверное, просто, проводочек отвалился! Я бы сам сделал, только у меня паяльника нет"
полностью согласен, поэтому и прошу спецов хоть одним глазком глянуть и прикинуть. исходник максимально разжеван и аккуратен вот пример
******************************
;** DISPLAY RELATED SETTINGS **
;******************************
ANODE_DELAY equ 0x06 ; compensate for anode slow switching

SCAN_RATE equ 0x25 ; scan keys every nth interrupt
; SCAN_RATE = 6i+1 or 6i-1, where i is an integer
FADE_REPS equ 0x03 ; default number of fade repeats
FADE_LEVELS equ 0x0D ; default number of brightness levels.

; For FADE_LEVELS = n,
; fade time = (n-1) * 1.46ms for each level * (n-1) levels * FADE_REPS


ALARM_BIT equ 0x80 ; portb bit 7 used to drive sounder
KEY_BIT equ 0x40 ; key input on portb bit 6
DP_BIT equ 0x10 ; dp enable position for each digit
ALARM_ENB_BIT equ 0x08 ; flags bit 3 enable alarm in flags
ALARM_MOD_BIT equ 0x10 ; toggle ALARM_MOD bit 4 in flags
H_12_BIT equ 0x40 ; toggle H_12 bit 6 in flags
INIT_DIG equ 0x20 ; first digit is digit 6

KEY1 equ 3 ; bitmapped keys remapping
KEY2 equ 1
KEY3 equ 4
KEY4 equ 2
KEY5 equ 0
KEY6 equ 5

MODE_TIMEOUT equ 0x14 ; number of secs before returning to mode 0

; mode flag bits
MODE0 equ 5 ; Normal
MODE1 equ 4 ; Set time
MODE2 equ 3 ; Set alarm
MODE3 equ 2 ; Adjustment
MODE4 equ 1 ; Tone select
MODE5 equ 0 ; Display test
;UNUSED6 equ 6 ; Not used
;UNUSED7 equ 7 ; Not used

;flags bit assignments
ROLLOVER equ 0 ; flags bit 0 to carry rollovers
SECS equ 1 ; flags bit 1 for seconds
ALARM equ 2 ; flags bit 2 to turn on alarm
ALARM_ENB equ 3 ; flags bit 3 enable alarm
ALARM_MOD equ 4 ; modulate alarm tone
SNOOZE equ 5 ; snooze active
H_12 equ 6 ; 12 hour mode on
;SPARE_7 equ 7 ;
pavel-pervomaysk писал:
ИН-ки прошлый век. ИВ используй, получше будет и экономичнее.
вот именно прошлый век, это уже антиквар, есть целое движение никсоводов, лампочки стоят що пиздец скока. поэтому разжился маленько лампами и решил сделать нормальную законченную конструкцию. С дизайном и корпусом проблем нет, все готово, а вот с программированием рёв в три ручья Импульс будет включать мотор, мотор будет крутить шарманку, вообщем симбиоз древности , электроники и механики, упакованное в корпус под старину, висеть будет рядом с барометром 19 века,хочется чтоб все стильно было.
pavel-pervomaysk писал:
Но нахрена часы чтоб только от сети работали ?
да не от сети это на схеме так, у меня все переделано, да и не время мне на них смотреть улыбка китайского говна на ЖК , светодиодах хватает, тошнит от них.. вот смотрите какая красота...

nixcswiss.jpg


nlnixieg1.jpg



Алекс240311
Забанен
Забанен
Сообщения: 292




11-05-2011 15:56

starko, в том-то и дело, что экспериментировать можно, но аккуратно!!! Ибо и прерывания нужно обрабатывать не только по мере их возникновения, но и с учетом их программных преоритетов. А для этого нужно сначало хорошенько разобраться с чужой программой, сделать ее своей, а уж после этого вершить судьбы людские!
starko
Гость 95.153.*.*





11-05-2011 18:53

ARTHUR, эвона в чем дело, хай-энд часы!
Тебе надо было в http://monitor.net.ru/forum/viewtopic.php?t=128891 авось подскажут. Но опять же неувязка - МК тоже должен быть ламповый. Гибриды, как я понял, не очень жалуют.
А если серьезно, готов тратить время на сборку этой херни, так потрать еще чуть-чуть на изучение программирования МК.

Добавлено 11-05-2011 19:02

Алекс240311, какие там приоритеты, прерывание одно, по таймеру, другого не углядел.
Главное - не впихнуть в прерывание больше, чем оно может поглотить. т.е. время выполнения подпрограммы обработки прерывания должно быть меньше периода его возникновения.

Добавлено 11-05-2011 19:27

ARTHUR, тебе что сделать надо, как видится: сброс выбранного пина после 3-й команды после метки Keep_time, там еще выясняется, прошла секунда или нет, а дольше - точно прошла.
Затем после метки Add_hours или непосредственно перед ней вставить проверку на условие, можно ли давать импульс и установить пин, если можно.
Вроде так, взгянул очень бегло, звиняйте, если ошибся.
ARTHUR
Участник
Сообщения: 413




11-05-2011 19:54

starko, ну че сразу херни то улыбка этож так сказать для души! Спасибо за подсказку по существу вопроса, но сам пока не осилю, но попробую поймать какого нить студента, они там вроде это проходят,мож чего и получится. Сам понимаю что без контроллеров сегодня никуда, изучать буду обязательно.Сейчас просто на мелкой логике схему совпадения наваяю, единственное что ночью тоже трезвонить будут, но там у шарманки мелодия приятная и висеть они будут в коридоре.

Это такой мой испытательный стенд, прототип моих часов

часы.jpg



starko
Гость 217.151.*.*





12-05-2011 05:18

Набросал, не проверял.

Добавлено 12-05-2011 05:18

Надо проверить, без ошибок сходу не бывает.

Добавлено 12-05-2011 05:30

Забыл, импульс выводится на свободный RA5 - pin4.

  new_sbrclock_.rar  8,87 КБ  Скачано: 198 раз(а)

ARTHUR
Участник
Сообщения: 413




12-05-2011 10:33

starko, спасибо тебе за участие! Вобщем компилировал MPSAM v 4. Ошибок не было, зашил пик, все функции часов работают, но порт RA5 никак не реагирует на совпадения нулей в минутах, на нем логический 0. Порт пробовал подтягивать и к плюсу и к минусу, но осцилографе тишина.Хз, мож я компилирую чет не правильно..
starko
Гость 95.153.*.*





12-05-2011 11:34

ARTHUR, не надо было зашивать, рано! С карандашиком проверить, команда за командой. Не было случая, чтобы сразу без ошибок.

Добавлено 12-05-2011 11:36

Я не смотрел,настроен ли порт на вывод, и сделан ли вывод с регистра в порт.
ARTHUR
Участник
Сообщения: 413




12-05-2011 12:46

starko писал:
С карандашиком проверить, команда за командой
ну темный лес для меня.
starko
Гость 95.153.*.*





12-05-2011 13:00

сейчас быстренько взглянул исходник, ну нет времени на работе, порт А настроен на вывод, но в подпрограмме Refresh переменная porta_shad не выводится в порт, как я думал, она там портится. Надо и там исправлять. Я смогу не раньше, чем вечером, а вероятнее рано утром, а сейчас некогда.
ARTHUR
Участник
Сообщения: 413




12-05-2011 13:13

starko, огромное человеческое спасибо!
на мелкой логике собрал, но не камильфо конечно, когда есть возможности микроконтроллера
starko
Гость 95.153.*.*





12-05-2011 20:31

Подожди благодарить, не то, ты лучше попытайся вникнуть в код.
Я высмотрел, переменная porta_shad не используется, значит ее можно использовать для хранения состояния того самого импульса.
И ошибка была, в проверке условия, перепутаны 2 числа.
Но все равно не уверен, надо еще проверять.

  new_sbrclock__.rar  8,81 КБ  Скачано: 173 раз(а)

ARTHUR
Участник
Сообщения: 413




13-05-2011 07:10

starko, влил в проц, ситуация не поменялась ,RA5 молчит, такое ощущение что он не определен. на выходе Z состояние. Просто на порту 0 вольт, подтягиваю через резистор 20ком к +5вольт, на порту тоже +5 становится. Чудной
starko
Гость 95.153.*.*





13-05-2011 12:22

starko, ну еханый бабай! Нахрена эти эксперименты, я что, дал готовое решение? Я только подсказал путь, как делать, и предупредил - ошибки должны быть.
Вот, снова заглянул в даташит, RA5 только вход. Надо на другой пин цеплять. Но мне-то оно нахрен не надо, а ты куда смотрел?
ARTHUR
Участник
Сообщения: 413




13-05-2011 15:02

starko, я даташит вообще не смотрел..
starko писал:
я что, дал готовое решение
ну я просто в железе проверяю, без всяких так сказать программных симуляторов.. как я понял на RB7 переназначить долгая катавасия..

starko, ну может последнй вариантик подкинешь, не получится да и куй с ним, все равно огромное спасибо за участие. классно
Vitaly
Участник
Сообщения: 3881




13-05-2011 19:40

А слабО полностью на декатронах? У меня их есть, но руки не доходят. улыбка

Добавлено 13.05.2011 18:40

http://books.tr200.net/v.php?id=275041
ARTHUR
Участник
Сообщения: 413




13-05-2011 21:02

Vitaly, где взять то стока .
А вот и проц ламповый : никаких прошивок тебе.. гы-гы

pic030.jpg



Vitaly
Участник
Сообщения: 3881




13-05-2011 21:07

То уже слишком, на декатронах проще, почитай книженцию. Можно на старой рассыпухе, 155-й серии собрать. Были ж калькуляторы на ИН-ках. К155ИД1 как раз и рассчитана на работу с ИН-ками.

Добавлено 13.05.2011 20:08

Декатроны не дефицит, еще можно найти в инете продажу.

Добавлено 13.05.2011 20:39

ARTHUR, http://www.rt20.mybb2.ru/viewtopic.php?t=14979 нашел, ОГ-3, А-101, если что, связывайся, человек из Смоленска, по России легче переслать.
pavel-pervomaysk
Your editor
Сообщения: 7961




13-05-2011 21:45

Vitaly писал:
А слабО полностью на декатронах?

Есть вещи, творить можно.
Смысл ?
А я сделал...
Лучше заниматься вещами, которые добавят ума, помогут в дальнейшем заработать денег.
Хотя, может быть такие часы и купит какой-нить богатый больной человек за милион, отрицать не нада гы-гы

Чет навеяло, может себе спаять ! гы-гы
ARTHUR
Участник
Сообщения: 413




13-05-2011 21:45

да есть у меня пару декатронов A108 вон один на фотке вращается.. Вот ИН-18 бы купить по гуманной цене

Добавлено 13-05-2011 22:51

pavel-pervomaysk, для заработать денег ,есть работа...
а для души, как раз такие штукенции
Vitaly
Участник
Сообщения: 3881




13-05-2011 22:29

ARTHUR, http://www.techno.ru/weblist/12/msg00163.html Нашел по Украине, цены нету, написал. Но думаю, что тоже перегретую цену назовет.
Кстати, а чем ИН-1 не нравятся? Они вроде как дешевле идут.
ARTHUR
Участник
Сообщения: 413




13-05-2011 23:33

да просто у ИН-18 самая большая цифирь, 40 мм,и классно смотрятся.. да корпус у меня сделан уже, другие лампы в нем мелковато смотреться будут, Ин-1 у них цифри на торце как у ин-12, на таких я как раз и делаю сейчас часы, да + ин-4 в секундах стоять будут, уперся блин в эту прошивку, все дело встало..
starko
Гость 217.151.*.*





14-05-2011 05:59

ARTHUR писал:
А вот и проц ламповый : никаких прошивок тебе..

О! Это хай-енд! Супер
Нету в ПИКе другого свободного пина. Надо чем-то жертвовать. Динамиком, например. Или использовать внешний генератор вместо кварца.
А зачем, кстати, первый по схеме вывод лампы, управляемый с RA4? 11-й символ - точка, что-ли, десятичная?

И еще, я готов помогать, если у человека есть желание научиться. Удовлетворять чью-то блажь мне совсем неинтересно.
ARTHUR
Участник
Сообщения: 413




14-05-2011 07:28

starko писал:
если у человека есть желание научиться.

полностью согласен, но у меня в этой области нулевые знания.. а тем более тут ассемблер ,так сказать вершина мастерства программиста , знакомые программеры, как слышат от меня про мою просьбу и что там ассемблер,, так как то скисают сразу.. Думайте сами ...
Я начинать буду наверное сначала С изучать, все таки там все нагляднее, и компиляторы под Пики и АВР у него есть
Про порты, RA4 это индикация точек, включаются, когда жмем кнопку MODE индицирует режимы ,RB7 будильник , выкинуть предподчтительнее конечно будильник, но если это проблематично, то в принципе и без точек обойдусь
Вот здесь более удобоваримая схема этих часов ,
Что в них есть. Корекция хода, регулируемая плавная смена цифр (красивый эффект) , будильник, регулируемый писк будильника ,динамическая индикация

  schema1.JPG  96,61 КБ  Скачано: 193 раз(а)

starko
Гость 95.153.*.*





14-05-2011 08:14

ARTHUR, так и я под ПИКи никогда ничего не писал, только MCS51 и AVR. Был чуть-чуть в курсе, о системе команд, о регистрах и не более. Скачал даташит, постотрел, что нужно и вперед!
ПИКи проще, как понял, для начинающих самое то.
И начинать рекомендовал бы с низкого уровня.
Vitaly
Участник
Сообщения: 3881




14-05-2011 08:23

ARTHUR, а есть просто алгоритм в виде блок-схемы? Ассемблер проще языков "высокого уровня" и сложного ничего в нем быть не может. Если ты уяснил себе алгоритм, то зная синтаксис и назначение команд, можно спокойно пробовать писать программу. Боятся ассемблера лишь записные программисты. На Z80 я когда-то много чего писал и сдирал чужого. То, что легче свое с нуля сделать, чем разобраться в готовом, есть факт. Но мне и то и другое удавалось.

Добавлено 14.05.2011 07:25

Рассыпуха по сути тоже программа, только набранная готовым железом. улыбка
Список форумов» Флейм» Технофлейм» Подправить ASM для PIC16F628, собираю часики На страницу 1, 2  След.
Перейти:  
Текущий раздел» Флейм» Технофлейм (Различные обсуждения на технические темы)








Информация по ремонту для специалистов - справочники, инструкции, энциклопедия, советы и секреты ремонта,  настройка, сервисные режимы
Powered by phpBB 2.0.18 © 2001, 2002 phpBB Group!