Gudd-Head писал(а):ellioh писал(а):Может кто-то что посоветовать?
Пробовать![]()
Обычно выставляю данные, затем дёргаю Е. Данные не меняю до тех пор, пока не надо что-то ещё вывести.
Просто я либу пишу, везде не попробовать. А сам делаю так же.
Gudd-Head писал(а):ellioh писал(а):Может кто-то что посоветовать?
Пробовать![]()
Обычно выставляю данные, затем дёргаю Е. Данные не меняю до тех пор, пока не надо что-то ещё вывести.
Stalker46 писал(а):Ну, врядли кто тут вам может помочЬ, не заглядываю в даташит.
А неужели ни у кого из знакомых нет компьютера с выходом в Интернет? Быть того не может...
А в даташите вся информация по вашим вопросам - есть и на первых страницах...
Av4arik писал(а):Собственно, вопрос снят - на десятой странице темы форума написано что подсветка подключается отдельно от всего, и по всей видимости ноги 15, 16 висят в воздухе - если нет подсветки у дисплея (мультиметром не звонятся)...
Amator писал(а):То что мультиметром не звонятся еще не факт отсутствия подсветки. Посмотри по печатке самого дисплея. Куда тебя выведут эти (15, 16) ноги.
16 нога - катод (-) светодиода подсветки.
15 нога - анод (+) светодиода подсветки.
Для проверки работоспособности подсветки 16 ногу посадить на корпус а на 15 через резистор 50 Ом +5в (например от компьютерного блока питания). Остальные ноги не трогать. Если все нормально, то увидишь подсветку (естественно не при ярком освещении).
Roman Venom писал(а): По нажатию кнопки на ЖКИ последовательно выводятся числа от 0000 до 7200 с шагом 100. Потом сброс. Короче обычный инкрементальный счетчик. Проблема в том, что пока один раз после включения не проклацаешь до сброса, вместо изменяющегося разряда черный квадратик. На втором и т.д. кругах всё становится нормально. Уже всё перепробовал...не помагает.
ЖКИ тут совершенно не при чем. Есть, видимо, регистровая пара, в которой содержится индицируемое число, и есть кусок программы, который это число переводит в коды индикатора и скармливает этому ЖКИ. Так вот при включении в этой регистровой паре черт-те-что, и программа пытается перевести это черт-те-что в коды символов, а там получаются нули или FF.
Мне непонятен смысл такого устройства с еще более непонятными манипуляциями
Roman Venom писал(а): Я знал про это, но совершенно забыл!
Код: Выделить всё
; Íàñòðàèâàåì "êàìåíü"
Option_REG.7 = 0
TRISA = %11111111
PORTA = %00000000
TRISB = %00000000
PORTB = %00000000
; Çàêîí÷èëè íàñòðîéêó "êàìíÿ"
PORTB.4 = 1
; Ïðèñâîåíèå èìåíè ëèíèÿì ïîðòîâ
symbol SCLK = PORTB.7
symbol SDTA = PORTB.6
symbol DC = PORTB.5
symbol RES = PORTB.4
; Çàêîí÷èëè ïðèñâîåíèå èìåíè
; Íà÷àëè îïèñàíèå ïåðåìåííûõ
dann var byte ; Ïåðåìåííàÿ äëÿ äàííûõ
reg0 var byte
gox var byte
goy var byte
temp var bit
ch var byte
cl var byte
cm var byte
; Çàêîí÷èëè îïèñàíèå ïåðåìåííûõ
MAIN:
; Èíèöèàëèçàöèÿ äèñïëåÿ
DC = 1
pause 10
res = 0
pause 90
res = 1
DC = 0
dann = %00100001 ;(PD=0 - âêëþ÷èòü äðàéâåð, V=0 - âûáðàòü ðåæèì ãîðèçîíòàëüíîé àäðåñàöèè (êîëîíêè ïèêñåëåé èäóò âñòðîêó), H=1 - ïåðåêëþ÷àåìñÿ íà äîïîëíèòåëüíûé íàáîð êîìàíä);
gosub BAIT_LCD
dann = %11000101 ;(óñòàíîâêà Vop=69);
gosub BAIT_LCD
dann = %00010011 ;(óñòàíîâêà Bias n=4);
gosub BAIT_LCD
dann = %00100000 ;(PD=0 è V=0 - îñòàâëÿåì áåç èçìåíåíèé, H=0 - ïðîñòî ïåðåêëþ÷àåìñÿ îáðàòíî íà áàçîâûé íàáîð êîìàíä);
gosub BAIT_LCD
dann = %00001100 ;(âûáèðàåì íîðìàëüíûé ðåæèì (D=1, E=0)).
gosub BAIT_LCD
pause 500
gosub RES_DDR
goY = %01000000 ;
goX = %10000000
Gosub GOTOXY
; test
point:
dann = %00001100
gosub BAIT_LCD
pause 20
dann = %00001101
gosub BAIT_LCD
Pause 20
goto point
;*******************************************************************************
; ÏÎÄÏÐÎÃÐÀÌÛ
; Ïåðåäà÷à áàéòà â LCD
BAIT_LCD:
dann = reg0
for temp = 7 to 0 step -1
SCLK=0
if reg0.7 = 0 then
SDTA = 0
else
SDTA = 1
endif
SCLK = 1
reg0 = reg0 << 1
next temp
return
; Î÷èñòêà ýêðàíà îò ìóñîðà
RES_DDR:
SDTA = 0
dc = 1
for ch = 6 to 0 step -1
for cm = 84 to 0 step -1
for cl = 8 to 0 step -1
SCLK = 0
SCLK = 1
next cl
next cm
next ch
return
; Ïåðåõîä íà X è Y
GOTOXY:
DC=0
dann = %00100000
gosub BAIT_LCD
dann = GOY
gosub BAIT_LCD
dann = GOX
gosub BAIT_LCD
return
clawham писал(а):Комунибудь нужны исходники либы для арма
хочю подключить денозавра наврное ( но не знаю возможно ли)
kp128 писал(а):Как можно определить модель LCD дисплея
Код: Выделить всё
//Индикация Правый пропеллер
sprintf( lb2,"%u",b); // суем переменную б в лсд буфер 2 Правый пропеллер
if (b<1)
{
lcd_gotoxy(12,1);
lcd_puts(" OFF");
}
if (b<=9 && b>=1)
{
lcd_gotoxy( 12,1 ); // перейти на 13 символ , 2 строку
lcd_puts(" "); // пробелы чтоб затереть старые символы
lcd_puts(lb2); //Вывести процент левого кулера
lcd_puts("%"); //После етого вывести знак процента
}
if (b>=10 && b<=99)
{
lcd_gotoxy( 12,1 ); // перейти на 13 символ , 2 строку
lcd_puts(" "); // пробелы чтоб затереть старые символы
lcd_puts(lb2); //Вывести процент левого кулера
lcd_puts("%"); //После етого вывести знак процента
}
if (b>=100)
{
lcd_gotoxy( 12,1 ); // перейти на 13 символ , 2 строку
lcd_puts(lb2); //Вывести процент левого кулера
lcd_puts("%"); //После етого вывести знак процента
}
Код: Выделить всё
lcd_puts(" "); // пробелы чтоб затереть старые символы
lcd_puts(lb2); //Вывести процент левого кулера
lcd_puts("%"); //После етого вывести знак процента Код: Выделить всё
lcd_puts(" ", lb2, "%")