மைக்ரோகண்ட்ரோலர் மற்றும் அதன் புரோகிராமிங்குடன் RTC (DS1307) இடைமுகம்

சிக்கல்களை அகற்ற எங்கள் கருவியை முயற்சிக்கவும்





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

8051 மைக்ரோகண்ட்ரோலருடன் ஆர்டிசி இடைமுகம்

8051 மைக்ரோகண்ட்ரோலருடன் ஆர்டிசி இடைமுகம்



ஆர்டிசி புரோகிராமிங் மற்றும் இடைமுகம்

8051 மைக்ரோகண்ட்ரோலருடன் ஆர்டிசி இடைமுகம் மற்ற அனைத்து வகையான “ரியல் டைம் கடிகாரங்களுக்கும்” ஒத்திருக்கிறது. எனவே எளிய ஆர்டிசி இடைமுகத்தைப் பார்ப்போம் 8051 மைக்ரோகண்ட்ரோலர் மற்றும் அதில் சம்பந்தப்பட்ட நிரலாக்க செயல்முறை.


படி 1: ஆர்டிசி சாதனத்தைத் தேர்ந்தெடுக்கவும்

பல்வேறு வகையான ஆர்டிசி சில்லுகள் நிகழ்நேர உட்பொதிக்கப்பட்ட உலகில் கிடைக்கின்றன, அவை தொகுப்பு வகை, விநியோக மின்னழுத்தம் மற்றும் முள் உள்ளமைவு போன்ற பல்வேறு அளவுகோல்களின் அடிப்படையில் வகைப்படுத்தப்படுகின்றன. சில வகையான ஆர்டிசி சாதனங்கள்



  • இரண்டு வயர் சீரியல் இடைமுகம் (I2C பஸ்)
  • மூன்று வயர் சீரியல் இடைமுகம் (USB BUS)
  • நான்கு கம்பி தொடர் இடைமுகம் (SPI BUS)

முதலாவதாக, I2C பஸ் ஆர்டிசி அல்லது எஸ்பிஐ பஸ் ஆர்டிசி அல்லது பிற போன்ற தேவைகளின் அடிப்படையில் வகையின் அடிப்படையில் ஆர்.டி.சி சாதனத்தின் வகையை நாம் தேர்ந்தெடுக்க வேண்டும், அவை அந்தந்த மைக்ரோகண்ட்ரோலருடன் இடைமுகப்படுத்துவதற்கு ஏற்றது. பேட்டரி ஆயுள், பொருத்தமான தொகுப்பு மற்றும் கடிகார அதிர்வெண் போன்ற பயன்பாட்டின் தேவையைப் பொறுத்து ஆர்டிசி சாதனத்தின் அம்சங்களைத் தேர்ந்தெடுக்கலாம். இரண்டு கம்பி இடைமுகத்தை கருத்தில் கொள்வோம் DS1307 போன்ற 8051 மைக்ரோகண்ட்ரோலருடன் RTC .

படி 2: ஆர்டிசி சாதனத்தின் உள் பதிவு மற்றும் முகவரி

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

RTC DB1307 உள்ளமைவு:

ஆர்டிசி உள் தொகுதிகள் மற்றும் முள் வரைபடம்

ஆர்டிசி உள் தொகுதிகள் மற்றும் முள் வரைபடம்

A0, A1, A2: RTC DB1307 சிப்பின் முகவரி ஊசிகளாகும், அவை முதன்மை சாதனத்துடன் தொடர்பு கொள்ள பயன்படுத்தப்படலாம். ஆர்டிசி இடைமுகத்துடன் எட்டு சாதனங்களை நாம் கட்டுப்படுத்தலாம் 8051 மைக்ரோகண்ட்ரோலர் I2C நெறிமுறையைப் பயன்படுத்தி A0, A1, A2 பிட்கள் மூலம்.


வி.சி.சி மற்றும் ஜி.என்.டி: வி.சி.சி மற்றும் ஜி.என்.டி ஆகியவை முறையே மின்சாரம் மற்றும் தரை ஊசிகளாகும். இந்த சாதனம் 1.8 வி முதல் 5.5 வி வரம்பில் இயங்குகிறது.

வி.பி.டி: விபிடி ஒரு பேட்டரி மின்சாரம் முள். பேட்டரி சக்தி மூலத்தை 2 வி முதல் 3.5 வி வரை வைத்திருக்க வேண்டும்.

எஸ்சிஎல்: எஸ்சிஎல் ஒரு தொடர் கடிகார முள் மற்றும் இது தொடர் இடைமுகத்தில் தரவை ஒத்திசைக்க பயன்படுகிறது.

எஸ்.டி.எல்: இது ஒரு தொடர் உள்ளீடு மற்றும் வெளியீட்டு முள். தொடர் இடைமுகத்தில் தரவை அனுப்பவும் பெறவும் இது பயன்படுகிறது.

கடிகாரம்: இது ஒரு விருப்ப சதுர அலை வெளியீட்டு முள்.

OSC0 மற்றும் OSC1: இவை படிக ஆஸிலேட்டர் ஊசிகளாகும், அவை ஆர்டிசி சாதனத்திற்கு கடிகார சமிக்ஞைகளை வழங்கப் பயன்படுகின்றன. நிலையான குவார்ட்ஸ் படிக அதிர்வெண் 22.768KHz ஆகும்.

சாதன முகவரி:

I2C பஸ் நெறிமுறை ஒரு நேரத்தில் பல அடிமை சாதனங்களை அனுமதிக்கிறது. ஒவ்வொரு அடிமை சாதனமும் அதைக் குறிக்க சொந்த முகவரியைக் கொண்டிருக்க வேண்டும். முதன்மை சாதனம் குறிப்பிட்ட அடிமை சாதனத்துடன் ஒரு முகவரி மூலம் தொடர்பு கொள்கிறது. ஆர்டிசி சாதன முகவரி “0xA2”, இதில் “1010” உற்பத்தியாளரால் வழங்கப்படுகிறது மற்றும் A0, A1, A2 ஆகியவை பயனர் வரையறுக்கும் முகவரி, இது எட்டு RTC சாதனங்களைத் தொடர்பு கொள்ளப் பயன்படுகிறது I2C பஸ் நெறிமுறை .

சாதன முகவரி

சாதன முகவரி

RTC இல் படிக்க மற்றும் எழுதும் செயல்பாடுகளைச் செய்ய R / W பிட் பயன்படுத்தப்படுகிறது. R / W = 0 எனில், எழுதும் செயல்பாடு செய்யப்படுகிறது மற்றும் வாசிப்பு செயல்பாட்டிற்கு R / W = 1.

RTC = “0xA3” இன் வாசிப்பு செயல்பாட்டின் முகவரி

RTC = “0xA2” இன் எழுதும் செயல்பாட்டின் முகவரி

நினைவக பதிவேடுகள் மற்றும் முகவரி:

RTC பதிவேடுகள் 00h முதல் 0Fh வரை முகவரி இடங்களில் அமைந்துள்ளன, மேலும் ரேம் மெமரி பதிவேடுகள் 08h முதல் 3Fh வரை முகவரி இடங்களில் அமைந்துள்ளன. ஆர்டிசி பதிவேடுகள் காலண்டர் செயல்பாடு மற்றும் நாள் இயக்கி நேரத்தை வழங்கவும் வார இறுதி நாட்களைக் காட்டவும் பயன்படுத்தப்படுகின்றன.

நினைவக பதிவேடுகள் மற்றும் முகவரி

நினைவக பதிவேடுகள் மற்றும் முகவரி

கட்டுப்பாடு / நிலை பதிவேடுகள்:

DB1307 ஆனது கட்டுப்பாடு / நிலை 1 மற்றும் கட்டுப்பாடு / நிலை 2 போன்ற இரண்டு கூடுதல் பதிவேடுகளைக் கொண்டுள்ளது, அவை நிகழ்நேர கடிகாரத்தைக் கட்டுப்படுத்தப் பயன்படுகின்றன மற்றும் குறுக்கீடுகள் .

கட்டுப்பாடு / நிலை பதிவு 1:

கட்டுப்பாட்டு நிலை பதிவு 1

கட்டுப்பாட்டு நிலை பதிவு 1

  • TEST1 = 0 சாதாரண பயன்முறை

= 1 EXT- கடிகார சோதனை முறை

  • STOP = 0 RTC தொடங்குகிறது

= 1 ஆர்டிசி நிறுத்தம்

  • மீட்டமைப்பில் TESTC = 0 சக்தி முடக்கப்பட்டது

= மீட்டமைப்பில் சக்தி இயக்கப்பட்டது

கட்டுப்பாடு / நிலை பதிவு 2:

கட்டுப்பாட்டு நிலை பதிவு 2

கட்டுப்பாட்டு நிலை பதிவு 2

  • TI / TP = 0 INT எல்லா நேரத்திலும் செயலில் இருக்கும்

= 1 INT செயலில் தேவையான நேரம்

  • AF = 0 அலாரம் பொருந்தவில்லை

= 1 அலாரம் பொருத்தம்

  • TF = 0 டைமர் வழிதல் ஏற்படாது

= 1 டைமர் வழிதல் ஏற்படுகிறது

  • ALE = 0 அலாரம் குறுக்கீடுகள் முடக்கப்படுகின்றன

= 1 அலாரம் குறுக்கீடுகள் இயக்கப்பட்டன

  • TIE = 0 டைமர் குறுக்கீடுகள் முடக்கப்படுகின்றன

= 1 டைமர் குறுக்கீடுகள் இயக்கப்படுகின்றன

படி 3: 8051 உடன் RTC ds1307 ஐ இடைமுகப்படுத்துகிறது

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

8051 மைக்ரோகண்ட்ரோலருடன் ஆர்டிசி இடைமுகம்

8051 மைக்ரோகண்ட்ரோலருடன் ஆர்டிசி இடைமுகம்

I2C சாதனங்கள் திறந்த வடிகால் வெளியீடுகளைக் கொண்டுள்ளன, எனவே ஒரு இழுத்தல்-மின்தடையங்கள் I2C பஸ் வரியுடன் மின்னழுத்த மூலத்துடன் இணைக்கப்பட வேண்டும். எஸ்.சி.எல் மற்றும் எஸ்.டி.எல் வரிகளுடன் மின்தடையங்கள் இணைக்கப்படாவிட்டால், பஸ் இயங்காது.

படி 4: ஆர்டிசி டேட்டா ஃப்ரேமிங் வடிவமைப்பு

8051 மைக்ரோகண்ட்ரோலருடன் ஆர்டிசி இடைமுகம் I2C பஸ்ஸைப் பயன்படுத்துவதால், தரவு பரிமாற்றம் பைட்டுகள் அல்லது பாக்கெட்டுகள் வடிவில் உள்ளது, மேலும் ஒவ்வொரு பைட்டையும் ஒரு ஒப்புதல் அளிக்கிறது.

தரவு சட்டத்தை கடத்துதல்:

டிரான்ஸ்மிட்டிங் பயன்முறையில், அடிமை சாதனத்தை முகவரி பிட் மூலம் தேர்ந்தெடுத்த பிறகு மாஸ்டர் தொடக்க நிலையை விடுவிப்பார். முகவரி பிட்டில் 7-பிட் உள்ளது, இது அடிமை சாதனங்களை ds1307 முகவரியாகக் குறிக்கிறது. சீரியல் தரவு மற்றும் தொடர் கடிகாரம் எஸ்சிஎல் மற்றும் எஸ்டிஎல் வரிகளில் பரவுகின்றன. START மற்றும் STOP நிலைமைகள் தொடர் பரிமாற்றத்தின் தொடக்கமாகவும் முடிவாகவும் அங்கீகரிக்கப்பட்டுள்ளன. பெறுதல் மற்றும் பரிமாற்ற செயல்பாடுகள் R / W பிட்டைத் தொடர்ந்து.

தரவு சட்டத்தை கடத்துகிறது

தரவு சட்டத்தை கடத்துகிறது

தொடக்கம்: முதன்மையாக, தொடக்க நிலையை உருவாக்கும் மாஸ்டரால் தொடங்கப்பட்ட தரவு பரிமாற்ற வரிசை.

7-பிட் முகவரி: அதன் பிறகு மாஸ்டர் அடிமை முகவரியை ஒரு 16-பிட் முகவரிக்கு பதிலாக இரண்டு 8-பிட் வடிவங்களில் அனுப்புகிறார்.

கட்டுப்பாடு / நிலை பதிவு முகவரி: கட்டுப்பாட்டு நிலை பதிவேடுகளை அனுமதிப்பதே கட்டுப்பாட்டு / நிலை பதிவு முகவரி.

கட்டுப்பாடு / நிலை பதிவு 1: ஆர்டிசி சாதனத்தை இயக்க கட்டுப்பாட்டு நிலை பதிவு 1 பயன்படுத்தப்படுகிறது

கட்டுப்பாடு / நிலை பதிவு 2: குறுக்கீடுகளை இயக்க மற்றும் முடக்க இது பயன்படுகிறது.

ஆர் / டபிள்யூ: படிக்க மற்றும் எழுத பிட் குறைவாக இருந்தால், எழுதும் செயல்பாடு செய்யப்படுகிறது.

அலஸ்: அடிமை சாதனத்தில் எழுதும் செயல்பாடு செய்யப்பட்டால், ரிசீவர் 1-பிட் ACK ஐ மைக்ரோகண்ட்ரோலருக்கு அனுப்புகிறார்.

நிறுத்து: அடிமை சாதனத்தில் எழுதும் செயல்பாடு முடிந்ததும், மைக்ரோகண்ட்ரோலர் அடிமை சாதனத்திற்கு நிறுத்த நிலையை அனுப்புகிறது.

தரவு சட்டத்தைப் பெறுதல்:

தரவு சட்டத்தைப் பெறுதல்

தரவு சட்டத்தைப் பெறுதல்

தொடக்கம்: முதன்மையாக, தொடக்க நிலையை உருவாக்கும் மாஸ்டரால் தொடங்கப்பட்ட தரவு பரிமாற்ற வரிசை.

7-பிட் முகவரி: அதன் பிறகு மாஸ்டர் ஒரு 16-பிட் முகவரிக்கு பதிலாக இரண்டு 8-பிட் வடிவங்களில் அடிமை முகவரியை அனுப்புகிறார்.

கட்டுப்பாடு / நிலை பதிவு முகவரி: கட்டுப்பாட்டு நிலை பதிவேடுகளை அனுமதிப்பதே கட்டுப்பாட்டு / நிலை பதிவு முகவரி.

கட்டுப்பாடு / நிலை பதிவு 1: ஆர்டிசி சாதனத்தை இயக்க பயன்படுத்தப்படும் கட்டுப்பாட்டு நிலை பதிவு 1

கட்டுப்பாடு / நிலை பதிவு 2: குறுக்கீடுகளை இயக்க மற்றும் முடக்க இது பயன்படுகிறது.

ஆர் / டபிள்யூ: படிக்க மற்றும் எழுத பிட் அதிகமாக இருந்தால், வாசிப்பு செயல்பாடு செய்யப்படுகிறது.

அலஸ்: அடிமை சாதனத்தில் எழுதும் செயல்பாடு செய்யப்பட்டால், ரிசீவர் 1-பிட் ACK ஐ மைக்ரோகண்ட்ரோலருக்கு அனுப்புகிறார்.

நிறுத்து: அடிமை சாதனத்தில் எழுதும் செயல்பாடு முடிந்ததும், மைக்ரோகண்ட்ரோலர் அடிமை சாதனத்திற்கு நிறுத்த நிலையை அனுப்புகிறது.

படி 5: ஆர்டிசி புரோகிராமிங்

மாஸ்டரிலிருந்து அடிமைக்கு ஆபரேஷன் எழுதவும்:

  1. தொடக்க நிலையை எஜமானரிடமிருந்து அடிமைக்கு வெளியிடுங்கள்
  2. அடிமை முகவரியை எஸ்.டி.எல் வரியில் எழுதும் பயன்முறையில் மாற்றவும்
  3. கட்டுப்பாட்டு பதிவு முகவரியை அனுப்பவும்
  4. கட்டுப்பாடு / நிலை பதிவு 1 மதிப்பை அனுப்பவும்
  5. கட்டுப்பாடு / நிலை பதிவு 2 மதிப்பை அனுப்பவும்
  6. போன்ற நிமிடங்கள், விநாடிகள் மற்றும் மணிநேரங்களின் தேதியை அனுப்பவும்
  7. ஸ்டாப் பிட் அனுப்பவும்

#சேர்க்கிறது

sbit SCL = P2 ^ 5
sbit SDA = P2 ^ 6
வெற்றிட தொடக்க ()
வெற்றிட ஹோஸ்ட்கள் (கையொப்பமிடாத கரி)
தாமதம் (கையொப்பமிடாத கரி)

