№ 4 жұмыс. AVR микробақылаушы таймер-есептеуішін үйрену
Жұмыстың мақсаты:
Программалаудың
дағдылау
практикасын
алу,
Atmega
8535
микробақылаушы таймер/ есептеу ішінің міндеттерін үйрену.
Жұмысты анықтау:
1.
Барлық мағлұмат
ATmega8535 микробақылаушылары үш таймер-есептеуішін иемденеді.
Олардың екеуі ТО және Т2 сегізразрядты, ал Т1 – 16-разрядты.
ТО және Т1 таймері барлық 10-разрядты алдын-ала бөлушіні қолданады.
Олар уақыт аралығын құру қондырғысы ретінде қолданылуы
мүмкін(таймерлер) немесе РВО (ТО) және РВ1 (Т1) сәйкес сыртқы
қорытындының жағдайы бойынша қосылатын сыртқы оқиғалардың есептегіші
ретінде қолданылуы мүмкін.
Т2 таймері өзінің 10-разрядты алдын-ала бөлушісін иемденеді.Бұдан өзге,
РС6 (T0SC1) қорытындысы дабылыментәсілденуі мүмкін, бұл сағат ретінде нақты
уақытты қолдануға мүмкіндік береді. Олай болса, 32768 Гц жиілігімен кварцтық
резонаторы РС6 (T0SC1) және РС7 (T0SC2) қорытындылары аралығында бірігеді.
Барлық таймерлер кең-импульсивті (ШИМ) модуляция тәртібін жүзеге
асырады.
ATmega8535 микробақылаушыларынбасқару үшін таймерді тоқтатуды және
TIMSK таймер/есептегішімен арнайы регистрлі маскасын тоқтатады.
Кесте 1.
TIMSK таймерін тоқтатуға арналған регистр маскасы
Бит
7
6
5
4
3
2
1
0
$39($59)
OCIE2 TOIE2 TICIE1 OCIE1A OCIE1B TOIE1 OCIE2 TOIE0
Оқулық/Жазу
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Бастапқы мәні
0
0
0
0
0
0
0
0
Бит 7 - OCIE2: Т2 таймерімен түйісу арқылы үзілуіне рұқсат ету.
OСIE2 қондыру биті жанындағы және қондыру биті I регистрлі мәртебеге Т2
түйсіуімен үзілуіне рұқсат ету мазмұны регистрін Т2-нің салыстыруы мен
жағдайын қарау.Орындалу ($003 векторымен) үзілісіне сәйкес, егертаймер
/есептеуші2 жағдайы мен салыстыруы регистр мазмұнын салыстыру жанындағы
түйісуі болады. Бит 6 - TOIE2: Т2 асыра толтыруымен рұқсатын үзу. Т2 түйісу
жалауы орнатыла TIFROCF2 регистр жалауы үзіледі.
TOIE2 қондыру биті жанындағы және қондыру биті I регистрлі мәртебеге Т2
асыра толтыруымен үзілуіне рұқсат ету. Орындалу ($004 векторымен) үзілісіне
сәйкес, егер таймері/ есептеуіші 2 асыра толтыруы болады. TIFR регистр
жалауында Т2 асыра толтыру TOV2 жалауы орнатылады.
Бит 5 - TICIE1: Т1 таймерін қармау арқылы үзілуіне рұқсат ету.
T1CIE1қондыру биті жанындағы және қондыру биті I регистрлі мәртебеге Т1
қармауымен үзуін рұқсат ету. Орындалу ($005 векторымен) үзілісіне сәйкес, егер
63
PD6 (ICP) қорытындысымен қармау жіберілуі болады.TIFR регистр жалауында Т2
асыра толтыру ICF1 жалауы орнатылады.
Бит 4-OCIE1A: Разрешение прерывания по совпадению регистра А таймера Т1
OСIE2 қондыру биті жанындағы және қондыру биті I регистрлі мәртебеге
таймері /есептеуіші1 жағдайында А регистрініңтүйісуімен үзу рұқсат етіледі.
Орындалу ($006 векторымен) үзілуіне сәйкес, егер А регистрінің түйісу мазмұны
таймері/есептеуші1-дің жағдайымен шығу сәйкестігі болса. TIFR регистр
жалауында Т1 асыра толтыру ОCFIА жалауы орнатылады.
Бит 3 - OCIE1B: Т1 таймерімен В регистрінің түйісу арқылы үзілуіне рұқсат
ету.
Q
СIE1В қондыру биті жанындағы және қондыру биті I регистрлі мәртебеге В
регистрінің түйсіуімен үзілуіне рұқсат етутаймері/есептеуші1жағдайын
қарау.Орындалу ($007 векторымен) үзілісіне сәйкес, егер В регистрінің түйісу
мазмұны таймері/есептеуші1-дің жағдайымен шығу сәйкестігі болса. TIFRрегистр
жалауында В регистрінің Т1 таймерімен түйісуі асыра толтыру ОCFIВ жалауы
орнатылады.
Бит 2 - TOIE1: Т1 таймерін асыра толтыру арқылы үзілуіне рұқсат ету.
ТОIE1 қондыру биті жанындағы және қондыру биті I регистрлі мәртебеге
таймері /есептеуіші1 жағдайында А регистрінің асыра толтыруымен үзілуі рұқсат
етіледі. Орындалу ($008 векторымен) үзілуіне сәйкес, егер таймері/есептеуші1
асыра толтыруы болса. TIFR регистр жалауында Т1 таймері асыра толтыруында
TOV1
жалауы орнатылады.
Бит 1 - OCIE0: Т0 таймерін түйісу арқылы үзілуіне рұқсат ету.
OСIE0 қондыру биті жанындағы және қондыру биті I регистрлі мәртебеге ТО
жағдайымен салыстыруы регистрдің мазмұнымен түйісуімен үзілуі рұқсат
етіледі.Орындалу ($013 векторымен) үзілуіне сәйкес, егер регистрінің түйісу
мазмұны таймер2 жағдайымен салыстыруы регистрдің мазмұны салыстырудың
жанындағытүйісуі болса. В регистр жалауының үзілуі Т0 түйісуі
кезіндеTIFROCF0жалауы орнатылады.
Бит 0 - TOIE0: Т0 таймерін асыра толтыру арқылы үзілуіне рұқсат ету.
TOIE0
қондыру биті жанындағы және қондыру биті I регистрлі мәртебеге
таймер/есептеуші0 асыра толтыру үзілуі рұқсат етіледі.Орындалу ($009
векторымен) үзілуіне сәйкес, егер таймер/есептеуші0 асыра толтыруы болса. В
регистр жалауының үзілуі Т0 асыра толтыруы кезінде TIFRжалауы орнатылады.
Кесте 2
TIFR
таймер/есептеушісімен регистр жалауының үзілуі
Бит
7
6
5
4
3
2
1
0
$38 ($58)
OCF2 TOV2 ICF1
OCF1A OCF1B TOV1 OCF0 TOV0
Оқылым/Жазу
R/W
R/W
R/W
R/W
RAV
R/W
R/W
R/W
Бастапқы мәні
0
0
0
0
0
0
0
0
Бұл жалаулар Т0...Т2 таймерлерінде үзілуге сәйкес пайда болу маңында
орнатылуда(TIMSK таймері үзілу маскасы регистрға толық сәйкес). Үзілу
векторына сәйкес өңдеу жанындаға жалаулар аппаратында тазаланады. 1 қонымды
жалауға бит жазуының тазалануы мүмкін.
64
Назар салыңыз, таймер/есептеуші жалау бағдарламасын орнатып, “1” оған
жазу, мүмкін емес!
2.
Сегізразрядты таймер Т0.
Кесте 3
TCCR0 –
Т2 таймер регистрін басқару
Бит
7
6
5
4
3
2
1
0
$25($45)
FOC 0
WGM
10
СОМ11
СОМ
10
WGM
11
CS 12 CS11 CS10
Оқылым/Жазу
W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Бастапқы мәні
0
0
0
0
0
0
0
0
Бит 7 –FOC0
1
мазмұн Т0таймерін ОС0 шығу кезінде осы бит орнатылады (ШИМ
режиміненбасқа, мазмұны қай жерде екендігі саналмайды).
Биты 6, 3 - WGM10, WGM11: - Т0 таймерінің жұмыс тәртібі
WGM10
битінің жағдайы жұмыс тәртібінде анықталады, WGM11
және4.5.4. кестесінде көрсетілген.
Кесте 4
ШИМ жұмыс тәртібін анықтау
Тәртіпнөмірі
Бит
WGM11
Бит
WGM10
Жұмыстәртібі
0
0
0
Қалыпты
1
0
1
ШИМ фазалы
2
1
0
түісу жанында түсіру (ТЖТ)
3
1
1
жылдам ШИМ
Биты 5,4- СОМ11, СОМ 10: - ТО таймер регистрінің салыстырылуы және
есептеуші регистрдің мазмұнын салыстыру жанындағы қорытынды шығуға
басқарушы битке СОМ 11 және СОМ 10 орнатылады.Сондықтан бұл балама
міндет қорытынды портқа I/O, 1-ші жағдайға сәйкес бит қорытынды жөнелтуге
орнатылуы керек.
4
кестеде көрсетілгендей конфигурация басқарушы
Кесте 5.
Тәртіп теңеуін талдау
СОМ11 СОМ10
Сипаттамасы
0
0
ОС0 қорытынды шығудан таймер ажыратылған
0
1
Қарама-қайшылыққа ОС0 жағдайын өзгерту
1
0
ОС0 шығу жолын тазалау (0 жағдайына байланысты
орнату)
1
1
ОС0 шығу жолына орнату (1 жағдайына байланысты
орнату)
65
Назар аударыңыз: ШИМ міндет тәртібінде бұл биттер ажыратылады,
Биттер 2,1,0 - CS12, CS11, CS10: - жиіліктің алдын-ала бөлуші биттер
коэффициентін таңдау
Кесте 4.5.
6 –
Т0 таймер алдын-ала бөлушінің коэффициенттің жіктеуін таңдау
CS02
CS01
CS00
Сипаттама
0
0
0
ТО таймерітоқтатылған
0
0
1
СК0
0
1
0
СК/8
0
1
1
СК/64
1
0
0
СК/256
1
0
1
СК/1024
1
1
0
Сыртқықорытынды Т0.теріс фронт
1
1
1
СыртқықорытындыТ0, дұрыс фронт
Егер Т0 таймері есептеуіш ретінде қолданса, онда қорытынды Т0 кіру
ретінде конфигурацияланады.
Кесте 6
TCNT0 –
Т0 таймері есептік регистрі
Бит
7
6
5
4
3
2
1
0
$32 ($52)
MSB
LSB
Оқылым/Жазу
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Бастапқы мәні
0
0
0
0
0
0
0
0
Timer Т0 оқылым/жазу мүмкіндігінше есептеуіш ретінде іске асырылған.
Егер тактикалық сигнал деректеме таңдалған және Timer/Counter0 бірнеше
мағынасы жазылған, онда ол есептеуіш әдеп жиілігімен есеп мағынасы
жазылған.
16
разрядты Т1таймері
16-
разрядты Т1 таймері TCCR1AжәнеTCCR1B екі регистрімен басқарылады.
Кесте 7
TCCR1A –
Т1 таймер регистрін басқару
Бит
7
6
5
4
3
2
1
0
$2F ($4F)
COM1A1 COM1A0 COM1B1 COM1B0 FOC1A FOC1B WGM11 WGM10
Оқылым/Жазу R/W
R/W
R/W
R/W
R
R
R/W
R/W
Бастапқы
мәні
0
0
0
0
0
0
0
0
Биты 7,6 - СОМ1А1, СОМ1А0: - А шығу тәртібімен салыстыру, 1 және 0
биттер
66
СОМ1А1 и СОМ 1 А0 басқару биттері А шығу сигналының мінезін
анықтайды, келесі Т1 таймері түйісуі кезінде. А шығу сигналы
ОС1Ақорытындысына түседі. Сондықтан бұл балама міндет портында, онда сәйкес
бит басқару бағыттаушысы 1-шіге орнатылуы тиіс(шығуға арналған жұмыс).
Биты 5,4 - СОМ1В1, СОМ1В0: - Вшығу тәртібімен салыстыру, 1 және 0
СОМ1В1 және СОМ 1 В0 басқару биттері В шығу сигналының мінезін
анықтайды, келесі Т1 таймері түйісуі кезінде. Шығу сигналы ОС1В
қорытындысына түседі. Сондықтан бұл балама міндет портында, онда сәйкес бит
басқару бағыттаушысы 1-шіге орнатылуы тиіс(шығуға арналған жұмыс).
ШИМ міндет тәртібінде бұл биттер ажыратылады
СОМ1Х1/СОМ1ХО биттерін өзгерту маңында бұл үзілуді шығу
салыстыруында TIMSK регистрін үзуін рұқсат етуі биттерді тазалауда тыйм салуы
тиіс. Жағымсыз кездейсоқ жағдайда биттерді өзгерту маңында үзілу жағдайы орын
алуы мүмкін
Кесте 8.
Тәртіп теңеуін талдау
СОМ1Х1 СОМ1Х0 Сипаттама
0
0
ОС1Х шығу қорытындысында Т1 таймері өшірілген
0
1
ОС IX сызық шығуын ауыстырып қосу
1
0
ОС1Х сызық шығуын тазалау (төмендеңгей)
1
1
ОС1Х сызық шығуын орнату (жоғарыдеңгей)
Ескерту: X = А немесе В
Битттер3. 2 - FOC1A, FOC1B
1-
шіге дерек биттер микробақылаушыда орнатылады және шығуға сәйкес
1А және 1В.
Битттер 1.. 0 - WGM11, WGM10: - ШИМ тәртіп таңдауында биттер
Дерек биттер ШИМ тәртібін орнатуда анықталады, бұл 5-ші кестеде
көрсетілген
Кесте 9.
ШИМ тәртібін таңдау
Режим WGM13 WGM12 WGM11 WGM10
Ескерту
0
0
0
0
0
Қалыпты
1
0
0
0
1
фазалыШИМ, 8 разрядты
2
0
0
1
0
фазалы ШИМ, 9 разрядты
3
0
0
1
1
фазалы ШИМ, 10 разрядты
4
0
1
0
0
Түйісу жағдайында түсіру, ТЖТ
5
0
1
0
1
жылдам ШИМ, 8 разрядты
6
0
1
1
0
жылдамШИМ, 9 разрядты
7
0
1
1
1
жылдам ШИМ, 10 разрядты
8
1
0
0
0
ШИМ, фазалыжәне жиіліктік
коррекция, ICR1
67
9
1
0
0
1
ШИМ, фазалыжәне жиіліктік
коррекция, OCR1A
10
1
0
1
0
ШИМ, фазалы коррекция, ICR1
11
1
0
1
1
ШИМ, фазалы коррекция, OCR1A
12
1
1
0
0
Түйісу жағдайында түсіру, ТЖТ, ICR1
13
1
1
0
1
Резервталады
14
1
1
1
0
жылдам ШИМ, ICR1
15
1
1
1
2
жылдам ШИМ, OCR1A
Кесте 10
TCCR1B –
Т1 таймері В регистрін басқару
Бит
7
6
5
4
3
2
1
0
$2Е ($4Е)
ICNC1 ICES1 —
WGM13 WGM12 CS12 CS11 CS10
Оқылым/Жазу
R/W
R/W
R
R/W
R/W
R/W
R/W
R/W
Бастапқы мәні
0
0
0
0
0
0
0
0
Бит 7 - ICNC1: - басып кіру кезінде шуылды басу тәртібін орнату
Түсірілген жағдайда 0 битінде ICNC1 міндет шуылын басу кіру тиггерінде
басып алу тыйым салынады. Басып кіру біріншіге яғни үдемелі/құламалы
фронтқа ауыстырылады, ICP басып кіруі қорытындыға түсіріледі. 1-ші битте
ICNC1 орнатылған жағдайда төрт тізбектелген ICP қорытынды жауап алу
жағдайы орындалады және барлық төрт таңдаулар да бірдей болуы қажет
(жоғары/төмен), ICES1 анықталған биттен. XTAL жиілігі жауап алу жиілігіне
сәйкестілік.
Бит 6 - ICES1: - басып кіру нәтижесінде ұту фронтын таңдау
Түсірілген жағдайда 0 битінде ICES1 Т1 таймерінің мазмұны, ICP басып
кіру нәтижесінде фронттың құлауында, ICR1 басып кіруі регистрға
ауыстырылады. ICP басып кіру нәтижесінде фронттың үдемелі маңында ICR1
басып кіруі Т1 таймеріне ауыстырылып оның маңызы ICES1 1-ші битке
орнатылады.
Биты 5 - резервтелуде
Биты 4, 3 - WGM13, WGM12 - жұмыс таймерінің тәртібі
Т1 таймеріжұмыс тәртібі TCCR1A регистрінен WGM11 жәнеWGM10
биттерімен бірге дерек биттер ажыратылады
Биты 2,1,0 - CS12, CS11, CS10: - тактілік жиіліктің негізін таңдау тактілік
сигналдың негізін таңдауда дәлел биттерді шығару орнатылу жағдайда
(11
кестеде)
Кесте 11
Т1 таймері тактілік сигналын таңдау
CS12 CS11 CS10
Сипаттама
0
0
0
Уақытer) Т1 тоқтатылды
0
0
1
СК
0
1
0
СК/8
68
0
1
1
СК / 64
1
0
0
СК / 256
1
0
1
СК / 1024
1
1
0
Сыртқы тактілік сигнал Т1 қорытындысы, үдемелі фронт
1
1
1
Сыртқы тактілік сигнал Т1 қорытындысы, құламалы
фронт
СК жиілік тактілік генераторында бөлінуі коэффициентке сәйкестілік
тәртіпке байланысты шамамен бөлінеді. Бағытын басқару регистрде орнатуға
сәйкестілік қолдану маңында ішкі тактілік орындалуы қажет (кіру тәртібі
нәтижеге тазалауды әкеліп соғады).
Т1 таймері 16-разрядты TCNT1 есепке іске асырылады
Кесте 12
Tl-
TCNT1Hи TCNT1L таймерінің есептеуші регистрі
Бит
15
14
13
12
11
10
9
8
$2D ($4D)
MSB
TCNT1H
$2С ($4С)
LSB
TCNT1L
7
6
5
4
3
2
1
0
Оқылым/Жазу R/W R/W R/W R/W R/W R/W R/W R/W
R/W R/W R/W R/W R/W R/W R/W R/W
Бастапқы мәні 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16-
разрядты регистр алдыңғы мазмұнды 16-разрядты Т1 таймерін ұстайды.
Процессордың жазылуы және үкені, және кіші байты бұл регистрдің біруақытта,
үндеуін іске асыру арқылы 8-разрядты регистрді уақытша қорғауы (ТЕМР). Бұл
регистр OCR1A, OCR1B және 1CR1 үндеулері кезінде қолданылады. Егер басты
бағдарлама және бағдарлама астындағы жөндеу узілулері ТЕМР регистріне
үндеуін қолданып, онда үзілу басты бағдарламадан уақытша алыстатылуы қажет.
Tl- TCNT1
таймеріне жазу:
Процессор жазуын үлкен байтқа (TCNT1H) жазылған мәліметін ТЕМР
регистрына араластырады. Одан кейін, CPU жазуынкіші байтқа (TCNT1L) жазып
кіші байттың мәліметтері ТЕМР регистр байтымен бірігіп және барлық 16 битті
бірдей таймер/есептеуіші TCNT1 регистрына жазылады. Демек, 16-разрядты
кезінде операцияны үлкен байтқа (TCNT1H) үндеуге бірінші болуы керек.
Tl- TCNT1
таймер оқылымы:
Процессор қашан кіші байтты (TCNT1L) санаса, онда TCNT1L мазмұнын
тікелей көрсетсе, үлкен байт мазмұны (TCNT1H) ТЕМР регистрінде
араластырылып және санау кезінде үлкен байтты (TCNT1H) ТЕМР регистрі
арқылы процессор мазмұнын қабылдайды. Демек, 16-разрядты операцияны кіші
байтқа (TCNT1L) үндеуге бірінші болуы керек.
69
Т1 таймері есептеуіш ретінде қолданылып өсу немесе реверсивті есептеуішке
(ШИМ тәртібінде) және оқылым/жазуға да мүмкіндік береді. Егер Т1 таймеріне
кейбір мазмұндар апарылып және тактілік сигналдан дерек алынып, онда ол
біреуден кйінгі тактілік циклды орнатудан соң онда мазмұны жазылған.
Кесте 13
Tl-
OCR1AH жәнеOCR1AL таймері А регистр шығуымен салыстырылады
Бит
15
14
13
12
11
10
9
8
$2В ($4В)
MSB
OCR 1
AH
$2А ($4А)
LSB
OCR1AL
7
6
5
4
3
2
1
0
Оқылым/Жазу R/W R/W R/W R/W R/W R/W R/W R/W
R/W R/W R/W R/W R/W R/W R/W R/W
Бастапқы мәні 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Кесте 14
OCR1BH
және OCR1BL–Т1 таймері В регистрінің шығуын салыстыру
Бит
15
14
13
12
11
10
9
8
$29 ($49)
MSB
OCR1BH
$28 ($48)
LSB
OCR1BL
7
6
5
4
3
2
1
0
Оқылым/Жазу R/W R/W R/W R/W R/W R/W R/W R/W
R/W R/W R/W R/W R/W R/W R/W R/W
Бастапқы мәні 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16-
разрядты регистр оқылым және жазу шығу салыстырымын қамтамасыз
етеді. Регистрлер Т1 таймерінің шығу салыстырымын мәліметін сақтап,
күнделікті Т1 таймер жағдайымен салысьырып отырады. Амал, салыстыру
кезінде жіберілуді түйістіріп, Т1 таймер жағдайымен және регистрді басқарушы
мазмұнмен ажыратылады. Салыстыру кезінде түйісуі болуы мүмкін, егер Т1
таймері OCR мазмұны мағынасына дейін саналады. Егер TCNT1 және OCR1A
немесе OCR1B бағдарламасына бірдей мағына жазылуы керек, онда түйісу
салыстыру кезінде қалыптасу болмайды.
Түйісу салыстыру кезінде процессор тактілік циклге түйісуінде жалау
орнатылып, келесісінде түйісу өз өзімен болады. PD5 және PD4 жазу
орнатылып ОС1А және ОС1В мағынасы сәйкестендіріледі.
Одан басқа, ТЕМР регистрі TCNT1 және ICR1 үндеу кезінде қолданылады.
Егер басты бағдарлама және бағдарлама астындағы үзілу өңделуі, ТЕМР
регистріне үндеу арқылы қолданып, онда үзілу басты бағдарламадан уақытша
үндеуін тоқтатады.
70
Кесте 15
Tl-
ICR1H жәнеICR1L таймерідің кіруін регистр басып алуы
Бит
15
14
13
12
11
10
9
8
$27 ($47)
MSB
ICR1H
$26 ($46)
LSB
ICR1L
7
6
5
4
3
2
1
0
Оқылым/Жазу R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Бастапқы мәні 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16-
разрядты регистр кіру қармауын тек оқылым мазмұны қамтамасыз
етеді. Айқындау кезінде ICP кіруін қорытынды кезнде қармап үдемелі және
құламалы фронт сигналында Т1 таймерінің бұрынғы жағдайын ICR1 регистріне
жібереді. Бір мезгілде ICF1 кіруін қармау жалауын 1 жағдайында орнатады.
Регистр қаншалықты кіруі қармалса 16-разрядты болады, онда ұстау үшін
бір мезгілде оқылымның үлкен және кіші байттары ICR1 регистр мәліметін
ТЕМР уақытша сақтау регистрімен қолданылады. Саналым кезінде кіші
байттың мәліметі ICR1L мазмұны процессорге жіберіліп, ал үлкен байттың
мазмұны ICR1 ТЕМР регистрінде араластырылады. Үлкен байттың оқылымы
ішінде болып CPU тасымалдауда мазмұны ТЕМР уақытша сақтау регистрімен.
Демек, 16-разрядты регистрды оқу кезінде операцияны негізі кіші байт ICR1L-
ден бастау керек.
ТЕМР регистрі TCNT1, OCR1A жәнеOCR1B үндеуі кезінде қолданылады.
Егер басты бағдарлама және бағдарлама астындағы айналым үзілуінде ТЕМР
регистрі арқылы қолданылып, онда үзілу басты бағдарламадан уақытша бас
тартады.
Т1 таймердің жұмысы ШИМ - тәртібінде
ШИМ тәртібінде Т1 таймері А және В регистрларының шығу
салыстырылымын орнатылу кезінде (OCR1A және OCR1B), екі еселенген 8, 9
немесе 10-разрядты бейнелеп ШИМ автономды генераторын дұрысталған
кезектесу фазасын, өтірік лақтыруларды және PD5 (ОС1А) және PD4(ОС1В)
қорытынды шығуын жоқтайды. Т1 таймері реверсивті есептеуішті қалай жұмыс
жасайтыны, және $0000-ден ТОР-ға дейін санайтынын (4.5.17 см. кестесінде),
есептің қайда баратыны аусып және есептен нөлге дейін апарып, одан кейін
цикл қайталанады. Есептеуіштің жағдайы 10 кіші битті OCR1А немесеOCR1B
түйісуі келсе, және PD5(0C1A)/PD4(0C1B) қорытындысы орнатылып немесе
өшіріліп, оған сәйкес СОМ1А1/СОМ1А0 немесе СОМ1В1/СОМ1В0 биттерінің
регистрінде орнатылуы TCCR1А таймерін басқару ( 4.5.18 см. кестесінде)
71
Кесте 16
ШИМ жиілігі мен таймерінің барын
Разрешение ШИМ
Таймердің барынша
мазмұны
ШИМ жиілігі
8-
разрядты
$00FF (255)
f
ТС1 / 510
9-
разрядты
$01FF (511)
fTCl/1022
10-
разрядты
$03FF (1023)
fTC1 /2046
Кесте 17.
ШИМ тәртібіндесалыстырмалытәртіптітаңдау
СОМ1Х1 COM 1X0
ОСХ1 шығушы сигналы
0
0
Қосылмаған
0
1
Қосылмаған
1
0
Төменге қарай есеп маңында түйісуге сәйкес
тазалануда. Төменге қарай есеп маңында түйісуге
сәйкес орнатылуда (ШИМ инвертирленбеген)
1
1
Жоғарыға қарай есеп маңында түйісуге сәйкес
тазалануда. Жоғарыға қарай есеп маңында түйісуге
сәйкес орнатылуда (ШИМ инвертирленбеген)
Ескерту: X = А немесе В
ШИМ тәртібінде жалауды 1 (TOV1) таймеріне толтырып ауысым кезінде
$0000 мағынасының жетістігі кезінде есеп көрсеткіші орнатылады. Үзілу
толтырымның Т1 таймерінде жұмыс істегендей және таймердің қарапайым
тәртібінде, онда ол глобальды үзілу және Т1 таймерінің толтырылуының үзілуі
кезінде және TOV1 орындалған кезде орнатылған. Бұл Т1 таймерінің шығу
салыстырылымындағы жалауға да және үзілуге де қатысты.
Т1 таймері реверсивті есептеуішті қалай жұмыс жасайтыны, және $0000-
ден ТОР-ға дейін санайтынын, есептің қайда баратыны аусып және есептен
нөлге дейін апарып, одан кейін цикл қайталанады. Есептеуіштің жағдайы 10
кіші битті OCR1А немесеOCR1B түйісуі келсе, және PD5(0C1A)/PD4(0C1B)
қорытындысы орнатылып немесе өшіріліп, оған сәйкес СОМ1А1/СОМ1А0
немесе СОМ1В1/СОМ1В0 биттерінің регистрінде орнатылуы СОМ1А1/
СОМ1А0 немесе СОМ1В1/СОМ1В0 басқару ( 4.5.19 см. кестесінде)
Кесте 18
OCR1X = $0000 ТОР жанында ШИМ тәртібінің шығу жағдайы
СОМ1Х1
СОМ1Х0
OCR1X
ОС1Х нәтижесінің жағдайы
1
0
$0000
L
1
0
ТОР
Н
1
1
$0000
Н
1
1
ТОР
L
72
Ескерту: X = А
ШИМ тәртібінде жалауды 1 (TOV1) таймеріне толтырып ауысым кезінде
$0000
мағынасының жетістігі кезінде есеп көрсеткіші орнатылады. Үзілу
толтырымның Т1 таймерінде жұмыс істегендей және таймердің қарапайым
тәртібінде, онда ол глобальды үзілу және Т1 таймерінің толтырылуының үзілуі
кезінде және TOV1 орындалған кезде орнатылған. Бұл Т1 таймерінің шығу
салыстырылымындағы жалауға да және үзілуге де қатысты.
4.
СегізразрядтыТ2 таймері
Кесте 19
TCCR2 –
Т2 таймерін басқару регистрі
Бит
7
6
5
4
3
2
1
0
$25 ($45)
FOC2 WGM20
СОМ21 СОМ20 WGM21 CS22 CS21 CS20
Оқылым/Жазу
R
R/W
R/W
R/W
R/W
RAV R/W
R/W
Бастапқы мәні
0
0
0
0
0
0
0
0
Бит 7 - FOC2
1-
дің мағынасы Т2 таймерімен ОС2 шығуындадерек биттер орнатылады
(
ШИМ тәртібінен басқа, оның мағынасы саналмайды).
Биты 6, 3 - WGM20, WGM21: - режим работы таймера Т2
Жұмыстың тәртібі WGM20, WGM21 бит жағдайында анықталып және 4.5.21
кестесінде әкелінген.
Кесте 20
WGM20, WGM21 бит жағдайында жұмы тәртібінің анықталуы
Тәртіп саны
Бит
WGM21
Бит
WGM20
Жұмыс тәртібі
0
0
0
Жақсы
1
0
1
Фазалы ШИМ
2
1
0
Түйісу жағдайында түсіру, ТЖТ
3
1
1
Жылдам ШИМ
Тәртіп салысырылуының шығуы СОМ21 және СОМ20 битке басқаратын Т2
таймерінің салыстыру регистрі және регистрдің есептік мағынасы түйісу кезінде
қорытынды шығуының жағдайын орнатады. Қаншалықты бұл I/O портының
қорытындының альтернативті міндеті, онда сәйкес бит 1 жағдайының қорытынды
көрсеткіші орнатылуы керек.
Басқарылатын конфигурация 21 кестесінде көрсетілген
Кесте 21
Салыстыру режимін таңдау
СОМ21 СОМ20
Сипаттамасы
0
0
ОС2 шығу қорытындысында Т1 таймері өшірілген
0
1
ОС2 жағдайының өзгеруі қарама-қайшы
1
0
ОС2 сызық шығуының өшірілуі (0 жағдайында
орнатылу)
1
1
ОС2 сызық шығуының орнатылуы (1 жағдайында
орнатылу)
73
Назар аударыңыз: ШИМ тәртібінде бұл биттердің міндеті ажыратылады
Биттер 2,1,0 - CS22, CS21, CS20: -жиілікті алдын-ала бөлуші коэффициент
биттерін таңдау
Кесте 22
Т2 таймерін алдын-ала бөлушінің бөлуші коэффициентін таңдау
CS22
CS21
CS20
Сипаттамасы
0
0
0
Т2 таймері тоқтатылды
0
0
1
РСК2
0
1
0
РСК2/8
0
1
1
РСК2/32
1
0
0
РСК2/64
1
0
1
РСК2/128
1
1
0
РСК2/256
1
1
1
РСК2/1024
Кесте 23
TCNT2–
Т2 таймерінің есептік регистрі
Бит
7
6
5
4
3
2
1
0
$24 ($44)
MSB
LSB
Оқылым/Жазу
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Бастапқы мәні
0
0
0
0
0
0
0
0
Бұл 8-разрядты регистрдің мазмұны таймер жағдайымен байланысты. Т2
таймері созылмалы немесе реверсивті есептеуіш ретінде (ШИМ тәртібінде),
оқылым/жазу есептеуіш мүмкіндігі ретінде. Егер таймерде кейбір мәндер
жазылса және тактілік сигналдың дерегі таңдалса, онда ол тактілік жиіліктің
есептеуішін мағынасымен жазылған есеп жалғастырылады.
Кесте 24
Т2 - OCR2 таймер регистрінің салыстырылуы
Бит
7
6
5
4
3
2
1
0
$23 ($43)
MSB
LSB
Оқылым/Жазу
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Бастапқы мәні
0
0
0
0
0
0
0
0
Бұл 8-разрядты регистрдің мазмұны таймер жағдайымен байланысты.
Процедура салыстырылымын орындау кезінде TCCR2 регистрі ажыратылады.
Түйісу салыстыру кезінде болады тек, қашан TCNT2 таймер есептік регистрі
OCR2 мазмұнды мәнге жеткен кезде. Бағдарламалы жазу біреу және соған мән
беретін жұп регистрді және регистрге қалыптасу түйісуі салыстыру кезінде
жүргізбейді. Түйісу салыстыру кезінде жалауға орнатылуын үзуге түйісуімен
ағымда тактілік циклді келесі процессорды түйісуінде жүргізеді.
ШИМ тәртібінде Т2 таймері
74
ШИМ тәртібін орнату кезінде таймер TCNT2 есептік регистрдің
салыстырылуын орындап және OCR2 регистрін салыстыруда және ШИМ
сигналын PD7(OC2) микросхема қорытындысында қалыптастырады. Т2 таймері
реверсивті жұмыс ретінде жұмыс істеп, басында $00-ден $FF-қа дейін саналып,
одан соң ол жаңа циклді бастап және артқа қайтарда нөлге дейін санайды.
Есептеуіш жағдайының түйісуі мазмұмнды регистрға салыстырылса, ОС2
қорытындысында 0 және 1 мәндері орнатылса, (сәкесінше орнатылып, TCCR2
таймер регистрінде орнатылып, СОМ21/СОМ20 биттерімен). 4.5.26 см.кестесінде.
Кесте 25
ШИМ тәртібінде тәртіп таңдауын салыстыру
СОМ21 СОМ20
ОС2 қорытындысы
0
0
Қосылмаған
0
1
Резервтелуде
1
0
Салыстыру кезінде өшіру, дамытумен есеп. Түйісу кезінде
орнату, кемумен есеп (инвертталмаған ШИМ).
1
1
Түйісу кезінде өшіру, кемумен есеп. Түйісу кезінде орнату,
дамытумен есеп (инвертталған ШИМ).
Уақыт аралығы арасында оперция жазуы және саналым фиксациясын
OCR2-
ден уақытша сақталу орнынан саналым ретінде әкеледі. Бұл, OCR2-ден
саналым шығарылып саналым шаршаулы мәнге оқылым кезінде көрсетеді.
OCR2 регистр мәнінде күнделікті кезінде 0x00 бірдей немесе 0xFF
шығуында ШИМ төмен немесе жоғары деңгейде ұсталынып, СОМ21/СОМ20
орнатылуында тәуелді болады. Кестеде келтірілген.
Кесте 26
OCR2 = 0x00
немесе 0xFF кезінде шығуында ШИМ жағдайы
СОМ21
СОМ20
OCR2
Шығу
1
0
0x00
L –
төмен деңгей
1
0
0xFF
Н –жоғары деңгей
1
1
0x00
Н - жоғары деңгей
1
1
0xFF
L -
төмен деңгей
ШИМ тәртібінде TOV2 таймер жалауының толуы 0x00 кезінде есеп
көрсеткішін ауысым кезінде орнатады. Үзілу толумен 2 таймері солай жұмыс
істейді, орташа таймер тәртібі сияқты, және ол табысталып, TOV2 орнатылған
кезде, және глобальды үзілу және таймердің шығу үзілу толуымен рұқсат
етіледі. Бұл үзілу және таймердің шығу салыстырылым жалауына қарайды.
ШИМ жиілігі 510-ға бөлінген таймер жиілігіне сәйкес болады.
Жоғары көрсетілгендей, Т2 таймері асинхронды тәртіппен жұмыс істеуі
мүмкін. Онда ол T0SC1 қорытынды сигналында тактіленеді. РС6 және РС7
қорытындысы кезінде, генератормен байланыстырғыш, кіру/шығу барлық
қорытындысы ретінде қолдана алмайды. Зертханалық стендте асинхронды
тәртіп жұмысы Т2 таймерінде көрсетілмеген.
|