|
|
  |
Счетчик импульсов с выводом на 7-ми сегментный индикатор, Помогите, пожалуйста, создать схему |
|
|
|
Dec 27 2011, 09:59
|

Гуру
     
Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954

|
Поскольку у Вас таймер "тикает" с частотой 50 Гц (верю Вам на слово), то за 49 сек таймер "натикает" 50 * 49 = 2450 раз. Поэтому: Код unsigned int t= 0;
//прерывания таймера Т0 - вывод на индикатор interrupt [TIM0_OVF] void Timer0Ovf(void) { TCNT0 = 0xb2; if(++t >= 2450) { t=0; IND_Conv(imp); imp= 0; } IND_Update(); } Возникает проблема с неатомарностью изменения переменной imp в функции main. Там, где эта переменная изменяется в main - необходимо обрамить командами запрета и разрешения прерывания. PS. Другое решение: не трогать переменную imp в обработчике прерывания от таймера, а по истечению 49 сек взвести некий флаг, а уж в main этот флаг анализировать, и, по нему вызывать IND_Conv и сбрасывать imp : Код unsigned int t= 0; volatile char flag= 0;
в main ........ if(flag) { flag=0; IND_Conv(imp); imp= 0; } ........ //прерывания таймера Т0 - вывод на индикатор interrupt [TIM0_OVF] void Timer0Ovf(void) { TCNT0 = 0xb2; if(++t >= 2450) { t=0; flag= 1; } IND_Update(); }
|
|
|
|
|
Jan 4 2012, 20:05
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 12-11-09
Из: украина, г. харьков
Пользователь №: 53 585

|
Всех с новым годом!!! Спасибо огромное, Палыч!
|
|
|
|
|
Feb 2 2012, 11:59
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 12-11-09
Из: украина, г. харьков
Пользователь №: 53 585

|
Снова здравствуйте, уважаемые программисты! У меня такой вопрос образовался: если я не хочу применять кварц для тактирования МК, а хочу, чтоб он от внутреннего генератора на 1МГц работал, мне в программе что-либо указывать нужно, или он по умолчанию от него запустится?
|
|
|
|
|
Feb 5 2012, 16:40
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 12-11-09
Из: украина, г. харьков
Пользователь №: 53 585

|
спасибо! буду теперь с этим разбираться..
|
|
|
|
|
Mar 19 2012, 00:48
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 12-11-09
Из: украина, г. харьков
Пользователь №: 53 585

|
Уважаемые форумчане, помогите разобраться с очередным бзиком моего Гейгера. Преобразователь на питание МК из 2.4В в 5В работает идеально: напряжение 5.02В, пульсации не вижу на осциллографе даже при максимальном усилении. На вход МК (РВ4) подаю сформированные подготовленные импульсы с ждущего мультивибратора на к155аг1 (пробовал разные длительности: от 0.1с до 0.1мс), а после заданного промежутка времени и счета на индикатор выводятся какие-то космические значения (как я заметил, кратные 10)!!! которых в принципе быть не может - вместо 11-17 -- 510-820. Как понимать что он считает и как это исправить??? на питании МК стоит 10мк+0.1мк потом дроссель на 10мкГн потом 0.1мк; после преобразователя - 0.1мк+220мк+1500мк. я так понимаю, что по входу идет наводка. как бы ее зашунтировать?
|
|
|
|
|
Mar 19 2012, 05:15
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 12-11-09
Из: украина, г. харьков
Пользователь №: 53 585

|
Спасибо за совет, Олег! Попробую так.
|
|
|
|
|
Mar 19 2012, 08:51
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 12-11-09
Из: украина, г. харьков
Пользователь №: 53 585

|
Спасибо большое за внимание! разобрался! это не наводка была по входу.. а кривые руки.. при изготовлении платы индикатора отзеркалил 1 и 3 разряд, вот у меня 3-х значные числа и лезли ))).
|
|
|
|
|
Mar 25 2012, 17:54
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 12-11-09
Из: украина, г. харьков
Пользователь №: 53 585

|
А подскажите, пожалуйста, как должен выглядеть текст программы, если я хочу сделать короткий звуковой сигнал с одной из ножек МК, который будет звучать при появлении счетного импульса на входной ножке? Интересует момент формирования звука.
Сообщение отредактировал shadow86 - Mar 25 2012, 17:58
|
|
|
|
|
Mar 26 2012, 10:09
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 12-11-09
Из: украина, г. харьков
Пользователь №: 53 585

|
спасибо за ответ! Бум стараться )
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|