Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Динамическое управление линейным дисплеем на семисегментных индикаторах в PIC-микроконтроллерах.

Читайте также:
  1. ERP и управление возможностями бизнеса
  2. III. СТРУКТУРА И УПРАВЛЕНИЕ СНО
  3. IV. Управление, руководство, кадры
  4. А.8 Управление внешне поставляемыми продукцией и услугами
  5. Аэродинамическое качество крыла
  6. В соответствии с духовной природой сообщества Анонимных Наркоманов, наша структура должна быть одним из элементов служения, но не управлением.
  7. В. №44. Управление развитием производства в современных условиях.

Для отображения цифровой и буквенной информации в микроконтроллерных системах широко используются семисегментные индикаторы, которые бывают светодиодные, вакуумно-люминесцентные, жидкокристаллические, вакуумно-накаливаемые, газоразрядные. Наибольшее распространение получили семисегментные светодиодные индикаторы (ССДИ) ввиду большой яркости, малыми габаритами, способности работать в широком диапазоне температур, механической прочности. На рис. 1,а показано расположение и обозначение сегментов ССДИ. Семь отображающих элементов позволяют высвечивать десятичные и шестнадцатиричные цифры, некоторые буквы латинского и русского алфавитов, а также некоторые специальные знаки. При формировании, например, цифры 3 будут подсвечиваться сегменты a, b, c, d и g, а сегменты e и f останутся темными. При формировании буквы F будут подсвечиваться сегменты a, e, f и g, а темными останутся сегменты b, c и d.

По способу соединения отдельных светодиодов в ССДИ различают индикаторы с общими катодами (ОК) и с общими анодами (ОА). Их схемы внутренних соединений показаны на рис. 1,б, в. На рис. 1,г приведено условное графическое изображение ССДИ.

Рис. 1. Семисегментный светодиодный индикатор: а) - условное обозначение сегментов; б) индикатор с общими катодами (ОК); в) индикатор с общими анодами (ОА); г) условное графическое обозначение на схемах

При формировании символов в ССДИ требуются специальные семисегментные коды, которые отличаются от обычных позиционных двоичных кодов, используемых в МК. Для получения семисегментных кодов могут быть применены два метода:

1) аппаратурный;

2) программный.

Аппаратурный метод основан на использовании специальных микросхем преобразователей кодов, которые преобразуют двоичный позиционный код в семисегментный. В качестве таких преобразователей наиболее широко применяются микросхемы КР514ИД1 и КР514ИД2, которые обычно называют дешифраторами кода.

Микросхема КР514ИД1 используется для индикаторов с ОК, а КР514ИД2 – для индикаторов с ОА. Недостатком этих дешифраторов является то, что они позволяют получить только семисегментные коды десятичных цифр от 0 до 9. При этом на их входы должен подаваться двоично-десятичный код.

Программный метод получения семисегментного кода основан на том, что каждому сегменту индикатора поставлен в соответствие определенный бит D7, D6,…, D0 байта. Для индикаторов с ОК принято, что если этот бит равен 1, то сегмент светится. Определенные комбинации единичных значений битов формируют на индикаторе отображаемый символ, как это приведено в табл. 1.

Семисегментные коды для отображения символов от 0 до 9 для индикаторов с ОК

D7 h D6 g D5 f D4 e D3 d D2 c D1 b D0 a HEX Сим- Вол
3F … 6F

Таблица семисегментных кодов обычно хранится в памяти программ.

Для отображения многосимвольной информации используются линейные (однострочные) дисплеи. Такие дисплеи представляют собой “линейку”, смонтированную из отдельных ССДИ. Число знакомест (позиций или разрядов) дисплея определяется в соответствии с требованиями к МКС.

Существует два способа организации МК с линейными дисплеями: статический и динамический (мультиплексный).

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

Второй способ (динамический) основан на том, что любой световой индикатор является инерционным прибором, а человеческому глазу отображаемая на дисплее информация, если ее обновлять с частотой не менее 20 раз в секунду, представляется неизменной. Динамический способ вывода информации на дисплей требует значительно меньших аппаратных затрат, но более сложного программного обеспечения.

rom near char table[ ] =

{

0x3F, 0x06, 0x5B,0x4F, 0x66, 0x6D,0x7D,0x07, 0x7F, 0x6F,

};

char count; // переменная-счетчик

void main(void)

{

char select; // код для выбора индикатора (его включения)

char a; // переменная-счетчик индикаторов дисплея

PORTB = 0xFF;

TRISB = 0; // настроить порт В на вывод

PORTC = 0;

TRISC = 0; // настроить порт С на вывод

count = 0;

while(1) // бесконечный цикл вывода на дисплей

{

/* вывод цифр одновременно на все индикаторы дисплея */

POTRB = 0xFF; // гашение дисплея

PORTC = table[ count ]; // вывод на сегменты индикаторов

PORTB &= 0b11110000; // включение индикаторов дисплея

Delay10KTCYx(50); // задержка на 0,5 секунды

/* вывод цифр поочередно на индикаторы дисплея*/

select = 0b11111110; // код для выбора 1-го индикатора

for (a = 0; a < 4; a++)

{

POTRB = 0xFF; // гашение дисплея

PORTC = table[ count ]; // вывод на сегменты индикаторов

PORTB = select; // включение индикатора

select = (select << 1) | 0b00000001; // сдвиг кода влево и вставка 1 в младший разряд

Delay10KTCYx(50); // задержка на 0,5 секунды

}

count++; // следующая цифра для вывода

if(count >= 10)

count = 0;

} }

 


Дата добавления: 2015-12-07; просмотров: 229 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.007 сек.)