Narkomaninis LCD

Buvo proga padaryti projektą naudojant LCD iš kasos aparatų (rodos). Nes ekraniukas daugmaž tinkamo dydžio ir valdomas 3 laidais. Deja nepasisekė ir viskas buvo užmesta. Dabar buvo kiek laisvo laiko ir LCD ekraniukas buvo panagrinėtas kiek atidžiau…
NJU6432BF
Viskas čia paprasta, tik LCD ekraniuką prie NJU6432BF jungė kažkoks narkomanas. Dėl nesuprantamų priežasčių du paskutiniai simboliai ir patys du pirmieji simboliai pajungti kiek kitaip nei likę simboliai. Matyt dėl PCB vedžiojimo ar pačio LCD projektavimo. PCB dvipusė, tai sukeisti tuos kelis segmentus tikrai nekiltu problemos. Beja, tai ne pirmas projektas su šiuo LCD kontroleriu, tačiau pirmą kartą papuolė tuos “narkomaninis" pajungimas. Tiesa, narkomaniškumas gal pasidaro dėl pačios mikroschemos 3 bitų kurie kažkam reikalingi, bet nelabai susije su LCD.

biški reverse engineeringo. Skaičiukai vietoje segmento, tai baito bitai. Masyvas lcd[] atitinka mikroschemos buferį.


//lcd[3]=0;
//
//  *****    44444    00000    *****    *****    *****
// *     6  *     2  *     *  *     *  *     *  *     *
// *     6  *     2  *     *  *     *  *     *  *     *
// *     6  *     2  *     *  *     *  *     *  *     *
//  *****    55555    11111    *****    *****    *****
// *     7  *     3  *     *  *     *  *     *  *     *
// *     7  *     3  *     *  *     *  *     *  *     *
// *     7  *     3  *     *  *     *  *     *  *     *
//  *****    *****    *****    *****    *****    *****
//    5        4        3        2        1        0
	
//lcd[4]=0; // 7654 3210
//
//  *****    *****    *****    44444    00000    *****
// *     *  *     *  *     6  *     2  *     *  *     *
// *     *  *     *  *     6  *     2  *     *  *     *
// *     *  *     *  *     6  *     2  *     *  *     *
//  *****    *****    *****    55555    11111    *****
// *     *  *     *  *     7  *     3  *     *  *     *
// *     *  *     *  *     7  *     3  *     *  *     *
// *     *  *     *  *     7  *     3  *     *  *     *
//  *****    *****    *****    *****    *****    *****
	
// Paskutinis simbolis* Narkomaninis*
//lcd[5]=0; //
//
//  *****    *****    *****    *****    *****    44444
// *     *  *     *  *     *  *     *  *     6  *     2
// *     *  *     *  *     *  *     *  *     6  *     2
// *     *  *     *  *     *  *     *  *     6  *     2
//  *****    *****    *****    *****    *****    55555
// *     *  *     *  *     *  *     *  *     7  *     3
// *     *  *     *  *     *  *     *  *     7  *     3
// *     *  *     *  *     *  *     *  *     7  *     3
//  *****    *****    *****    *****    *****    11111
//                                                     0
	
// apatiniai segmentai
	
//lcd[6]=0; //0bit- nesimato, 1-nc, 2-nc, 3-nc
//
//  *****    *****    *****    *****    *****    *****
// *     *  *     *  *     *  *     *  *     *  6     *
// *     *  *     *  *     *  *     *  *     *  6     *
// *     *  *     *  *     *  *     *  *     *  6     *
//  *****    *****    *****    *****    *****    *****
// *     *  *     *  *     *  *     *  *     *  7     *
// *     *  *     *  *     *  *     *  *     *  7     *
// *     *  *     *  *     *  *     *  *     *  7     *
//  *****    *****    *****    *****    55555 4  *****
	
//lcd[7]=0;
//
//  *****    *****    *****    *****    *****    *****
// *     *  *     *  *     *  2     *  6     *  *     *
// *     *  *     *  *     *  2     *  6     *  *     *
// *     *  *     *  *     *  2     *  6     *  *     *
//  *****    *****    *****    *****    *****    *****
// *     *  *     *  *     *  3     *  7     *  *     *
// *     *  *     *  *     *  3     *  7     *  *     *
// *     *  *     *  *     *  3     *  7     *  *     *
//  *****    *****    11111 0  55555 4  *****    *****
	
//lcd[8]=255; // tas pats kas 7 tik pasislinke
//
//  *****    *****    *****    *****    *****    *****
// *     *  2     *  6     *  *     *  *     *  *     *
// *     *  2     *  6     *  *     *  *     *  *     *
// *     *  2     *  6     *  *     *  *     *  *     *
//  *****    *****    *****    *****    *****    *****
// *     *  3     *  7     *  *     *  *     *  *     *
// *     *  3     *  7     *  *     *  *     *  *     *
// *     *  3     *  7     *  *     *  *     *  *     *
//  11111 0  55555 4  *****    *****    *****    *****
//
// ir t*t* iki 10 simbolio, kuris vel narkomaninis* 11 irgi
	

Tie narkomaniniai simboliai stipriai padidina kodą ir nedavė ramiai miegoti net kelias dienas.

Mano nelabai elegantiškas sprendimas čia (source code ir testinis binaras):
NJU6432BF AVR source code C.

Leave a Reply

Bot-Check (Jei ne skaičiai spauskit refresh. Tik oranžinius naudoti.)

Unhappy Tikbalang