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