- தேவையான பொருட்கள்:
- முன்நிபந்தனைகள்:
- சுற்று வரைபடம்:
- அலாரம் கடிகாரத்திற்கான நிரலாக்க:
- உருவகப்படுத்துதல்:
- PIC16F877A ஐப் பயன்படுத்தி டிஜிட்டல் அலாரம் கடிகாரத்தின் வேலை:
1950 இல் தொடங்கிய டிஜிட்டல் புரட்சி தற்போதுள்ள அனைத்து இயந்திர மற்றும் அனலாக் மின்னணு கட்டமைப்புகளையும் டிஜிட்டல் கணினிகளாக மாற்றுகிறது. டிஜிட்டல் எலக்ட்ரானிக்ஸ் வளர்ச்சி அதிவேகமாக இருப்பதால், எந்தவொரு மின்னணு சாதனங்களையும் பயன்படுத்துவதை ஒரு நபர் எதிர்ப்பது கிட்டத்தட்ட சாத்தியமற்றது. உங்களை எழுப்பும் அலாரம் கடிகாரம் மற்றும் உங்களுக்கு காலை உணவை வழங்கும் டோஸ்டரில் இருந்து தொடங்கி, அனைத்தும் டிஜிட்டல் எலக்ட்ரானிக்ஸ் வழங்கும் பங்களிப்பாகும். இவை அனைத்தையும் நினைத்துப் பார்த்தால், பி.ஐ.சி மைக்ரோகண்ட்ரோலருடன் இந்த திட்டத்தில் நாம் உருவாக்கப் போகும் அலாரம் கடிகாரம் போன்ற எளிய மற்றும் பயனுள்ள பணிகளைச் செய்யக்கூடிய எங்கள் சொந்த விஷயங்களை நிரல் செய்வது மிகவும் உற்சாகமானது. நாங்கள் முன்னர் மற்ற மைக்ரோகண்ட்ரோலர்களுடன் அலாரம் கடிகாரத்தை உருவாக்கியுள்ளோம்:
- ஆர்டிசி தொகுதி DS1307 ஐப் பயன்படுத்தி ராஸ்பெர்ரி பை அலாரம் கடிகாரம்
- அலாரத்துடன் அர்டுயினோ அடிப்படையிலான டிஜிட்டல் கடிகாரம்
- ATmega32 மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி அலாரம் கடிகாரம்
இந்த அலாரம் கடிகாரத்தில் 16x2 எல்சிடி டிஸ்ப்ளே இருக்கும், இது தற்போதைய நேரத்தையும் நேரத்தையும் அமைக்கும். தேவைப்படும் போதெல்லாம் அலாரம் நேரத்தை அமைக்க சில புஷ் பொத்தான்களைப் பயன்படுத்துவோம். தற்போதைய நேரம் DS3231 RTC தொகுதியைப் பயன்படுத்தி கண்காணிக்கப்படும், மேலும் இந்த மதிப்புகளை RTC தொகுதியிலிருந்து பெற IIC தகவல்தொடர்புகளைப் பயன்படுத்துவோம். ஆர்டிசி தொகுதி மற்றும் அதை PIC உடன் எவ்வாறு இடைமுகப்படுத்துவது என்பது பற்றி நாங்கள் ஏற்கனவே கற்றுக்கொண்டோம். எனவே அந்த டுடோரியலின் மூலம் படிக்க பரிந்துரைக்கப்படுகிறது, அந்த டுடோரியலில் உள்ள பெரும்பாலான தகவல்களை நாங்கள் தவிர்ப்போம்.
தேவையான பொருட்கள்:
- ரொட்டி வாரியம் - 2 இல்லை
- PIC16F877A
- 5 வி சக்தி மூல - விநியோக தொகுதி
- 20 மெகா ஹெர்ட்ஸ் படிக
- 33pf மின்தேக்கி - 2 எண்
- DS3231 RTC தொகுதி
- 16 * 2 எல்சிடி காட்சி தொகுதி
- 10 கே பாட்
- 10 கே மற்றும் 1 கே மின்தடை
- புஷ் பொத்தான்கள் - 5 இல்லை
- பஸர்
- கம்பிகளை இணைக்கிறது
முன்நிபந்தனைகள்:
இந்த திட்டத்திற்கு PIC மைக்ரோகண்ட்ரோலரைப் பற்றிய சில அடிப்படைகள் மற்றும் அதை எவ்வாறு நிரல் செய்வது என்பது உங்களுக்குத் தேவை. இந்த திட்டத்திற்கு ஜிபிஐஓக்கள், எல்சிடி டிஸ்ப்ளே மற்றும் ஆர்.டி.சி தொகுதி ஆகியவற்றைப் பயன்படுத்துவோம். எனவே இந்த தொகுதிக்கூறுகளை எவ்வாறு பயன்படுத்துவது என்பதை முன்பே கற்றுக்கொள்வது நல்லது. பின்வரும் இணைப்புகள் அதைக் கற்றுக்கொள்ள உங்களுக்கு உதவும்
- உங்கள் முதல் நிரலை PIC மைக்ரோகண்ட்ரோலருடன் எழுதுதல்
- பி.ஐ.சி உடன் எல்.சி.டி.
- PIC ஐப் பயன்படுத்தி I2C தொடர்பு
- பிஐசியுடன் டிஎஸ் 3231 ஆர்.டி.சி இடைமுகம்
சுற்று வரைபடம்:
இந்த பிஐசி அடிப்படையிலான அலாரம் கடிகாரம் திட்டத்திற்கான சுற்று வரைபடம் கீழே காட்டப்பட்டுள்ளது, இது புரோட்டஸ் மென்பொருளைப் பயன்படுத்தி உருவாக்கப்பட்டது. இந்த திட்டத்தில் மேலும் உருவகப்படுத்துதலுக்கும் பயன்படுத்தப்படும்.

ஐந்து புஷ் பொத்தான்கள் தேவையான நேரத்திற்கு அலாரத்தை அமைப்பதற்கான உள்ளீடாக செயல்படும். எனவே அனைத்து புஷ் பொத்தான்களின் ஒரு முனையும் தரையுடன் இணைக்கப்பட்டுள்ளது, மற்ற முனைகள் PORTB முள் உடன் இணைக்கப்பட்டுள்ளன, ஊசிகளை மிதப்பதைத் தவிர்க்க இந்த ஊசிகளில் உள் இழுப்பு-மின்தடை பயன்படுத்தப்படும். பஸர் ஒரு வெளியீடாக செயல்படும் மற்றும் அலாரம் தூண்டப்பட்டு PORT S முள் இணைக்கப்படும்போது எங்களுக்கு ஒரு பீப் கொடுக்கும். தற்போதைய நேரம் எப்போதும் DS3231 RTC தொகுதி மூலம் கண்காணிக்கப்படுகிறது, அதில் இருந்து PIC தரவை I2C பஸ் மூலம் பெறுகிறது, எனவே RTC தொகுதியின் SCL மற்றும் SDA ஊசிகளை PIC கட்டுப்படுத்தியின் SCL மற்றும் SDA முள் இணைக்கப்பட்டுள்ளது. PIC இன் PORTD உடன் ஒரு LCD காட்சி இணைக்கப்பட்டுள்ளது, இது தற்போதைய நேரத்தைக் காண்பிக்க மற்றும் நேரத்தை அமைக்க பயன்படுகிறது. PIC உடன் DS3231 RTC தொகுதியைப் பயன்படுத்துவது பற்றி மேலும் அறிக.
முழுமையான சுற்று ஒரு பிரெட் போர்டில் உருவாக்கப்படலாம். இணைக்க இரண்டு டஜன் கம்பிகள் இருப்பதால், பொறுமை காத்து, இணைப்புகள் சரியானவை என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள். நான் இணைப்புகளைச் செய்தவுடன் எனது வன்பொருள் அமைவு கீழே இதுபோன்றது

