yurimo 4 Report post Posted December 11, 2017 Если выставить биты конфигурации 3F50, светодиод должен моргать. Покажите код с моргающим светодиодом TRISB = %00000000 Led var portB.3 Led1 var portB.5 main: Led = 1 pause 500 Led1 = 1 pause 500 Led = 0 pause 500 Led1 = 0 pause 500 goto main В PROTEUS работает. Share this post Link to post Share on other sites
yurimo 4 Report post Posted December 11, 2017 Конфигурация 2150 вместо 3F50. Работа с кварцем. Прольётся, только работать без кварца не сможет. Если Вы это написали для меня, то объясните пожалуйста: 1. Как выставить конфигурацию 2150? 2. Что значит прольётся? Share this post Link to post Share on other sites
serega061 4 Report post Posted December 11, 2017 Конфигурация 2150 вместо 3F50. Работа с кварцем. Прольётся, только работать без кварца не сможет. Почему работа с кварцем? По скриншоту битов конфигурации я бы так не сказал. Может PicKit по своему как то считает число значения конфигурации? Я прошил контроллер в PicKit c конфигурацией 2150, а потом этот контроллер прочитал в WinPic800 другим программатором - им прочиталось 3F50 Share this post Link to post Share on other sites
serega061 4 Report post Posted December 11, 2017 Вопчем, не удержался я, решил попробовать собрать схему на макетке. Собрал, контроллер прошил в PicKit2, включаю - не работает, а именно результат как в 18 посту, три индикатора горят, четвертый тусклый и че то там считает. Прошил контроллер в WinPic800 LPT программатором - результат тот же самый. Начал разбираться. Дизассемблировал программу и обнаружил в коде что не отключены компараторы. Евгений наверно забыл в спешке))) Добавил пару строк, скомпилировал программу, прошил PicKit-ом, и все заработало как надо. yurimo - будете делать, биты конфигурации выставляйте как на моем скрине выше. Файл прошивки 81.rar Share this post Link to post Share on other sites
Evgeniy 280 Report post Posted December 12, 2017 В последней моргалке действительно в программе нет конфигурации оборудования. Share this post Link to post Share on other sites
yurimo 4 Report post Posted December 12, 2017 Вопчем, не удержался я, решил попробовать собрать схему на макетке. Собрал, контроллер прошил в PicKit2, включаю - не работает, а именно результат как в 18 посту, три индикатора горят, четвертый тусклый и че то там считает. Прошил контроллер в WinPic800 LPT программатором - результат тот же самый. Начал разбираться. Дизассемблировал программу и обнаружил в коде что не отключены компараторы. Евгений наверно забыл в спешке))) Добавил пару строк, скомпилировал программу, прошил PicKit-ом, и все заработало как надо. yurimo - будете делать, биты конфигурации выставляйте как на моем скрине выше. Файл прошивки Ура,Ура, Ура заработало, я уже разочаровался было, но Вы поставили все на свои места. Огромное Вам спасибо. И пожалуйста сделайте Ваше доброе дело до конца, пришлите текст кода для полного счастья. Best Regards!!!!! Share this post Link to post Share on other sites
serega061 4 Report post Posted December 12, 2017 Я рад что у Вас все получилось ))) Но "полного счастья " я Вам дать не могу. Исходной программы, при том на PicBasic-е, у меня никогда не было и нет. Я программирую на Ассемблере. За текстом программы - к Evgeniy. Я просто помог вам собрать схему. 1 serega061 reacted to this Share this post Link to post Share on other sites
yurimo 4 Report post Posted December 12, 2017 Я рад что у Вас все получилось ))) Но "полного счастья " я Вам дать не могу. Исходной программы, при том на PicBasic-е, у меня никогда не было и нет. Я программирую на Ассемблере. За текстом программы - к Evgeniy. Я просто помог вам собрать схему. Еще раз Большое спасибо Вам, очень приятно, что профессионалы помогают новичкам. Share this post Link to post Share on other sites
yurimo 4 Report post Posted December 12, 2017 Evgeniy, не могли бы Вы прокомментировать сообщение serega061 #54 и подсказать какие две строчки и куда их надо вставить Share this post Link to post Share on other sites
Evgeniy 280 Report post Posted December 12, 2017 Для отключения компараторов следует добавить такую строчку: CMCON = %00000111 Share this post Link to post Share on other sites
yurimo 4 Report post Posted December 13, 2017 Для отключения компараторов следует добавить такую строчку: CMCON = %00000111 А куда ее надо вставить? Share this post Link to post Share on other sites
Evgeniy 280 Report post Posted December 14, 2017 В самом верху, около регистров TRIS. @ device pic16f628a, cpd_off, protect_off, mclr_off, pwrt_on, wdt_off, INTRC_OSC_NOCLKOUT '******************************************************************************* TRISA = %11110000 TRISB = %00000000 CMCON = %00000111 '******************************************************************************* LED var portB ind1 var portA.0 Share this post Link to post Share on other sites
yurimo 4 Report post Posted December 14, 2017 В самом верху, около регистров TRIS. @ device pic16f628a, cpd_off, protect_off, mclr_off, pwrt_on, wdt_off, INTRC_OSC_NOCLKOUT '******************************************************************************* TRISA = %11110000 TRISB = %00000000 CMCON = %00000111 '******************************************************************************* LED var portB ind1 var portA.0 Спасибо большое все заработало, после того, что я дополнительно изменил конфигурацию на 3F50 т.е. 0101 0000. Приношу свои извинения, за то, что так долго морочил Вам голову и большое Вам спасибо за спокойствие и терпимость а также за высокий проффессионализм. Best Regards. Share this post Link to post Share on other sites
yurimo 4 Report post Posted January 5, 2018 Подскажите пожалуйста, что и как надо изменить, чтобы использовать индикаторы с общим анодом? Share this post Link to post Share on other sites
VitalForce 67 Report post Posted January 9, 2018 Lookup n,[$C0,$F9,$A4,$B0,$99,$92,$82,$F8,$80,$90],led Плюс инвертировать сигналы. Т.е. если раньше подавали "1", то нужно изменить на "0" и на оборот. Share this post Link to post Share on other sites
yurimo 4 Report post Posted January 9, 2018 Lookup n,[$C0,$F9,$A4,$B0,$99,$92,$82,$F8,$80,$90],led Плюс инвертировать сигналы. Т.е. если раньше подавали "1", то нужно изменить на "0" и на оборот. Большое спасибо за ответ, я нашел в более ранних, Евгений выставил вариант с использованием индикаторов с общим анодом. Проверил работу в Proteus. Все в порядке, работает. Перехожу на проверку в железе. Share this post Link to post Share on other sites
yurimo 4 Report post Posted January 14, 2018 Перешел на проверку в железе, работает не корректно т.е. приблизительно так как в предыдущем случае с индикаторами с общим катодом до отключения компараторов. CMCON = %00000111 Наверное в данном случае должен быть другой код отключения компараторов. Подскажите, пожалуйста какой? Share this post Link to post Share on other sites
VitalForce 67 Report post Posted January 16, 2018 Именно этот код отключает компараторы Share this post Link to post Share on other sites
yurimo 4 Report post Posted January 16, 2018 Именно этот код отключает компараторы Что же мешает работать в железе? Проверю еще раз все соединения и код. Share this post Link to post Share on other sites
yurimo 4 Report post Posted January 16, 2018 Собрал в железе, но увы не работает правильно т.е. третий разряд индикатора (третий слева) не работает совсем, не получает питание с ножки 1 МК PIC16F628A RA2, во всех разрядах не работает сегмент "С" 8 ножка МК RB2. Счет, при нажатии кнопок "+" и "-" идет и переключается из одного разряда в другой правильно, кнопка обнуления работает. Прошивал с конфигурацией 2150, фьюзы 0101 0000. Может быть надо изменить конфигурацию, но не знаю на какую. Компараторы отключены. Индикатор проверил, все разряды и сегменты работают. Индикатор с общим анодом. В PROTEUS все работает. Share this post Link to post Share on other sites
Evgeniy 280 Report post Posted January 17, 2018 Покажите код, может в нём ошибка. Если не работает только 1 вывод, значит компаратор точно отключен. 8 вывод!? может в коде дешифровки ошибка. Хотя, если в протеусе цифры правельные, дело не в коде. Может сопля где... Можно контроллер вытащить и пробовать проводками ножки в панельке позамыкать и проверить, как отрабатывает индикатор. Share this post Link to post Share on other sites
Evgeniy 280 Report post Posted January 17, 2018 Для увеличения яркости в некоторых пределах можно поиграться паузой в цикле отображения информации на индикаторе (третья строчка кода снизу pauseus 500). Можно паузу увеличить с 500мкс до 5-10мс (pauseus 1000 - 5000 и более, пока заметность мерцания индикатора не появиться). Share this post Link to post Share on other sites
yurimo 4 Report post Posted January 17, 2018 Индикатор проверил, все разряды и сегменты работают. А, что насчет фьюзов? Share this post Link to post Share on other sites
yurimo 4 Report post Posted January 17, 2018 Покажите код, может в нём ошибка. Если не работает только 1 вывод, значит компаратор точно отключен. 8 вывод!? может в коде дешифровки ошибка. Хотя, если в протеусе цифры правельные, дело не в коде. Может сопля где... Можно контроллер вытащить и пробовать проводками ножки в панельке позамыкать и проверить, как отрабатывает индикатор. Этот код я взял у Вас в #21 Share this post Link to post Share on other sites
yurimo 4 Report post Posted January 17, 2018 Может сопля где... Как это перевести? Share this post Link to post Share on other sites