Повезивање РТЦ (ДС1307) са микроконтролером и његовим програмирањем

Испробајте Наш Инструмент За Елиминисање Проблема





РТЦ је електронски уређај који игра суштинску улогу у дизајн уграђеног система у реалном времену . Пружа прецизно време и датум у различитим апликацијама као што су системски сат, систем за похађање ученика и аларм итд., Који прате тренутно време и пружају доследне резултате за одговарајући задатак. Овај чланак представља РТЦ повезивање са 8051микроконтролером и основним приступом интерним регистрима.

РТЦ повезивање са 8051 микроконтролером

РТЦ повезивање са 8051 микроконтролером



РТЦ програмирање и повезивање

РТЦ повезивање са микроконтролером 8051 је слично свим осталим врстама „сатова у реалном времену“ које су повезане са њим. Дакле, погледајмо једноставно РТЦ повезивање са 8051 микроконтролер и поступак програмирања који у то укључује.


Корак 1: Изаберите РТЦ уређај

Разне врсте РТЦ чипова су доступне у свету уграђеном у реалном времену, који се класификују на основу различитих критеријума као што су врста пакета, напон напајања и конфигурација пина итд.



  • Двожични серијски интерфејс (И2Ц магистрала)
  • Трожични серијски интерфејс (УСБ БУС)
  • Четворожични серијски интерфејс (СПИ БУС)

Прво, морамо да одаберемо тип РТЦ уређаја према категорији на основу захтева попут И2Ц Бус РТЦ или СПИ Бус РТЦ или другог, што одговара за међусобно повезивање са одговарајућим микроконтролером. Тада можемо одабрати карактеристике РТЦ уређаја у зависности од захтева апликације као што су животни век батерије, одговарајући пакет и фреквенција такта. Размотримо двожично повезивање РТЦ са 8051 микроконтролером као што је ДС1307 .

Корак 2: Интерни регистар и адреса РТЦ уређаја

РТЦ представља сат у реалном времену који пружа године, месеце, недеље, дане, сате, минуте и секунде на основу фреквенције кристала. РТЦ се састоји од уграђеног РАМ меморија за складиштење података . Резервна батерија ће бити обезбеђена у случају квара главног напајања повезивањем батерије на РТЦ уређај.

РТЦ ДБ1307 конфигурација:

РТЦ интерни блокови и дијаграм пинова

РТЦ интерни блокови и дијаграм пинова

А0, А1, А2: су пинови за адресу чипа РТЦ ДБ1307, који се могу користити за комуникацију са главним уређајем. Можемо да контролишемо осам уређаја са РТЦ интерфејсом 8051 микроконтролер битовима А0, А1, А2 користећи И2Ц протокол.


ВЦЦ и ГНД: ВЦЦ и ГНД су пинови за напајање и уземљење. Овај уређај је радио у опсегу од 1,8 до 5,5 В.

ВБТ: ВБТ је пин за напајање батерије. Извор напајања батерије мора бити између 2В и 3,5В.

СЦЛ: СЦЛ је серијски пин и користи се за синхронизацију података на серијском интерфејсу.

СДЛ: То је серијски улазни и излазни пин. Користи се за пренос и пријем података на серијски интерфејс.

Сат од: То је опциони излазни пин са квадратним таласом.

ОСЦ0 и ОСЦ1: Ради се о клиновима кристалног осцилатора који се користе за давање тактних сигнала РТЦ уређају. Стандардна фреквенција кристалног кварца је 22.768КХзс.

Адресирање уређаја:

И2Ц протокол магистрале омогућава истовремено више подређених уређаја. Сваки славе уређај мора се састојати од сопствене адресе која ће на њему бити представљена. Главни уређај комуницира са одређеним помоћним уређајем адресом. Адреса РТЦ уређаја је „0кА2“, при чему „1010“ даје произвођач, а А0, А1, А2 су адреса коју дефинише корисник и која се користи за комуникацију осам РТЦ уређаја на И2Ц протокол сабирнице .

Уређивање уређаја

Уређивање уређаја

Р / В бит се користи за извршавање операција читања и писања у РТЦ-у. Ако је Р / В = 0, врши се операција писања, а Р / В = 1 за операцију читања.

Адреса операције очитавања РТЦ = “0кА3”

Адреса операције писања РТЦ = “0кА2”

Регистри меморије и адреса:

