Ïîäêëþ÷àåì ñèìâîëüíûé ÆÊÈ


30.01.2010, 12:24


Íàäåæíûå íàêèäíûå ãàéêè ÃÏÀ äëÿ íåôòåãàçîâîé îòðàñëè îò ïðîèçâîäèòåëÿ.

Ïîäêëþ÷àåì ñèìâîëüíûé ÆÊÈ.

Ìíîãèå ëþäè äíÿìè ñèäÿò â ñâîåé ìàñòåðñêîé è ëîìàþò ñåáå ãîëîâó íàä òåì, êàê ïîäêëþ÷èòü ÆÊÈ ê ñâîåìó óñòðîéñòâó, íî íå ó ìíîãèõ ýòî ïîëó÷àåòñÿ.  ýòîé ñòàòüå ÿ íàó÷ó âàñ, êàê ëåãêî è áåç áîëüøèõ óñèëèé ïîäêëþ÷èòü ñèìâîëüíûé ÆÊÈ ê ñâîåìó óñòðîéñòâó. Ïîäêëþ÷àòü ÆÊÈ ìû áóäåì ïðè ïîìîùè ñðåäû >CodeVisionAVR, è ìíîãîå èìåííî îíà ñäåëàåò çà íàñ. Èòàê, äàâàéòå ðàçáåð¸ìñÿ, ÷òî òàêîå ñèìâîëüíûé ÆÊÈ, âåäü ÆÊÈ áûâàþò íå òîëüêî ñèìâîëüíûå, íî è ãðàôè÷åñêèå. Ñèìâîëüíûé æèäêî-êðèñòàëëè÷åñêèé èíäèêàòîð – ýòî äèñïëåé ñî âñòðîåííûì ìèêðîêîíòðîëëåðîì, êîòîðûé ãåíåðèðóåò ñèìâîëû. Ãðàôè÷åñêèé ÆÊÈ íå ãåíåðèðóåò ñèìâîëû, èõ íàäî âûðèñîâûâàòü ïîïèêñåëüíî(ïèêñåëü-ýòî òî÷êà íà äèñïëåå).

Äëÿ ïîäêëþ÷åíèÿ ñèìâîëüíîãî ÆÊÈ íàì ïîòðåáóåòñÿ (Ðèñ.1):

1. Ëþáîé ñèìâîëüíûé ÆÊÈ íà 16 èëè 14 âûõîäîâ;

2. Ìèêðîêîíòðîëëåð >ATMega8;

3. Øëåéô íà 16 ïðîâîäêîâ;

4. Ðàçúåì äëÿ øëåéôà íà 16 âûõîäîâ;

5. Âõîä äëÿ ðàçúåìà äëÿ øëåéôà íà 16 âõîäîâ;

6. Òåêñòîëèò.

Ðèñ.1

 

Äëÿ ïðîåêòèðîâàíèÿ óñòðîéñòâà íà ÆÊÈ íóæíî íåìíîæêî íàðóøèòü ïîñëåäîâàòåëüíîñòü äåéñòâèé, òóò íå ñëåäóåò ñíà÷àëà ïðèäóìûâàòü ñõåìó, à çàòåì òðàâèòü ïëàòó. Ñõåìó áóäåò ïðèäóìûâàòü çà âàñ ñðåäà >CodeVisionAVR, ïîýòîìó çàïóñêàåì å¸ è íàæèìàåì êíîïêó ‘>Run> >the> >CodeWizardAVR> >automatic> >program> >generator’, òî åñòü çàïóñêàåì àâòîìàòè÷åñêèé ãåíåðàòîð êîäà. Äàëüøå âûáèðàåì âêëàäêó >LCD, íà âêëàäêå >LCD> >Port> âûáèðàåì òðåáóåìûé äëÿ ÆÊÈ ïîðò ìèêðîêîíòðîëëåðà, è âèäèì (Ðèñ.2), ê êàêîìó áèòó ïîðòà ìèêðîêîíòðîëëåðà íóæíî ïîäêëþ÷àòü âûõîäû ÆÊÈ. Òóò æå íà âêëàäêå >Chars./>Line> âûáèðàåì êîëè÷åñòâî ñèìâîëîâ â ïåðâîé ñòðîêå âàøåãî äèñïëåÿ. Òåïåðü ñëåäóåò íàñòðîèòü îñòàëüíûå âêëàäêè ãåíåðàòîðà îñíîâûâàÿñü íà óðîêå «Ïåðâûé ïðîåêò íà ìèêðîêîíòðîëëåðå >AVR». Ïîñëå ýòîãî, îñíîâûâàÿñü íà Òàáëèöå 1(Ôóíêöèè äëÿ ðàáîòû ñ ÆÊÈ èç áèáëèîòåêè >LCD.>h), ïèøåì êîä ïðîãðàììû íàøåãî óñòðîéñòâà.

Ôóíêöèÿ

Îáúÿñíåíèå

>lcd_>init(êîëè÷åñòâî_ñèìâîëîâ_â_ñòðîêå)

 

Èíèöèàëèçèðóåò ÆÊÈ ñ ââåäåííûì êîëè÷åñòâîì ñèìâîëîâ â ñòðîêå.

>lcd_clear()

Î÷èùàåò ýêðàí ÆÊÈ

>lcd_gotoxy(x, y)

Ïåðåâîäèò êóðñîð â òî÷êó ñ êîîðäèíàòàìè (>x, >y).

>lcd_putchar(char ñèìâîë>)

Âûâîäèò íà ýêðàí ÆÊÈ óêàçàííûé ñèìâîë.

>lcd_puts(char *ñòðîêà)

Âûâîäèò íà ýêðàí ÆÊÈ óêàçàííóþ ñòðîêó.

Òàáëèöà 1. Ôóíêöèè äëÿ ðàáîòû ñ ÆÊÈ èç áèáëèîòåêè >LCD.>h.

Ïðîãðàììíûé êîä âû ìîæåòå óâèäåòü â Ëèñòèíãå 1.  ýòîé ïðîãðàììå íà ýêðàí ÆÊÈ âûâîäèòñÿ íàäïèñü «>Hello,>I> >am> >ready».

ËÈÑÒÈÍÃ 1:

#include //Âêëþ÷àåì áèáëèîòåêó äëÿ ðàáîòû ñ ìèêðîêîíòðîëëåðîì ATMega8

>#asm

> >.equ __lcd_port=0x12 ;PORTD>

#>endasm // Èíèöèàëèçèðóåì >PORTD> êàê ïîðò ÆÊÈ

#>include <>lcd.>h> //Âêëþ÷àåì áèáëèîòåêó äëÿ ðàáîòû ñ ÆÊÈ

>void main(void)

>{

>char *_str="Hello,Im ready"; //Ñîçäàåì âûâîäèìóþ ñòðîêó

>PORTD=0>x00; //Âûñòàâëÿåì âñå âûõîäû >PORTD íà íîëü

>DDRD=0>x00; // Âûñòàâëÿåì âñå âûõîäû >PORTD êàê âõîäû

>lcd_>init(16); // Èíèöèàëèçàöèÿ ÆÊÈ íà 16 ñèìâîëîâ

>lcd_>gotoxy(0, 0); // Ïåðåâîäèì êóðñîð íà ïåðâûé ñèìâîë ïåðâîé ñòðîêè

>lcd_>puts(_>str); // Âûâîäèì ñòðîêó _>str> íà äèñïëåé ÆÊÈ

while (1)

{

};

}

Òåïåðü ïðèñòóïàåì ê ìåõàíè÷åñêîé ÷àñòè – ñîáèðàåì ñàìî óñòðîéñòâî.

Ðèñ.2

Îñíîâûâàÿñü íà ðèñóíêå 2, ìû è ðèñóåì ñõåìó íàøåãî óñòðîéñòâà (Ðèñ. 3).

Ðèñ.3

Çà ýòîé ñõåìîé ðèñóåì ñõåìó äëÿ ïå÷àòè íà òåêñòîëèò (Ðèñ.4) è òðàâèì ïëàòó íàøåãî óñòðîéñòâà.

Ðèñ.4

Íà ðèñóíêå 4 âû âèäèòå áëîê âûõîäîâ 2õ4 – ýòî èíòåðôåéñ äëÿ ÆÊÈ, êîòîðûé ñäåëàí ïóò¸ì çàæèìàíèÿ òèñêàìè øëåéôà, âñòàâëåííîãî â ñîîòâåòñòâóþùåå îòäåëåíèå â ðàçúåìå äëÿ øëåéôà. (Ðèñ.5).

Ðèñ.5

Îñòàëîñü òîëüêî ñïàÿòü ïëàòó, âñòàâèòü â íåå âõîä äëÿ ðàçúåìà äëÿ øëåéôà, ïåðåïðîøèòü óñòðîéñòâî è óñòðîéñòâî ãîòîâî.

Èòàê, ñ÷èòàåì, ñêîëüêî ïîøëî äåíåã íà âàø ïåðâûé ïðîåêò íà ìèêðîêîíòðîëëåðå:

1. Òåêñòîëèò - 4,50ãðí. = 0,90$;

2. Ìèêðîêîíòðîëëåð >Atmel> >Mega 8(>ATMega8) – 10,50ãðí. = 2$;

3. Øëåéô íà 16 ïðîâîäêîâ – 0,50ãðí. = 0,1$;

4. Ðàçúåì äëÿ øëåéôà íà 16 âûõîäîâ – 1ãðí. = 0,2$;

5. Øëåéô íà ïÿòü ïðîâîäêîâ è ðàçúåì äëÿ ïðîãðàììàòîðà - 1ãðí. = 0,20$;

6. Âõîä äëÿ ðàçúåìà äëÿ øëåéôà íà 16 âõîäîâ – 1ãðí. = 0,20$;

7. Ñèìâîëüíûé ÆÊÈ â€“ 25ãðí. = 5$;

ÈÒÎÃÎ: 43,50ãðèâíû = 8,2$

֏!

Ïîëèùóê Îëåã https://homorobot.net/


Êëþ÷åâûå ñëîâà:
øëåéô
óñòðîéñòâî
âûõîäû
ýêðàí
ðàáîòû
ïîäêëþ÷èòü
âûõîäû
óñòðîéñòâî
ïëàòà
ðàçúåì
ïðîâîäêè
CodeVisionAVR
áèáëèîòåêè
óñòðîéñòâî
aóíêöèè
òåêñòîëèò
âõîäû
Ïîäêëþ÷àåì ñèìâîëüíûé ÆÊÈ
ðîáîò


Âåðíóòüñÿ â ðóáðèêó:

Ñòàòüè ïîñåòèòåëåé


Õîòèòå âèäåòü íà íàøåì ñàéòå áîëüøå ñòàòåé? Êëèêíèòå Ïîäåëèòüñÿ â ñîöèàëüíûõ ñåòÿõ! Ñïàñèáî!

Ñìîòðèòå òàêæå:

Îáðàòèòå âíèìàíèå ïîëåçíàÿ èíôîðìàöèÿ.

Ðîáîòîòåõíèêà äëÿ êàæäîãî. 2023ã.