தொகுதிக்கு சக்தி அளிக்க நான் பிரட்போர்டு தொகுதி மற்றும் 12 வி அடாப்டரைப் பயன்படுத்தினேன். இது + 5 வி விநியோக மின்னழுத்தத்தின் எனது மூலமாகும். சுற்று சுத்தமாக இருக்க நான் இரண்டு பிரெட் போர்டுகளைப் பயன்படுத்த வேண்டும். நீங்கள் இன்னும் வலுவான திட்டத்தை உருவாக்க விரும்பினால், முழு சுற்றுகளையும் ஒரு முழுமையான பலகையில் கரைக்கலாம்.
அலாரம் கடிகாரத்திற்கான நிரலாக்க:
இந்த அலார கடிகாரம் திட்டம் முழுமையான PIC திட்டம் இந்தப் பக்கத்தின் கீழே காணலாம். இந்த திட்டத்திற்கு எல்.சி.டி, ஐ 2 சி மற்றும் ஆர்.டி.சி ஆகியவற்றை பி.ஐ.சி உடன் பயன்படுத்த மூன்று நூலகங்களும் தேவை. தலைப்பு கோப்புகளுடன் கூடிய முழுமையான குறியீட்டை இங்கே ZIP கோப்பிலிருந்து பதிவிறக்கம் செய்யலாம் மற்றும் பிரித்தெடுத்த பிறகு MPLABX ஐப் பயன்படுத்தி திறக்கலாம். மேலும் கீழே நான் பிரதான சி கோப்பை சிறிய துணுக்குகளாக விளக்குகிறேன். தலைப்பு கோப்புகள் எவ்வாறு செயல்படுகின்றன என்பதை நீங்கள் தெரிந்து கொள்ள விரும்பினால், மேலே குறிப்பிட்ட பயிற்சிகளுக்கு நீங்கள் திரும்பி வரலாம்.
பிரதான திட்டத்தில் இறங்குவதற்கு முன், நாம் பயன்படுத்திய ஊசிகளை இன்னும் அர்த்தமுள்ள பெயருடன் வரையறுக்க வேண்டும். இந்த வழியில் நிரலாக்கத்தின் போது அவற்றைப் பயன்படுத்துவது எளிதாக இருக்கும். எங்கள் நிரலில் வரையறுக்கப்பட்ட ஊசிகளும் கீழே காட்டப்பட்டுள்ளன
// எல்சிடி ஊசிகளையும் வரையறுத்து வரையறுத்து ஆர்எஸ் RD2 // மீட்டமை LCD இன் முள் வரையறுத்து ஈ.என் RD3 // LCD இன் முள் இயக்கு // தகவல் பிட்டின் எல்சிடி 0 வரையறுத்து D4 = RD4 வரையறுத்து D5 RD5 // தரவு எல்சிடி 1 பிட் வரையறுத்து டி 6 RD6 // தரவு எல்சிடி பிட் 2 வரையறுத்து D7 RD7 // தரவு எல்சிடி 3 பிட் // வரையறுத்து பொத்தான்கள் வரையறுக்க எம்பி RB1 // நடுத்தர பொத்தானை வரையறுத்து லிண்டன் RB0 // இடது பொத்தானை வரையறுத்து ஆர்.பி. RB2 // வலது பொத்தானை # UB RB3 ஐ வரையறுக்கவும் // மேல் பொத்தான் # BB RB4 ஐ வரையறுக்கவும் // கீழ் பொத்தான் // Buzz ஐ வரையறுக்கவும் # BUZZ RD1 ஐ வரையறுக்கவும் // பஸர் RD1 உடன் இணைக்கப்பட்டுள்ளது
உள்ளீட்டு மற்றும் வெளியீட்டு ஊசிகளை அறிவிப்பதன் மூலம் நாம் தொடங்கும் முக்கிய செயல்பாட்டின் உள்ளே. எங்கள் திட்டத்தில் PORTB என்பது ஒரு உள்ளீட்டு சாதனமான புஷ் பொத்தான்களுக்குப் பயன்படுத்தப்படுகிறது, எனவே அவற்றின் ஊசிகளை உள்ளீடுகளாக அமைத்துக்கொள்கிறோம் மற்றும் PORTD எல்சிடி மற்றும் பஸருக்குப் பயன்படுத்தப்படுகிறது, எனவே அவற்றின் ஊசிகளை வெளியீடாக அமைப்போம். ஒரு முள் ஒருபோதும் மிதக்கும் பொருளை விடக்கூடாது, I / O ஊசிகளை எப்போதும் மைதானத்துடன் அல்லது + 5 வி மின்னழுத்தத்துடன் இணைக்க வேண்டும். புஷ் பொத்தான்களுக்கான எங்கள் விஷயத்தில், பொத்தானை அழுத்தாதபோது ஊசிகளுடன் எதையும் இணைக்க முடியாது, எனவே பயன்பாட்டில் இல்லாதபோது முள் உயர்வை அமைக்கும் உள் புல்-அப் மின்தடையத்தைப் பயன்படுத்துகிறோம். கீழே காட்டப்பட்டுள்ளபடி கட்டுப்பாட்டு பதிவேடுகளைப் பயன்படுத்தி இது செய்யப்படுகிறது
TRISD = 0x00; // போன்ற போர்ட் டி ஊசிகளையும் செய்ய outptu இடைமுகப்படுத்துவதற்கான எல்சிடி க்கான TRISB = 0xFF; // சுவிட்சுகள் உள்ளீட்டு ஊசிகளாக அறிவிக்கப்படுகின்றன OPTION_REG = 0b00000000; // சுவிட்சுகள் BUZZ = 0 க்கு போர்ட் B இல் புல் அப் ரெசிஸ்டரை இயக்கவும் ; // பஸரின் திருப்பம்
எல்.சி.டி மற்றும் ஐ 2 சி தலைப்பு கோப்பு பிரதான நிரலுடன் இணைக்கப்பட்டுள்ளதால் , எல்.சி.டி துவக்கத்தை ஒரு எளிய செயல்பாட்டை அழைப்பதன் மூலம் தொடங்கலாம். I2C துவக்கத்திற்கும் இதைச் செய்யலாம். ஆர்டிசி தொகுதி 100kHz உடன் செயல்படுவதால் இங்கே 100kHz இல் I2C தகவல்தொடர்புகளைத் தொடங்குகிறோம்.
எல்சிடி_ஸ்டார்ட் (); // எல்சிடி தொகுதி I2C_ ஐத் தொடங்கவும் (100); // 100KHz கடிகாரத்துடன் I2C மாஸ்டரைத் தொடங்கவும்
ஆர்டிசி தொகுதியில் நேரத்தையும் தேதியையும் அமைக்க கீழேயுள்ள செயல்பாடு பயன்படுத்தப்படுகிறது, நேரம் மற்றும் தேதி அமைக்கப்பட்டவுடன் இந்த வரியை அகற்றவும். ஒவ்வொரு முறையும் நீங்கள் நிரலைத் தொடங்கும்போது நேரமும் தேதியும் மீண்டும் மீண்டும் அமைக்கப்படும்
ஒருமுறை காலப் மற்றும் தேதி கோட்டிற்கு கீழே நீக்க // உள்ளது முதல் முறையாக. அமை_நேரம்_ தேதி (); // ஆர்டிசி தொகுதியில் நேரம் மற்றும் தேதியை அமைக்கவும்
நிரல் தொடங்குகிறது என்பதைக் குறிக்க, கீழே காட்டப்பட்டுள்ளபடி திட்டத்தின் பெயரையும் வலைத்தள பெயரையும் காண்பிக்கும் ஒரு சிறிய அறிமுகத் திரையைக் காண்பிப்போம்
// எல்சிடி எல்சிடி_ கிளியர் () இல் ஒரு அறிமுக செய்தியைக் கொடுங்கள் ; எல்சிடி_செட்_ கர்சர் (1,1); Lcd_Print_String ("அலாரம் கடிகாரம்"); எல்சிடி_செட்_ கர்சர் (2,1); Lcd_Print_String ("-சர்குட் டைஜஸ்ட்"); __ தாமத_எம்எஸ் (1500);
உள்ளே அடுத்து போது வளைய நீங்கள் செய்ய வேண்டியது போக்குவரத்துக் கழக தொகுதி தற்போதைய நேரம் மற்றும் தேதியைப் படிக்க, இது செயல்பாடு கீழே அழைப்பதன் மூலம் செய்ய முடியும்.
புதுப்பிப்பு_ தற்போதைய_தேதி_நேரம் (); // ஆர்டிசி தொகுதியிலிருந்து தற்போதைய தேதி மற்றும் நேரத்தைப் படியுங்கள்
மேலே உள்ள செயல்பாட்டை அழைப்பது தற்போதைய மதிப்புடன் நொடி, நிமிடம் மற்றும் மணிநேர மாறிகளைப் புதுப்பிக்கும். பொருட்டு எல்சிடி திரையில் அவர்களை காட்ட தனிப்பட்டவரின் எழுத்துக்கள் அவற்றை பிரித்து வேண்டும் கீழே குறியீட்டைப் பயன்படுத்தி.
// எல்சிடி கரி sec_0 = நொடி% 10 இல் காட்ட கரிக்குள் பிரிக்கவும்; கரி sec_1 = (நொடி / 10); கரி min_0 = நிமிடம்% 10; கரி min_1 = நிமிடம் / 10; கரி மணி_0 = மணி% 10; கரி மணி_1 = மணி / 10;
அடுத்து, எல்சிடி திரையில் மதிப்புகளை புதுப்பிக்கிறோம். தற்போதைய நேரம் முதல் வரியில் காண்பிக்கப்படும் மற்றும் அலாரத்தைத் தூண்ட வேண்டிய தொகுப்பு இரண்டாவது வரியில் காட்டப்படும். இதைச் செய்யும் குறியீடு கீழே காட்டப்பட்டுள்ளது.
// தற்போதைய நேரத்தை எல்சிடி திரையில் காண்பி Lcd_Clear (); எல்சிடி_செட்_ கர்சர் (1, 1); Lcd_Print_String ("TIME:"); Lcd_Print_Char (மணிநேர_1 + '0'); Lcd_Print_Char (மணி_0 + '0'); Lcd_Print_Char (':'); Lcd_Print_Char (min_1 + '0'); Lcd_Print_Char (min_0 + '0'); Lcd_Print_Char (':'); Lcd_Print_Char (sec_1 + '0'); Lcd_Print_Char (sec_0 + '0'); // தேதியை எல்சிடி திரையில் காண்பி Lcd_Set_Cursor (2, 1); Lcd_Print_String ("அலாரம்:"); Lcd_Print_Char (அலாரம்_வல் + '0'); Lcd_Print_Char (அலாரம்_வல் + '0'); Lcd_Print_Char (':'); Lcd_Print_Char (அலாரம்_வல் + '0 '); Lcd_Print_Char (அலாரம்_வல் + '0');
இப்போது, எல்.சி.டி.யில் நேரத்தைக் காண்பித்தோம், நேரத்தை அமைத்துள்ளோம் , பயனர் அலாரம் நேரத்தை அமைக்க முயற்சிக்கிறாரா என்பதை சரிபார்க்க வேண்டும். இதைச் செய்ய பயனர் நடுத்தர பொத்தானை அழுத்த வேண்டும், எனவே நடுத்தர பொத்தானை அழுத்தியுள்ளதா என்பதை சரிபார்த்து அலாரம் செட் பயன்முறையில் நுழைய ஒரு மாறி மாறி மாறுவோம். மதிப்புகள் அமைக்கப்பட்டிருப்பதை உறுதிப்படுத்த அதே பொத்தானை மீண்டும் அழுத்தும், அந்த விஷயத்தில் நாம் அலாரம் செட் பயன்முறையிலிருந்து வெளியே வர வேண்டும். எனவே மாறி set_alarm இன் நிலையை மாற்ற கீழேயுள்ள குறியீட்டைப் பயன்படுத்துகிறோம் .
// அலாரம் அமைக்க வேண்டுமா என்று சரிபார்க்க நடுத்தர பொத்தானைப் பயன்படுத்தவும் (MB == 0 && set_alarm == 0) {// நடுத்தர பொத்தானை அழுத்தி அலாரம் இயக்கப்படாவிட்டால் (! MB); // பொத்தானை வெளியிடும் வரை காத்திருங்கள் set_alarm = 1; // அலாரம் மதிப்பை அமைக்கத் தொடங்கு } if (MB == 0 && set_alarm == 1) {// நடுத்தர பொத்தானை அழுத்தி அலாரம் அணைக்கப்படாவிட்டால் (! MB); // பொத்தானை வெளியிடும் வரை காத்திருங்கள் set_alarm = 0; // அலாரம் மதிப்பை அமைப்பதை நிறுத்து }
பயனர் நடுத்தர பொத்தானை அழுத்தினால், அவர் அலாரம் நேரத்தை அமைக்க முயற்சிக்கிறார் என்று அர்த்தம். இந்த வழக்கில் நிரல் மேலே உள்ள குறியீட்டைப் பயன்படுத்தி அலாரம் செட் பயன்முறையில் நுழைகிறது. அலாரம் செட் பயன்முறையில் பயனர் இடது அல்லது வலது பொத்தானை அழுத்தினால் கர்சரை இடது அல்லது வலது பக்கம் நகர்த்த வேண்டும் என்பதாகும். இதைச் செய்ய, கர்சரை வைக்க வேண்டிய நிலையின் மதிப்பைக் குறைப்போம்
if (LB == 0) {// இடது பொத்தானை அழுத்தினால் (! LB); // பொத்தானை வெளியிடும் வரை காத்திருங்கள் pos--; // பின்னர் கர்சரை இடதுபுறமாக நகர்த்தவும் } if (RB == 0) {// வலது பொத்தானை அழுத்தினால் (! RB); // பொத்தானை வெளியிடும் வரை காத்திருங்கள் pos ++; // கர்சரை வலப்புறம் நகர்த்தவும் }
மைக்ரோகண்ட்ரோலர் அல்லது நுண்செயலியுடன் ஒரு புஷ் பொத்தானைப் பயன்படுத்தும் போது சமாளிக்க ஒரு பொதுவான சிக்கல் உள்ளது. இந்த சிக்கல் சுவிட்ச் பவுன்ஸ் என்று அழைக்கப்படுகிறது. பொத்தானை அழுத்தும் போது அது MCU / MPU க்கு சத்தமில்லாத பருப்புகளைக் கொடுக்கக்கூடும், இது பல உள்ளீடுகளுக்கு MCU ஐ போலி செய்யக்கூடும். சுவிட்ச் முழுவதும் ஒரு மின்தேக்கியைச் சேர்ப்பதன் மூலம் அல்லது பொத்தானை அழுத்தினால் கண்டறியப்பட்டவுடன் தாமதச் செயல்பாட்டைப் பயன்படுத்துவதன் மூலம் இந்த சிக்கலை தீர்க்க முடியும். இந்த வகை தீர்வு டி-பவுன்ஸ் என்று அழைக்கப்படுகிறது. பொத்தானை வெளியிடும் வரை நிரலை வைத்திருக்க இங்கே சிறிது சுழற்சியைப் பயன்படுத்தினோம். இது ஒரு சிறந்த டி-பவுன்ஸ் தீர்வு அல்ல, ஆனால் எங்களுக்கு அது நன்றாக வேலை செய்யும்.
போது (! RB);
இடது மற்றும் வலது பொத்தானைப் போலவே, மேல் மற்றும் கீழ் பொத்தான்களும் எங்களிடம் உள்ளன, அவை எச்சரிக்கை நேரத்தின் மதிப்பை அதிகரிக்கவோ குறைக்கவோ பயன்படுத்தப்படலாம். இதைச் செய்வதற்கான குறியீடு கீழே காட்டப்பட்டுள்ளது. தொகுப்பு அலாரம் நேரத்தின் ஒவ்வொரு எழுத்தும் வரிசையின் குறியீட்டு மதிப்பால் கவனிக்கப்படுகிறது என்பதைக் கவனியுங்கள். மதிப்புகளை மாற்ற வேண்டிய தேவையான எழுத்தை நாம் எளிதாக அணுக முடியும்.
if (UB == 0) {// (! UB) போது மேல் பொத்தானை அழுத்தினால் ; // பொத்தானை வெளியிடும் வரை காத்திருங்கள் அலாரம்_வல் ++; // அந்த குறிப்பிட்ட கரி மதிப்பை அதிகரிக்கவும் } if (BB == 0) {// கீழ் பொத்தானை அழுத்தினால் (! UB); // பொத்தான் அலாரம்_வல் வெளியாகும் வரை காத்திருங்கள் ; // அந்த குறிப்பிட்ட கரி மதிப்பைக் குறைக்கவும்}
அலாரம் நேரம் அமைக்கப்பட்டதும் பயனர் மீண்டும் நடுத்தர பொத்தானை அழுத்துவார். தற்போதைய நேரத்தை நிர்ணயிக்கப்பட்ட நேரத்துடன் ஒப்பிட ஆரம்பிக்கலாம். தற்போதைய நேரத்தின் ஒவ்வொரு எழுத்தும் நிர்ணயிக்கப்பட்ட நேரத்தின் தன்மைக்கு சமமாக இருக்கிறதா என்று சோதிப்பதன் மூலம் ஒப்பீடு. மதிப்புகள் பின்னர் சமமாக இருந்தால் நாம் அமைப்பதன் மூலம் எச்சரிக்கை தூண்டுவதற்கு trigger_alarm வேறு மாறி அது சம பெறுகிறார் வரை நாம் ஒப்பிடவும்.
// IF அலாரம் அமைக்கப்பட்டால், செட் மதிப்பு தற்போதைய மதிப்புக்கு சமமாக இருக்கிறதா என சரிபார்க்கவும் (set_alarm == 0 && alerm_val == hour_1 && alerm_val == hour_0 && alerm_val == min_1 && அலாரம்_வல் == min_0) தூண்டுதல்_அலார்ம் = 1; மதிப்பு பொருந்தினால் தூண்டுதலை இயக்கவும்
அலாரம் அமைக்கப்பட்டால், அலாரத்திற்காக பயனரை எச்சரிக்க நாம் பஸரை பீப் செய்ய வேண்டும். கீழே காட்டப்பட்டுள்ளபடி வழக்கமான இடைவெளியில் பஸரை மாற்றுவதன் மூலம் இதைச் செய்யலாம்.
if (தூண்டுதல்_அலார்ம்) {// அலாரம் தூண்டப்பட்டால் // பஸர் பீப் BUZZ = 1; __ தாமத_எம்எஸ் (500); BUZZ = 0; __ தாமத_எம்எஸ் (500); }
உருவகப்படுத்துதல்:
இந்த நிரலை புரோட்டஸ் மென்பொருளைப் பயன்படுத்தி உருவகப்படுத்தலாம். மேலே காட்டப்பட்டுள்ள சுற்றுகளை மீண்டும் உருவாக்கி, ஹெக்ஸ் கோப்பை PIC இல் ஏற்றவும். இந்த திட்டத்திற்கான ஹெக்ஸ் குறியீட்டை இங்கே இணைக்கப்பட்டுள்ள ZIP கோப்பில் காணலாம். உருவகப்படுத்துதலின் போது எடுக்கப்பட்ட ஸ்கிரீன் ஷாட் கீழே காட்டப்பட்டுள்ளது

நீங்கள் திட்டத்தில் புதிய அம்சங்களைச் சேர்க்க முயற்சிக்கும்போது உருவகப்படுத்துதல் மிகவும் பயனுள்ளதாக இருக்கும். I2C பஸ் வழியாக என்ன தரவு உள்ளே செல்கிறது மற்றும் வெளிவருகிறது என்பதை சரிபார்க்க I2C பிழைத்திருத்த தொகுதியையும் பயன்படுத்தலாம். நீங்கள் பொத்தான்களை அழுத்தி முயற்சி செய்யலாம் மற்றும் அலாரம் நேரத்தையும் அமைக்கலாம். அமைக்கப்பட்ட நேரம் தற்போதைய நேரத்திற்கு சமமாக இருக்கும்போது, பஸர் அதிக அளவில் செல்லும்.
PIC16F877A ஐப் பயன்படுத்தி டிஜிட்டல் அலாரம் கடிகாரத்தின் வேலை:
ப்ரெட்போர்டில் சுற்று ஒன்றை உருவாக்கவும், பதிவிறக்க இணைப்பிலிருந்து குறியீட்டைப் பெற்று MplabX மற்றும் XC8 கம்பைலரைப் பயன்படுத்தி தொகுக்கவும். இங்கே வழங்கப்பட்ட ZIP கோப்பிலிருந்து குறியீட்டை நீங்கள் பதிவிறக்கம் செய்திருந்தால், தலைப்பு கோப்புகள் ஏற்கனவே இணைக்கப்பட்டுள்ளதால் அதை தொகுப்பதில் உங்களுக்கு எந்த பிரச்சனையும் இருக்கக்கூடாது.
தொகுத்த பிறகு பிக்கிட் 3 புரோகிராமரைப் பயன்படுத்தி நிரலை உங்களிடம் வன்பொருள் பதிவேற்றவும். பிக்கிட் புரோகிராமரை பிஐசி ஐசியுடன் இணைப்பதற்கான இணைப்பு சுற்று வரைபடத்திலும் காட்டப்பட்டுள்ளது. நிரல் பதிவேற்றப்பட்ட பிறகு நீங்கள் அறிமுகத் திரையைப் பார்க்க வேண்டும், பின்னர் காண்பிக்கப்படும் நேரம் நீங்கள் புஷ் பொத்தான்களைப் பயன்படுத்தி அலாரம் நேரத்தை அமைக்கலாம். இயங்கும் போது எனது வன்பொருள் அமைவு கீழே தெரிகிறது.

அலாரம் நேரம் தற்போதைய நேரத்துடன் பொருந்தும்போது, பயனரை எச்சரிக்க பஸர் ஒலிக்கத் தொடங்கும். முழுமையான வேலை கீழே உள்ள வீடியோவில் காணலாம். இந்த திட்டத்தில் ஏராளமான விருப்பங்கள் உள்ளன. ஆர்டிசி தொகுதி எந்த நேரத்தையும் தேதியையும் கண்காணிக்க முடியும், எனவே நீங்கள் எந்த நேரத்திலும் / தேதியிலும் ஒரு திட்டமிடப்பட்ட பணியைச் செய்யலாம். விசிறி அல்லது ஒளி போன்ற ஏசி சாதனத்தையும் நீங்கள் இணைக்கலாம் மற்றும் தேவைப்படும்போது அதை இயக்க அல்லது முடக்க திட்டமிடலாம். இந்த திட்டத்தின் மீது நீங்கள் இன்னும் பலவற்றை உருவாக்க முடியும், இந்த திட்டத்தின் மேம்படுத்தலாக உங்கள் மனதில் என்ன யோசனை வருகிறது என்பதை எனக்குத் தெரியப்படுத்துங்கள், உங்களிடமிருந்து நான் கேட்க மகிழ்ச்சியாக இருப்பேன்.
நீங்கள் திட்டத்தை புரிந்து கொண்டீர்கள் மற்றும் செயல்முறையிலிருந்து பயனுள்ள ஒன்றைக் கற்றுக்கொண்டீர்கள் என்று நம்புகிறேன். இந்த திட்டத்தில் உங்களுக்கு ஏதேனும் சந்தேகம் இருந்தால், அவற்றை இடுகையிட கருத்துப் பகுதியைப் பயன்படுத்தவும் அல்லது எந்தவொரு தொழில்நுட்ப உதவிக்கும் மன்றங்களைப் பயன்படுத்தவும்.
தலைப்பு கோப்புகளுடன் முழுமையான PIC குறியீட்டை இங்கே காணலாம்
