*/Пример вывода инфы:
	cbi		RS_Port,RS
	ldi		r16,128+5		; db7=1, строка+cимвол (128+x)(192+x)
   	rcall		zapis1
	sbi		RS_Port,RS		; RS=1

	ldi		r16,'P'	
	rcall	transmiter	 
	rcall	zapis1
/*



; Display_connect
.equ	E = 5		
.equ	E_Port = Portc
.equ	RS = 2		
.equ	RS_Port = Portd
.equ	DB7 = 5		; вывод порта В, подключенный к DB7 индикатора
.equ	DB7_Port = Portd
.equ	DB6 = 4
.equ	DB6_Port = Portd
.equ	DB5 = 6
.equ	DB5_Port = Portd
.equ	DB4 = 3
.equ	DB4_Port = Portd



; Data in r16

Display_init:
;******** ИНИЦИАЛИЗАЦИЯ ЖКИ ****************************
; Индикатор применим нерусифицированный, типа LM016
; 4 bits interfase
;******** Пауза более 30 мс + FUNCTION SET************

; Function set
	rcall	delay3		; >30 ms
	cbi		RS_Port,RS
	ldi		r16,0x30
	rcall	zapis2		; (1)
	rcall	zapis2		; (2)
	rcall	zapis2		; (3)
		
	ldi		r16,0x20	
	rcall	zapis2
	
; Function set
	ldi		r16,0x28	
	rcall	zapis1

; Display ON/OFF control
	ldi		r16,0b00001100
	rcall	zapis1
	
; Display clear   
	rcall	Clear_disp

; Entry mode set
	ldi		r16,0x06	
	rcall	zapis1	   
; Инициализация дисплея закончена
	rcall	Clear_disp		; Перед записью очистим дисплей
	ret


Clear_disp:
	cbi		RS_Port,RS
	ldi		r16,1	
	rcall	zapis1
	rcall	delay2
	sbi		RS_Port,RS
	ret

zapis1:
	rcall	in_port
	rcall	zapis
	swap	r16
zapis2:
	rcall	in_port
	rcall	zapis
	ret



; Процедура стробирования
zapis:     
	sbi		E_Port,E		; E=1 - запись
; XTALL = 8 000 000. T=0.125 uS (1/XTALL)
	ldi		r18,(XTAL*1/4000000+1)		; где 100 - задержка в uS, 4000000 - число тактов цикла*10^6
	nop
	dec		r18
	brne	PC-2

	cbi		E_Port,E		; 1 мкс - пауза для записи
	rcall	delay1
	ret

;******** Процедура записи байта сообщения в защелки портов
in_port:
	cbi		DB7_Port,DB7; Очистим вывод, подключенный к DB7 
	sbrc	r16,7		; Если бит 7 нулевой
	sbi		DB7_Port,DB7; пропустим эту команд
;------------------------------------
	cbi		DB6_Port,DB6; Очистим вывод, подключенный к DB6
	sbrc	r16,6		; Если бит 6 нулевой
	sbi		DB6_Port,DB6; пропустим эту команду         
;------------------------------------
	cbi		DB5_Port,DB5; Очистим вывод, подключенный к DB5
	sbrc	r16,5		; Если бит 5 нулевой
	sbi		DB5_Port,DB5; пропустим эту команду               
;------------------------------------
	cbi		DB4_Port,DB4; Очистим вывод, подключенный к DB4
	sbrc	r16,4		; Если бит 4 нулевой
	sbi		DB4_Port,DB4; пропустим эту команду                    
;------------------------------------
	ret

; Процедура паузы 3 (>30 мс) 
; в данной паузе задержка в 41 раз больше, чем в delay2
delay3:
	ldi		r20,8
	rcall	delay2
	dec		r20
	brne	PC-2
	ret

; Процедура Паузы 2 (>4.1 мс) 
; в данной паузе задержка в 41 раз больше, чем в delay1
; С учетом вызова подпрограммы:
delay2:
	ldi		r19,41
	rcall	delay1
	dec		r19
	brne	PC-2
	ret

; Пауза >100 uS
; XTALL = 8 000 000. T=0.125 uS (1/XTALL)
delay1:
	ldi		r18,(XTAL*100/4000000)		; где 100 - задержка в uS, 4000000 - число тактов цикла*10^6
	nop
	dec		r18
	brne	PC-2
	ret