- అవసరమైన భాగాలు:
- గ్రాఫికల్ ఎల్సిడి:
- 8051 ఉపయోగించి గ్రాఫికల్ ఎల్సిడిలో చిత్రాన్ని చూపుతోంది:
- సర్క్యూట్ వివరణ:
- ప్రోగ్రామింగ్ వివరణ:
మా రోజువారీ జీవితంలో, టెక్స్ట్, ఇమేజెస్ మరియు గ్రాఫిక్స్ ప్రదర్శించడానికి అనేక రకాల పరికరాలను చూస్తాము. ఎల్సిడిలు ఎలక్ట్రానిక్స్లో అత్యంత ప్రాచుర్యం పొందిన డిస్ప్లే పరికరాలలో ఒకటి మరియు కొంతవరకు సమాచారాన్ని ప్రదర్శించే అన్ని ప్రాజెక్టులలో ఉపయోగించబడతాయి. ఎలక్ట్రానిక్ ప్రాజెక్టులలో అనేక రకాల ఎల్సిడిలు ఉపయోగించబడతాయి. మేము ఇప్పటికే మా అనేక ప్రాజెక్టులలో 16X2 LCD ని ఉపయోగించాము మరియు Arduino తో TFT LCD ని కూడా ఉపయోగించాము. 8051, AVR, Arduino మరియు మరెన్నో ఇంటర్ఫేసింగ్తో సహా ఈ లింక్ను అనుసరించడం ద్వారా మీరు మా 16X2 LCD సంబంధిత ప్రాజెక్ట్ను కనుగొనవచ్చు.
ఈ ట్యుటోరియల్లో మేము 8051 మైక్రోకంట్రోలర్తో గ్రాఫిక్ ఎల్సిడి ఇంటర్ఫేసింగ్ చేయబోతున్నాం. ఈ ప్రాజెక్ట్లో, గ్రాఫికల్ ఎల్సిడి (జిఎల్సిడి) పై చిత్రాన్ని ఎలా ప్రదర్శించాలో చూపిస్తాము.
అవసరమైన భాగాలు:
- గ్రాఫికల్ ఎల్సిడి
- AT89c52 8051 మైక్రోకంట్రోలర్
- 7805 వోల్టేజ్ రెగ్యులేటర్
- 1000uf కెపాసిటర్
- 10 యుఎఫ్ కెపాసిటర్
- 10 కె రెసిస్టర్
- 10 కె పాట్
- క్రిస్టల్ ఆసిలేటర్ 12 MH
- వైర్ కనెక్ట్
- బ్రెడ్ బోర్డు
- బర్గ్ స్ట్రిప్స్ మగ
- విద్యుత్ పంపిణి
- LED
- 220 ఓం రెసిస్టర్
- 1 కె రెసిస్టర్
గ్రాఫికల్ ఎల్సిడి:
సాధారణ 16x2 LCD కి 16 పిన్స్ ఉన్నాయి, కానీ గ్రాఫికల్ LCD కి 20 పిన్ ఉంది. పిన్ వివరణ దాని డేటాషీట్ ప్రకారం క్రింద ఇవ్వబడింది:
పిన్ నం. | పిన్ పేరు | వివరణ | ఫంక్షన్ |
1 | వి.ఎస్.ఎస్ | గ్రౌండ్ | 0 వోల్ట్ |
2 | VDD | విద్యుత్ పంపిణి | 5 వోల్ట్ |
3 | వి 0 | LCD కాంట్రాస్ట్ సర్దుబాటు | |
4 | ఆర్ఎస్ | కమాండ్ / డేటా రిజిస్టర్ ఎంపిక | RS = 0: కమాండ్ ఎంపిక మరియు RS = 1: డేటా ఎంపిక |
5 | R / W. | రిజిస్టర్ చదవండి / వ్రాయండి | R / W = 0: ఎంపిక రాయండి మరియు R / W = 1: ఎంపికను చదవండి |
6 | ఇ | సిగ్నల్ ప్రారంభించండి | |
7 | DB0 | డేటా ఇన్పుట్ / అవుట్పుట్ పిన్ (DB0-DB7) | 8 బిట్ (DB0-DB7) |
8 | డిబి 1 | ||
9 | డిబి 2 | ||
10 | డిబి 3 | ||
11 | డిబి 4 | ||
12 | డిబి 5 | ||
13 | డిబి 6 | ||
14 | డిబి 7 | ||
15 | CS1 | చిప్ సెలెక్ట్ | CS1 = 1, IC1 కోసం చిప్ సెలెక్ట్ సిగ్నల్ |
16 | CS2 | చిప్ సెలెక్ట్ | CS2 = 1, IC2 కోసం చిప్ సెలెక్ట్ సిగ్నల్ |
17 | ఆర్ఎస్టి | రీసెట్ చేయండి | GLCD ని రీసెట్ చేయండి |
18 | VEE | LCD డ్రైవర్ కోసం ప్రతికూల వోల్టేజ్ | |
19 | జ | బ్యాక్ లైట్ LED | 5 వోల్ట్ |
20 | కె | బ్యాక్ లైట్ LED | గ్రౌండ్ |
8051 ఉపయోగించి గ్రాఫికల్ ఎల్సిడిలో చిత్రాన్ని చూపుతోంది:
గ్రాఫికల్ ఎల్సిడిలో ఒక చిత్రాన్ని చూపించడానికి, మొదట మనం ఆ చిత్రాన్ని అసెంబ్లీ కోడ్గా మార్చాలి, తద్వారా 8051 మైక్రోకంట్రోలర్ దానిని అర్థం చేసుకోవచ్చు మరియు చదవగలదు. కాబట్టి చిత్రాన్ని HEX కోడ్గా మార్చడానికి మేము ఈ క్రింది దశలను అనుసరించాలి :
దశ 1: మొదట మనం ఇమేజ్ (బిఎమ్పి ఫార్మాట్) ను అసెంబ్లీ కోడ్గా మార్చే అప్లికేషన్ను డౌన్లోడ్ చేసుకోవాలి. కాబట్టి ఈ లింక్ నుండి BMP2ASM ఇమేజ్ కన్వర్షన్ అప్లికేషన్ను డౌన్లోడ్ చేసుకోండి, లింక్పై కుడి క్లిక్ చేసి, ఆపై లింక్ను సేవ్ చేయి క్లిక్ చేయండి…
దశ 2: అప్పుడు, మీరు ప్రదర్శించడానికి కోరుకుంటున్న చిత్రాన్ని ఎంచుకోండి గ్రాఫికల్ LCD మరియు లోకి BMP మార్చవలసి, (ఇది ఇప్పటికే BMP ఫార్మాట్ లో కానప్పటికీ) MS పెయింట్, Photoshop వంటి ఏ అప్లికేషన్ ఉపయోగించి లేదా మీరు అనేక ఆన్లైన్ వెబ్సైట్ వెదుక్కోవచ్చు చిత్ర ఆకృతి మార్పిడి కోసం. మేము 128x64 పరిమాణంతో BMP చిత్రం క్రింద ఉన్నాము:
దశ 3: ఇప్పుడు మనం దశ 1 లో డౌన్లోడ్ చేసిన BMP2ASM.zip ఫైల్ను సంగ్రహించి, దానిలో Bmp2asm.exe ని తెరిచి , BMP చిత్రాన్ని ఎంచుకోండి.
దశ 4: ఇప్పుడు BMP2ASM అప్లికేషన్ విండోలో “కన్వర్ట్” నొక్కండి.
దశ 5: అప్పుడు ఉత్పత్తి చేసిన కోడ్ను కాపీ చేసి, కైల్ యువిజన్లో 8051 ప్రోగ్రామ్లో అతికించండి. కొన్ని మార్పులు చేసి కోడ్ను కంపైల్ చేయండి.
ఇప్పుడు మీ కోడ్ 8051 మైక్రోకంట్రోలర్లో అప్లోడ్ చేయడానికి సిద్ధంగా ఉంది.
సర్క్యూట్ వివరణ:
గ్రాఫికల్ ఎల్సిడిని 8051 మైక్రోకంట్రోలర్కు ఇంటర్ఫేసింగ్ కోసం సర్క్యూట్ కనెక్షన్లు 16x2 ఎల్సిడిని 8051 కి కనెక్ట్ చేయడం చాలా సులభం మరియు దాదాపు ఒకే విధంగా ఉంటుంది. అయితే 16x2 ఎల్సిడికి 16 పిన్లు మరియు జిఎల్సిడికి 20 పిన్ ఉన్నాయి.
GLCD కోసం సెట్ కాంట్రాస్ట్ కోసం 10K పాట్ ఉపయోగించబడుతుంది. GLCD RS, R / W మరియు E యొక్క కంట్రోల్ పిన్స్ నేరుగా 89C52 పిన్ నంబర్ P1.0, P1.1 మరియు P1.2 లకు అనుసంధానించబడి ఉన్నాయి. ఎల్సిడి యొక్క చిప్ సెలెక్ట్ పిన్స్ సిఎస్ 1 మరియు సిఎస్ 2 వరుసగా పిన్ పి 1.3 మరియు పి 1.4 కి అనుసంధానించబడి ఉన్నాయి. డేటా పిన్స్ DB0-DB7 నేరుగా PORT P2 వద్ద అనుసంధానించబడి ఉన్నాయి. సాధారణ 5 వోల్ట్ సరఫరా కోసం 7805 వోల్టేజ్ రెగ్యులేటర్ ఉపయోగించబడుతుంది. ప్రదర్శన వీడియోలో, నేను ఆర్డునో విద్యుత్ సరఫరాను ఉపయోగించాను.
ప్రోగ్రామింగ్ వివరణ:
అన్నింటిలో మొదటిది, మేము అవసరమైన హెడర్ ఫైళ్ళను ప్రోగ్రామ్లో చేర్చుకుంటాము మరియు GLCD యొక్క కంట్రోల్ మరియు డేటా పిన్ల కోసం బిట్లను నిర్వచించాము.
# చేర్చండి
దాని తరువాత, మేము ఆలస్యం ఫంక్షన్ను సృష్టించాము.
శూన్య ఆలస్యం (int itime) {int i, j; (i = 0; i
ఫంక్షన్ శూన్యత lcd_disp_on () డిస్ప్లే ఆన్ చేయడానికి ఉపయోగించబడుతుంది.
GLCD లో నిలువు వరుసను సెట్ చేయడానికి ఫంక్షన్ శూన్య సెట్కర్సర్వై (int y) సృష్టించబడుతుంది మరియు GLCD లో పేజీని సెట్ చేయడానికి ఫంక్షన్ శూన్య సెట్సర్సర్ఎక్స్ (int x) సృష్టించబడుతుంది. పూర్తి కోడ్ ఫైల్ క్రింద కోడ్ విభాగంలో ఇవ్వబడింది.
కాలమ్ మరియు పేజీని సెట్ చేసిన తరువాత, మేము GLCD కి కమాండ్ మరియు డేటాను పంపడం కోసం ఒక ఫంక్షన్ వ్రాసాము.
శూన్యమైన lcdprint (చార్ డాట్, పూర్ణాంక పరిమాణం) {సంతకం చేయని పూర్ణాంకం i; (i = 0; i
లో గర్జన ప్రధాన () ఫంక్షన్, మేము GLCD క్లియర్ ఆపై కాలమ్ మరియు పేజ్ సెట్ చేశారు. దాని తరువాత, శూన్యమైన lcdprint (చార్ డాట్, పూర్ణాంక పరిమాణం) ఫంక్షన్ను ఉపయోగించి డేటాను LCD కి పంపండి.
void main () {int x, y; పి 3 = 0xff; (1) {lcdclear (); (y = 0; y <8; y ++) {కోసం (x = 0; x <128; x ++) {lcd_disp_on (); setCursorX (y); setCursorY (x); lcdprint (చిత్రం, x); }}…………………..
కోడ్ ప్రవాహం:
- మొదట మేము సిస్టమ్ను శక్తివంతం చేసినప్పుడు, ప్రోగ్రామ్ GLCD ని క్లియర్ చేస్తుంది మరియు డిస్ప్లే ఆన్ చేస్తుంది.
- అప్పుడు మేము డేటాను వ్రాయాలనుకుంటున్న చోట నుండి కర్సర్ను కాలమ్కు సెట్ చేయండి.
- అప్పుడు మేము డేటాను వ్రాయాలనుకుంటున్న చోట నుండి కర్సర్ను పేజీకి సెట్ చేయండి.
- ఇప్పుడు ప్రోగ్రామ్ 128X8 టైమ్స్ వరకు డేటాను ఒక్కొక్కటిగా ఎంచుకున్న స్థానానికి పంపుతుంది. ఎందుకంటే GLCD కి 8 పేజీలు మరియు 128 నిలువు వరుసలు ఉన్నాయి.