#include <tiny2313.h>
/*
#define LCD_E PORTC_Bit4
#define LCD_RW PORTC_Bit5
#define LCD_RS PORTC_Bit6
#define LCD_DATA PORTC
#define LCD_PIN PINC
#define LCD_DDR DDRC
*/
#define E PORTD.2
#define WR PORTD.1
#define RS PORTD.0
#define LCD_DATA PORTD
#define LCD_PIN PIND
#define LCD_DDR DDRD
#define CLRBIT(ADDR, BIT) (ADDR |= (1<<BIT))
#define SETBIT(ADDR, BIT) (ADDR &= ~(1<<BIT))
char ini_cmd[]={0x03,0x03,0x03,0x02,0x02,0x0d,0x00,0x0d,0x00,0x01,0x00,0x06};
//==================================
void Delay(int i) // программная задержка
{
while(--i>0x00);
}
//===============================
void SendDataToDisplay(unsigned char Data, unsigned char Mode)
{
//PORTB - 8bit Data
/*PORTD - PD0 - RS
PD1 - RW
PD2 - E */
CLRBIT(PORTD,E);
if (Mode)
SETBIT(PORTD,RS);
else
CLRBIT(PORTD,RS);
PORTB = Data;
CLRBIT(PORTD,WR);
SETBIT(PORTD,E);
Delay(4);
CLRBIT(PORTD,E);
}
//========================
void DisplayInit(void)
{
Delay(30);
SendDataToDisplay(0x30,1); //режим работы дисплея – ширина шины данных 8 бит
Delay(5);
SendDataToDisplay(0x30,1);
Delay(1);
SendDataToDisplay(0x30,1);
SendDataToDisplay(0x38,1); // шина данных 8 бит
//размер развертки 2 строки
//размер матр. Символов – 5х10
SendDataToDisplay(0x08,1); //выкл. Наличие изображения
SendDataToDisplay(1,1); //очистка экрана
SendDataToDisplay(0x6,1); //счетчик адреса настроить на увеличение
SendDataToDisplay(0xC,1); //вкл. изображение
}
unsigned char ReadDatafromDisplay(unsigned char Mode)
{
unsigned char a;
CLRBIT(PORTD, E);
if (Mode)
SETBIT(PORTD,RS);
else
CLRBIT(PORTD,RS);
DDRB &= 0x00; //установка порта на чтение
PORTB |= 0xFF;
Delay(4);
a = PORTB;
CLRBIT(PORTD,E);
return a;
}
Другие публикации
Однополосный связной передатчик
техника радиопередающих устройств развивается непрерывно и
интенсивно. Это обусловлено определяющей ролью передатчиков в
энергопотреблении, качестве работы, надежност ...
Автомобильная система видеонаблюдения
По
данным приведенным департаментом ГАИ Министерства внутренних дел Украины, на
дорогах страны происходит более 500 ДТП в сутки. Что примерно равно цифре 180-190
ти ...