Работа с 74HC595+ LED матрица 8*8
Работа с 74HC595+ LED матрица 8*8
Уважаемые форумчане!
не так давно начал изучать 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
не так давно начал изучать 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
А причём тут ЕЕПРОМ ?SILF писал(а):пробовал через использование EEPROM
Первая попавшаяся под руку статья - http://www.rlocman.ru/shem/schematics.html?di=65110 , коих немало в интернете.SILF писал(а):разъяснить на пальцах
Не думаю, что стоит тут всё, уже кем то написанное, переписывать по новой...
Re: Работа с 74HC595+ LED матрица 8*8
спасибо, эту статью видел, нам атмега .
у меня пик16f628a и два 74нс595 .
просьба не пинать а помочь понять.
у меня пик16f628a и два 74нс595 .
просьба не пинать а помочь понять.
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Работа с 74HC595+ LED матрица 8*8
Разницы нет - мега, пик, ... Главное - понять принцип управления регистром. А статьи по этому поводу есть в интернете, разъясняющие "на пальцах" что к чему. Так что, не думаю, что кто-то будет тут их переписывать.
Re: Работа с 74HC595+ LED матрица 8*8
пример на си, пишу на асм, как включить светодиоды через 74hc595 знаю .
не могу понять как именно с led 8*8 работать.
все примеры нахожу именно с fsr адрессацией.
эхх. подскажите, как вгружать сьроики и столбы сразу?
не могу понять как именно с led 8*8 работать.
все примеры нахожу именно с fsr адрессацией.
эхх. подскажите, как вгружать сьроики и столбы сразу?
- Реклама
Re: Работа с 74HC595+ LED матрица 8*8
У тебя лед матрица, а я про лед идикатор подумал.
Re: Работа с 74HC595+ LED матрица 8*8
просто два вечера туплю в мплабе.
понять немогу
(
понять немогу
- botchin
- Поставщик валерьянки для Кота
- Сообщения: 2029
- Зарегистрирован: Чт дек 27, 2012 20:46:09
- Откуда: Болгария, г. Лом
Re: Работа с 74HC595+ LED матрица 8*8
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) в зависимости от индикатора
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) в зависимости от индикатора
Лом - ето город в Болгарии, а не инструмент юстировки електроники.
Re: Работа с 74HC595+ LED матрица 8*8
получается делаю два регистра led1 и led2
лед1 передавать в строки а лед2 в столбец?
делаю табблицы с retlw с вприантами строк и столбиков ?
и потом подгруэаю в регистры.
movlw .0
call table
movfw led1
после лед1 толкаю в 595 ый.
как дальше?
отобразил я любую мз строк,столбов
любой светодиод. а как сделать подгрузку
дальше, тоесть динамическую?
лед1 передавать в строки а лед2 в столбец?
делаю табблицы с retlw с вприантами строк и столбиков ?
и потом подгруэаю в регистры.
movlw .0
call table
movfw led1
после лед1 толкаю в 595 ый.
как дальше?
отобразил я любую мз строк,столбов
любой светодиод. а как сделать подгрузку
дальше, тоесть динамическую?
Re: Работа с 74HC595+ LED матрица 8*8
такуюю ж схему собрал как
вы показали.
я правильно делаю загрузку? выше писал.
вы показали.
я правильно делаю загрузку? выше писал.
Re: Работа с 74HC595+ LED матрица 8*8
Составь кодовую таблицу. Например для содержимого столбцов. Записываеш код 1-го столбца потом засвечиваеш его . И т.д.
Re: Работа с 74HC595+ LED матрица 8*8
ага, собрал седня.
восемь получается строк.
и сразу загружатть все 8мь ?
в первом сообщении правилбно задвигаю в сдвиговый595???
восемь получается строк.
и сразу загружатть все 8мь ?
в первом сообщении правилбно задвигаю в сдвиговый595???
Re: Работа с 74HC595+ LED матрица 8*8
о,на схеме вы подаете сразу данные такт и защелку на оба 595. я днем делал из первого с порьа q7 прал дату в второй.
как проще и граммотней?
как проще и граммотней?
Re: Работа с 74HC595+ LED матрица 8*8
Ты же пишеш поджигал леды ?
m1 bcf clock
bsf bite
Сначала байт потом клок
m1 bcf clock
bsf bite
Сначала байт потом клок
- botchin
- Поставщик валерьянки для Кота
- Сообщения: 2029
- Зарегистрирован: Чт дек 27, 2012 20:46:09
- Откуда: Болгария, г. Лом
Re: Работа с 74HC595+ LED матрица 8*8
В 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 колона)
и т.д.

Смотрим рисунок - нижние два ряда игнорируем - у нас 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 колона)
и т.д.
На 595 колон всегда будет 1 активнъй въвод. Думаю, что правила здесь нет.SILF писал(а):как проще
Лом - ето город в Болгарии, а не инструмент юстировки електроники.
Re: Работа с 74HC595+ LED матрица 8*8
да, я просто спрашиваю, веоно ли пишу.
clock bite switch это дефайны портов
тоесть я делаю полностью 8 вдвигов строк и на последнем защелкиваю .
и потом делаю также 8 столбов?
счетчиков тогда аж 16 получитс?
тоесть дл каждого байта?
clock bite switch это дефайны портов
тоесть я делаю полностью 8 вдвигов строк и на последнем защелкиваю .
и потом делаю также 8 столбов?
счетчиков тогда аж 16 получитс?
тоесть дл каждого байта?
- botchin
- Поставщик валерьянки для Кота
- Сообщения: 2029
- Зарегистрирован: Чт дек 27, 2012 20:46:09
- Откуда: Болгария, г. Лом
Re: Работа с 74HC595+ LED матрица 8*8
Схема, что дал, не верная. При запрете по ОЕ въходъ переходят в Z состояние, что не нужно нам
Ета вернее
Ета вернее
Лом - ето город в Болгарии, а не инструмент юстировки електроники.
Re: Работа с 74HC595+ LED матрица 8*8
всеж с Q7 первого 595 подать на порт дат вьорого 595??
Re: Работа с 74HC595+ LED матрица 8*8
спасибо большое, что помогаете.
по счетчикам count
одного хватит или аж 16 делать
чтоб все 16 байтов запихать побитно яерез сдвиг?
по счетчикам count
одного хватит или аж 16 делать
чтоб все 16 байтов запихать побитно яерез сдвиг?
- botchin
- Поставщик валерьянки для Кота
- Сообщения: 2029
- Зарегистрирован: Чт дек 27, 2012 20:46:09
- Откуда: Болгария, г. Лом
Re: Работа с 74HC595+ LED матрица 8*8
Вам необходимо в 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
Как видиш в правой части ест только сдвиг активного сигнала.
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 раз.
Лом - ето город в Болгарии, а не инструмент юстировки електроники.