РТЦ регистри се налазе на адресним локацијама од 00х до 0Фх, а РАМ меморијски регистри налазе се на адресним локацијама од 08х до 3Фх, као што је приказано на слици. РТЦ регистри се користе за пружање функционалности календара и време вожње током дана и за приказ викенда.

Регистри меморије и адреса

Регистри меморије и адреса

Контролни / статусни регистри:

ДБ1307 се састоји од два додатна регистра као што су цонтрол / статус1 и цонтрол / статус2 који се користе за контролу сата реалног времена и прекида .

Контролни / статусни регистар1:

Регистар контролног статуса1

Регистар контролног статуса1

  • ТЕСТ1 = 0 нормални режим

= 1 режим тестирања ЕКСТ-сата

  • СТОП = 0 РТЦ почиње

= 1 РТЦ заустављање

  • ТЕСТЦ = 0 укључено ресетовање је онемогућено

= омогућено ресетовање при укључењу

Контролни / статусни регистар2:

Регистар контролног статуса2

Регистар контролног статуса2

  • ТИ / ТП = 0 ИНТ активно све време

= 1 ИНТ потребно активно време

  • АФ = 0 Аларм се не подудара

= 1 подударање аларма

  • ТФ = 0 Не долази до преливања тајмера

= 1 Долази до преливања тајмера

  • АЛЕ = 0 Онемогућавање аларма прекида

= 1 Омогућени прекиди аларма

  • ТИЕ = 0 Онемогућавање прекида тајмера онемогућено

= 1 Омогућено прекидање тајмера

Корак 3: Повезивање РТЦ дс1307 са 8051

РТЦ може бити повезан са микроконтролером коришћењем различитих протокола серијске магистрале као што су И2Ц и СПИ протоколи који пружају комуникациону везу између њих. Слика приказује међусобно повезивање сата реалног времена са микроконтролером 8051 помоћу протокола И2Ц магистрале. И2Ц је двосмерни серијски протокол који се састоји од две жице као што су СЦЛ и СДА за пренос података између уређаја повезаних на магистралу. Микроконтролер 8051 нема уграђени РТЦ уређај, па смо се споља спојили преко а серијска комуникација за обезбеђивање података који се састоје.

РТЦ повезивање са 8051 микроконтролером

РТЦ повезивање са 8051 микроконтролером

И2Ц уређаји имају отворене одводне излазе, стога отпорници на извлачење морају бити повезани на И2Ц магистралну линију извором напона. Ако отпорници нису повезани на СЦЛ и СДЛ линије, магистрала неће радити.

Корак 4: РТЦ формат уоквиривања података

Будући да РТЦ повезивање са микроконтролером 8051 користи И2Ц сабирницу, пренос података је у облику бајтова или пакета, а сваки бајт прати потврда.

Пренос података:

У режиму преноса, мастер отпушта почетни услов након избора помоћног уређаја према битном адресе. Адресни бит садржи 7-бит, који славе уређаје означава као дс1307 адресу. Серијски подаци и серијски сат се преносе на СЦЛ и СДЛ линијама. Услови СТАРТ и СТОП препознају се као почетак и завршетак серијског преноса. Операције пријема и преноса прате Р / В бит.

Пренос података

Пренос података

Почетак: Првенствено, секвенца преноса података коју покреће мастер који генерише почетни услов.

7-битна адреса: Након тога мастер шаље помоћну адресу у два 8-битна формата уместо у једну 16-битну адресу.

Адреса за контролу / статус регистра: Адреса контролног / статусног регистра дозвољава контролне регистре статуса.

Контролни / статусни регистар1: Регистар контролног статуса1 који се користи за омогућавање РТЦ уређаја

Контролни / статусни регистар2: Користи се за омогућавање и онемогућавање прекида.

Р / В: Ако је бит за читање и писање низак, тада се изводи операција писања.

АЛАС: Ако се операција уписа изводи у славе уређају, тада пријемник шаље 1-битни АЦК микроконтролеру.

Зауставити: Након завршетка операције писања у славе уређају, микроконтролер шаље услов заустављања на славе уређај.

Пријем података:

Пријем података оквир

Пријем података оквир

Почетак: Првенствено, секвенца преноса података коју покреће мастер који генерише почетни услов.

7-битна адреса: Након тога мастер шаље помоћну адресу у два 8-битна формата уместо једне 16-битне адресе.

