Заманауи микроконтроллер


    Жұмыс №5. Т1 микроконтроллердің он алты разрядты



Pdf көрінісі
бет25/64
Дата31.12.2021
өлшемі3,85 Mb.
#21593
1   ...   21   22   23   24   25   26   27   28   ...   64
Байланысты:
Tleshova Zamanaui mikrokontroller

 


41 
 
Жұмыс №5. Т1 микроконтроллердің он алты разрядты  
таймерін бағдарламалау 
 
Жұмыстың мақсаты: 
ATmega  8535 
микроконтроллерінің  16-разрядты  таймердің  жұмысымен 
танысу. Таймермен бағдарлама жұмысын құру. 
Жұмысқа түсініктеме 
Т1  16-разрядты  таймер  модулі  ATmega8535  микроконтроллер  модулінің 
құрамына кіреді, Т1 таймер/есептегіш уақыттық интегралдарды сонымен қатар 
сыртқы  оқиғалардың  есептеуіші  ретінде  қолдана  алады.  Сонымен  қатар,  ол 
сыртқы сигнал бойынша өзінің күйін сақталуын орындай алады. Ол ауыспалы 
разрядты  және  көпканалды    широтно-импульсті  модуляторы  ретінде  жұмыс 
жасай алады. 
Т1 таймерінің құрылымдық схемасы 1 суретте келтірілген. 
 
 
 
Сурет 1. Т1 таймерінің құрылымдық схемасы 
 
PD5(0C1A) 
– 
Т1  таймерінің  салыстыру  схемасының  шығысы. 
Енгізу/шығару  порт  сызықтарының  баламалы  функциясын  қолдану  кезінде 
олардың  функционалды  міндетіне  сәйкес  бұл  шығаруларды  өз  бетімен 
үйлестіру.  Есепші/таймерден  үзілуді  рұқсат/тыйым  салу  үшін    TIMSK 
(Timer/Counter Interrupt MaSK Register – 
таймер/есепшіден үзілу маска регистрі) 
регистр арналған. Т1 таймері үшін бұл регистрде келесі биттер іске асырылған: 

TICIE1  (бит  5)  -  Т1  таймер/есепші  «Басып  алу»  оқиғасының  үзілуіне 
рұқсат туы; 


42 
 

OCIE1A  (бит  4)  –  Т1  таймер/есепші  «Сәйкестік  А»  оқиғасының  үзілуіне 
рұқсат туы; 

OCIE1B  (бит  3)  –  Т1  таймер/есепші  «Сәйкестік  в»  оқиғасының  үзілуіне 
рұқсат туы; 

TOIE1 (бит 2) – Т1 таймер/есепшінің толып кетуінің үзілуіне рұқсат туы. 
Таймерден  үзіліс  индикациясын  бөлу  үшін  TIFR (Timer/Counter Interrupt 
Flag Register - 
таймер/есепшіден үзілу туының регистрі) регистрі арналған. Т1 
таймері үшін бұл регистрде келесі биттер іске асырылған: 

1CF1  (бит  5)  –  Т1  таймер/есепшіден  оқиға  бойынша  «Басып  алу»  үзілу 
туы; 

CF1A (бит 4) – Т1 таймер/есепшіден оқиға бойынша «Сәйкестік А» үзілу 
туы; 

OCF1B (бит 3) – Т1 таймер/есепшіден оқиға бойынша Сәйкестік В» үзілу 
туы; 

TOV1 (бит 2) – Т1 таймер/есепшінің толып кетуінен үзілу туы. Қандай-да 
бір оқиғаның болу кезінде TIFR регистр туы  «1» қойылады. Үзілуді өңдеу 
бағдарлама астын қосу кезінде, ол аппаратты түрде «0» шешіп тасталады, 
сонымен қатар бағдарламаның жолмен логикалық «1» жазылады. 
Т1  таймер/есепші  құрамына  келесі  енгізу/шығару  регистірлері  құрамына 
кіреді:  

16 разрядты TCNT1 есептегіш регистрі; 

16 разрядты ICR1 басып алу регистрі; 

екі 16 разрядты OCR1А, OCR1B салыстыру регистрі; 

екі 8 разрядты TCCR1A, TCCR1B басқару регистрі  
Әр  16-разрядты  регистрлер  физикалық  енгізу/шығару  екі  регистірінде 
орналасады, олардың  аттары регистр  атына  «Н»  әрпін  (үлкен байт) және  «Ъ» 
(кіші байт) қосумен алынады. TCNT1 есептегіш таймердің есептегіш регистрі, 
мысалы, TCNT1H:TCNT1L регистірінде орналасады. 
Т1  таймерінің  қосылған  кезде,көзден  импульс  түсу  кезінде  TCNT1 
есептегіш  регистр  құрамына  бір  бірлікке  жоғарлайды.  Есептегіш  регистр 
мағынасы OCR1A немесе OCR1B регистрі мағынасымен сәйкес келгенде, онда, 
егер OC1A немесе OC1B салыстыру шығыс баламалы функциясы анықталған, 
бұл  шығыстарында  кернеу  өзгеру  мүмкін.  Сонымен  қатар,  үзілу  генерлейді, 
TCNT1 регистр мағынасының толып кетуі салыстыру бойынша. 
ІСR1  басып  алу  регистрі  басып  алу  блогының  құрамына  кіреді,  оның 
міндеті  –  ІСR1  басып  алу  регистірінде  таймердің  есептегішінде  белгіленген 
уақыт  моментін  болуы.Бұл  әрекет  микроконтроллердің  ІСР  шығысында 
сигналдың  активті  фронты  бойынша  немесе  аналогті  компаратордың  сигналы 
бойынша орындалады. 
Басып  алу  регистірінде  жазумен  қатар  TIFP  регистірінде  ICF1  туы 
орнатылады  және  үзілуге  сауал  генерирлейді.  Үзілуге  рұқсат  TIMSK 
регистірінің  TICIE1 разрядының «1» орнатылуымен іске асырылады. 
Басып  алу  схемасын  басқару  үшін  екі  разрядты  TCCR1B-ICNCI  (7бит) 
және  ICES1(6  бит)  регистрі  қолданылады.  ICES1  разряды  кедергілерді  басу 
схемасы  басқарады.  Егер  бұл  разряд  «0»  лақтырылса,  кедергілерді  басу 
схемасы  өшірілген  және  басып  алу  бірінші  активті  фронтпеніске  асырылады. 
Егер  де  бұл  разряд  «1»  орнатылса,  активті  фронттың  пайда  болуы 
микроконтроллердің  тактілік  жиілігіне  тең,  4  таңдау  жиілігімен  өндіріледі. 


43 
 
Басып алу тең болған жағдайда, егер сигнадың активті фронтына сәйкес, таңдау 
деңгейі бар кезде ғана орындалады(логикалық «1» өспелі үшін және логикалық 
«0» кемімелі үшін). 
Сигналдың  активті  фронты  «0»  дегеніміз  ICES1  разрядының  күйі 
анықталатын  басып  алу  регистірінде  есептегіш  регистірінің  құрамының 
сақталуы  орындалатын  фронт.  Егер  бұл  разряд  «0»  шешіліп  тасталса,  онда 
активті  болып  кемімелі  фронтты  айтамыз.  Егер  разряд  «1»  орнатылса,  онда 
активті болып өспелі фронт болады. ІСР шығысынан сигналды басып алу үшін, 
бұл шығыс кіріс ретінде үйлестіру керек (PPRX регистр разряды ІСР шығысына 
сәйкес «0» шешілу керек). Егер ол шығыс  сияқты жасалынса, онда басып алу 
порт разрядына сәйкес бағдарламалық басқарумен орындалады. 
Таймер/есептегіш  басып  алу  блогының  кіріс  күйінің  өзгеруі  және 
есептегіш  регистірінің  көшіруі  арасында  айырмашылық  бірнеше  уақыттың 
өтетінін  түсінген  жөн.  Бұл  кідірісті  синхронизатор  (суретте  көрсетілмеген) 
және  фронт  детекторынан  тұратын,  каскад  енгізеді.  Кідіріс  көлемі  2,5  ...  3,5 
машиналық  циклды  құрайды.  Кедергілерді  басы  схемаларын  қосу  кезінде 
кідіріс тоғы 4 машиналық циклге жоғарлайды. 
Т1  таймерінің  тактілік  импульс  көздері  ретінде  сыртқы  импульстер 
(кірістер  Т1),  сонымен  қатар  тактілік  генератордан  сигнал  ретінде  қолдана 
алады. Бұл сигналдар алдын-ала бөлгіштің кірісіне, шығысында Т1 таймерінің 
тактілік  сигналын  алады.  Т1  таймерінің  алдын-ала  бөлгіштің  құрылымдық 
схемасы 2 суретте көрсетілген. 
 


Достарыңызбен бөлісу:
1   ...   21   22   23   24   25   26   27   28   ...   64




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет