- தேவையான கூறுகள்:
- சுற்று வரைபடம்:
- அதிர்வெண் அளவிடுவதற்கு 8051 இன் TIMER ஐப் பயன்படுத்துதல்:
- அதிர்வெண் மூலமாக 555 டைமர்:
- வேலை மற்றும் குறியீடு விளக்கம்:
அதிர்வெண் ஒரு வினாடிக்கு சுழற்சிகளின் எண்ணிக்கை என வரையறுக்கப்படுகிறது. இது மொத்த நேர 'டி' இன் பரஸ்பர என்றும் வரையறுக்கப்படுகிறது. இந்த திட்டத்தில் 8051 மைக்ரோகண்ட்ரோலரின் போர்ட் 3.5 க்குள் நுழையும் பருப்புகளின் எண்ணிக்கையை கணக்கிட்டு 16 * 2 எல்சிடி டிஸ்ப்ளேயில் காண்பிக்க உள்ளோம். எனவே அடிப்படையில் 8051 இன் போர்ட் 3.5 இல் சமிக்ஞையின் அதிர்வெண்ணை அளவிடுகிறோம். இங்கே நாம் AT89S52 8051 சிப்பைப் பயன்படுத்தினோம், மேலும் 555 ஐசி ஆஸ்டபிள் பயன்முறையில் ஆர்ப்பாட்டத்திற்கான மாதிரி துடிப்பை உருவாக்க பயன்படுத்தப்படுகிறது. நாங்கள் முன்பு Arduino ஐப் பயன்படுத்தி அதிர்வெண் கவுண்டரை உருவாக்கியுள்ளோம்.
தேவையான கூறுகள்:
- 8051 மைக்ரோகண்ட்ரோலர் (AT89S52)
- 16 * 2 எல்சிடி காட்சி
- அதிர்வெண் மூல (555 டைமர்)
- பொட்டென்டோமீட்டர்
- கம்பிகளை இணைக்கிறது
சுற்று வரைபடம்:


அதிர்வெண் அளவிடுவதற்கு 8051 இன் TIMER ஐப் பயன்படுத்துதல்:
8051 மைக்ரோகண்ட்ரோலர் என்பது 8 பிட் மைக்ரோகண்ட்ரோலராகும், இது சிப் ரேமில் 128 பைட்டுகள், சிப் ரோம் மீது 4 கே பைட்டுகள், இரண்டு டைமர்கள், ஒரு சீரியல் போர்ட் மற்றும் நான்கு 8 பிட் போர்ட்களைக் கொண்டுள்ளது. 8052 மைக்ரோகண்ட்ரோலர் என்பது மைக்ரோகண்ட்ரோலரின் நீட்டிப்பு ஆகும். போர்ட் 3.5 ஐ கவுண்டராக உள்ளமைக்க, TMOD பதிவு மதிப்புகள் 0x51 ஆக அமைக்கப்பட்டுள்ளது. கீழே உள்ள படம் TMOD பதிவேட்டைக் காட்டுகிறது.
| கேட் | சி / டி | எம் 1 | எம் 0 | கேட் | சி / டி | எம் 1 | எம் 2 |
| டைமர் 1 | டைமர் 0 |
கேட் - கேட் அமைக்கப்பட்டால், ஐஎன்டிஎக்ஸ் முள் உயர் மற்றும் டிஆர்எக்ஸ் கட்டுப்பாட்டு முள் அமைக்கப்பட்டால் மட்டுமே டைமர் அல்லது கவுண்டர் இயக்கப்படும். கேட் அழிக்கப்படும் போது, டிஆர்எக்ஸ் கட்டுப்பாட்டு பிட் அமைக்கப்பட்ட போதெல்லாம் டைமர் இயக்கப்படும்.
சி / டி - சி / டி = 0 போது, அது டைமராக செயல்படுகிறது. சி / டி = 1 ஆக இருக்கும்போது, அது கவுண்டராக செயல்படுகிறது.
M1 மற்றும் M0 செயல்பாட்டு முறையைக் குறிக்கிறது.
TMOD = 0x51 க்கு, டைமர் 1 என்பது கவுண்டராக செயல்படுகிறது, மேலும் இது பயன்முறை 1 (16 பிட்) இல் இயங்குகிறது.
சமிக்ஞையின் அதிர்வெண்ணை ஹெர்ட்ஸ் (ஹெர்ட்ஸ்) இல் காட்ட 16 * 2 எல்சிடி பயன்படுத்தப்படுகிறது. நீங்கள் 16x2 எல்சிடிக்கு புதியவர் என்றால், 16x2 எல்சிடியின் ஊசிகளையும் அதன் கட்டளைகளையும் பற்றி மேலும் பாருங்கள். 8051 உடன் எல்சிடியை எவ்வாறு இடைமுகப்படுத்துவது என்பதையும் சரிபார்க்கவும்.
அதிர்வெண் மூலமாக 555 டைமர்:
அதிர்வெண் மூலமானது சதுர அலைகளை உருவாக்க வேண்டும் மற்றும் அதிகபட்ச வீச்சு 5V ஆக வரையறுக்கப்பட்டுள்ளது, ஏனெனில் 8051 மைக்ரோகண்ட்ரோலரின் துறைமுகங்கள் 5V ஐ விட அதிகமான மின்னழுத்தத்தைக் கையாள முடியாது. அது அளவிட முடியும் அதிகபட்ச அதிர்வெண் 655,35 kHz ஆகும் ஏனெனில் TH1 மற்றும் TL1 பதிவு நினைவாக தடையும் (ஒவ்வொரு 8bit) இன். 100 மில்லி விநாடிகளில், TH1 மற்றும் TL1 ஆகியவை 65535 எண்ணிக்கையை வைத்திருக்க முடியும். எனவே அளவிடக்கூடிய அதிகபட்ச அதிர்வெண் 65535 * 10 = 655.35 KHz ஆகும்.
இந்த 8051 அதிர்வெண் மீட்டர் திட்டத்தில், மாறி அதிர்வெண் சதுர அலைகளை உருவாக்க நான் 555 டைமரை அஸ்டபிள் பயன்முறையில் பயன்படுத்துகிறேன். 555 ஐசியால் உருவாக்கப்படும் சமிக்ஞையின் அதிர்வெண், இந்த திட்டத்தின் முடிவில் கொடுக்கப்பட்ட வீடியோவில் காட்டப்பட்டுள்ளபடி பொட்டென்டோமீட்டரை சரிசெய்வதன் மூலம் மாறுபடும்.
இந்த திட்டத்தில், டைமர் 1 (டி 1) 100 மில்லி விநாடிகளுக்கு 8051 மைக்ரோகண்ட்ரோலர்களில் துறைமுக 3.5 க்குள் நுழையும் பருப்புகளின் எண்ணிக்கையை கணக்கிடுகிறது. எண்ணிக்கை மதிப்புகள் முறையே TH1 மற்றும் TL1 பதிவேட்டில் சேமிக்கப்படும். TH1 மற்றும் TL1 பதிவின் மதிப்புகளை இணைக்க, கீழேயுள்ள சூத்திரம் பயன்படுத்தப்படுகிறது.
பருப்பு வகைகள் = TH1 * (0x100) + TL1
இப்போது 'துடிப்பு' 100 மில்லி விநாடிகளில் சுழற்சிகளின் எண்ணிக்கையைக் கொண்டிருக்கும். ஆனால் சமிக்ஞையின் அதிர்வெண் ஒரு வினாடிக்கு சுழற்சிகளின் எண்ணிக்கையாக வரையறுக்கப்படுகிறது. அதை அதிர்வெண்ணாக மாற்ற, கீழே சூத்திரம் பயன்படுத்தப்படுகிறது.
பருப்பு வகைகள் = பருப்பு வகைகள் * 10
வேலை மற்றும் குறியீடு விளக்கம்:
முழு சி நிரல் இந்த அதிர்வெண் க்கான மீட்டர் இந்த திட்டத்தின் இறுதியில் வழங்கப்படுகிறது. குறியீடு சிறிய அர்த்தமுள்ள பகுதிகளாக பிரிக்கப்பட்டு கீழே விளக்கப்பட்டுள்ளது.
8051 மைக்ரோகண்ட்ரோலருடன் 16 * 2 எல்சிடி இடைமுகத்திற்கு, 16 * 2 எல்சிடி 8051 மைக்ரோகண்ட்ரோலருடன் இணைக்கப்பட்டுள்ள ஊசிகளை நாம் வரையறுக்க வேண்டும். 16 * 2 எல்சிடியின் ஆர்எஸ் முள் பி 2.7 உடன் இணைக்கப்பட்டுள்ளது, 16 * 2 எல்சிடியின் ஆர்.டபிள்யூ முள் பி 2.6 உடன் இணைக்கப்பட்டுள்ளது மற்றும் 16 * 2 எல்சிடியின் மின் முள் பி 2.5 உடன் இணைக்கப்பட்டுள்ளது. தரவு ஊசிகளும் 8051 மைக்ரோகண்ட்ரோலரின் போர்ட் 0 உடன் இணைக்கப்பட்டுள்ளன.
sbit rs = பி 2 ^ 7; sbit rw = பி 2 ^ 6; sbit en = P2 ^ 5;
அடுத்து நிரலில் பயன்படுத்தப்படும் சில செயல்பாடுகளை நாம் வரையறுக்க வேண்டும். குறிப்பிட்ட நேர தாமதத்தை உருவாக்க தாமத செயல்பாடு பயன்படுத்தப்படுகிறது. 16 * 2 எல்சிடி டிஸ்ப்ளேவுக்கு கட்டளைகளை அனுப்ப Cmdwrt செயல்பாடு பயன்படுத்தப்படுகிறது. 16 * 2 எல்சிடி டிஸ்ப்ளேவுக்கு தரவை அனுப்ப டேட்டாவர்ட் செயல்பாடு பயன்படுத்தப்படுகிறது.
வெற்றிட தாமதம் (கையொப்பமிடாத எண்ணாக); void cmdwrt (கையொப்பமிடாத கரி); datawrt (கையொப்பமிடாத கரி);
குறியீட்டின் இந்த பகுதியில், நாங்கள் 16 * 2 எல்சிடிக்கு கட்டளைகளை அனுப்புகிறோம். தெளிவான காட்சி, அதிகரிப்பு கர்சர், 1 வது வரியின் தொடக்கத்திற்கு கர்சரை கட்டாயப்படுத்துதல் போன்ற கட்டளைகள் சில குறிப்பிட்ட நேர தாமதத்திற்குப் பிறகு ஒவ்வொன்றாக 16 * 2 எல்சிடி காட்சிக்கு அனுப்பப்படுகின்றன.
for (i = 0; i <5; i ++) {cmdwrt (cmd); தாமதம் (1); }
குறியீட்டின் இந்த பகுதியில், டைமர் 1 கவுண்டராக கட்டமைக்கப்பட்டு செயல்பாட்டு முறை பயன்முறை 1 க்கு அமைக்கப்பட்டுள்ளது.
டைமர் 0 டைமராக கட்டமைக்கப்பட்டுள்ளது மற்றும் செயல்பாட்டு முறை பயன்முறை 1 க்கு அமைக்கப்பட்டுள்ளது. பருப்பு வகைகளின் எண்ணிக்கையை கணக்கிட டைமர் 1 பயன்படுத்தப்படுகிறது மற்றும் நேர தாமதத்தை உருவாக்க டைமர் 0 பயன்படுத்தப்படுகிறது. எண்ணும் 0 இலிருந்து தொடங்குகிறது என்பதை உறுதிப்படுத்த TH1 மற்றும் TL1 மதிப்புகள் 0 ஆக அமைக்கப்பட்டுள்ளன.
TMOD = 0x51; டி.எல் 1 = 0; TH1 = 0;
குறியீட்டின் இந்த பகுதியில், டைமர் 100 மில்லி விநாடிகளுக்கு இயக்கப்படுகிறது. தாமத செயல்பாட்டைப் பயன்படுத்தி 100 மில்லி விநாடிகள் தாமதம் உருவாக்கப்படுகிறது. டிஆர் 1 = 1 டைமரைத் தொடங்குவதற்கும், டிஆர் 1 = 0 என்பது 100 மில்லி விநாடிகளுக்குப் பிறகு டைமரை நிறுத்துவதற்கும் ஆகும்.
டிஆர் 1 = 1; தாமதம் (100); டிஆர் 1 = 0;
குறியீட்டின் இந்த பகுதியில், TH1 மற்றும் TL1 பதிவேடுகளில் உள்ள எண்ணிக்கை மதிப்புகள் ஒன்றிணைக்கப்பட்டு, பின்னர் 10 உடன் பெருக்கி மொத்த சுழற்சிகளின் எண்ணிக்கையை 1 வினாடிகளில் பெறலாம்.
பருப்பு வகைகள் = TH1 * (0x100) + TL1; பருப்பு வகைகள் = பருப்பு வகைகள் * 10;
குறியீட்டின் இந்த பகுதியில், 16 * 2 எல்சிடி டிஸ்ப்ளேயில் காண்பிப்பதை எளிதாக்குவதற்கு அதிர்வெண் மதிப்பு ஒற்றை பைட்டுகளாக மாற்றப்படுகிறது.
d1 = பருப்பு வகைகள்% 10; s1 = பருப்பு வகைகள்% 100; s2 = பருப்பு வகைகள்% 1000; s3 = பருப்பு வகைகள்% 10000; s4 = பருப்பு வகைகள்% 100000; d2 = (s1-d1) / 10; d3 = (s2-s1) / 100; d4 = (s3-s2) / 1000; d5 = (s4-s3) / 10000; d6 = (பருப்பு வகைகள்-எஸ் 4) / 100000;
குறியீட்டின் இந்த பகுதியில், அதிர்வெண் மதிப்பின் தனிப்பட்ட இலக்கங்கள் ASCII வடிவத்திற்கு மாற்றப்பட்டு, அது 16 * 2 எல்சிடி காட்சியில் காட்டப்படும்.
என்றால் (பருப்பு வகைகள்> = 100000) டேட்டாவர்ட் (0x30 + d6); if (பருப்பு வகைகள்> = 10000) டேட்டாவார்ட் (0x30 + d5); if (பருப்பு வகைகள்> = 1000) datawrt (0x30 + d4); if (பருப்பு வகைகள்> = 100) datawrt (0x30 + d3); if (பருப்பு வகைகள்> = 10) datawrt (0x30 + d2); datawrt (0x30 + d1);
குறியீட்டின் இந்த பகுதியில், நாங்கள் 16 * 2 எல்சிடி காட்சிக்கு கட்டளைகளை அனுப்புகிறோம். கட்டளை 8051 மைக்ரோகண்ட்ரோலரின் போர்ட் 0 க்கு நகலெடுக்கப்படுகிறது. கட்டளை எழுதுவதற்கு ஆர்.எஸ். எழுதும் செயல்பாட்டிற்கு RW குறைவாக செய்யப்படுகிறது. கட்டளை எழுதும் செயல்பாட்டைத் தொடங்க செயலாக்க (இ) முள் மீது உயர் முதல் குறைந்த துடிப்பு பயன்படுத்தப்படுகிறது.
void cmdwrt (கையொப்பமிடாத கரி x) {P0 = x; rs = 0; rw = 0; en = 1; தாமதம் (1); en = 0; }
குறியீட்டின் இந்த பகுதியில், நாங்கள் 16 * 2 எல்சிடி டிஸ்ப்ளேவுக்கு தரவை அனுப்புகிறோம். 8051 மைக்ரோகண்ட்ரோலரின் போர்ட் 0 க்கு தரவு நகலெடுக்கப்படுகிறது. கட்டளை எழுதுவதற்கு ஆர்.எஸ். எழுதும் செயல்பாட்டிற்கு RW குறைவாக செய்யப்படுகிறது. தரவு எழுதும் செயல்பாட்டைத் தொடங்க செயலாக்க (இ) முள் மீது உயர் முதல் குறைந்த துடிப்பு பயன்படுத்தப்படுகிறது.
void datawrt (கையொப்பமிடாத கரி y) {P0 = y; rs = 1; rw = 0; en = 1; தாமதம் (1); en = 0; }

8051 மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி எந்த சமிக்ஞையின் அதிர்வெண்ணையும் நாம் இவ்வாறு அளவிட முடியும். முழு குறியீடு மற்றும் டெமோ வீடியோவை கீழே சரிபார்க்கவும்.
