реклама на сайте
подробности

 
 
> PIC16f628A и ЖК SC1602BULT-SH-HS-G, помогите разобраться
Anty
сообщение Apr 28 2008, 14:58
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 26
Регистрация: 13-03-08
Пользователь №: 35 878



доброго времени суток! может кто-нибудь работал со строковыми ЖКИ. Интересует ЖК SC1602BULT-SH-HS-G , как его соединить с PICом. А вообще интересует написание проги для вывода инфы на дисплей. Немного не понимаю, как это делается. Может кто-нибудь пояснит. Или может у кого есть пример программы. Вообще интересует прога на ассемблере, но для уяснения сути дела можно и на любом другом.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Okor
сообщение Apr 29 2008, 04:27
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 29-01-08
Пользователь №: 34 534



Добрый день.
Тут кусок моей программульки для ПИК18. На таймере TMR2 выполнены регламентируемые задержки, т.к. я без проверки загоняю данные в LCD. Пробовал с проверкой - особого выигрыша во времени нет.

С уважением, ОК


; - RD4-RD7 - выходы передачи данных на LCD в четырехразрядном режиме
; - RD3 - выход выбора LCD
; - RD2 - выход управления записью инструкций в LCD
; - RD1 - выход управления записью адреса в LCD


;************************************************************************
; Вывод верхней строки на экран из памяти по адресам 0x0060**
;************************************************************************
PrintStringUP:
movwf TBLPTRL
movlw 0x00
movwf TBLPTRU
movlw 0x60
movwf TBLPTRH
movlw 0x80
call LCD_Command
movlw d'16'
movwf CounterL
OutStringToLCD_UP:
tblrd*+
movf TABLAT,W
call LCD_Out
decfsz CounterL
goto OutStringToLCD_UP
return

;************************************************************************
; Вывод верхней строки на экран из памяти по адресам 0x0061**
;************************************************************************
PrintStringUP_1:
movwf TBLPTRL
movlw 0x00
movwf TBLPTRU
movlw 0x61
movwf TBLPTRH
movlw 0x80
call LCD_Command
movlw d'16'
movwf CounterL
OutStringToLCD_UP_1:
tblrd*+
movf TABLAT,W
call LCD_Out
decfsz CounterL
goto OutStringToLCD_UP_1
return

;************************************************************************
; Вывод нижней строки на экран из памяти по адресам 0x0060**
;************************************************************************
PrintStringDOWN:
movwf TBLPTRL
movlw 0x00
movwf TBLPTRU
movlw 0x60
movwf TBLPTRH
movlw 0xc0
call LCD_Command
movlw d'16'
movwf CounterL
OutStringToLCD_DOWN:
tblrd*+
movf TABLAT,W
call LCD_Out
decfsz CounterL
goto OutStringToLCD_DOWN
return

;************************************************************************
; Вывод нижней строки на экран из памяти по адресам 0x0061**
;************************************************************************
PrintStringDOWN_1:
movwf TBLPTRL
movlw 0x00
movwf TBLPTRU
movlw 0x61
movwf TBLPTRH
movlw 0xc0
call LCD_Command
movlw d'16'
movwf CounterL
OutStringToLCD_DOWN_1:
tblrd*+
movf TABLAT,W
call LCD_Out
decfsz CounterL
goto OutStringToLCD_DOWN_1
return

;************************************************************************
; Инициализация LCD в четырехзначном режиме. Здесь же подпрограммы управления LCD.
;************************************************************************
LCDinit:
movlw 0xff
call TimeDelayTMR2
movlw 0xff
call TimeDelayTMR2

bcf PORTD,1
bcf PORTD,2
bsf PORTD,3
movlw 0x30
call Out_Nibble
bcf PORTD,3
movlw 0xff
call TimeDelayTMR2

bcf PORTD,1
bcf PORTD,2
bsf PORTD,3
movlw 0x30
call Out_Nibble
bcf PORTD,3
movlw 0xff
call TimeDelayTMR2

bcf PORTD,1
bcf PORTD,2
bsf PORTD,3
movlw 0x30
call Out_Nibble
bcf PORTD,3
movlw 0xff
call TimeDelayTMR2

bcf PORTD,1
bcf PORTD,2
bsf PORTD,3
movlw 0x20
call Out_Nibble
bcf PORTD,3
movlw 0xff
call TimeDelayTMR2

movlw 0x28
call LCD_Command

movlw 0x0d
call LCD_Command

; Подпрограмма очистки дисплея
LCD_Clear:
movlw 0x01
call LCD_Command
movlw 0xff
call TimeDelayTMR2

movlw 0x06
call LCD_Command

movlw 0x00
call PrintStringUP
movlw 0x10
call PrintStringDOWN

return

; Подпрограмма отправки команды
LCD_Command:
bcf PORTD,1
bcf PORTD,2
movwf Value
bsf PORTD,3
call Out_Nibble
bcf PORTD,3
swapf Value,W
bsf PORTD,3
call Out_Nibble
bcf PORTD,3
movlw 0x02
call TimeDelayTMR2
return

; Подпрограмма вывода символа по адресу знакогенератора
LCD_Out:
bcf PORTD,1
bsf PORTD,2
movwf Value
bsf PORTD,3
call Out_Nibble
bcf PORTD,3
swapf Value,W
bsf PORTD,3
call Out_Nibble
bcf PORTD,3
movlw 0x02
call TimeDelayTMR2
return

