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

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: demanik, ivan_fd  
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Бегущие огни на pic16f628 (Нужна помощь, поправить исходник)
Бегущие огни на pic16f628
ecclat Дата: Сб, 19.12.2009, 08:58  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Новенький
Сообщений: 8
Репутация: 0   ±
Замечания:   ±
На сайте с 19.12.2009

Статус: Offline

Собрал схему. При компиляции выходят предупреждения, но схема начинает работать. Проблема заключается в том что при создании эффекта что бы светодиоды собирались ряд то светодиод который должен гореть постояно, начинает мигать в такт с другим, как будто нету задержки. В Бейсике я чайник, захотелось сорать эту схему, а это мирцание светодиода меня раздражает smile
В прикрепленом архиве имеется исходник, схема, описание и предупреждения в прогамме Протон.
Помогите пожалуйста разобратся!
Прикрепления: ecclat.rar (433.8 Kb)
ЯНДЕКС Дата: 19.12.2009
ADMIN Дата: Сб, 19.12.2009, 09:10  |                                                                                                                Сообщение # 2
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1087
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Компилятор пишет, что по умолчанию, если не указан тип переменной, устанавливается размерность переменной в байт, поэтому нужно явно указывать тип при определении переменных.
этот блок можно переписать так:
Code

REMARKS=On
REMINDERS = off ' - а это отключает напоминания компилятора  
Config WDT_OFF, BODEN_ON,INTRC_OSC_NOCLKOUT,LVP_OFF,CP_OFF, PWRTE_ON, MCLRE_OFF     

Declare XTAL = 4  
      
   
  Dim IMG as byte  ' Image pointer
  Dim FREQ as byte  ' delay between each frame
  Dim T as byte

И какой светодиод горит постоянно? Где? В протеусе? Если в протеусе, то включай отладку по шагам да смотри, почему горит.

ecclat Дата: Сб, 19.12.2009, 09:47  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Новенький
Сообщений: 8
Репутация: 0   ±
Замечания:   ±
На сайте с 19.12.2009

Статус: Offline

Я уже собрал схему на печатной плате, все сделал по схеме.
Вот проблема: создал эффект из семи светодиодов, по идеи они должны по шагам собиратся в один ряд, после того как первый светодиод прошел весь ряд и занял свое место, он должен гореть постояно, а он начинает мигать в такт с другим светодиод который идет на свою позицию, затем когда уже 2 светодиода стоят на своих позициях они начинают уже оба моргать в такт с 3 светодидом который также идет на свою позицию, и так повторяются со всеми светодиодами по нарастающие.
DAlexV Дата: Сб, 19.12.2009, 13:42  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 657
Репутация: 27   ±
Замечания:   ±
На сайте с 13.05.2008

Статус: Offline

Quote (ecclat)
они начинают уже оба моргать в такт с 3 светодидом

Был такого плана прикол когда писал бегущую строку. Попробуй сначала обнулить порт В а затем переключать разряд (порт А).

LOW PORTB:HIGH L1

и далее где это встречается по тексту.

P/s. А лучше процесс вывода индикации сделать через препывание


Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
Сообщение отредактировал DAlexV - Сб, 19.12.2009, 13:45
ecclat Дата: Сб, 19.12.2009, 14:39  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Новенький
Сообщений: 8
Репутация: 0   ±
Замечания:   ±
На сайте с 19.12.2009

Статус: Offline

А вы сами не сможете поправить, а то что вы написали я нечего не понял! sad
Исходник я прикрепил
Прикрепления: LEDTHI01.bas (4.1 Kb)
DAlexV Дата: Сб, 19.12.2009, 15:31  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 657
Репутация: 27   ±
Замечания:   ±
На сайте с 13.05.2008

Статус: Offline

Исправил, прикрепил. Как правильно сказал выше ADMIN. Сначало загоняем в Шпротеус, там отлаживаем, уж потом переносим на железо wink
Прикрепления: 9185433.bas (9.5 Kb)


Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
ecclat Дата: Пн, 21.12.2009, 11:04  |                                                                                                                Сообщение # 7
Группа: Проверенные
Ранг:  Новенький
Сообщений: 8
Репутация: 0   ±
Замечания:   ±
На сайте с 19.12.2009

Статус: Offline

Работает так же без изменений, даже незнаю что делать sad
DAlexV Дата: Пн, 21.12.2009, 17:45  |                                                                                                                Сообщение # 8
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 657
Репутация: 27   ±
Замечания:   ±
На сайте с 13.05.2008

Статус: Offline

Quote (ecclat)
даже незнаю что делать

