Problem s LCD

Radim Hořínek cotidotoho@volny.cz
Sobota Listopad 5 17:51:16 CET 2005


Zdravim konferenci!
Narazil jsem na "zajimavy" problem s LCD displejem. K jeho obsluze  
pouzivam funkce z CodeVisionAVRv C. Pri simulaci v AVR studiu se mi ale  
program docela casto zacyklil. Nakonec jsem prisel na to, ze funkce na  
cekani na zapis vypada takto:
#asm
     .equ __lcd_direction=__lcd_port-1
     .equ __lcd_pin=__lcd_port-2
     .equ __lcd_rs=0
     .equ __lcd_rd=1
     .equ __lcd_enable=2
     .equ __lcd_busy_flag=7
#endasm

__lcd_busy:
     rcall __lcd_delay
     sbi   __lcd_port,__lcd_enable ;EN=1
     rcall __lcd_delay
     sbic  __lcd_pin,__lcd_busy_flag
     rjmp  __lcd_busy
     cbi   __lcd_port,__lcd_enable ;EN=0

Ale pritom brány 4-7 jsou a maji byt vyuzity pro posilani dat do  
displeje.To znamena, ze pokud poslu do displeje jakakoli data, ktera  
nastavi bit 7 na 1 (napr znak "o" a spousta dalsich) dojde k zacykleni,  
prouoze je nasteven "busy_flag". Jak mam toto osetrit? Napadlo mejednoduse  
to testovani vypustit, ale potom asi nebude dodrzeno spravne casovani....  
Jaky bit mam tedy testovat?
Prosim o radu a zaroven dekuji.
Radim Horinek


-- 
Tato zpráva byla vytvořena revolučním poštovním klientem Opery:  
http://www.opera.com/mail/



Další informace o konferenci Hw-list