Главная » Статьи » Proton PICBasic

Статическая индикация. Пример 5 – Управление 3 + nРазр.
Рассмотрим пример организации статической индикации на уже знакомом сдвиговом регистре 74HC595. Данный вид индикации имеет свои преимущества перед динамической, но также и свои недостатки.

Достоинства:
1. Для управления от МК необходимы только три вывода независимо от количества разрядов.
2. Полное отсутствие моргания индикаторов: например, не нужно заморачиваться с прерываниями для организации вывода информации на экран. Вывели цифры разом и забыли до следующего вывода – защелка данных держит отображаемую информацию.
3. Все общие аноды/катоды подключены к одной точке, что позволяет управлять общей яркостью через вывод ШИМ (при наличии усиливающего транзистора по питанию индикаторов).

Недостатки:
1. И самый главный – один разряд – один одиночный индикатор, одна микросхема, 8 резисторов; 2 разряда – два одиночных индикатора, две микросхемы, 16 резисторов; и т. д.
2. Если при динамической индикации в любое время горит только один из разрядов (на то она и динамическая), то при статической индикации горят сразу все разряды. Соответственно энергопотребление пропорционально количеству подключаемых разрядов. Исходя из максимально допустимого тока по линии Vcc для сдвигового регистра в 70мА получим 6х70=420мА для линейки из шести разрядов (при условии, что на сегмент разряда приходится70/8=8,75мА).

Организация вывода полностью соответствует приведенной в примере 2. Последовательно загоняем цифры в регистры по алгоритму: крайняя справа цифра в последний регистр и т. д. Когда все цифры загнаны и стоят на своих местах – зажжем их. Для этого подадим импульс на вход защелки. Отображаемые цифры останутся до того момента, пока мы снова не загоним новую партию цифр и не подадим импульс для защелкивания.

При своих недостатках, статическая индикация все же найдет свое применение в определенных проектах, поскольку очень просто ее реализовать программно.

Собственно схема:


Исходный код организации счета:

Device 16F876A 
Config CP_OFF, DEBUG_OFF, WRT_OFF, CPD_OFF, LVP_OFF, BODEN_OFF, PWRTE_ON, WDT_OFF, HS_OSC 
'-------------------------------- -----Предустановки--------------------------------------------- 
Xtal 4 
Declare All_Digital = 1 
Declare PortB_Pullups = OFF 'Выключить подтягивающие резисторы на PORTB 
Declare CCP1_Pin PORTC.2 'Вывод для HPWM модуля CCP1 
Declare CCP2_Pin PORTC.1 'Вывод для HPWM модуля CCP2 
'-------------------------------------Настройки портов---------------------------------------------- 
TRISA = %00111111 
TRISB = %11111000 
TRISC = %11111111 
PORTB = %00000000 
PORTC = %00000000 
'-----------------------------------Конфигурация переменных----------------------------------------- 
Symbol DS PORTB.0 'Вход данных для сдвигового регистра 
Symbol SH_CP PORTB.1 'Вход тактовых импульсов для сдвигового регистра 
Symbol ST_CP PORTB.2 'Защелка сдвигового регистра 
Dim Value As Byte 'Переменная для преобразования табличной конвертации 
Dim n As Byte 'Переменная для выделения из числа цифры разряда 
Dim i As Word 'Переменная организации счетчика цифр 
Dim j As Word 'Переменная организации счетчика задержки 
HPWM 2, 200, 1000 'Сгенерировать ШИМ сигнал для засветки индикатора 
'-------------------------------------Главная программа--------------------------------------------- 
Start: 
For i = 0 To 9999 
For j = 0 To 30 
GoSub Ind 
DelayMS 1 
Next j 
Next i 
GoTo Start 
'---------------------------------Подпрограмма индикации-------------------------------------------- 
Ind: 
n = i Dig 0: GoSub Convert: SHOut DS, SH_CP, msbfirst, [Value] 
n = i Dig 1: GoSub Convert: SHOut DS, SH_CP, msbfirst, [Value] 
n = i Dig 2: GoSub Convert: SHOut DS, SH_CP, msbfirst, [Value] 
n = i Dig 3: GoSub Convert: SHOut DS, SH_CP, msbfirst, [Value] 
PulsOut ST_CP, 10 
Return 
'----------------------------Подпрограмма табличной конвертации------------------------------------- 
Convert: 
Value = LookUp n, [192,249,164,176,153,146,130,248,128,144,156] ' Для схемы индикаторов с ОА 
'Value = LookUpL n, [63,6,91,79,102,109,125,7,127,111] ' Для схемы индикаторов с ОК 
Return 


Вот и все.




Категория: Proton PICBasic | Добавил: S_moke (17.04.2012)
Просмотров: 9854 | Комментарии: 3 | Рейтинг: 3.5/2
Всего комментариев: 3
1 Andriy76   (17.04.2012 20:30)
Пока не вникал , но написано довольно понятно .
Я за примеры . Возможно в будущих разработках пригодиться
Так держать .

2 amid-   (08.05.2012 10:49)
А почему бы ШИМ не посадить прямо к регистрам ноге 13(ОЕ) и обойтись без дополнительного транзистора при больших нагрузках.

3 доцент2   (11.01.2013 17:58)
Пример действительно хороший. Спасибо!!!
Частенько приходиться много времени тратить на то, что уже есть.
По польше бы примеров с подробными коментариями.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]