Ср июн 14, 2017 11:53:11
Ср июн 14, 2017 12:20:26
Ср июн 14, 2017 12:25:12
а ведь я пытался...WiseLord писал(а):Попробовать бы увеличить задержки при работе с дисплеем
Ср июн 14, 2017 14:06:39
Ср июн 14, 2017 14:15:02
Ср июн 14, 2017 15:44:47
Чт июл 06, 2017 10:12:38
Чт июл 06, 2017 10:31:15
Чт июл 06, 2017 10:32:56
Чт июл 06, 2017 11:26:06
обновлять экран надо только в том случае, если состояние меню изменилось, т.е. было нажатие на кнопки. если состояние не менялось, обновлять не надо. т.е. обновление по таймеру не нужно
строки меню надо либо выводить с очисткой "справа"
а сразу вывожу образ экрана
сделать все по 16 символов, дополнив справа пробелами
Чт июл 06, 2017 11:51:47
Чт июл 06, 2017 11:59:35
Чт июл 06, 2017 12:18:25
Чт июл 06, 2017 12:20:21
Чт июл 06, 2017 12:54:30
Вт июл 11, 2017 15:48:56
#define RS PORTD,0
#define RW PORTD,1
#define E PORTD,2
#define LCD_DB PORTC
;========================
; Инициализация дисплея
;========================
INIT_LCD
bcf RS
bcf RW
bcf E
movlw .20
call pause_T ; задержка не менее 15мс
bsf E
movlw b'00110000' ;Команда "Function set"
movwf LCD_DB
call strobe
bcf E
movlw .5
call pause_T ; задержка не менее 4,1 мс
bsf E
movlw b'00110000' ;снова команда "Function set"
movwf LCD_DB
call strobe
bcf E
movlw .200
call pause_T ; задержка не менее 100 мкс
bsf E
movlw b'00111100' ;И снова команда "Function set"
movwf LCD_DB ;но уже с настройками: 8 бит, 2-line, 5x11dots
call strobe
bcf E
movlw .1
call pause_T ; задержка не менее 39 мкс
bsf E
movlw b'00001110' ;Команда "Display On/OF"
movwf LCD_DB ;включаем дисплей, курсор и отелючаем подсветку курсора
call strobe
bcf E
movlw .1
call pause_T ; задержка не менее 39 мкс
bsf E
movlw b'00000001' ;Команда "Display Clear"
movwf LCD_DB ;очистка дисплея
call strobe
bcf E
movlw .2
call pause_T ; задержка не менее 1,53 мс
bsf E
movlw b'00000110' ;Команда "Entery Mode Set"
movwf LCD_DB ;автоматический сдвиг курсора(вкл) и сдвиг всего дисплея(откл)
call strobe
bcf E
movlw .1
call pause_T ; задержка не менее 39 мкс
call zalivka
movlw 40h ;занимаем 40 адрес
call SET_ADRES
call zalivka2
return
;*****************************
; Конец инициализации дисплея
;*****************************
strobe
nop
nop
nop
nop
nop
nop
nop
nop
return
pause_T
movwf T3
P1 movlw .40
movwf T2
P2 movlw .66
movwf T1
P3 decfsz T1,f
goto P3
decfsz T2,f
goto P2
decfsz T3,f
goto P1
return
;==================
SET_ADRES
movwf LCD_DB
bsf LCD_DB,7 ;Команда "Set DDRAM Adress"
bcf RS
bcf RW
call strobe
bsf E
call strobe
bcf E
movlw .5
call pause_T ; задержка не менее 39 мкс
return
bsf E
movlw b'11000000' ;Команда "Команда "Set DDRAM Adresst"
movwf LCD_DB ;с занятием места 40Н
call strobe
bcf E
movlw .1
call pause_T ; задержка не менее 39 мкс
Вс окт 15, 2017 08:29:02
Вс окт 15, 2017 08:38:51
Парни, подскажите есть ли возможность инвертировать символ или надо создавать свой? Рою инет и чета тишина...
Вс окт 15, 2017 08:39:58
Вс окт 15, 2017 09:23:00