Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: demanik, ivan_fd  
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Помогите разобраться новичку (как правильно?)
Помогите разобраться новичку
HCT Дата: Вт, 02.02.2021, 19:38  |                                                                                                                Сообщение # 391
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 29
Репутация: 0   ±
Замечания:   ±
На сайте с 05.10.2014

Статус: Offline

Индикатор-то уже впаянный, попробую программу подправить, может быть получится. Поменяю нолики и единички в подпрограмме конвертации.
Сообщение отредактировал HCT - Вт, 02.02.2021, 19:44
ЯНДЕКС Дата: 02.02.2021
Константин Дата: Ср, 03.02.2021, 17:45  |                                                                                                                Сообщение # 392
Группа: Проверенные
Ранг:  Новенький
Сообщений: 11
Репутация: 0   ±
Замечания:   ±
На сайте с 10.05.2013

Статус: Offline

ещё бы добавить кнопочку на уменьшение значений.

Добавлено (03.02.2021, 18:17)
---------------------------------------------
у меня в похожем по функционалу таймере была такая заморочка, на аноды стояли транзисторы, а в симуляторе их не было, поэтому на управляющих портах сигналы поменял на противоположные.

Сообщение отредактировал Константин - Ср, 03.02.2021, 18:19
HCT Дата: Чт, 04.02.2021, 10:49  |                                                                                                                Сообщение # 393
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 29
Репутация: 0   ±
Замечания:   ±
На сайте с 05.10.2014

Статус: Offline

Кнопочку добавить можно, если заработает. Но, как говорил наш учитель по математике, "сдвиги есть, но пока 2".
Поменял кусочек программы
'-------------Подпрограмма конвертирования-----------
convert:
 'Znak = LookUp x,[192, 249, 164, 176, 153, 146, 130, 248, 128, 144]  'общий анод
 Znak = LookUp x,[64, 121, 36, 48, 25, 18, 2, 120, 0, 16]  'общий катод
Существенных изменений не произошло. При подаче питания сначала загораются на доли секунды ноли, затем слегка мерцающие кракозябры. Скорее, "дело было не в бобине",  то ли лыжи не едут, то ли...
Надо поискать лучше на плате, может быть там собака порылась. Хотя, подозреваю, что я что-то "напрограммировал".
ivan_fd Дата: Чт, 04.02.2021, 11:04  |                                                                                                                Сообщение # 394
Группа: Модераторы
Ранг:  Специалист
Сообщений: 1137
Репутация: 108   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Если бы вы, что то напрограмировали, то и в протеусе не работало бы.

Меня все время преследуют умные мысли...но я быстрее!!!
dimvad Дата: Чт, 04.02.2021, 14:39  |                                                                                                                Сообщение # 395
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 99
Репутация: 52   ±
Замечания:   ±
На сайте с 20.07.2012

Статус: Offline

У Вас коды цифр для общего катода неправильно посчитаны.
Znak=LookUp x,[63,6,91,79,102,109,125,7,127,111]
HCT Дата: Чт, 04.02.2021, 16:18  |                                                                                                                Сообщение # 396
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 29
Репутация: 0   ±
Замечания:   ±
На сайте с 05.10.2014

Статус: Offline

Цитата dimvad ()
У Вас коды цифр для общего катода неправильно посчитаны.
С Вашими значениями на индикаторах четыре слегка мерцающих восьмерки. Нет, присмотрелся - 8808. Причем, на кнопки не реагирует.
В общем, буду смотреть, что я накомпозировал и в схеме, в смысле на плате, и в программе.

Сообщение отредактировал HCT - Чт, 04.02.2021, 16:24
Константин Дата: Пт, 05.02.2021, 13:25  |                                                                                                                Сообщение # 397
Группа: Проверенные
Ранг:  Новенький
Сообщений: 11
Репутация: 0   ±
Замечания:   ±
На сайте с 10.05.2013

Статус: Offline

мне не понятно зачем при каждом прерывании повторно загружать значения регистров                     Sch_Pr: Context Save          'Сохраним регистры STATUS и аккумулятор
 TMR1L = $ed           'Зададим значение старшего регистра TMR1 с учетом
                       'сохранения контекста
 TMR1H = $d8           'Значение старшего регистра TMR1

может здесь тормозит
HCT Дата: Пт, 05.02.2021, 15:40  |                                                                                                                Сообщение # 398
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 29
Репутация: 0   ±
Замечания:   ±
На сайте с 05.10.2014

Статус: Offline