" Спокойствие !!!!! Главное спокойствие !!!!!"
Хоть я и не особо силен в Протоне, но смысл проги понятен. Попробуй вот этот код. В нем выкинута регулировка скорости через R1. Код прикрепил. Вероятно в строчке FREQ= POT V,64 весь косяк и сидит, так как она на выполнение требует некоторого времени. Из за этого получается задержка после прохода каждого кадра.

P/s. Да и схемотехника туши свет!!!!! По логике вещей эммитеры транзисторов должны на массу заведены, в схеме нет. Если их туда прицепить, то выходит светодиоды наоборот поставлены. Дурдом какой-то.

Что в итоге хотелось получить ??? Укороченную бегущую строку или елочную гирлянду на 64 светодиода ??????

Прикрепления: 2248482.bas (9.5 Kb)


Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
Сообщение отредактировал DAlexV - Пн, 21.12.2009, 18:04
demanik Дата: Вт, 22.12.2009, 19:19  |                                                                                                                Сообщение # 9
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 448
Репутация: 10   ±
Замечания:   ±
На сайте с 11.12.2007

Статус: Offline

Quote (DAlexV)
Дурдом какой-то

Прилагаю исправленую схему, код и протеус. Все работает.

Прикрепления: code.rar (78.1 Kb)


Попробуй всё и вся... может быть пол...

DAlexV Дата: Вт, 22.12.2009, 19:57  |                                                                                                                Сообщение # 10
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 657
Репутация: 27   ±
Замечания:   ±
На сайте с 13.05.2008

Статус: Offline

Ну что я могу сказать по этому поводу. Молодец Коля !!!!! Хотел сам переделать вечером, а меня уже обогнали sad biggrin Схемотехника правильная applause А на сайте схема на дурака выложенна. Сколько раз встречал уже.

Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
ecclat Дата: Ср, 23.12.2009, 14:44  |                                                                                                                Сообщение # 11
Группа: Проверенные
Ранг:  Новенький
Сообщений: 8
Репутация: 0   ±
Замечания:   ±
На сайте с 19.12.2009

Статус: Offline

Здравствуйте. Спасибо за отзыв. demanik, пришлось скачать протеус, схема в нем работает как надо, а перенес на железо работает также, не каких изменений. При переключении кадров также мигает. Хотел в эту схему добавить ключи к ним подключить объемные буквы из светодиодов, когда мигает не красиво получается. Весь инет облазил не чего путевого не нашел, а эту нашел обрадовался, понравилось тем что можно самому создавать эффекты.
ЯНДЕКС Дата: 23.12.2009
demanik Дата: Ср, 23.12.2009, 15:14  |                                                                                                                Сообщение # 12
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 448
Репутация: 10   ±
Замечания:   ±
На сайте с 11.12.2007

Статус: Offline

Quote (ecclat)
а перенес на железо работает также

В идеале в каждую строчку поставить по регистру защелке и все мигания пропадут.


Попробуй всё и вся... может быть пол...

DAlexV Дата: Ср, 23.12.2009, 15:31  |                                                                                                                Сообщение # 13
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 657
Репутация: 27   ±
Замечания:   ±
На сайте с 13.05.2008

Статус: Offline

Quote (demanik)
В идеале в каждую строчку поставить по регистру защелке и все мигания пропадут.

Или ИМС дравер типа MAX 7219 или MAX 7291

http://www.google.ru/imgland....rl=http

Упраевление по SPI 3 провода, сказка biggrin Пробывал лично. И регулировка яркости даже есть.


Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
Сообщение отредактировал DAlexV - Ср, 23.12.2009, 19:21
ecclat Дата: Пт, 25.12.2009, 07:19  |                                                                                                                Сообщение # 14
Группа: Проверенные
Ранг:  Новенький
Сообщений: 8
Репутация: 0   ±
Замечания:   ±
На сайте с 19.12.2009

Статус: Offline

Наверно лучше оставить эту затею! smile Нашел другую схему, тоже устраивает. Но опять мальнькая проблема, после того как запускаю протеус, схема начинает работать и пройдя несколько циклов анимация останавливается, а время анимации продолжает идти. В чем проблема, в протеусе или в исходном файле. Анимация прекращается примерно на времени 1мин.59сек?

Гляньте пожалуйста, исходник и файл протеуса я прикрипил.

Прикрепления: pic16f877.rar (15.9 Kb)
ivan_fd Дата: Пт, 25.12.2009, 11:22  |                                                                                                                Сообщение # 15
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Проблема не в Протеусе, а АСМ файле. Но как на меня, то предыдущая "затея" лучше этой.

Прикрепляю исправленный АСМ, только 3 строчки нужно изменить.
Но это так, простенькая мигалка...

Прикрепления: 33LED.asm (16.7 Kb)

Сообщение отредактировал ivan_fd - Пт, 25.12.2009, 11:30
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Бегущие огни на pic16f628 (Нужна помощь, поправить исходник)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: