Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Модератор форума: demanik  
Форум Picbasic.ru » Программирование МК » Proton PicBasic » PIC+74CH595 (Опять LED индикатор и регистр 74CH595)
PIC+74CH595
PINCOD Дата: Ср, 30.11.2016, 09:11  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 37
Репутация: 1   ±
Замечания:   ±
На сайте с 05.10.2011

Статус: Offline

Всем доброго времени суток друзья.Не хотел ни кого тревожить,но решил с экономить на ногах камня и пристроил регистр 74CH595.Но при отображении для пробы числа 1234,почему то получается такая картина 1233.Не пойму где в коде косяк?Буду рад кого - нибудь услышать

  Device = 16F628A
  Xtal = 4 ;частота кварца 4МГц
  'Declare Create_Coff = 1
  Reminders = 0
  Config BODEN_OFF, BOREN_OFF, CP_OFF, DATA_CP_OFF, PWRTE_ON, WDT_OFF, LVP_OFF, MCLRE_OFF, XT_OSC
  Reminders = 1
  Declare All_Digital = On 
  Declare PortB_Pullups = OFF           
  TRISA = %00000000
  TRISB = %00000000
  CMCON = 7 'Компаратор нам не нужен, отключим ...  
'--------------------------------------------------------------------------------------------------- 
Symbol SH_CP = PORTB.7 ;порт управления регистром    
Symbol DS    = PORTB.6 ;порт управления регистром
Symbol ST_CP = PORTB.5 ;порт управления регистром
Symbol RAZ1  = PORTB.1 ;порт упр.1 разрядом индикатора
Symbol RAZ2  = PORTB.2 ;порт упр.2 разрядом индикатора
Symbol RAZ3  = PORTB.3 ;порт упр.3 разрядом индикатора
Symbol RAZ4  = PORTB.4 ;порт упр.4 разрядом индикатора 
'---------------------------------------------------------------------------------------------------    
Dim N As Byte     'для выделения цифры из числа
Dim Value As Byte 'Переменная для осуществления табличного конвертирования цифры
Dim RAZR As Byte  'переменная для управления табличного конвертирования разрядами ССИ
Dim A As Dword    ;переменная № разряда
Dim B As Byte     ;переменная для общего счета                           
A = 1234

  
'-------------------------------Инициализация микроконтроллера--------------------------------------
MAIN:   

GoSub Indic

GoTo MAIN
Indic:
'---------------Зажигание первого справа разряда индикатора и вывод на него цифры------------------- 
N = 1'Dig A,3 'Выделяем из числа 1-ю с права цифру
GoSub Convert 'и конвертируем в код ССИ  
SHOut DS, SH_CP, MsbFirst, [Value]'Проталкиваем в регистр семисегментный код
 
RAZ1 = 1 : RAZ2 = 0 : RAZ3 = 0 : RAZ4 = 0 ;зажигаем 1 разряд
ST_CP = 1 'Защелкиваем данные
DelayMS 4 
ST_CP = 0 'Обнуляем защелку данных

'---------------Зажигание второго справа разряда индикатора и вывод на него цифры------------------- 
N = 2'Dig A,2 'Выделяем из числа 2-ю с права цифру 
GoSub Convert 'и конвертируем в код ССИ  
SHOut DS, SH_CP, MsbFirst, [Value]'Проталкиваем в регистр семисегментный код
 
RAZ1 = 0 : RAZ2 = 1 : RAZ3 = 0 : RAZ4 = 0 ;зажигаем 2 разряд
ST_CP = 1 'Защелкиваем данные
DelayMS 4 
ST_CP = 0 'Обнуляем защелку данных

'---------------Зажигание третьего справа разряда индикатора и вывод на него цифры------------------ 
N = 3'Dig A,1 'Выделяем из числа 3-ю с права цифру 
GoSub Convert 'и конвертируем в код ССИ 
SHOut DS, SH_CP, MsbFirst, [Value]'Проталкиваем в регистр семисегментный код
 
RAZ1 = 0 : RAZ2 = 0 : RAZ3 = 1 : RAZ4 = 0  ;зажигаем 3 разряд
 
ST_CP = 1 'Защелкиваем данные
DelayMS 4 
ST_CP = 0 'Обнуляем защелку данных

 
'---------------Зажигание четвертого справа разряда индикатора и вывод на него цифры---------------- 
N = 4'Dig A,0 'Выделяем из числа 4-ю с права цифру 
GoSub Convert 'и конвертируем в код ССИ  
SHOut DS, SH_CP, MsbFirst, [Value]'Проталкиваем в регистр семисегментный код
 
RAZ1 = 0 : RAZ2 = 0 : RAZ3 = 0 : RAZ4 = 1  ;зажигаем 4 разряд
ST_CP = 1 'Защелкиваем данные
DelayMS 4 
ST_CP = 0 'Обнуляем защелку данных

Return 
'----------------------------------------------------------------------------------------------------  

Convert: 

Value = LookUp N, [192,249,164,176,153,146,130,248,128,144]'156] 'маска для ССИ с общ.анодом

'Value = LookUp N, [63,6,91,79,102,109,124,7,127,103]   'маска для ССИ с общ.катодом

Return 
'---------------------------------------------------------------------------------------------------
Прикрепления: 0862037.jpg(330.2 Kb) · PIC74HC595.dsn(93.4 Kb) · PIC74HC595.bas(3.5 Kb)

Сообщение отредактировал PINCOD - Ср, 30.11.2016, 12:25
ЯНДЕКС Дата: 30.11.2016
Anatoliy1000 Дата: Вт, 06.11.2018, 13:03  |                                                                                                                Сообщение # 16
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 92
Репутация: 0   ±
Замечания:   ±
На сайте с 02.03.2016

Статус: Offline

Что-то очень близкое к нужному, но не пойму в чем проблема.
Схема появления чисел:
0--0
-1--
---- пауза
3--3
--4-
--5-
6---
----пауза
----
----


Я новичок. За помощь стараюсь плюсовать репутацию (пока других способов сказать спасибо не знаю).
Сообщение отредактировал Anatoliy1000 - Вт, 06.11.2018, 13:06
ЯНДЕКС Дата: 06.11.2018
ivan_fd Дата: Вт, 06.11.2018, 16:16  |                                                                                                                Сообщение # 17
Группа: Модераторы
Ранг:  Специалист
Сообщений: 1009
Репутация: 82   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Абсолютно ничего близкого.
Вы понимаете как работает динамическая индикация???

Набросал Вам пример, по быстрому, с прерыванием и файл протеуса.
Изучайте.
Прикрепления: DynamicInd.zip(49.1 Kb)


Меня все время преследуют умные мысли...но я быстрее!!!
Aleksey_174 Дата: Вт, 06.11.2018, 16:36  |                                                                                                                Сообщение # 18
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 52
Репутация: 8   ±
Замечания:   ±
На сайте с 22.01.2017

Статус: Offline

Хреновый дисплей, с ним все время надо разговаривать, не могли Китайцы нормальный сделать.
Начал делать проект оказалось все уже есть готовое да еще и на таком же пике и с такими же микросхемами и на этом самом сайтеAnatoliy1000, плохо ты искал.
Раз уж начал выкладываю на протеусе.
Прикрепления: 4BitDisplay.rar(31.6 Kb)
Anatoliy1000 Дата: Ср, 07.11.2018, 05:22  |                                                                                                                Сообщение # 19
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 92
Репутация: 0   ±
Замечания:   ±
На сайте с 02.03.2016

Статус: Offline

К сожалению ни один из примеров у меня не "пошел".
Даже не знаю на что подумать. Может модуль глючный?


Я новичок. За помощь стараюсь плюсовать репутацию (пока других способов сказать спасибо не знаю).
Aleksey_174 Дата: Ср, 07.11.2018, 08:25  |                                                                                                                Сообщение # 20
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 52
Репутация: 8   ±
Замечания:   ±
На сайте с 22.01.2017

Статус: Offline

А что не пошло, что показывал или нет поподробней можно  wink
Anatoliy1000 Дата: Ср, 07.11.2018, 17:19  |                                                                                                                Сообщение # 21
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 92
Репутация: 0   ±
Замечания:   ±
На сайте с 02.03.2016

Статус: Offline

Абра кадабра скачет.
А по примеру Ивана не завелся протеус, так как у меня версия 8.3, а нужно 8.6. (у него).


Я новичок. За помощь стараюсь плюсовать репутацию (пока других способов сказать спасибо не знаю).
ivan_fd Дата: Ср, 07.11.2018, 21:14  |                                                                                                                Сообщение # 22
Группа: Модераторы
Ранг:  Специалист
Сообщений: 1009
Репутация: 82   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Так залейте в железо.

Меня все время преследуют умные мысли...но я быстрее!!!
Aleksey_174 Дата: Чт, 08.11.2018, 04:31  |                                                                                                                Сообщение # 23
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 52
Репутация: 8   ±
Замечания:   ±
На сайте с 22.01.2017

Статус: Offline

Может у тебя диспле
Цитата Anatoliy1000 ()
Абра кадабра скачет.
Может у тебя индикатор с общим анодом попробуй поменять, на эту строку
Код
Value = LookUp N, [192,249,164,176,153,146,130,248,128,144]'156] 'маска для ССИ с общ.анодом

Добавлено (08.11.2018, 05:07)
---------------------------------------------
И проверь правильность подключения:
RCLK - это защелка (SS,
ST_CP); SCLK - тактовый (CLK, SH_CP); а QH - остается пин данных (SDI, DS)

ivan_fd Дата: Чт, 08.11.2018, 10:37  |                                                                                                                Сообщение # 24
Группа: Модераторы
Ранг:  Специалист
Сообщений: 1009
Репутация: 82   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Цитата Aleksey_174 ()
попробуй поменять, на эту строку
Эта строка не поможет (к стати она у Вас и прописана), нужно еще разряды инвертировать.
Строка Value = LookUp digt, [192,249,164,176,153,146,130,248,128,144] для индикатора с общим анодом.


Меня все время преследуют умные мысли...но я быстрее!!!
Anatoliy1000 Дата: Чт, 08.11.2018, 19:44  |                                                                                                                Сообщение # 25
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 92
Репутация: 0   ±
Замечания:   ±
На сайте с 02.03.2016

Статус: Offline

Кодировку пробовал и для анода и для катода. Не идёт.
Инвертировать разряды есть смысл если бы они были не на своих местах. А так зачем?
В железо залью ваш вариант завтра. Сегодня был выходной.


Я новичок. За помощь стараюсь плюсовать репутацию (пока других способов сказать спасибо не знаю).
Сообщение отредактировал Anatoliy1000 - Чт, 08.11.2018, 19:46
Aleksey_174 Дата: Пт, 09.11.2018, 07:51  |                                                                                                                Сообщение # 26
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 52
Репутация: 8   ±
Замечания:   ±
На сайте с 22.01.2017

Статус: Offline

Тогда так
Прикрепления: 6862282.rar(48.6 Kb)
Anatoliy1000 Дата: Сб, 10.11.2018, 08:20  |                                                                                                                Сообщение # 27
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 92
Репутация: 0   ±
Замечания:   ±
На сайте с 02.03.2016

Статус: Offline

Цитата Aleksey_174 ()
Прикрепления: 4BitDisplay.rar(31.6 Kb)
Архив поврежден. Может у меня руки кривые?

Добавлено (10.11.2018, 09:02)
---------------------------------------------

Цитата ivan_fd ()
Так залейте в железо.
Выполнил. Результат.
К сожалению ни чего не получается.


Я новичок. За помощь стараюсь плюсовать репутацию (пока других способов сказать спасибо не знаю).
доцент2 Дата: Сб, 10.11.2018, 11:11  |                                                                                                                Сообщение # 28
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 423
Репутация: 7   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

Посмотрите мой пример, может поможет.
Прикрепления: _pic12f675_595_.bas(4.7 Kb)
Anatoliy1000 Дата: Вт, 13.11.2018, 10:10  |                                                                                                                Сообщение # 29
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 92
Репутация: 0   ±
Замечания:   ±
На сайте с 02.03.2016

Статус: Offline

Цитата доцент2 ()
Посмотрите мой пример
К сожалению вообще молчание


Я новичок. За помощь стараюсь плюсовать репутацию (пока других способов сказать спасибо не знаю).
доцент2 Дата: Вт, 13.11.2018, 13:39  |                                                                                                                Сообщение # 30
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 423
Репутация: 7   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

Цитата Anatoliy1000 ()
К сожалению вообще молчание
Странно, у меня все работает в железе.
Вы под свой контроллер 628А переделали?
Смотрите подключение или загоните в протеус.

Сообщение отредактировал доцент2 - Вт, 13.11.2018, 13:42
Форум Picbasic.ru » Программирование МК » Proton PicBasic » PIC+74CH595 (Опять LED индикатор и регистр 74CH595)
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск: