Свежие обсуждения
Микроконтроллеры

Разработка таймера на основе PIC16F628(A) с программой на языке С

1 10 21

В пояснении к графу обработчика прерываний, в низу – это что?

 

Это материя!
А конкретно задать вопрос никак не получается? Где внизу - под таблицей, под самим графом, под монитором ?

 

Да, что то я не то написал. Под самим графом, где две "градуированные" линии.

 

Это я прикидывал - как счёт квантов организовать, как счёт секунд. В какой момент и какое значение им присваивать. Чтоб 250 квантов по 4 мс получить, итого 1 секунда. И 60 секунд в минуте.
Опять же, не обязательно делать именно так.

 

picmaniac: Если ты новичёк в этом деле - не слушай ни-кого и пиши на ассемблере, а за одно и разберёшься, как это работает!!!

 

Ну сказанул - как в лужу ... того... Тоже мне - советчик нашёлся. Почитал бы сначала - о чём тут вообще речь идёт.

 

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

 

Общие вопросы лучше задавать в основной ветке про ликбез. Здесь - филиал, конкретная задача - разработка и отладка таймера.

 

ПАШИК: В функции вывода значения времени на экран ..., а прерывание от таймера генерируется каждые 4мс – это будет работать корректно?
нет, это не будет корректно. Там я просто разместил весьма ориентировочные значения (практически алгоритм) и не учел длительность прерывания. (правильно, эти цифры с "неба")
Вы правы, обработка прерывания никогда не должна превышать длительность прерывания (если это специально не предусмотренно и на время обработки все прерывания отключаются).

 

У меня появилось пару неясностей с графом.
1. Прерывание. Переход с точки 5i на 6i. Как я понял, если мы доотнимались до -1 в разряде десятков минут. В 6i мы устанавливаем значение gMIN_D=9. Это приведет к повторному отсчету выдержки с 90 минут. Поэтому я считаю, что лучше присвоить переменной gMIN_D не "9" на "0". Пусть таймер раньше сработает, чем позже.

2. Прерывание. Перход между 8i и 9i. Почему остановка(?) происходит при 01минута 00 секунд (gMIN_E=1)? Т.е. за 1 минуту до окончания отсчета.

3. Не совсем понятен переход между 10i, 11i и 12i (что есть gCQ.7 gCQ.6? Входы?)

4. Если мы в основной программе отключили прерывание, то останется гореть одна цифра, правда я еще не проверил такую возможность по графу.