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

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: demanik, ivan_fd  
Нужна помощь с работой 7-ми сегментног индикатора на TM1637
DeAKsin Дата: Пт, 05.09.2025, 19:50  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Новенький
Сообщений: 6
Репутация: 0   ±
Замечания:   ±
На сайте с 27.03.2012

Статус: Offline

Попытался заставить работать индикатор на TM1637.
В Proteus все великолепно работает. В железе - никак! только светодиодом моргает

Device = 12F675             ' Выберем микроконтроллер
Declare Xtal= 20             ' Частота генератора
Declare Reminders = Off

Config CPD_OFF, CP_OFF, MCLRE_ON, PWRTE_OFF, BODEN_ON, WDT_OFF, HS_OSC

Declare Reminders = On
Declare All_Digital = On
Declare Create_Coff = On

TRISIO = %000000 : GPIO = %000000
CMCON = 7                   ' Компаратор нам не нужен, отключим его
ANSEL = 0         ' Устанавливаем выводы как цифровые порты ввода-вывода
'****************************************************************
Dim DIG1_DATA1 As Byte
Dim DIG2_DATA2 As Byte
Dim DIG3_DATA3 As Byte
Dim DIG4_DATA4 As Byte
Dim DIG5_DATA5 As Byte
Dim DIG6_DATA6 As Byte
Dim X As Byte
Dim OP_VAR1    As Word
Dim DIGIT      As Byte
Dim PATTERN    As Byte
'****************************************************************
Declare SDA_Pin  GPIO.1
Declare SCL_Pin  GPIO.0
Declare Slow_Bus On         ' Замедлим скорость передачи данных по шины шины I2C так как кварц > 4 MHz
'***************************************************************
OP_VAR1 = 1234
'****************************************************************
MAIN:
BStart                      ' BStart is comment tm 1637 is not initialise
BReStart                    ' BreStart is comment tm 1637 is not initialise
GoSub Update_Display
DelayMS 20
X = X + 1
If X >= 20 Then X = 0 : Toggle GPIO.2
GoTo MAIN
'****************************************************************
Update_Display:
BStart                      ' COMMAND 1
BusOut %01000100            ' Data command setting
BStop
BStart                      ' COMMAND 3
BusOut %10001111            ' Display control
BStop
'----------------------------------------------------------------
DIGIT = Dig OP_VAR1,3
GoSub CONVERT
DIG3_DATA3 = PATTERN
'----------------------------------------------------------------
DIGIT = Dig OP_VAR1,2
GoSub CONVERT
DIG4_DATA4 = PATTERN
'----------------------------------------------------------------
DIGIT = Dig OP_VAR1,1
GoSub CONVERT
DIG5_DATA5 = PATTERN
'----------------------------------------------------------------
DIGIT = Dig OP_VAR1,0
GoSub CONVERT
DIG6_DATA6 = PATTERN
'----------------------------------------------------------------
BStart
BusOut %00000011            ' dig 1
BusOut DIG1_DATA1
BStop
'----------------------------------------------------------------
BStart
BusOut %10000011            ' dig 2
BusOut DIG2_DATA2
BStop
'----------------------------------------------------------------
BStart
BusOut %01000011            ' dig 3
BusOut DIG3_DATA3
BStop
'----------------------------------------------------------------
BStart
BusOut %11000011            ' dig 4
'BusOut DIG4_DATA4 + 1       ' Разделительная точка (+ 1 FOR DP)
BusOut DIG4_DATA4
BStop
'----------------------------------------------------------------
BStart
BusOut %00100011            ' dig 5
BusOut DIG5_DATA5
BStop
'----------------------------------------------------------------
BStart
BusOut %10100011            ' dig 6
BusOut DIG6_DATA6
BStop
Return
'****************************************************************
CONVERT:               ' 0  1   2   3   4   5   6  7   8   9
PATTERN=LookUpL DIGIT,[$FC,$60,$DA,$F2,$66,$B6,$BE,$E0,$FE,$F6]
Return
'****************************************************************

Что не так?
Прикрепления: 4533633.jpg (95.7 Kb)

Сообщение отредактировал DeAKsin - Пт, 05.09.2025, 19:53
ЯНДЕКС Дата: 05.09.2025
Unicorn Дата: Пт, 05.09.2025, 20:27  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 26
Репутация: 6   ±
Замечания:   ±
На сайте с 27.10.2014

Статус: Offline

Привет. Это читали https://picbasic.ru/forum/9-1817-1 микросхема чуть другая, но принцип работы такой же. Может поможет.
dimvad Дата: Сб, 06.09.2025, 16:51  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 84
Репутация: 54   ±
Замечания:   ±
На сайте с 20.07.2012

Статус: Offline

Написал, ответ не добавился

Добавлено (06.09.2025, 16:54)
---------------------------------------------
В этих модулях на шинах SDA и SCL конденсаторы висят на землю, зачем-то. Они заваливают фронты. Осциллом это видно. Если их убрать, то все заработает.

dimvad Дата: Сб, 06.09.2025, 16:58  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 84
Репутация: 54   ±
Замечания:   ±
На сайте с 20.07.2012

Статус: Offline

Вот здесь они были
Прикрепления: 0806577.jpg (51.3 Kb)
DeAKsin Дата: Вс, 07.09.2025, 09:03  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Новенький
Сообщений: 6
Репутация: 0   ±
Замечания:   ±
На сайте с 27.03.2012

Статус: Offline

dimvad, спасибо. Разбираюсь
  • Страница 1 из 1
  • 1
Поиск: