допустим колоны имеют 1 тогда задвигаю в 595к movlw b'11111111' и один раз и после 8 раз гружу строки друг за другом или всеж надо как вы ранее писали строка+колонка строка+колонка
Посмотрите опять на ету картинку. В "один раз" въ можете засветить одну колону. Подсвечивая их одну за другую въ получите ету картинку. Если в 595к все 1 (11111111) то (скорее всего - в зависимости от индикатора) ни одна колона не засветится Если в 595К 0111111 - левая колона (1-ая) 10111111 - вторая 11011111 - 3-я и т.д. Т.е. в 595К есть только сдвиг вправо активного сигнала - на каждом байте один сдвиг
У вас два подхода - с counter до 16 тогда должнъ передавать и информацию о 595К Ету: bbbbbbbb01111111 bbbbbbbb10111111 bbbbbbbb11011111 bbbbbbbb11101111 bbbbbbbb11110111 bbbbbbbb11111011 bbbbbbbb11111101 bbbbbbbb11111110
и counter до 8 (только для въводимой информацией) тогда надо делать сдвиг вправо 595К.
_________________ Лом - ето город в Болгарии, а не инструмент юстировки електроники.
БЫРР.... Это что "поштучно" точки поджигать собрались? (Типа растровой попиксельной развертки). Иначе чей-то "задымится"... Стандартный ток светика миллиампер 20... А в группе их может включится одновременно 8 - итог 0,02*8=0,16 ампера на вывод регистра. Хоша б ULN2803 для нормальной работы прицепить.
Открыта удобная площадка с выгодными ценами, поставляющая весь ассортимент продукции, производимой компанией MEAN WELL – от завоевавших популярность и известных на рынке изделий до новинок. MEAN WELL.Market предоставляет гарантийную и сервисную поддержку, удобный подбор продукции, оперативную доставку по России.
На сайте интернет-магазина посетители смогут найти обзоры, интересные статьи о применении, максимальный объем технических сведений.
пытаюсь понять как отрисовывать на лед маьрице через 595 сдвиговый.. он не дорогой не получается капец у меня матрица с общим + понял что надо строки включать и гасить их быстро
Продукция MOSO предназначена в основном для индустриальных приложений, использует инновационные решения на основе более 200 собственных патентов для силовой электроники и соответствует международным стандартам. LED-драйверы MOSO применяются в системах наружного освещения разных отраслей, включая промышленность, сельское хозяйство, транспорт и железную дорогу. В ряде серий реализована возможность дистанционного контроля и программирования работы по заданному сценарию. Разберем решения MOSO
подробнее>>
SILF
Заголовок сообщения: Re: Работа с 74HC595+ LED матрица 8*8
Заголовок сообщения: Re: Работа с 74HC595+ LED матрица 8*8
Добавлено: Ср апр 06, 2016 11:47:18
Модератор
Карма: 90
Рейтинг сообщений: 1337
Зарегистрирован: Чт мар 18, 2010 23:09:57 Сообщений: 4558 Откуда: Планета Земля
Рейтинг сообщения:0 Медали: 1
SILF, Вы с таким стилем задавания вопросов, никогда нормальных ответов не услышите Реально не понятно, что Вы от нас хотите услышать и в чём у Вас проблема. Какие то отрывки мыслей вслух...
Или не может сформулировать вопрос на русском... Одна часть задачи - обеспечение работы самого дисплея, другая - предобработка данных для отображения. Если взят pic16f628 то вобщем - то достаточно одного регистра по одной из координат и 8 выводов собственно с МК по другой. Частота развертки примерно 62 герца. Собстенно ежли не добавлять всяческих ШИМ-усложнений... Там и счетчик-дешифратора дополнительно 8-битному порту может хватить. Без усяких регистеров...
Если решил на регистрах - да будет. Я сам делал на HC4094 для управления LCD и обслуживание клавиатуръ на том же 628А. Получилось как хотел. При занятъх 5 ножек 628 управляю LCD + 8 кнопок. Мог бъ сделать и на 4 ножек но ето стоило бъ еще одну 4094 или переход на управление LCD по 4-х битной схеме.
_________________ Лом - ето город в Болгарии, а не инструмент юстировки електроники.
;;;;Конфигурируем регистры;;;;; PORTA equ 05h TRISA equ 05h PORTB equ 06h;добавим регистры порта В для кнопок TRISB equ 06h; STATUS equ 03h CMCON equ 1Fh; компаратор PC equ 02h; Счетчик PCL
stroka equ 23h;регистр в который занесем значение для вывода в индикатор0 stolb equ 24h;регистр в который занесем значение для вывода в индикатор0 Count equ 25h;счетчик для IND0 Count1 equ 26h;счетчик для IND0 W equ 0;результат пихаем в аккумулятор F equ 1;результат идет в регистр C equ 0 RP0 equ 5;присваиваем RP0=5
как я понял теперь добавляю в код таблицы из 8ми вариантов каждая типа как снизу показал?
table addwf PC,F retlw b'11111100';0 retlw b'01100000';1 retlw b'11011010';2 retlw b'11110010';3 retlw b'01100110';4 retlw b'10110110';5 retlw b'10111110';6 retlw b'11100000';7 retlw b'11111110';8 retlw b'11110110';9 только как мне играть подгрузкой вариантов из этой таблицы вот что не пойму
Уффф... имеем индикатор 8 позиций по 8 точек; имеем буфер отображения из 8 байт; сооружаем схемку, обеспечивающую физический вывод данных из буфера отображения в индикатор; пишем программку, обеспечивающую обслуживание схемки. запускаем сей девайс в режиме непрерывной регенерации дисплея как подпрограммки, работающей по маркеру от таймера. итого экран готов. Теперь займемся собственно самим изображением. Для отсутствия некорректных проблесков смену содержимого буфера отображения необходимо обеспечить в конце цикла развертки дисплея (флажковый семафор готовности/подтверждения ибо прцесс регенерации и подготовки данных асинхронны). Собственно подготовкой новых данных занимается основная программа. Когда данные в буфере предподготовки готовы выставляется флаг и основная программа приостанавливается (а может и без такового) до обнаружения статуса "данные перенесены". Прожка обработки дисплея узрев флажок готовности новой порции для отображения всего лишь копирует содержимое из буфера предподготовки в буфер отображения и затем сбрасывает флаг запроса. Далее все крутится само-по-себе до готовности новой порции данных. Побочным продуктом развертки при динамической индикации является обработчик клавиатуры, встраиваемый в подпрограмму регенерации. А далее делаем деталировку каждого процесса...
LIST p=16F628a __CONFIG 0x3F6B #include P16F628A.inc ;;;;Конфигурируем регистры;;;;; PORTA equ 05h ;TRISA equ 05h PORTB equ 06h;добавим регистры порта В для кнопок ;TRISB equ 06h; STATUS equ 03h CMCON equ 1Fh; компаратор PC equ 02h; Счетчик PCL
stroka equ 23h;регистр в который занесем значение для вывода в индикатор0 stolb equ 24h;регистр в который занесем значение для вывода в индикатор0 Count equ 25h;счетчик для IND0 Count1 equ 26h;счетчик для IND0 W equ 0;результат пихаем в аккумулятор F equ 1;результат идет в регистр C equ 0 RP0 equ 5;присваиваем RP0=5
CBLOCK 0x60 col ; здесь будем сохранять колону - бегущая ноль row ; что будем въводить c1,c2 ;счетчик tmp_var endc
val1 movlw b'01111111' ;будем вращат ету 0 по байту ;если необходимо можно поставить и ; movlw b'10000000' ;бегущая единица bcf switch ;для всякии случай bcf clock movwf col clrf c1 ;начнем с нуля decf c1,f loop_char movf col,w call to_595_8 ;въсилаен колону to 595 bsf STATUS,C rrf col,f ;next column incf c1,f ;следующии movf c1,w ;для табле call table ;берем инфо с table btfsc STATUS , Z goto end_val1 ;если table return 0 ->exit call to_595_8 ;въсилаем дата к 595 bsf switch nop nop nop bcf switch goto loop_char end_val1 return
to_595_8 movwf tmp_var ;сохранем что будемм въводить movlw 0x08 ; 8 такта movwf c2 loop_to_595 bcf bite ; на вход D 595 rrf tmp_var,F ;получаем следующего бита btfsc STATUS,C ;если он 0 мъ его уже установили bsf bite ; данни за регистъра на вход D 595 ;бит не ноль - здесь устанавливаем его в 1 nop ;чтоб вход D установился bsf clock ;Такт nop nop nop bcf clock ; и маленкая задержка для такта decfsz c2,f goto loop_to_595 ;имеем еще для въвода return
Пътался не трогать твоего кода. Попробуй. Две новъе функции Val1 и to_595_8 PS:Маленко зигрался. Переставил условие въхода в Table на 8-ое место. Иначе будут "бегущие огни" SILF не забъвай про умощнение въхода 595.
_________________ Лом - ето город в Болгарии, а не инструмент юстировки електроники.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения