Работа с графическими ЖКИ на контроллере KS0108 и аналогах
-
culibin 100
- Встал на лапы
- Сообщения: 88
- Зарегистрирован: Ср апр 29, 2009 10:35:56
- Откуда: кр. лиман украина
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
советом тоже дело если скину кусок кода с коментами ? пойдет ?
тело программы и работа с пзу не принципиально это наброски мне важна сама работа и алгоритм общения с лцд программа не идет далее опроса флага резета
.include "C:\VMLAB\include\m16def.inc"
; *********************************************************
.def temp =r16 ;DO-PB0
.def Simwol =r17 ;D7-PB7
.def Komand =r18 ;E-PD0
.def ConstFF =r19 ;R/W -PD1
.def Const00 =r20 ;R/S -PD2
.def Schet =r21 ;CE1 -PD3
.def Adres =r22 ;CE2 -PD4
.def Const01 =r23 ;RES -PD6
.CSEG
.org 0
reset: rjmp start
reti ; Addr $01 Вектора прерываний
reti ; Addr $02
reti ; Addr $03
reti ; Addr $04
reti ; Addr $05
reti ; Addr $06
reti ; Addr $07
reti ; Addr $08
reti ; Addr $09
reti ; Addr $0A
reti ; Addr $01 Вектора прерываний
reti ; Addr $02
reti ; Addr $03
reti ; Addr $04
reti ; Addr $05
reti ; Addr $06
reti ; Addr $07
reti ; Addr $08
reti ; Addr $09
reti ; Addr $0A
start: ldi temp,low(RAMEND) ; инициализация стека
out SPL,temp
ldi temp,high(RAMEND) ; инициализация стека
out SPH,temp
ldi Const00,$00 ; определение константы "0"
ldi ConstFF,$FF ; определение константы "FF"
ldi Const01,$01 ; определение константы "1"
ldi temp,0b11111111
out DDRD,temp ; Настройка порта D
ldi temp,0b00000000
out PORTD,temp ; вывод в порт D
ldi temp,0b00000000
out DDRb,temp ; Настройка порта в
ldi temp,0b11111111
out PORTb,temp ; вывод в порт в
ldi temp,0b11110000
out DDRC,temp ; Настройка порта c
ldi temp,0b11111111
out PORTC,temp ; вывод в порт c
ldi temp,0b00000000
out DDRA,temp ; Настройка порта а
ldi temp,0b11111111
out PORTA,temp ; вывод в порт а
ldi temp , 0b00000000
out GICR , temp
ldi temp, 0x80 ; отключчение компаратора
out ACSR , temp ;
ldi temp ,0b01100000; включение ацп лево ориент. вход А0
out ADMUX , temp ;
ldi temp , 0b11100101 ; образцовое напряжение питания
out ADCSR , temp ;
ldi temp , 0b00000000; коэфициент деления 32
out SFIOR ,temp;
; **************** Инициализация LCD ****************
inic: cbi PORTD,PD6 ;reset
nop
nop
nop
sbi PORTD, PD6 ;reset
nop
nop
nop
nop
nop
cbi portc ,7 ; выход на порт для контроля выполнения программы
rcall GOTOV1;flag reset
cbi portc , 6 ; выход на порт для контроля выполнения программы
rcall GOTOV ;flag busy
cbi portc , 5 ; выход на порт для контроля выполнения программы
cbi PORTD,PD3;выбор чип 1
cbi PORTD,PD4;выбор чип 2
nop
nop
nop
nop
nop
nop
ldi Komand,0b00111111
rcall GOTOV
rcall ZAPCOMAND
cbi portc , 4
ldi Komand,$0C
rcall GOTOV
rcall ZAPCOMAND
ldi adres,$20
; ****************** Тело программы ******************
main: sbis PINC,0
rjmp kn1
sbis PINC,1
rjmp kn2
sbis PINC,2
rjmp kn3
rjmp main
kn1: ldi adres,$00
ldi Komand, 0b10111000; 0 страница озу
rjmp wwod
kn2: ldi adres,$00
ldi Komand, 0b10111001; 1 страница озу
rjmp wwod
kn3: ldi adres,$00
ldi Komand, 0b10111010; 2 страница озу
rjmp wwod
wwod: ldi Schet, $40;
rcall GOTOV
rcall ZAPCOMAND
ldi komand , 0b01000000;0 адрес столбца
nov1: rcall EEPROM
rcall GOTOV
rcall ZAPDATA
inc Adres
dec Schet
brne nov1
rjmp main
; ************ Подпрограмма определения готовности ЖКИ :флаг занятости
GOTOV: cbi PORTD,PD2 ;r\s
nop
nop
povtor: sbi PORTD,PD1 ;p\w
out DDRB,Const00
out PORTB,ConstFF
nop
nop
nop
nop
sbi PORTD,PD0 ;E
nop
nop
nop
nop
nop
nop
nop
in temp,PINB
nop
cbi PORTD,PD0 ;E
nop
nop
nop
cbi PORTD,PD1 ; R|W
sbrc temp,7
ret
rjmp povtor
; ************ Подпрограмма определения готовности ЖКИ :флаг резет
GOTOV1: cbi PORTD,PD2 ;r\s
nop
nop
nop
povtor1: sbi PORTD,PD1 ;p\w
out DDRB,Const00
out PORTB,ConstFF
nop
sbi PORTD,PD0 ;E
nop
nop
nop
nop
nop
nop
nop
in temp,PINB
nop
cbi PORTD,PD0 ;E
nop
nop
nop
nop
cbi PORTD,PD1 ; R|W
sbrs temp,4
ret
rjmp povtor1
; ********* Подпрограмма записи в регистр команды ЖКИ
ZAPCOMAND: cbi PORTD,PD2 ;R|S
cbi PORTD,PD1 ;R|W
out DDRB,ConstFF
nop
nop
nop
nop
nop
out PORTB,Komand
sbi PORTD,PD0 ;E
nop
nop
nop
nop
nop
nop
nop
cbi PORTD,PD0 ;E
nop
ret
; ************** Подпрограмма записи в регистр данных ЖКИ цп1
ZAPDATA: sbi PORTD,PD2 ; Вывод R|S
cbi PORTD,PD1 ;R|W
out DDRB,ConstFF
nop
nop
sbi PORTD,PD3; чип 1
out PORTB,Simwol
sbi PORTD,PD0 ;E
nop
nop
nop
nop
nop
cbi PORTD,PD0 ;E
nop
cbi PORTD,PD3;чип 1
ret
; ************** Подпрограмма записи в регистр данных ЖКИ цп2
ZAPDATA1:sbi PORTD,PD2 ; Вывод R|S
cbi PORTD,PD1 ;R|W
out DDRB,ConstFF
nop
nop
sbi PORTD,PD4; чип 2
out PORTB,Simwol
sbi PORTD,PD0 ;E
nop
nop
nop
nop
nop
cbi PORTD,PD0 ;E
nop
sbi PORTD,PD4; чип 2
ret
; ************** Подпрограмма чтения ПЗУ *********
EEPROM: out EEARH,Const00
out EEARL,Adres
out EECR,Const01
in Simwol,EEDR
ret
.ESEG
.ORG 0
.DB $20, $31, $2E, $20, $A5, $B3, $61, $BD, $6F, $B3, $20, $20, $20, $20, $20, $20, $FF, $FF
.DB $20, $32, $2E, $20, $A8, $65, $BF, $70, $6F, $B3, $20, $20, $20, $20, $20, $20 ,$FF, $FF
.DB $ff ,$ff, $ff, $FF, $FF, $FF ,$ff ,$ff, $ff, $FF, $FF, $FF $ff ,$ff, $ff, $FF, $FF, $FF
.DB $ff ,$ff, $ff, $FF, $FF, $FF ,$ff ,$ff, $ff, $FF, $FF, $FF $ff ,$ff, $ff, $FF, $FF, $FF
.DB $ff ,$ff, $ff, $FF, $FF, $FF ,$ff ,$ff, $ff, $FF, $FF, $FF $ff ,$ff, $ff, $FF, $FF, $FF
.DB $ff ,$ff, $ff, $FF, $FF, $FF ,$ff ,$ff, $ff, $FF, $FF, $FF $ff ,$ff, $fD, $FD, $FD, $FE
.EXIT
тело программы и работа с пзу не принципиально это наброски мне важна сама работа и алгоритм общения с лцд программа не идет далее опроса флага резета
.include "C:\VMLAB\include\m16def.inc"
; *********************************************************
.def temp =r16 ;DO-PB0
.def Simwol =r17 ;D7-PB7
.def Komand =r18 ;E-PD0
.def ConstFF =r19 ;R/W -PD1
.def Const00 =r20 ;R/S -PD2
.def Schet =r21 ;CE1 -PD3
.def Adres =r22 ;CE2 -PD4
.def Const01 =r23 ;RES -PD6
.CSEG
.org 0
reset: rjmp start
reti ; Addr $01 Вектора прерываний
reti ; Addr $02
reti ; Addr $03
reti ; Addr $04
reti ; Addr $05
reti ; Addr $06
reti ; Addr $07
reti ; Addr $08
reti ; Addr $09
reti ; Addr $0A
reti ; Addr $01 Вектора прерываний
reti ; Addr $02
reti ; Addr $03
reti ; Addr $04
reti ; Addr $05
reti ; Addr $06
reti ; Addr $07
reti ; Addr $08
reti ; Addr $09
reti ; Addr $0A
start: ldi temp,low(RAMEND) ; инициализация стека
out SPL,temp
ldi temp,high(RAMEND) ; инициализация стека
out SPH,temp
ldi Const00,$00 ; определение константы "0"
ldi ConstFF,$FF ; определение константы "FF"
ldi Const01,$01 ; определение константы "1"
ldi temp,0b11111111
out DDRD,temp ; Настройка порта D
ldi temp,0b00000000
out PORTD,temp ; вывод в порт D
ldi temp,0b00000000
out DDRb,temp ; Настройка порта в
ldi temp,0b11111111
out PORTb,temp ; вывод в порт в
ldi temp,0b11110000
out DDRC,temp ; Настройка порта c
ldi temp,0b11111111
out PORTC,temp ; вывод в порт c
ldi temp,0b00000000
out DDRA,temp ; Настройка порта а
ldi temp,0b11111111
out PORTA,temp ; вывод в порт а
ldi temp , 0b00000000
out GICR , temp
ldi temp, 0x80 ; отключчение компаратора
out ACSR , temp ;
ldi temp ,0b01100000; включение ацп лево ориент. вход А0
out ADMUX , temp ;
ldi temp , 0b11100101 ; образцовое напряжение питания
out ADCSR , temp ;
ldi temp , 0b00000000; коэфициент деления 32
out SFIOR ,temp;
; **************** Инициализация LCD ****************
inic: cbi PORTD,PD6 ;reset
nop
nop
nop
sbi PORTD, PD6 ;reset
nop
nop
nop
nop
nop
cbi portc ,7 ; выход на порт для контроля выполнения программы
rcall GOTOV1;flag reset
cbi portc , 6 ; выход на порт для контроля выполнения программы
rcall GOTOV ;flag busy
cbi portc , 5 ; выход на порт для контроля выполнения программы
cbi PORTD,PD3;выбор чип 1
cbi PORTD,PD4;выбор чип 2
nop
nop
nop
nop
nop
nop
ldi Komand,0b00111111
rcall GOTOV
rcall ZAPCOMAND
cbi portc , 4
ldi Komand,$0C
rcall GOTOV
rcall ZAPCOMAND
ldi adres,$20
; ****************** Тело программы ******************
main: sbis PINC,0
rjmp kn1
sbis PINC,1
rjmp kn2
sbis PINC,2
rjmp kn3
rjmp main
kn1: ldi adres,$00
ldi Komand, 0b10111000; 0 страница озу
rjmp wwod
kn2: ldi adres,$00
ldi Komand, 0b10111001; 1 страница озу
rjmp wwod
kn3: ldi adres,$00
ldi Komand, 0b10111010; 2 страница озу
rjmp wwod
wwod: ldi Schet, $40;
rcall GOTOV
rcall ZAPCOMAND
ldi komand , 0b01000000;0 адрес столбца
nov1: rcall EEPROM
rcall GOTOV
rcall ZAPDATA
inc Adres
dec Schet
brne nov1
rjmp main
; ************ Подпрограмма определения готовности ЖКИ :флаг занятости
GOTOV: cbi PORTD,PD2 ;r\s
nop
nop
povtor: sbi PORTD,PD1 ;p\w
out DDRB,Const00
out PORTB,ConstFF
nop
nop
nop
nop
sbi PORTD,PD0 ;E
nop
nop
nop
nop
nop
nop
nop
in temp,PINB
nop
cbi PORTD,PD0 ;E
nop
nop
nop
cbi PORTD,PD1 ; R|W
sbrc temp,7
ret
rjmp povtor
; ************ Подпрограмма определения готовности ЖКИ :флаг резет
GOTOV1: cbi PORTD,PD2 ;r\s
nop
nop
nop
povtor1: sbi PORTD,PD1 ;p\w
out DDRB,Const00
out PORTB,ConstFF
nop
sbi PORTD,PD0 ;E
nop
nop
nop
nop
nop
nop
nop
in temp,PINB
nop
cbi PORTD,PD0 ;E
nop
nop
nop
nop
cbi PORTD,PD1 ; R|W
sbrs temp,4
ret
rjmp povtor1
; ********* Подпрограмма записи в регистр команды ЖКИ
ZAPCOMAND: cbi PORTD,PD2 ;R|S
cbi PORTD,PD1 ;R|W
out DDRB,ConstFF
nop
nop
nop
nop
nop
out PORTB,Komand
sbi PORTD,PD0 ;E
nop
nop
nop
nop
nop
nop
nop
cbi PORTD,PD0 ;E
nop
ret
; ************** Подпрограмма записи в регистр данных ЖКИ цп1
ZAPDATA: sbi PORTD,PD2 ; Вывод R|S
cbi PORTD,PD1 ;R|W
out DDRB,ConstFF
nop
nop
sbi PORTD,PD3; чип 1
out PORTB,Simwol
sbi PORTD,PD0 ;E
nop
nop
nop
nop
nop
cbi PORTD,PD0 ;E
nop
cbi PORTD,PD3;чип 1
ret
; ************** Подпрограмма записи в регистр данных ЖКИ цп2
ZAPDATA1:sbi PORTD,PD2 ; Вывод R|S
cbi PORTD,PD1 ;R|W
out DDRB,ConstFF
nop
nop
sbi PORTD,PD4; чип 2
out PORTB,Simwol
sbi PORTD,PD0 ;E
nop
nop
nop
nop
nop
cbi PORTD,PD0 ;E
nop
sbi PORTD,PD4; чип 2
ret
; ************** Подпрограмма чтения ПЗУ *********
EEPROM: out EEARH,Const00
out EEARL,Adres
out EECR,Const01
in Simwol,EEDR
ret
.ESEG
.ORG 0
.DB $20, $31, $2E, $20, $A5, $B3, $61, $BD, $6F, $B3, $20, $20, $20, $20, $20, $20, $FF, $FF
.DB $20, $32, $2E, $20, $A8, $65, $BF, $70, $6F, $B3, $20, $20, $20, $20, $20, $20 ,$FF, $FF
.DB $ff ,$ff, $ff, $FF, $FF, $FF ,$ff ,$ff, $ff, $FF, $FF, $FF $ff ,$ff, $ff, $FF, $FF, $FF
.DB $ff ,$ff, $ff, $FF, $FF, $FF ,$ff ,$ff, $ff, $FF, $FF, $FF $ff ,$ff, $ff, $FF, $FF, $FF
.DB $ff ,$ff, $ff, $FF, $FF, $FF ,$ff ,$ff, $ff, $FF, $FF, $FF $ff ,$ff, $ff, $FF, $FF, $FF
.DB $ff ,$ff, $ff, $FF, $FF, $FF ,$ff ,$ff, $ff, $FF, $FF, $FF $ff ,$ff, $fD, $FD, $FD, $FE
.EXIT
-
culibin 100
- Встал на лапы
- Сообщения: 88
- Зарегистрирован: Ср апр 29, 2009 10:35:56
- Откуда: кр. лиман украина
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
люди неужели никто не знает уважаемый батарейкус отзовитесь
- БАТАРЕЙКУС
- Потрогал лапой паяльник
- Сообщения: 346
- Зарегистрирован: Сб фев 07, 2009 19:21:25
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
а нафика те флаг опрашивать хай так работает ( по выдержке времени ).
главное выдержать максимальное время, оно указано в Д.Ш.
попробую обьеснить на пальцах.
для включения дисплея соответственно подать питание и соединить выход драйвера через резистор со входом питания жк модуля тоесть соединить через резистор 3 и 18 выводы.
далее я делал так, хотя видал ктото делал подругому вывод RESET всегда на земле но у меня он подключён квыводу мк.
подал <1> на RESET
14мкс (микросекунд) задержки // по д.ш. 10 мкс
подал на <1> на Е1 и Е2 // на выводы выбора кристала
14мкс (микросекунд) задержки
подал <0> на RESET
14мкс (микросекунд) задержки
подал <1> на RESET
14мкс (микросекунд) задержки
подал <B'00111111'> на шину данных // та самая команда ON
14мкс (микросекунд) задержки
подад <1> на Е // строб разрешение чтения / записи
50мкс задержки // после этого дисплей чернеет и готоа к принятию всевозможных команд
яб мог чёнть попутёвий накалякать но увы с AVR неработаю. мож попробовать на си както программы составить мож скампилируются как надо
а насчёт чтения из дисплея могу сказать что программа составленная мной прекрасно читала из дисплея в PIC в PROTEUSе но в железе эттого непроисходило поэтому я в дальнейшем нерасматривал чтения с дисплея.
главное выдержать максимальное время, оно указано в Д.Ш.
попробую обьеснить на пальцах.
для включения дисплея соответственно подать питание и соединить выход драйвера через резистор со входом питания жк модуля тоесть соединить через резистор 3 и 18 выводы.
далее я делал так, хотя видал ктото делал подругому вывод RESET всегда на земле но у меня он подключён квыводу мк.
подал <1> на RESET
14мкс (микросекунд) задержки // по д.ш. 10 мкс
подал на <1> на Е1 и Е2 // на выводы выбора кристала
14мкс (микросекунд) задержки
подал <0> на RESET
14мкс (микросекунд) задержки
подал <1> на RESET
14мкс (микросекунд) задержки
подал <B'00111111'> на шину данных // та самая команда ON
14мкс (микросекунд) задержки
подад <1> на Е // строб разрешение чтения / записи
50мкс задержки // после этого дисплей чернеет и готоа к принятию всевозможных команд
яб мог чёнть попутёвий накалякать но увы с AVR неработаю. мож попробовать на си както программы составить мож скампилируются как надо
а насчёт чтения из дисплея могу сказать что программа составленная мной прекрасно читала из дисплея в PIC в PROTEUSе но в железе эттого непроисходило поэтому я в дальнейшем нерасматривал чтения с дисплея.
- Вложения
-
- както так .txt
- (2.51 КБ) 541 скачивание
Мечтатель - не тот, кто сидит на диване и думает о несбыточном, а тот, кто всеми силами стремится воплотить несбыточное в реальность.
- БАТАРЕЙКУС
- Потрогал лапой паяльник
- Сообщения: 346
- Зарегистрирован: Сб фев 07, 2009 19:21:25
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
да кстате а что вам ненравится в схеме из этого сайта http://radiokot.ru/lab/controller/15/ там вроде всё хорошо и на AVR 
Мечтатель - не тот, кто сидит на диване и думает о несбыточном, а тот, кто всеми силами стремится воплотить несбыточное в реальность.
-
culibin 100
- Встал на лапы
- Сообщения: 88
- Зарегистрирован: Ср апр 29, 2009 10:35:56
- Откуда: кр. лиман украина
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
так то оно так но там все на си и протос а я с ним не дружу у меня вм лаб программу я запустил все флаги работают инициализация проходит теперь чето глючит мк при загрузке команды но будем искать сегодня продолжу . батарейкус а можно мыло ? по форуму долго ответ выходит
- БАТАРЕЙКУС
- Потрогал лапой паяльник
- Сообщения: 346
- Зарегистрирован: Сб фев 07, 2009 19:21:25
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
можно и мыло oktogen-voljskiy@mail.ru мыльтесь наздоровье 
Мечтатель - не тот, кто сидит на диване и думает о несбыточном, а тот, кто всеми силами стремится воплотить несбыточное в реальность.
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
БАТАРЕЙКУС писал(а):а нафика те флаг опрашивать хай так работает ( по выдержке времени ).
главное выдержать максимальное время, оно указано в Д.Ш.
попробую обьеснить на пальцах.
для включения дисплея соответственно подать питание и соединить выход драйвера через резистор со входом питания жк модуля тоесть соединить через резистор 3 и 18 выводы.
далее я делал так, хотя видал ктото делал подругому вывод RESET всегда на земле но у меня он подключён квыводу мк.
подал <1> на RESET
14мкс (микросекунд) задержки // по д.ш. 10 мкс
подал на <1> на Е1 и Е2 // на выводы выбора кристала
14мкс (микросекунд) задержки
подал <0> на RESET
14мкс (микросекунд) задержки
подал <1> на RESET
14мкс (микросекунд) задержки
подал <B'00111111'> на шину данных // та самая команда ON
14мкс (микросекунд) задержки
подад <1> на Е // строб разрешение чтения / записи
50мкс задержки // после этого дисплей чернеет и готоа к принятию всевозможных команд
яб мог чёнть попутёвий накалякать но увы с AVR неработаю. мож попробовать на си както программы составить мож скампилируются как надо
а насчёт чтения из дисплея могу сказать что программа составленная мной прекрасно читала из дисплея в PIC в PROTEUSе но в железе эттого непроисходило поэтому я в дальнейшем нерасматривал чтения с дисплея.
Сделал то что вы написали
void main()
{
DDRC=0xFF;
DDRA=0xFF;
delay_ms(100);
delay_us_new(10);
SetBit(LCD_COM,LCD_RST);
delay_us_new(14);
SetBit(LCD_COM,LCD_CS1+LCD_CS2);
delay_us_new(14);
ClrBit(LCD_COM,LCD_RST);
delay_us_new(14);
SetBit(LCD_COM,LCD_RST) ;
delay_us_new(14);
SetBit(LCD_DB,0b00111111);
delay_us_new(14);
SetBit(LCD_COM,LCD_E);
delay_us_new(50);
while(1)
{
}
}
Ни в протеусе ни в реале экран не чернеет.... а вообще есть какие нибудь способы определить рабочий ли экран или нет? у меня он только посдветкой моргает, но ниразу ни один пиксель не включился...
- БАТАРЕЙКУС
- Потрогал лапой паяльник
- Сообщения: 346
- Зарегистрирован: Сб фев 07, 2009 19:21:25
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
ну в протеусе он чернеет сразуже как включиш протеус на симуляцию и определить включился он или нет неполучится,
а вот насчёт железа надо ещё
SetBit(LCD_COM,LCD_E);
delay_us_new(50);
ClrBit(LCD_COM,LCD_E); // надо добавить эту строчку чтоб снять сигнал со строба
должно работать
а вот насчёт железа надо ещё
SetBit(LCD_COM,LCD_E);
delay_us_new(50);
ClrBit(LCD_COM,LCD_E); // надо добавить эту строчку чтоб снять сигнал со строба
должно работатьМечтатель - не тот, кто сидит на диване и думает о несбыточном, а тот, кто всеми силами стремится воплотить несбыточное в реальность.
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
блин, всеравно дисплей не подает признаков жизни
есть ли какие либо методы определения мертвости дисплея? еще раз напишу за все время ниразу не одного пикселя я на нем не увидел....
есть ли какие либо методы определения мертвости дисплея? еще раз напишу за все время ниразу не одного пикселя я на нем не увидел....
-
culibin 100
- Встал на лапы
- Сообщения: 88
- Зарегистрирован: Ср апр 29, 2009 10:35:56
- Откуда: кр. лиман украина
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
у меня дисплей ответил флагами на инициализацию но экран у него остался светлым а почернеть я так думаю он должен будет когда в него записать чего нибудь но с записью пока не занимался, ход выполнения программы я наблюдал по маякам (включение светодиодов навешенных на любой порт ) при выполнении проги последовательно загораются диоды или тухнут кому как нравится
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
culibin 100 писал(а):у меня дисплей ответил флагами на инициализацию но экран у него остался светлым а почернеть я так думаю он должен будет когда в него записать чего нибудь но с записью пока не занимался, ход выполнения программы я наблюдал по маякам (включение светодиодов навешенных на любой порт ) при выполнении проги последовательно загораются диоды или тухнут кому как нравится
я тоже поставил параллельно светодиоды, делал задержки большие чтобы видно было что светодиоды в нужной последовательности загорались, а экран всеравно не отвечает...
может попробовать почитать данные из него, и через USART посмотреть что вывелось....
-
culibin 100
- Встал на лапы
- Сообщения: 88
- Зарегистрирован: Ср апр 29, 2009 10:35:56
- Откуда: кр. лиман украина
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
не знаю как через юсарт но у меня все работает попробуй опросить хотябы один флаг после снятия сигнала резета дисплей выводит сброс флага резет дата4 шины данных а потом выставляет флаг готовности дата7 опроси хоть один из флагов у меня лцд (мт124-64)мелт задержка у меня операция вычитания единицы из двух регистров в которые было записано $FF в каждый.
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
culibin 100 писал(а):не знаю как через юсарт но у меня все работает попробуй опросить хотябы один флаг после снятия сигнала резета дисплей выводит сброс флага резет дата4 шины данных а потом выставляет флаг готовности дата7 опроси хоть один из флагов у меня лцд (мт124-64)мелт задержка у меня операция вычитания единицы из двух регистров в которые было записано $FF в каждый.
Ок попробую
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
Помогите пожалуйста разобраться новичку, уже 3 недели морочусь с графическим LCD.
Основу взял из страницы
viewtopic.php?f=20&t=5199&start=40
проект LCD графич MT12864 CVAVR PROTEUS.rar (спасибо автору).
Такой вариант работает:
LCD_PUTSF(56,28,"radiokot");
Но мне нужно отправлять на LCD переменную.
Не буду изображать что я делал не основное, но основное здесь:
unsigned char buf[33];
unsigned m;
m=1234; // Моя цель чтобы LCD показало – 1234.
sprintf (&buf[0], "%d", m);
LCD_CLS();
LCD_PUTSF(56,28,&buf[0]); // компилятор выдает ошибку в этой строке
Выдает что не соответствие формату требуемому для LCD
При замене последней строки на такой вариант
LCD_PUTSF(56,28,buf[0]); // удален &
тоже выдает ошибку.
Здесь применил стандартные функции, почему не идет не пойму.
Еще последнюю строку пробовал в таком варианте
WriteData(buf[0]);
Ошибок не выдает, но LCD показывает только двоеточие на середине нижней строки.
Основу взял из страницы
viewtopic.php?f=20&t=5199&start=40
проект LCD графич MT12864 CVAVR PROTEUS.rar (спасибо автору).
Такой вариант работает:
LCD_PUTSF(56,28,"radiokot");
Но мне нужно отправлять на LCD переменную.
Не буду изображать что я делал не основное, но основное здесь:
unsigned char buf[33];
unsigned m;
m=1234; // Моя цель чтобы LCD показало – 1234.
sprintf (&buf[0], "%d", m);
LCD_CLS();
LCD_PUTSF(56,28,&buf[0]); // компилятор выдает ошибку в этой строке
Выдает что не соответствие формату требуемому для LCD
При замене последней строки на такой вариант
LCD_PUTSF(56,28,buf[0]); // удален &
тоже выдает ошибку.
Здесь применил стандартные функции, почему не идет не пойму.
Еще последнюю строку пробовал в таком варианте
WriteData(buf[0]);
Ошибок не выдает, но LCD показывает только двоеточие на середине нижней строки.
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
to lirik. Дисплей запустили?
хочешь быть счастливым - немного подожди.
- pictele
- Встал на лапы
- Сообщения: 89
- Зарегистрирован: Вт авг 04, 2009 20:40:37
- Откуда: Омск
- Контактная информация:
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
БАТАРЕЙКУС писал(а):
помоч могу только на PIC
Мне требуется помощь.
Пытаю WG12864B.На PIC18F252.
Выполнил ваши рекомендации по иницилизации.
Вроде ничего не меняется.Вытаскиваю проц из панельки-все тоже.
Нет ли у вас полного ассемблерного файла с хорошими комментариями,как образец?
Пусть выводит что угодно.Я потом изменю.
Индикатор исправен-проверял на другом устройстве.Процессор тоже проверен.
Не знаю в чем дело.
Можно на @. pctele@gorod55.ru
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
Pictele, опишите подробнее какой WG (все символы).
хочешь быть счастливым - немного подожди.
- pictele
- Встал на лапы
- Сообщения: 89
- Зарегистрирован: Вт авг 04, 2009 20:40:37
- Откуда: Омск
- Контактная информация:
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
Jursat писал(а):Pictele, опишите подробнее какой WG (все символы).
WINSTAR WG12864B-TML-TN
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
На скорую руку нашел http://www.radioscanner.ru/forum/topic40984.html.
Там есть и схема подключения и исходник. Не вникал в суть и не проверял.
Если не заработает будем разбираться. Можно по мылу.
У меня успешно работает wg12864b-ygh-n#n.
Там есть и схема подключения и исходник. Не вникал в суть и не проверял.
Если не заработает будем разбираться. Можно по мылу.
У меня успешно работает wg12864b-ygh-n#n.
хочешь быть счастливым - немного подожди.
- pictele
- Встал на лапы
- Сообщения: 89
- Зарегистрирован: Вт авг 04, 2009 20:40:37
- Откуда: Омск
- Контактная информация:
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
Jursat писал(а):На скорую руку нашел http://www.radioscanner.ru/forum/topic40984.html.
Там есть и схема подключения и исходник. Не вникал в суть и не проверял.
Если не заработает будем разбираться. Можно по мылу.
У меня успешно работает wg12864b-ygh-n#n.
Спасибо.Бум пытаться вникать.