Placa e extrem de inghesuita , poate daca o mai aerisesti putin o sa amia scapi de strapuri. Unde te grabesti ? Arde pasiunea ? Rezistentele ce capsula au ? E cel putin de 0.25w sau vrei sa le lipesti in picioare ?
Am descoperit pe propria piele la telecomanda loconet la care muncesc acum. Nu cu PWM-ul (nu folosesc PWM), ci (cred) cu afisarea pe un LCD care afisare consuma destul de multe resurse. Cum ziceam, inca n-am solutii, da' mai caut.oilen a spus:cat despre software... e destul de naspa sa faci PWM software chiar si la 20 MHZ. sunt multe de facut
Primele teste in digital le-am facut cu o centrala mica facuta de mine (mult mai simpla decat ce ti-ai propus tu), asa ca am oarece idee. :fluierat:oilen a spus:In DCC nu poti intrerupe fluxul de date pe o perioada mai mare decat cutout-ul se zapaceste toata transmisia...
<i>
</i>/th_ hd447XX LCD routines for compatible display w 2 lines th_/
REVS
/th_ 27.10.1999 001 A - modified timing on port E due to some problems with CSth_ chips on some compatible LCD
5.11.1999 002 D - removed 4 line LCD
12.11.1999 003 E - test final GTP 16F877
5.7.2005 004 E - test final GTP 16F877A -20/IP
th_/
use fast_io(E)
use fast_io(D)
void lcd_put_cmd(byte cmd){
set_tris_E(0xF8);
set_tris_D(0x00); //all ports as outputs
output_E(0x00);
PORT_D = cmd ; //put byte on data
output_E(0x04);
//001A START
delay_ms(1); //here we had 3ms settle time but it was wrong
//001A END
output_E(0x00);
}
void lcd_put_char(char dta){
set_tris_E(0xF8);
set_tris_D(0x00); //all ports as outputs
output_E(0x01);
PORT_D = dta; //put byte on data
output_E(0x05) ; //enable high
delay_ms(1);
output_E(0x01);
}
/th_ this is very very important th_/
void lcd_init(){
byte i;
set_tris_E(0xF8);
set_tris_D(0x00); //all ports as outputs
output_E(0x00);
//001 A START
delay_ms(100); //100 ms delay
//001A END
lcd_put_cmd(0x38); //say 8 bit data 2 lines
lcd_put_cmd(0x0C); //cursor show and no blink
lcd_put_cmd(0x03); //inc with each recv
lcd_put_cmd(0x01); //clear
lcd_put_cmd(0x06); //autoinc
lcd_put_cmd(0x02); //home
//001A START
delay_ms(1000); //a little delay
//001A END
}
void lcd_clear(){
lcd_put_cmd(0x01);
delay_ms(2);
}
void lcd_l2(){
lcd_put_cmd(0xC0);
delay_ms(2);
}
LiviuM a spus:Nu stiu cat costa, da' lacul tau de protectie se poate inlocui cu un spray special. Nu-i stiu numele, daca te intereseaza imi intreb colegii ce folosesc, da' am senzatia ca esti multumit cu varianta ta.
We use essential cookies to make this site work, and optional cookies to enhance your experience.