; Подпрограмма загрузки четырехзначного канала
Out_Nibble:
movwf LCD_Data
bcf PORTD, 4
btfsc LCD_Data, 4
bsf PORTD, 4
bcf PORTD, 5
btfsc LCD_Data, 5
bsf PORTD, 5
bcf PORTD, 6
btfsc LCD_Data, 6
bsf PORTD, 6
bcf PORTD, 7
btfsc LCD_Data, 7
bsf PORTD, 7
return
Go to the top of the page
 
+Quote Post
Anty
сообщение Apr 29 2008, 17:43
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 26
Регистрация: 13-03-08
Пользователь №: 35 878



спасибо за помощь, вроде начинаю понимать. А еще такой вопрос назрел: для вывода информации я просто задаю положение курсора на экране и вывожу нужный символ. Как я понял, можно указывать любую позицию из существующих. Так? И еще, там нет никаких приколов типа выбор кристалла или т.п. ?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Anty   PIC16f628A и ЖК SC1602BULT-SH-HS-G   Apr 28 2008, 14:58
- - *antzol*   С каким контроллером индикатор я не нашел, но сутя...   Apr 28 2008, 15:53
|- - dac   Цитата(Anty @ Apr 29 2008, 21:43) И еще, ...   May 1 2008, 11:03
|- - Anty   Народ, помоги, пожалуйста. Написал прогу по пример...   May 5 2008, 12:49
- - Okor   А Вы не забыли в четырехпроводном режиме подвесить...   May 5 2008, 19:30
|- - Anty   Цитата(Okor @ May 5 2008, 22:30) А Вы не ...   May 6 2008, 08:38
|- - Vanizma   Цитата(Anty @ May 6 2008, 12:38) Ну вот к...   May 6 2008, 13:35
- - Vanizma   Кстати, в proteus'e можно поменять кодировку Ж...   May 6 2008, 15:30
|- - Anty   Спасибо за ответы. Накопал много интересного и пол...   May 7 2008, 08:31
- - SYurev   Скажите, модель lcdalpha.dll поддерживает другие, ...   Jul 19 2009, 03:42
|- - Сергей Борщ   Цитата(SYurev @ Jul 19 2009, 06:42) К при...   Jul 27 2009, 05:50
|- - SYurev   Цитата(Сергей Борщ @ Jul 27 2009, 11:50) ...   Jul 28 2009, 07:46
|- - Сергей Борщ   Цитата(SYurev @ Jul 28 2009, 10:46) В как...   Jul 28 2009, 10:31
||- - SYurev   Цитата(Сергей Борщ @ Jul 28 2009, 16:31) ...   Jul 28 2009, 11:57
||- - Сергей Борщ   Цитата(SYurev @ Jul 28 2009, 14:57) Покаж...   Jul 28 2009, 15:13
|- - rezident   Цитата(SYurev @ Jul 28 2009, 13:46) Не в ...   Jul 28 2009, 15:36
|- - SYurev   Цитата(rezident @ Jul 28 2009, 21:36) Там...   Jul 28 2009, 16:07
- - volodya   Вообщето в комплекте MPLAB IDE прилагается библиот...   Jul 21 2009, 04:35
|- - backa   Цитата(volodya @ Jul 21 2009, 07:35) Вооб...   Jul 21 2009, 09:49
- - HHIMERA   Цитата(backa @ Jul 21 2009, 12:49) хочу в...   Jul 21 2009, 23:02
|- - backa   Цитата(HHIMERA @ Jul 22 2009, 02:02) И......   Jul 22 2009, 11:47
|- - rx3apf   Цитата(HHIMERA @ Jul 22 2009, 03:02) И......   Jul 23 2009, 10:53
|- - rezident   Цитата(rx3apf @ Jul 23 2009, 16:53) Что д...   Jul 23 2009, 15:02
|- - rx3apf   Цитата(rezident @ Jul 23 2009, 19:02) ...   Jul 23 2009, 16:14
- - HHIMERA   Цитата(rx3apf @ Jul 23 2009, 13:53) Да ла...   Jul 23 2009, 19:41
|- - zltigo   Цитата(HHIMERA @ Jul 23 2009, 22:41) У вс...   Jul 23 2009, 19:55
|- - rx3apf   Цитата(HHIMERA @ Jul 23 2009, 23:41) Да...   Jul 23 2009, 21:00
- - HHIMERA   Цитата(zltigo @ Jul 23 2009, 22:55) Это в...   Jul 23 2009, 20:21
|- - zltigo   Цитата(HHIMERA @ Jul 23 2009, 23:21) Прой...   Jul 23 2009, 21:03
- - lastmage   Товарищ, вот здесь все подробно разжевано - как по...   Jul 25 2009, 18:49
- - RA3WUM   Был у нас проект на микротипсовском HD44780-подобн...   Aug 28 2009, 07:14
- - R-Max   Немного не там, но вывожу 2 символа на первую стро...   Feb 20 2011, 15:01
- - R-Max   Вывожу 2 символа на первую строку на LM044L в 4-би...   Feb 20 2011, 19:50
- - rezident   Цитата(R-Max @ Feb 21 2011, 00:50) г...   Feb 20 2011, 20:43
- - R-Max   В железе тоже неадекватно работало, поэтому решил ...   Feb 22 2011, 20:55


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 12th August 2025 - 02:32
Рейтинг@Mail.ru


Страница сгенерированна за 0.01591 секунд с 7
ELECTRONIX ©2004-2016