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
   19   20   21   22   23   24   25   26   27   28   29