void main ()
{

தொடக்க ()
எழுது (0xA2) // அடிமை முகவரி //
எழுது (0x00) // கட்டுப்பாட்டு பதிவு முகவரி //
எழுது (0x00) // கட்டுப்பாட்டு பதிவு 1 மதிப்பு //
எழுது (0x00) // கட்டுப்பாட்டு ரெஜிட்டர் 2 vlaue //
எழுது (0x28) // நொடி மதிப்பு //
எழுது (0x50) // நிமிட மதிப்பு //
எழுது (0x02) // மணிநேர மதிப்பு //
}

வெற்றிட தொடக்க ()
{

SDA = 1 // தரவை செயலாக்குதல் //
எஸ்சிஎல் = 1 // கடிகாரம் அதிகமாக உள்ளது //
தாமதம் (100)
SDA = 0 // தரவை அனுப்பியது //
தாமதம் (100)
எஸ்சிஎல் = 0 // கடிகார சமிக்ஞை குறைவாக உள்ளது //
}
வெற்றிட எழுது (கையொப்பமிடாத கரி d)
{

கையொப்பமிடாத கரி k, j = 0 × 80
(k = 0k<8k++)
{
எஸ்.டி.ஏ = (டி & ஜே)
ஜே = ஜெ >> 1
எஸ்சிஎல் = 1
தாமதம் (4)
எஸ்சிஎல் = 0
}
எஸ்.டி.ஏ = 1
எஸ்சிஎல் = 1
தாமதம் (2)
c = எஸ்.டி.ஏ.
தாமதம் (2)
எஸ்சிஎல் = 0
}
வெற்றிட தாமதம் (int p)
{
கையொப்பமிடாத, பி
க்கு (a = 0a<255a++) //delay function//
க்கு (பி = 0 பி}

அடிமை முதல் மாஸ்டர் வரை செயல்பாட்டைப் படியுங்கள்:

#சேர்க்கிறது
sbit SCL = P2 ^ 5
sbit SDA = P2 ^ 6
வெற்றிட தொடக்க ()
வெற்றிட எழுது (பயன்படுத்தப்பட்ட கரி)
வெற்றிட வாசிப்பு ()
வெற்றிட அக் ()
வெற்றிட தாமதம் (கையொப்பமிடாத கரி)
void main ()
{
தொடக்க ()
எழுது (0xA3) // அடிமை முகவரி வாசிப்பு பயன்முறையில் //
படி()
ஐயோ ()
நொடி = மதிப்பு
}
வெற்றிட தொடக்க ()
{

SDA = 1 // தரவை செயலாக்குதல் //
எஸ்சிஎல் = 1 // கடிகாரம் அதிகமாக உள்ளது //
தாமதம் (100)
SDA = 0 // தரவை அனுப்பியது //
தாமதம் (100)
எஸ்சிஎல் = 0 // கடிகார சமிக்ஞை குறைவாக உள்ளது //
}
வெற்றிட எழுது (கையொப்பமிடாத கரி d)
{

கையொப்பமிடாத கரி k, j = 0 × 80
(k = 0k<8k++)
{
எஸ்.டி.ஏ = (டி & ஜே)
ஜே = ஜெ >> 1
எஸ்சிஎல் = 1
தாமதம் (4)
எஸ்சிஎல் = 0
}
எஸ்.டி.ஏ = 1
எஸ்சிஎல் = 1
தாமதம் (2)
c = SDA
தாமதம் (2)
எஸ்சிஎல் = 0
}
வெற்றிட தாமதம் (int p)
{
கையொப்பமிடாத, பி
க்கு (a = 0a<255a++) //delay function//
க்கு (பி = 0 பி}
வெற்றிட வாசிப்பு ()
{
கையொப்பமிடாத கரி j, z = 0 × 00, q = 0 × 80
எஸ்.டி.ஏ = 1
(j = 0j<8j++)
{
எஸ்சிஎல் = 1
தாமதம் (100)
கொடி = எஸ்.டி.ஏ.
if (கொடி == 1)

z = (z
வெற்றிட அக் ()
{
எஸ்.டி.ஏ = 0 // எஸ்.டி.ஏ வரி குறைவாக செல்கிறது //
எஸ்சிஎல் = 1 // கடிகாரம் உயர் முதல் குறைந்த //
தாமதம் (100)
எஸ்சிஎல் = 0
}

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