Адреса за контролу / статус регистра: Адреса контролног / статусног регистра омогућава да дозволи контролне регистре статуса.

Контролни / статусни регистар1: контролни регистар статуса1 који се користи за омогућавање РТЦ уређаја

Контролни / статусни регистар2: Користи се за омогућавање и онемогућавање прекида.

Р / В: Ако је бит за читање и писање висок, тада се изводи операција читања.

АЛАС: Ако се операција уписа изводи у славе уређају, тада пријемник шаље 1-битни АЦК микроконтролеру.

Зауставити: Након завршетка операције писања у славе уређају, микроконтролер шаље услов заустављања на славе уређај.

Корак 5: РТЦ програмирање

Напишите операцију од господара до славе:

  1. Издајте почетни услов од главног до подређеног
  2. Пренесите помоћну адресу у режиму писања на СДЛ линији
  3. Пошаљите адресу контролног регистра
  4. Пошаљите контролу / статус регистер1валуе
  5. Пошаљите вредност контролног / статусног регистра2
  6. Пошаљите датум сличних минута, секунди и сати
  7. Пошаљите граничник

#инцлуде

сбит СЦЛ = П2 ^ 5
сбит СДА = П2 ^ 6
воид старт ()
воид хостови (непотписани цхар)
кашњење (непотписани знак)

воид маин ()
{

почетак()
врите (0кА2) // славе адреса //
врите (0к00) // адреса контролног регистра //
врите (0к00) // контролни регистар 1 вредност //
врите (0к00) // управљање регитер2 влауе //
врите (0к28) // сец валуе //
запис (0к50) // минутна вредност //
запис (0к02) // вредност сата //
}

воид старт ()
{

СДА = 1 // обрада података //
СЦЛ = 1 // сат је висок //
кашњење (100)
СДА = 0 // послао податке //
кашњење (100)
СЦЛ = 0 // тактни сигнал је низак //
}
воид врите (непотписан знак д)
{

непотписани знак к, ј = 0 × 80
за (к = 0к<8k++)
{
СДА = (д & ј)
Ј = ј >> 1
СЦЛ = 1
кашњење (4)
СЦЛ = 0
}
СДА = 1
СЦЛ = 1
кашњење (2)
ц = СДА
кашњење (2)
СЦЛ = 0
}
одлагање празнине (инт п)
{
унсигнединта, б
За (а = 0а<255a++) //delay function//
За (б = 0б}

Прочитајте Операција од славе до господара:

#инцлуде
сбит СЦЛ = П2 ^ 5
сбит СДА = П2 ^ 6
воид старт ()
воид врите (усигнед цхар)
воид реад ()
воид ацк ()
кашњење празнине (непотписани знак)
воид маин ()
{
почетак()
врите (0кА3) // адреса славе у режиму читања //
читати()
Авај ()
сец = вредност
}
воид старт ()
{

СДА = 1 // обрада података //
СЦЛ = 1 // сат је висок //
кашњење (100)
СДА = 0 // послао податке //
кашњење (100)
СЦЛ = 0 // тактни сигнал је низак //
}
воид врите (непотписан знак д)
{

непотписани знак к, ј = 0 × 80
за (к = 0к<8k++)
{
СДА = (д & ј)
Ј = ј >> 1
СЦЛ = 1
кашњење (4)
СЦЛ = 0
}
СДА = 1
СЦЛ = 1
кашњење (2)
ц = СДА
кашњење (2)
СЦЛ = 0
}
одлагање празнине (инт п)
{
унсигнединта, б
За (а = 0а<255a++) //delay function//
За (б = 0б}
Пропуштено читање ()
{
Непотписани знак ј, з = 0 × 00, к = 0 × 80
СДА = 1
за (ј = 0ј<8j++)
{
СЦЛ = 1
кашњење (100)
застава = СДА
ако (застава == 1)

з = (з
воид ацк ()
{
СДА = 0 // СДА линија иде на низак //
СЦЛ = 1 // сат је висок до низак //
кашњење (100)
СЦЛ = 0
}

Ово су неопходни кораци за РТЦ повезивање са 8051 микроконтролером. Поред ових корака, оквири података који се користе за пренос и пријем података се такође разматрају у овом чланку ради разумевања корисника уз одговарајуће програмирање. За даљу помоћ у вези са овим концептом можете оставити коментар испод.