Может быть. Может быть и еще что-нибудь. Это вторая программа, которую я сочинил в Протоне. Не считая тех, где моргал светодиодами, осваивал динамическую индикацию... И вторая, которая не захотела работать в железе. Вот такой я программист! Но повторяю чужие конструкции легко, причем, все печатные платы переделываю под себя (как мне нравится) и под свои детали. Так что нужно проверять скорее программу, что-то я там недо...
ivan_fd Дата: Пт, 05.02.2021, 17:29  |                                                                                                                Сообщение # 399
Группа: Модераторы
Ранг:  Специалист
Сообщений: 1137
Репутация: 108   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Цитата Константин ()
мне не понятно зачем при каждом прерывании повторно загружать значения регистров

Как это зачем. Там в прерывании идет счет времени, следовательно нужно, что бы таймер точно считал промежутки времени кратно, допустим 1000мс.
К стати, в програме значения не верные, таймер срабатывает каждые 80мс, а нужно 100мс.


Меня все время преследуют умные мысли...но я быстрее!!!
Константин Дата: Сб, 06.02.2021, 07:43  |                                                                                                                Сообщение # 400
Группа: Проверенные
Ранг:  Новенький
Сообщений: 11
Репутация: 0   ±
Замечания:   ±
На сайте с 10.05.2013

Статус: Offline

Константин, предыдущий вопрос снимается тут всё верно, но теперь мне не понятно как кварц участвует в работе процессора   Config     XT_OSC , здесь он включен, а здесь T1CON = %00110101   настроен предделитель и включен таймер, далее бит1-0 = внутренний источник Fosc/4  бит2 -Значение бита игнорируется. 
Зачем тогда кварц..
HCT Дата: Сб, 06.02.2021, 12:32  |                                                                                                                Сообщение # 401
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 29
Репутация: 0   ±
Замечания:   ±
На сайте с 05.10.2014

Статус: Offline

Цитата Константин ()
Зачем тогда кварц..
Пошел читать даташит.
ЯНДЕКС Дата: 06.02.2021
ivan_fd Дата: Сб, 06.02.2021, 12:36  |                                                                                                                Сообщение # 402
Группа: Модераторы
Ранг:  Специалист
Сообщений: 1137
Репутация: 108   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Цитата Константин ()
внутренний источник Fosc/4
Здесь выбран внутренний источник тактирования таймера 1. То есть, частота процессора (Fosc - в нашем случаи внешний кварц, с частотой 4 000 000 Гц) деленная на 4. А значение бита игнорируется, только тогда, когда выбран внутренний источник. При внешнем источнике (когда тактовые импульсы, для таймера 1, поступают на вывод RB6), бит 2 имеет значение.


Меня все время преследуют умные мысли...но я быстрее!!!
Константин Дата: Вс, 07.02.2021, 12:25  |                                                                                                                Сообщение # 403
Группа: Проверенные
Ранг:  Новенький
Сообщений: 11
Репутация: 0   ±
Замечания:   ±
На сайте с 10.05.2013

Статус: Offline

HCT,
1- попробуйте поменять кварц 
2-проверьте сам процессор любой рабочей программой
у меня 16F628A процессора нет и я работу ТРМ1 поэкспериментировал на 16F630 
подключаю кварц светодиод мигает отсоединяю замирает
Думаю дело в железе
Прикрепления: 630.bas(2.3 Kb)
HCT Дата: Вс, 07.02.2021, 15:22  |                                                                                                                Сообщение # 404
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 29
Репутация: 0   ±
Замечания:   ±
На сайте с 05.10.2014

Статус: Offline

Спасибо, Константин! Сделаю.

Добавлено (07.02.2021, 19:35)
---------------------------------------------
Кварц выпаял, проверил - 3,999 МГц.  Прошил другой микроконтроллер - без изменений. Осталось сочинить простую программу. Это уже завтра.

Добавлено (09.02.2021, 09:07)
---------------------------------------------
Нет, даже самые простые программы не работают. Но наблюдается интересное явление - при касании корпуса микроконтроллера пальцем светодиод, который должен был загореться при включении устройства, но не загорался, начинал светиться. Если программа предполагала мигание светодиода - он мигал. При убирании пальца все прекращалось. Причем, пальцем не давил, а едва касался. 
Ладно, у меня есть самодельная отладочная плата, вот еще и ее проверю, ни разу еще ее не  пользовал.

HCT Дата: Вт, 09.02.2021, 09:42  |                                                                                                                Сообщение # 405
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 29
Репутация: 0   ±
Замечания:   ±
На сайте с 05.10.2014

Статус: Offline

Вот такая
Прикрепления: Debug_board-07-.lay(340.2 Kb)

Сообщение отредактировал HCT - Вт, 09.02.2021, 09:43
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Помогите разобраться новичку (как правильно?)
Поиск: