- தேவையான கூறுகள்:
- சுற்று வரைபடம்:
- 8051 ஐப் பயன்படுத்தி எல்எம் 35 உடன் வெப்பநிலையை அளவிடுதல்:
- 16x2 எல்சிடி:
- ADC0804 IC:
- எல்எம் 35 வெப்பநிலை சென்சார்:
- குறியீடு விளக்கம்:
சில நேரங்களில் ஏற்ற இறக்கங்கள் காரணமாக அனலாக் தெர்மோமீட்டரிலிருந்து வெப்பநிலையைப் படிக்க மக்கள் சிரமப்படுகிறார்கள். எனவே இங்கே 8051 மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி ஒரு எளிய டிஜிட்டல் தெர்மோமீட்டரை உருவாக்கப் போகிறோம், இதில் வெப்பநிலையை அளவிட எல்எம் 35 சென்சார் பயன்படுத்தப்படுகிறது. Arduino, NodeMCU, PIC, ராஸ்பெர்ரி பை மற்றும் பிற மைக்ரோகண்ட்ரோலர்களைப் பயன்படுத்தி டிஜிட்டல் தெர்மோமீட்டரை உருவாக்க எல்எம் 35 ஐப் பயன்படுத்தினோம்.
இந்த திட்டம் 8051 உடன் ADC0804 மற்றும் 8051 மைக்ரோகண்ட்ரோலருடன் 16 * 2 எல்சிடியின் சரியான இடைமுகமாகவும் செயல்படும்.
தேவையான கூறுகள்:
- 8051 மேம்பாட்டு வாரியம்
- ADC0804 போர்டு
- 16 * 2 எல்சிடி காட்சி
- எல்எம் 35 சென்சார்
- பொட்டென்டோமீட்டர்
- ஜம்பர் கம்பிகள்
சுற்று வரைபடம்:
எல்எம் 35 ஐப் பயன்படுத்தி டிஜிட்டல் தெர்மோமீட்டர் சுற்றுக்கான சுற்று வரைபடம் கீழே கொடுக்கப்பட்டுள்ளது:

8051 ஐப் பயன்படுத்தி எல்எம் 35 உடன் வெப்பநிலையை அளவிடுதல்:
8051 மைக்ரோகண்ட்ரோலர் என்பது 8 பிட் மைக்ரோகண்ட்ரோலராகும், இது சிப் ரேமில் 128 பைட்டுகள், சிப் ரோம் மீது 4 கே பைட்டுகள், இரண்டு டைமர்கள், ஒரு சீரியல் போர்ட் மற்றும் நான்கு 8 பிட் போர்ட்களைக் கொண்டுள்ளது. 8052 மைக்ரோகண்ட்ரோலர் என்பது மைக்ரோகண்ட்ரோலரின் நீட்டிப்பு ஆகும். 8051 குடும்ப உறுப்பினர்களின் ஒப்பீட்டை கீழே உள்ள அட்டவணை காட்டுகிறது.
|
அம்சம் |
8051 |
8052 |
|
ரோம் (பைட்டுகளில்) |
4 கே |
8 கே |
|
ரேம் (பைட்டுகள்) |
128 |
256 |
|
டைமர்கள் |
2 |
3 |
|
I / O பின்ஸ் |
32 |
32 |
|
சீரியல் போர்ட் |
1 |
1 |
|
குறுக்கீடு மூலங்கள் |
6 |
8 |

