Page 24 - 6486
P. 24
Біти CS02-CS00 мають наступні функції (табл.3.1)
Таблиця Ошибка! Текст указанного стиля в документе
отсутствует..1- Функції бітів CS02-CS00
CS02 CS01 CS00 Опис
0 0 0 TC0 зупинено
0 0 1 TC0 працює з частотою тактового
генератора (CK)
0 1 0 CK/8
0 1 1 CK/32
1 0 0 CK/64
1 0 1 CK/128
1 1 0 CK/256
1 1 1 CK/1024
Для виникнення переривання при переповненні таймера TC0
треба програмувати регістр-маску управління перериваннями
TIMSK
TOIE0 – дозвіл переривання при переповненні TC0
OCIE0 – дозвіл переривання при співпаданні вмісту TCNT0 та
OCR0
#include <mega128.h>
#include <delay.h>
//коди, які утфорюють семисегментний код
char
decode[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
char cdig;//номер відображуваної цифри на дисплеї
char dig[4]={0,1,2,3};//цифри на дисплеї
interrupt [TIM0_OVF] void timer0_ovf_isr(void){
TCNT0=0xB0; //поновлення коду для дорахування
if (cdig++==4) cdig=0;//вибір наступної цифри
PORTD=~decode[dig[cdig]];//виведення коду цифри
PORTB=PINB & 0xF0 | (1 << cdig); //виведення біта номера
цифри
}
24