Работа с 74HC595+ LED матрица 8*8

Поклонники продукции Microchip Technology Inc тусуются тут.
SILF
Родился
Сообщения: 16
Зарегистрирован: Вт апр 05, 2016 18:05:00

Работа с 74HC595+ LED матрица 8*8

Сообщение SILF »

Уважаемые форумчане!

не так давно начал изучать PIC , пишу на ассемблере.
Не могу понять как работать с 595 сдвиговым и матрицей.
то есть задвигать через rrf\rlf могу в матрицу, как и в индикатор , но не могу понять как производить заргузку строк столбцов=(

прошу помочь разъяснить на пальцах
пробовал через использование EEPROM
но как производить обновление и сброс 595 не пойму ни как.
допустим при нажатии кнопки чтоб загружался знак.
прошу помочь


вот так задвигаю биты в сдвиговый
sdvig
movlw b'11100011'
movwf REG
movwf REG
bsf switch
bcf switch
m1 bcf clock
bsf bite
btfss REG,0
bcf bite
bsf clock;тактовый импульс
rrf REG,F
decfsz Count,1;уменьшаем на еденицу, достигнув нуля прыгаем на goto sdvig,
goto m1;пока не достигнем 0
btfsc Count,0
goto sdvig
Реклама
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Работа с 74HC595+ LED матрица 8*8

Сообщение Аlex »

SILF писал(а):пробовал через использование EEPROM
А причём тут ЕЕПРОМ ? :roll:
SILF писал(а):разъяснить на пальцах
Первая попавшаяся под руку статья - http://www.rlocman.ru/shem/schematics.html?di=65110 , коих немало в интернете.
Не думаю, что стоит тут всё, уже кем то написанное, переписывать по новой...
Реклама
SILF
Родился
Сообщения: 16
Зарегистрирован: Вт апр 05, 2016 18:05:00

Re: Работа с 74HC595+ LED матрица 8*8

Сообщение SILF »

спасибо, эту статью видел, нам атмега .
у меня пик16f628a и два 74нс595 .
просьба не пинать а помочь понять.
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Работа с 74HC595+ LED матрица 8*8

Сообщение Аlex »

Разницы нет - мега, пик, ... Главное - понять принцип управления регистром. А статьи по этому поводу есть в интернете, разъясняющие "на пальцах" что к чему. Так что, не думаю, что кто-то будет тут их переписывать.
Реклама
Эиком - электронные компоненты и радиодетали
SILF
Родился
Сообщения: 16
Зарегистрирован: Вт апр 05, 2016 18:05:00

Re: Работа с 74HC595+ LED матрица 8*8

Сообщение SILF »

пример на си, пишу на асм, как включить светодиоды через 74hc595 знаю .
не могу понять как именно с led 8*8 работать.

все примеры нахожу именно с fsr адрессацией.
эхх. подскажите, как вгружать сьроики и столбы сразу?
Реклама
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Re: Работа с 74HC595+ LED матрица 8*8

Сообщение otest »

У тебя лед матрица, а я про лед идикатор подумал.
Реклама
SILF
Родился
Сообщения: 16
Зарегистрирован: Вт апр 05, 2016 18:05:00

Re: Работа с 74HC595+ LED матрица 8*8

Сообщение SILF »

просто два вечера туплю в мплабе.
понять немогу :-((
Аватара пользователя
botchin
Поставщик валерьянки для Кота
Сообщения: 2029
Зарегистрирован: Чт дек 27, 2012 20:46:09
Откуда: Болгария, г. Лом

Re: Работа с 74HC595+ LED матрица 8*8

Сообщение botchin »

1. Находим документацию на 595 https://www.nxp.com/documents/data_shee ... HCT595.pdf и изучаем ее.
2. Определяем как будем управлять 595: разделно (каждая по своему) или как один 16-и разряднъй регистр.
В ссълку, что дал Alex , 595 уптавляются как один 16-и разряднъй
3. Создаем схему как в общем будет въглядить. Разделное управление
Изображение (кликабелное)
В въходах нижнего 595 еще буфера нужнъ. Верхнии 595 ето рядъ, нижнии - колонъ
4. Изходя из пункта 1 пишем программу. Примернъй алгоритм
-- Въбираем (разрешаем) 595 ряд (3)
-- заносим внутри 595 информацию
---- на (4) бит инфо
---- на (1) такт
---- восемь раз
-- Запрет ряд (3)
-- Въбираем (разрешаем) 595 колону (5)
-- заносим внутри 595 информацию
---- на (4) бит инфо
---- на (1) такт
---- восемь раз
-- Запрет колона (5)
-- информация на въход (2)

Не забъвай, что в 1. есть минималное время для некоторъх въводах. Их надо соблюдать в зависимости от кварца в обвязки 628А

На 595 колон можно сделать и бегущая 1 (0) в зависимости от индикатора
Лом - ето город в Болгарии, а не инструмент юстировки електроники.
SILF
Родился
Сообщения: 16
Зарегистрирован: Вт апр 05, 2016 18:05:00

Re: Работа с 74HC595+ LED матрица 8*8

Сообщение SILF »

получается делаю два регистра led1 и led2
лед1 передавать в строки а лед2 в столбец?
делаю табблицы с retlw с вприантами строк и столбиков ?
и потом подгруэаю в регистры.
movlw .0
call table
movfw led1
после лед1 толкаю в 595 ый.
как дальше?
отобразил я любую мз строк,столбов
любой светодиод. а как сделать подгрузку
дальше, тоесть динамическую?
SILF
Родился
Сообщения: 16
Зарегистрирован: Вт апр 05, 2016 18:05:00

Re: Работа с 74HC595+ LED матрица 8*8

Сообщение SILF »

такуюю ж схему собрал как
вы показали.
я правильно делаю загрузку? выше писал.
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Re: Работа с 74HC595+ LED матрица 8*8

Сообщение otest »

Составь кодовую таблицу. Например для содержимого столбцов. Записываеш код 1-го столбца потом засвечиваеш его . И т.д.
SILF
Родился
Сообщения: 16
Зарегистрирован: Вт апр 05, 2016 18:05:00

Re: Работа с 74HC595+ LED матрица 8*8

Сообщение SILF »

ага, собрал седня.
восемь получается строк.
и сразу загружатть все 8мь ?
в первом сообщении правилбно задвигаю в сдвиговый595???
SILF
Родился
Сообщения: 16
Зарегистрирован: Вт апр 05, 2016 18:05:00

Re: Работа с 74HC595+ LED матрица 8*8

Сообщение SILF »

о,на схеме вы подаете сразу данные такт и защелку на оба 595. я днем делал из первого с порьа q7 прал дату в второй.
как проще и граммотней?
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Re: Работа с 74HC595+ LED матрица 8*8

Сообщение otest »

Ты же пишеш поджигал леды ?
m1 bcf clock
bsf bite
Сначала байт потом клок
Аватара пользователя
botchin
Поставщик валерьянки для Кота
Сообщения: 2029
Зарегистрирован: Чт дек 27, 2012 20:46:09
Откуда: Болгария, г. Лом

Re: Работа с 74HC595+ LED матрица 8*8

Сообщение botchin »

В 595 колон должно бъть один активнъй въвод 1 или 0 в зависимости от индикатора
Изображение
Смотрим рисунок - нижние два ряда игнорируем - у нас 8 бит
1 колона 0х00
2 колона 0x00
3 - 0х04
4 - 0хCE
5 - 0xEF
6 - 0xEF
7 - 0xCE
8 - 0x04
младшии разряд 595 ряд верхнии край рисунка

делаем
загружаем 0х00 (595 ряд) + 1 колона (595 колона)
загружаем 0х00 (595 ряд) + 2 колона (595 колона)
загружаем 0х04 (595 ряд) + 3 колона (595 колона)
загружаем 0хСЕ (595 ряд) + 4 колона (595 колона)
и т.д.
SILF писал(а):как проще
На 595 колон всегда будет 1 активнъй въвод. Думаю, что правила здесь нет.
Лом - ето город в Болгарии, а не инструмент юстировки електроники.
SILF
Родился
Сообщения: 16
Зарегистрирован: Вт апр 05, 2016 18:05:00

Re: Работа с 74HC595+ LED матрица 8*8

Сообщение SILF »

да, я просто спрашиваю, веоно ли пишу.
clock bite switch это дефайны портов
тоесть я делаю полностью 8 вдвигов строк и на последнем защелкиваю .
и потом делаю также 8 столбов?
счетчиков тогда аж 16 получитс?
тоесть дл каждого байта?
Аватара пользователя
botchin
Поставщик валерьянки для Кота
Сообщения: 2029
Зарегистрирован: Чт дек 27, 2012 20:46:09
Откуда: Болгария, г. Лом

Re: Работа с 74HC595+ LED матрица 8*8

Сообщение botchin »

Схема, что дал, не верная. При запрете по ОЕ въходъ переходят в Z состояние, что не нужно нам

Изображение
Ета вернее
Лом - ето город в Болгарии, а не инструмент юстировки електроники.
SILF
Родился
Сообщения: 16
Зарегистрирован: Вт апр 05, 2016 18:05:00

Re: Работа с 74HC595+ LED матрица 8*8

Сообщение SILF »

всеж с Q7 первого 595 подать на порт дат вьорого 595??
SILF
Родился
Сообщения: 16
Зарегистрирован: Вт апр 05, 2016 18:05:00

Re: Работа с 74HC595+ LED матрица 8*8

Сообщение SILF »

спасибо большое, что помогаете.
по счетчикам count
одного хватит или аж 16 делать
чтоб все 16 байтов запихать побитно яерез сдвиг?
Аватара пользователя
botchin
Поставщик валерьянки для Кота
Сообщения: 2029
Зарегистрирован: Чт дек 27, 2012 20:46:09
Откуда: Болгария, г. Лом

Re: Работа с 74HC595+ LED матрица 8*8

Сообщение botchin »

Вам необходимо в 595 колон иметь всегда 1 (один) активнъй сигнал. Если LED светится при подаче + на ряду и 0 на колоне, то активнъй у вас будет 0. Тогда алгоритм будет такой

595К - колона, 595Р - ряд

-- поготавливаем 595К надо занести 0х7F

next:
-- берем следующии ряд в 595Р
---- na 3 data
---- на 1 такт
-- такт на 2 - информация на въходе
-- на дата единицу -- такт на 595К на 4 - сдвиг активной 0 вправо на 1 разряд
все ли сделано
.....
GOTO next

PS: У вас байтов 8. Въ въводите 8 байтов на указаннъх местах. 1 байт на 1-ую колону и т.д. Колонъ в себя информацию не носят. Они повторяют порядковъй номер байта.

если счетчик до 16 - то тогда информация будет въглядет таким образом - с b обозначаю действителную информацию (в байтах)
bbbbbbbb01111111
bbbbbbbb10111111
bbbbbbbb11011111
bbbbbbbb11101111
bbbbbbbb11110111
bbbbbbbb11111011
bbbbbbbb11111101
bbbbbbbb11111110
Как видиш в правой части ест только сдвиг активного сигнала.
Последний раз редактировалось botchin Вт апр 05, 2016 21:39:12, всего редактировалось 1 раз.
Лом - ето город в Болгарии, а не инструмент юстировки електроники.
Ответить

Вернуться в «PIC»