16x2 எல்சிடி:
16 * 2 எல்சிடி என்பது உட்பொதிக்கப்பட்ட பயன்பாடுகளுக்கு பரவலாகப் பயன்படுத்தப்படும் காட்சி. பின்ஸ் மற்றும் 16 * 2 எல்சிடி டிஸ்ப்ளே வேலை செய்வது பற்றிய சுருக்கமான விளக்கம் இங்கே. எல்சிடிக்குள் இரண்டு மிக முக்கியமான பதிவேடுகள் உள்ளன. அவை தரவு பதிவு மற்றும் கட்டளை பதிவு. தெளிவான காட்சி, வீட்டில் கர்சர் போன்ற கட்டளைகளை அனுப்ப கட்டளை பதிவு பயன்படுத்தப்படுகிறது, 16 * 2 எல்சிடியில் காட்டப்பட வேண்டிய தரவை அனுப்ப தரவு பதிவு பயன்படுத்தப்படுகிறது. கீழே உள்ள அட்டவணை 16 * 2 எல்சிடியின் முள் விளக்கத்தைக் காட்டுகிறது.
|
முள் |
சின்னம் |
I / O. |
விளக்கம் |
|
1 |
Vss |
- |
தரையில் |
|
2 |
வி.டி.டி. |
- |
+ 5 வி மின்சாரம் |
|
3 |
வீ |
- |
மாறுபாட்டைக் கட்டுப்படுத்த மின்சாரம் |
|
4 |
ஆர்.எஸ் |
நான் |
கட்டளை பதிவேட்டில் RS = 0, தரவு பதிவேட்டில் RS = 1 |
|
5 |
ஆர்.டபிள்யூ |
நான் |
எழுதுவதற்கு R / W = 0, படிக்க R / W = 1 |
|
6 |
இ |
I / O. |
இயக்கு |
|
7 |
டி 0 |
I / O. |
8 பிட் டேட்டா பஸ் (எல்.எஸ்.பி) |
|
8 |
டி 1 |
I / O. |
8 பிட் தரவு பஸ் |
|
9 |
டி 2 |
I / O. |
8 பிட் தரவு பஸ் |
|
10 |
டி 3 |
I / O. |
8 பிட் தரவு பஸ் |
|
11 |
டி 4 |
I / O. |
8 பிட் தரவு பஸ் |
|
12 |
டி 5 |
I / O. |
8 பிட் தரவு பஸ் |
|
13 |
டி 6 |
I / O. |
8 பிட் தரவு பஸ் |
|
14 |
டி 7 |
I / O. |
8 பிட் டேட்டா பஸ் (எம்.எஸ்.பி) |
|
15 |
அ |
- |
பின்னொளிக்கு + 5 வி |
|
16 |
கே |
- |
தரையில் |
கீழேயுள்ள அட்டவணை அடிக்கடி பயன்படுத்தப்படும் எல்சிடி கட்டளை குறியீடுகளைக் காட்டுகிறது.
|
குறியீடு (ஹெக்ஸ்) |
விளக்கம் |
|
01 |
காட்சித் திரையை அழிக்கவும் |
|
06 |
அதிகரிப்பு கர்சர் (வலது மாற்றம்) |
|
0A |
கர்சர் இயக்கவும் |
|
0 சி |
கர்சர் முடக்கப்பட்டுள்ளது |
|
0 எஃப் |
கர்சர் ஒளிரும் |
|
80 |
1 வது வரியின் தொடக்கத்திற்கு கர்சரை கட்டாயப்படுத்தவும் |
|
சி 0 |
கர்சரை 2 வது வரியின் தொடக்கத்திற்கு கட்டாயப்படுத்தவும் |
|
38 |
2 கோடுகள் மற்றும் 5 * 7 அணி |
ADC0804 IC:
ADC0804 ஐசி நேஷனல் செமிகண்டக்டர் இருந்து ADC0800 தொடரின் குடும்பத்தில் ஒரு 8-பிட் இணை ஏடிசி உள்ளது. இது +5 வோல்ட்டுகளுடன் இயங்குகிறது மற்றும் 8 பிட் தீர்மானம் கொண்டது. Vref / 2 இன் வெவ்வேறு மதிப்புகளுக்கு படி அளவு மற்றும் வின் வரம்பு மாறுபடும். கீழேயுள்ள அட்டவணை Vref / 2 மற்றும் வின் வரம்பிற்கு இடையிலான உறவைக் காட்டுகிறது.
|
வ்ரெஃப் / 2 (வி) |
வின் (வி) |
படி அளவு (எம்.வி) |
|
திறந்த |
0 முதல் 5 வரை |
19.53 |
|
2.0 |
0 முதல் 4 வரை |
15.62 |
|
1.5 |
0 முதல் 3 வரை |
11.71 |
|
1.28 |
0 முதல் 2.56 வரை |
10 |
எங்கள் விஷயத்தில் Vref / 2 1.28 வோல்ட்டுகளுடன் இணைக்கப்பட்டுள்ளது, எனவே படி அளவு 10mV ஆகும். ADC0804 க்கு படி அளவு (2 * Vref / 2) / 256 என கணக்கிடப்படுகிறது.
வெளியீட்டு மின்னழுத்தத்தைக் கணக்கிட பின்வரும் சூத்திரம் பயன்படுத்தப்படுகிறது:
டவுட் = வின் / படி அளவு
டவுட் என்பது தசமத்தில் டிஜிட்டல் தரவு வெளியீடு, வின் = அனலாக் உள்ளீட்டு மின்னழுத்தம் மற்றும் படி அளவு (தீர்மானம்) என்பது மிகச்சிறிய மாற்றமாகும். ADC0804 பற்றி இங்கே மேலும் அறிக, 8051 உடன் ADC0808 இன் இடைமுகத்தையும் சரிபார்க்கவும்.
எல்எம் 35 வெப்பநிலை சென்சார்:
எல்எம் 35 என்பது வெப்பநிலை சென்சார் ஆகும், இதன் வெளியீட்டு மின்னழுத்தம் செல்சியஸ் வெப்பநிலைக்கு நேரியல் விகிதாசாரமாகும். LM35 ஏற்கனவே அளவீடு செய்யப்பட்டுள்ளது, எனவே வெளிப்புற அளவுத்திருத்தம் தேவையில்லை. இது செல்சியஸ் வெப்பநிலையின் ஒவ்வொரு டிகிரிக்கும் 10 எம்.வி.
எல்எம் 35 சென்சார் வெப்பநிலைக்கு ஒத்த மின்னழுத்தத்தை உருவாக்குகிறது. இந்த மின்னழுத்தம் ADC0804 ஆல் டிஜிட்டலாக (0 முதல் 256 வரை) மாற்றப்படுகிறது, மேலும் இது 8051 மைக்ரோகண்ட்ரோலருக்கு வழங்கப்படுகிறது. 8051 மைக்ரோகண்ட்ரோலர் இந்த டிஜிட்டல் மதிப்பை டிகிரி செல்சியஸில் வெப்பநிலையாக மாற்றுகிறது. இந்த வெப்பநிலை அஸ்கி வடிவமாக மாற்றப்படுகிறது, இது காட்சிக்கு ஏற்றது. இந்த ascii மதிப்புகள் 16 * 2 lcd க்கு வழங்கப்படுகின்றன, இது அதன் திரையில் வெப்பநிலையைக் காட்டுகிறது. குறிப்பிட்ட இடைவெளிக்குப் பிறகு இந்த செயல்முறை மீண்டும் நிகழ்கிறது.
8051 ஐப் பயன்படுத்தி எல்எம் 35 டிஜிட்டல் தெர்மோமீட்டருக்கான அமைவு படம் கீழே உள்ளது :

எல்லா எல்எம் 35 அடிப்படையிலான டிஜிட்டல் தெர்மோமீட்டர்களையும் இங்கே காணலாம்.
குறியீடு விளக்கம்:
LM35 ஐப் பயன்படுத்தி இந்த டிஜிட்டல் தெர்மோமீட்டருக்கான முழுமையான சி நிரல் இந்த திட்டத்தின் முடிவில் கொடுக்கப்பட்டுள்ளது. குறியீடு சிறிய அர்த்தமுள்ள பகுதிகளாக பிரிக்கப்பட்டு கீழே விளக்கப்பட்டுள்ளது.
8051 மைக்ரோகண்ட்ரோலருடன் 16 * 2 எல்சிடி இடைமுகத்திற்கு, 16 * 2 எல்சிடி 8051 மைக்ரோகண்ட்ரோலருடன் இணைக்கப்பட்டுள்ள ஊசிகளை நாம் வரையறுக்க வேண்டும். 16 * 2 எல்சிடியின் ஆர்எஸ் முள் பி 2.7 உடன் இணைக்கப்பட்டுள்ளது, 16 * 2 எல்சிடியின் ஆர்.டபிள்யூ முள் பி 2.6 உடன் இணைக்கப்பட்டுள்ளது மற்றும் 16 * 2 எல்சிடியின் மின் முள் பி 2.5 உடன் இணைக்கப்பட்டுள்ளது. தரவு ஊசிகளும் 8051 மைக்ரோகண்ட்ரோலரின் போர்ட் 0 உடன் இணைக்கப்பட்டுள்ளன.
sbit rs = பி 2 ^ 7; // 16 * 2 lcd sbit rw = P2 ^ 6 இன் தேர்ந்தெடு (RS) முள்; // 16 * 2 lcd sbit en = P2 ^ 5 இன் படிக்க / எழுத (RW) முள்; // 16 * 2 எல்சிடியின் (இ) முள் இயக்கவும்
இதேபோல், 8051 மைக்ரோகண்ட்ரோலருடன் ADC0804 இடைமுகத்திற்கு, 8051 மைக்ரோகண்ட்ரோலருடன் ADC0804 இணைக்கப்பட்டுள்ள ஊசிகளை நாம் வரையறுக்க வேண்டும். ADC0804 இன் RD முள் P3.0 உடன் இணைக்கப்பட்டுள்ளது, ADC0804 இன் WR முள் P3.1 உடன் இணைக்கப்பட்டுள்ளது மற்றும் ADC0804 இன் INTR முள் P3.2 உடன் இணைக்கப்பட்டுள்ளது. 8051 மைக்ரோகண்ட்ரோலரின் போர்ட் 1 உடன் தரவு ஊசிகளும் இணைக்கப்பட்டுள்ளன.
sbit rd_adc = பி 3 ^ 0; // ADC0804 sbit wr_adc = P3 ^ 1 இன் படிக்க (RD) முள்; // ADC0804 sbit intr_adc = P3 ^ 2 இன் (WR) முள் எழுதவும்; // ADC0804 இன் குறுக்கீடு (INTR) முள்
அடுத்து நிரலில் பயன்படுத்தப்படும் சில செயல்பாடுகளை நாம் வரையறுக்க வேண்டும். தாமதம் செயல்பாடு குறிப்பிட்ட நேரத்தில் தாமதம் உருவாக்க பயன்படுத்தப்படுகிறது, இ mdwrt செயல்பாடு 16 * 2 எல்சிடி காட்சி கட்டளைகளை அனுப்பப் பயன்படும், datawrt செயல்பாடு தரவுகளுடன் 16 * 2 எல்சிடி காட்சி மற்றும் அனுப்ப பயன்படுத்தப்படுகிறது convert_display வெப்பநிலை ஒரு ஏடிசி தரவு மாற்றப் பயன்படுகின்றது செயல்பாடு அதை 16 * 2 எல்சிடி டிஸ்ப்ளேயில் காண்பிக்க.
வெற்றிட தாமதம் (கையொப்பமிடாத எண்ணாக); தாமத வெற்றிடத்தை உருவாக்குவதற்கான // செயல்பாடு cmdwrt (கையொப்பமிடாத கரி); 16 * 2 எல்சிடி டிஸ்ப்ளே வெற்றிட டேட்டாவார்ட் (கையொப்பமிடாத கரி) க்கு கட்டளைகளை அனுப்புவதற்கான // செயல்பாடு; 16 * 2 எல்சிடி டிஸ்ப்ளே வெற்றிட கன்வெர்ட்_டிஸ்ப்ளே (கையொப்பமிடாத கரி) க்கு தரவை அனுப்புவதற்கான // செயல்பாடு; // ஏடிசி மதிப்பை வெப்பநிலையாக மாற்றுவதற்கான செயல்பாடு மற்றும் அதை 16 * 2 எல்சிடி டிஸ்ப்ளேயில் காண்பிக்கும்
குறியீட்டின் கீழே உள்ள பகுதியில், நாங்கள் கட்டளைகளை 16 * 2 எல்சிடிக்கு அனுப்புகிறோம். தெளிவான காட்சி, அதிகரிப்பு கர்சர், 1 வது வரியின் தொடக்கத்திற்கு கர்சரை கட்டாயப்படுத்துதல் போன்ற கட்டளைகள் சில குறிப்பிட்ட நேர தாமதத்திற்குப் பிறகு ஒவ்வொன்றாக 16 * 2 எல்சிடி காட்சிக்கு அனுப்பப்படுகின்றன.
for (i = 0; i <5; i ++) // 16 * 2 lcd க்கு கட்டளைகளை அனுப்பு {cmdwrt (cmd); 16 * 2 எல்சிடி காட்சி தாமதத்திற்கு கட்டளைகளை அனுப்ப // செயல்பாடு அழைப்பு (1); }
குறியீட்டின் இந்த பகுதியில், நாங்கள் 16 * 2 எல்சிடிக்கு தரவை அனுப்புகிறோம். 16 * 2 எல்சிடி டிஸ்ப்ளேயில் காட்டப்பட வேண்டிய தரவு குறிப்பிட்ட நேர தாமதத்திற்குப் பிறகு ஒவ்வொன்றாகக் காண்பிக்க அனுப்பப்படும்.
for (i = 0; i <12; i ++) // தரவை 16 * 2 எல்சிடிக்கு அனுப்பு {ஒரு நேரத்தில் ஒரு எழுத்தை காண்பிக்கும் {datawrt (data1); 16 * 2 எல்சிடி காட்சி தாமதத்திற்கு தரவை அனுப்ப // செயல்பாட்டு அழைப்பு (1); The குறியீட்டின் இந்த பகுதியில் எல்எம் 35 சென்சார் தயாரித்த அனலாக் மின்னழுத்தத்தை டிஜிட்டல் தரவுகளாக மாற்றுகிறோம், பின்னர் அது வெப்பநிலையாக மாற்றப்பட்டு 16 * 2 எல்சிடி டிஸ்ப்ளேயில் காட்டப்படும். மாற்றத்தைத் தொடங்க ADC0804 க்கு, ADC0804 இன் WR முள் மீது குறைந்த துடிப்புக்கு அனுப்ப வேண்டும், பின்னர் மாற்றத்தின் முடிவுக்கு நாங்கள் காத்திருக்க வேண்டும். மாற்றத்தின் முடிவில் INTR குறைவாகிறது. ஐ.என்.டி.ஆர் குறைந்துவிட்டால், டிஜிட்டல் தரவை 8051 மைக்ரோகண்ட்ரோலரின் போர்ட் 0 க்கு நகலெடுக்க ஆர்.டி குறைக்கப்படுகிறது. ஒரு குறிப்பிட்ட நேர தாமதத்திற்குப் பிறகு, அடுத்த சுழற்சி தொடங்குகிறது. இந்த செயல்முறை எப்போதும் மீண்டும் மீண்டும் நிகழ்கிறது.
(1) // என்றென்றும் மீண்டும் செய்யவும் {wr_adc = 0; // WR முள் தாமதத்தில் (1) குறைந்த துடிப்புக்கு குறைவாக அனுப்புங்கள்; wr_adc = 1; போது (intr_adc == 1); // மாற்றத்தின் முடிவுக்காக காத்திருங்கள் rd_adc = 0; // ADC0804 மதிப்பு = பி 1 இலிருந்து தரவைப் படிக்க RD = 0 ஐ உருவாக்குங்கள்; // நகலெடு ADC தரவு convert_display (மதிப்பு); // ஏடிசி தரவை வெப்பநிலையாக மாற்றுவதற்கும் அதை 16 * 2 எல்சிடி காட்சி தாமதத்தில் (1000) காண்பிப்பதற்கும் செயல்பாடு அழைப்பு; ஒவ்வொரு சுழற்சிகளுக்கும் இடையில் // இடைவெளி rd_adc = 1; // அடுத்த சுழற்சிக்கு RD = 1 ஐ உருவாக்கு}
குறியீட்டின் கீழே உள்ள பகுதியில், நாங்கள் 16 * 2 எல்சிடி காட்சிக்கு கட்டளைகளை அனுப்புகிறோம். கட்டளை 8051 மைக்ரோகண்ட்ரோலரின் போர்ட் 0 க்கு நகலெடுக்கப்படுகிறது. கட்டளை எழுதுவதற்கு ஆர்.எஸ். எழுதும் செயல்பாட்டிற்கு RW குறைவாக செய்யப்படுகிறது. கட்டளை எழுதும் செயல்பாட்டைத் தொடங்க செயலாக்க (இ) முள் மீது உயர் முதல் குறைந்த துடிப்பு பயன்படுத்தப்படுகிறது.
void cmdwrt (கையொப்பமிடாத கரி x) {P0 = x; // கட்டளையை போர்ட் 0 க்கு அனுப்புங்கள், அதில் 16 * 2 எல்சிடி இணைக்கப்பட்டுள்ளது rs = 0; // கட்டளைக்கு RS = 0 ஐ உருவாக்கவும் rw = 0; // எழுதும் செயல்பாட்டிற்கு RW = 0 ஐ உருவாக்குங்கள் en = 1; // கட்டளை எழுதும் செயல்பாட்டு தாமதத்தை (1) தொடங்க (E) முள் இயக்கவும் en = 0; }
குறியீட்டின் இந்த பகுதியில், நாங்கள் 16 * 2 எல்சிடி டிஸ்ப்ளேவுக்கு தரவை அனுப்புகிறோம். 8051 மைக்ரோகண்ட்ரோலரின் போர்ட் 0 க்கு தரவு நகலெடுக்கப்படுகிறது. கட்டளை எழுதுவதற்கு ஆர்.எஸ். எழுதும் செயல்பாட்டிற்கு RW குறைவாக செய்யப்படுகிறது. தரவு எழுதும் செயல்பாட்டைத் தொடங்க செயலாக்க (இ) முள் மீது உயர் முதல் குறைந்த துடிப்பு பயன்படுத்தப்படுகிறது.
void datawrt (கையொப்பமிடாத கரி y) {P0 = y; // 16 * 2 எல்சிடி இணைக்கப்பட்டுள்ள போர்ட் 0 க்கு தரவை அனுப்பவும் rs = 1; // கட்டளைக்கு RS = 1 ஐ உருவாக்கவும் rw = 0; // எழுதும் செயல்பாட்டிற்கு RW = 0 ஐ உருவாக்குங்கள் en = 1; // டேட்டாரைட் செயல்பாட்டு தாமதத்தைத் தொடங்க (1) இயக்கு (இ) முள் மீது குறைந்த துடிப்புக்கு உயர் அனுப்பவும்; en = 0; }
குறியீட்டின் இந்த பகுதியில், நாங்கள் டிஜிட்டல் தரவை வெப்பநிலையாக மாற்றி 16 * 2 எல்சிடி டிஸ்ப்ளேயில் காண்பிக்கிறோம்.
void convert_display (கையொப்பமிடாத கரி மதிப்பு) {கையொப்பமிடாத கரி x1, x2, x3; cmdwrt (0xc6); கர்சரை 16 * 2 எல்சிடி x1 = (மதிப்பு / 10) இல் 2 வது வரியின் 6 வது இடத்திற்கு அமைக்க கட்டளை; // மதிப்பை 10 ஆல் வகுத்து, மாறி x1 x1 = x1 + (0x30) இல் சேமிக்கவும்; // 0x30 x2 = மதிப்பு% 10 ஐ சேர்ப்பதன் மூலம் மாறி x1 ஐ ascii ஆக மாற்றவும்; // மதிப்பை 10 ஆல் வகுத்து, மீதமுள்ள x2 x2 = x2 + (0x30) இல் சேமிக்கவும்; // 0x30 x3 = 0xDF ஐ சேர்ப்பதன் மூலம் மாறி x2 ஐ ascii ஆக மாற்றவும்; // பட்டம் (°) குறியீட்டு டேட்டாவார்ட் (x1) இன் ascii மதிப்பு; // காட்சி வெப்பநிலை 16 * 2 எல்சிடி டிஸ்ப்ளே டேட்டாவார்ட் (x2); datawrt (x3); datawrt ('C'); }
மேலும், வெவ்வேறு மைக்ரோகண்ட்ரோலர்களுடன் LM35 ஐப் பயன்படுத்தி பிற வெப்பமானிகளைச் சரிபார்க்கவும்:
- Arduino மற்றும் LM35 ஐப் பயன்படுத்தி டிஜிட்டல் தெர்மோமீட்டர்
- எல்எம் 35 மற்றும் ஏவிஆர் மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி வெப்பநிலை அளவீட்டு
- ராஸ்பெர்ரி பை உடன் அறை வெப்பநிலை அளவீட்டு
