Индикатор HT1613 / HT1611 (KO-4B)
MBS Electronics >> Схемы и Статьи >> Цифровая электроника >> Микроконтроллеры >> Вольтметр постоянного тока 0..999 вольт
Жидкокристаллический индикатор HT1613 / HT1611 (КО-4В) представляет собой десятиразрядный модуль, предназначенный для использования в домашних телефонах.Индикаторный модуль состоит из ЖКИ десяти разрядного индикатора и микроконтроллера управления. Микросхема и индикатор размещены на одной плате размерами 67×36 мм. Видимая область индикатора 35×12мм. Высота символа 10 мм. Индикаторный модуль предназначен для использования в телефонных аппаратах в качестве индикатора времени и набора. Самостоятельно, при питании от источника 1,5V индикаторный модуль может работать как электронные часы - секундомер. На рисунке приводится схема такого варианта. В режиме часов индицируются часы и минуты, при переходе на «секундомер» измеряется интервал времени от 1 секунды до 59 минут 59 сек. связь с внешним устройством происходит по простому двухпроводному последовательному интерфейсу. Дисплей может отображать 16 символов. Это десятичные цифры плюс пробел и несколько знаков.

Перевести модуль в режим индикатора можно, установив на выводе 5 логический ноль. В режиме цифрового индикатора запись данных происходит по отрицательному фронту CLK (синхроимпульсы) при установленном DI (данные). Заполнение индикатора происходит последовательно от первого знакоместа (от правого) к десятому. Для формирования цифры в одном знакоместе нужно последовательно побитно записать 4-разрядный код, начиная со старшего разряда.
Для полной очистки индикатора нужно установить логический ноль на DI и выдать 40 импульсов CLK. Для того чтобы на индикаторе постоянно индицировались данные их необходимо обновлять не реже, чем один раз в 8 секунд. Иначе индикатор автоматически переключится в режим секундомера.
    

#include <AT89X52.H>
#include "HT1611.h"



unsigned char i1,a,t;

void InitSystem(void);
void DelaySec(unsigned char);

void main(void)
{
InitSystem();
while(1){

for(i1=0;i1<=0xff;i1++){
a=i1;
t=a/100;
PutCharLCD(t|0x30,3);
a-=(t*100);
t=a/10;
PutCharLCD(t|0x30,4);
a-=(t*10);
PutCharLCD(a|0x30,5);
DelaySec(1);
}

ClearLCD();

}
}

void InitSystem(void)
{
CLK=1; DTL=1;
ClearLCD();
}













Пример C кода программы для работы с этим индикатором:

#include <AT89X52.H>
#include "HT1611.h"



unsigned char i1,a,t;

void InitSystem(void);
void DelaySec(unsigned char);

void main(void)
{
InitSystem();
while(1){

for(i1=0;i1<=0xff;i1++){
a=i1;
t=a/100;
PutCharLCD(t|0x30,3);
a-=(t*100);
t=a/10;
PutCharLCD(t|0x30,4);
a-=(t*10);
PutCharLCD(a|0x30,5);
DelaySec(1);
}

ClearLCD();

}
}

void InitSystem(void)
{
CLK=1; DTL=1;
ClearLCD();
}

//--------------------------
//        Delay Sec procedure
//--------------------------
void DelaySec(unsigned char inSec)
{unsigned char de1=0xff,de2=0xff;
while(inSec--)while(de1--)while(de2--);}






Файл main.c
Файл ht1611.c

sbit CLK = P1^0;
sbit DTL = P1^1;

void ClearLCD(void);
void StringLCD(void);
void PutCharLCD(unsigned char, unsigned char);
unsigned char Ascii2HT(unsigned char);


Файл ht1611.h
Посмотреть и скачать datasheet на HT1613
---------
НАШ МАГАЗИН - SHOP.MUSBENCH.COM
Besucherzahler
счетчик посещений
 
 
 
 
 
Карта Сайта