Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
TAMEPJlAH
1 / 1 / 1
Регистрация: 02.05.2010
Сообщений: 74
1

не могу разобраться с прерываниями

22.02.2012, 19:00. Просмотров 462. Ответов 0
Метки нет (Все метки)

Необходимо отобразить на четырех семисегментных индикаторах числа от 0 до 9 (смена значения через интервал 1 секунды), затем вывести слово "OPEn".
Работа выполняется в AVRStudio 4, микроконтроллер ATMega88, препод сказал что необходимо использовать прерывания... Получается вывести числа от 0 до 9 (с помощью 8-разрядного таймер-счетчика), но очень быстро, необходимо использовав 16-разрядный таймер-счетчик вывести их с интервалом в 1 секунду... не могу разобраться с прерываниями... как они работают? и как настраивается предделитель? Код программы ниже
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include "avr\interrupt.h"
 
unsigned char j,i;
unsigned char a[4]={0b11111110,0b11111101,0b11111011,0b11110111},
    b[10]={0b10100000,0b10111011,0b01100010,0b00101010,0b00111001,0b00101100,0b00100100,0b10111010,0b00100000,0b00101000};
 
    ISR (SIG_OUTPUT_COMPARE0A) 
    {
    PORTD=b[j]; 
    j++;
    if (j==10)
    {
    j=0;
    }
    }
    
    ISR (__vector_default) {
    i++;
    }
 
int main () {
    DDRB = 0xFF;
    DDRC = 0;
    cli ();
    DDRD = 0xFF;
    TCCR0A |=_BV(WGM01);
    TCCR0B |=_BV(CS00)|_BV(CS01);
    OCR0A = 78;
    TIMSK0 |=_BV(OCIE0A);
    sei();
 
    cli ();
    TCCR1B |=_BV(WGM12);
    OCR1B = ;
    TIMSK1 |=_BV(OCIE1A);
    sei();
 
    while (1) {
    //j++;
    }
    }
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.02.2012, 19:00
Ответы с готовыми решениями:

Не могу разобраться с циклами (не могу понять как сделать так чтоб цикл считывал каждый элемент, без массива!)
Натурально число а вводится пользователем.Определить количество не нудевых цифр этого числа . Не...

Не могу разобраться
Здравствуйте ребята, у меня к вам большая просьба. Я начинающий программист, в данный момент изучаю...

не могу разобраться
Начинаю изучать, остановился на третьем по сложности задании, может кто подскажет как это написать...

Не могу разобраться с циклом
Доброго времени суток.В матрице нужно найти строку в которой элементы упорядоченны по возрастанию,...

Не могу разобраться в задаче?
Задание: Пользователь вводит свой вес, рост и пол. И программа должна вывести сообщение,...

0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.02.2012, 19:00

Не могу разобраться с EOF
Требуется написать программу для подсчета пробелов,знаков табуляции и знаков конца строки. Суть...

Не могу разобраться с массивами
Создать целочисленный массив A и число М. Найти такое множество элементов A, A, . . . ,A, что...

Не могу разобраться с switch
Написал в виде теста: #include <stdio.h> #include <ctype.h> int main () { char ch;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru