Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Отработка секундного импульса на AVR

Непрочитано 30.03.2010, 21:55  
begun
Гражданин KAZUS.RUN
 
Регистрация: 18.07.2006
Сообщений: 894
Сказал спасибо: 244
Сказали Спасибо 31 раз(а) в 28 сообщении(ях)
begun на пути к лучшему
По умолчанию Re: отработка секундного импульса на AVR

Друзья!
Да ,прав alexgap, поспешил, признаюся ,ведь неудобно столько спрашивать. Думаешь дальше сам
а там новые вопросительные знаки.
Я сейчас в процессе обработки полученной от Вас информации .Подаспела новая информация
alexgap -а по поводу граблей.
Разъяснения ilya_sh тоже очень поучительные. Я так и воспринял все это после ссылки Saadov -а.
Хочется поскарее дайти до конца и наконец укратить "секундного коня".
Я не ожидал что будет продолжение темы и сцелью еще раз перечитать прошолся по ветке и до чего было моя радость ,когда увидел строки друзей догадавшихся ,что чего то еще не хвотает и желавщих довести тему до полного уяснения.
Спасибо за приятнейшие минуты общения вселявшихся в меня оптимизм ,что Я не один лицом к лицу с AVR -ом и ,что все будет хорошо.
С вашего позволения буду сообщать о своих действиях.
Спасибо.
Реклама:
begun вне форума  
Непрочитано 31.03.2010, 22:06  
begun
Гражданин KAZUS.RUN
 
Регистрация: 18.07.2006
Сообщений: 894
Сказал спасибо: 244
Сказали Спасибо 31 раз(а) в 28 сообщении(ях)
begun на пути к лучшему
По умолчанию Re: отработка секундного импульса на AVR

мда--а,
неудача,
вроде все сделал правильно ,в прерывании для timer 2 вписываю код
для счета секунд ,но оно не идет
#include ‹mega8.h›
int a;
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x12 ;PORTD
#endasm
#include ‹lcd.h›

// Timer 2 overflow interrupt service routine
interrupt [TIM2_OVF] void timer2_ovf_isr(void)
{

a++;
if(a==0x0A)
f=0;
lcd_gotoxy(6,0);
lcd_putchar(48+a);

}
void main(void)
{
}
----
---
на экране стоит нуль и все, а когда из кода вынимаю строки
if(a==0x0A)
f=0;
то идет возрастающий счет .
Почему так, непонятно .
begun вне форума  
Непрочитано 31.03.2010, 22:19  
Saadov
Почётный гражданин KAZUS.RUN
 
Аватар для Saadov
 
Регистрация: 13.11.2008
Адрес: г.Смоленск
Сообщений: 2,010
Сказал спасибо: 348
Сказали Спасибо 1,023 раз(а) в 551 сообщении(ях)
Saadov на пути к лучшему
По умолчанию Re: отработка секундного импульса на AVR

А настройки таймера почему не привели???
Или выложите полностью проект в архиве...
Saadov вне форума  
Непрочитано 01.04.2010, 00:03  
alexgap
Гражданин KAZUS.RUN
 
Аватар для alexgap
 
Регистрация: 08.07.2006
Сообщений: 883
Сказал спасибо: 119
Сказали Спасибо 1,108 раз(а) в 175 сообщении(ях)
alexgap на пути к лучшему
По умолчанию Re: отработка секундного импульса на AVR

Сообщение от begun Посмотреть сообщение
interrupt [TIM2_OVF] void timer2_ovf_isr(void)
Кхе, кхе. Вы не то прерывание используете. Нужно прерывание сравнения, а у вас прерывание на переполнение. Я бы вам советовал закинуть подальше генератор кода из кодвижена, иначе мало чего добьетесь. Читайте даташит на микроконтроллер и инициализируйте его понимая суть процесса.

Ну и если хотите чтобы вам помогли с ошибкой то нужно выкладывать полный код, который ее вызывает.
__________________
.

В мире всего два типа людей: те у кого был ZX Spectrum, и те у кого его не было.
alexgap вне форума  
Непрочитано 01.04.2010, 00:49  
begun
Гражданин KAZUS.RUN
 
Регистрация: 18.07.2006
Сообщений: 894
Сказал спасибо: 244
Сказали Спасибо 31 раз(а) в 28 сообщении(ях)
begun на пути к лучшему
По умолчанию Re: отработка секундного импульса на AVR

вот полностью , на знаю почему не должна таботать?
/************************************************** ***



Chip type : ATmega8
Program type : Application
Clock frequency : 4,000000 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 256
************************************************** ***/

#include ‹mega8.h›
int a;
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x12 ;PORTD
#endasm
#include ‹lcd.h›

// Timer 2 overflow interrupt service routine
interrupt [TIM2_OVF] void timer2_ovf_isr(void)
{
a++;
if(a==0x0A)
a=0;
lcd_gotoxy(6,0);
lcd_putchar(48+a);

}



void main(void)
{

PORTB=0xFF;
DDRB=0xC8;


PORTC=0x00;
DDRC=0x3F;


PORTD=0x00;
DDRD=0xFF;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
TCCR0=0x00;
TCNT0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 4000,000 kHz
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x01;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: TOSC1 pin
// Clock value: PCK2/128
// Mode: Normal top=FFh
// OC2 output: Set on compare match
ASSR=0x08;
TCCR2=0x35;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
MCUCR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x40;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// LCD module initialization
lcd_init(16);

// Global enable interrupts
#asm("sei")
lcd_gotoxy(6,0);
lcd_putchar(4;
while (1)
{

};
}
begun вне форума  
Непрочитано 01.04.2010, 08:43  
ilya_sh
Прописка
 
Регистрация: 09.10.2007
Сообщений: 235
Сказал спасибо: 27
Сказали Спасибо 24 раз(а) в 24 сообщении(ях)
ilya_sh на пути к лучшему
По умолчанию Re: Отработка секундного импульса на AVR

Сообщение от begun Посмотреть сообщение
// Timer/Counter 2 initialization
// Clock source: TOSC1 pin
// Clock value: PCK2/128
// Mode: Normal top=FFh
// OC2 output: Set on compare match
ASSR=0x08;
TCCR2=0x35;
TCNT2=0x00;
OCR2=0x00;
Разбираем. Всё верно. Только не понятно, зачем устанавливать флаг сравнения и обнулять OCR2, если само сравнение отключено? Мож для каких-то нужд...
Прескалер на 128. Запитан от внешнего кварца.
Теперь считаем: 32768/128/256=1
То есть, прерывание будет инициироваться каждую секунду!
Цитата:
// Timer 2 overflow interrupt service routine
interrupt [TIM2_OVF] void timer2_ovf_isr(void)
{
a++;
if(a==0x0A)
a=0;
lcd_gotoxy(6,0);
lcd_putchar(48+a);

}
Возможно "а" не инициализируется в ноль.
Вообще, лучще выполнять сравнение для надежности:
if((a‹0)|(a›0x09)) a=0;
lcd_gotoxy(6,0);
lcd_putchar(48+a);
Хотя, если висит ноль на экране, то по идее "а" постоянно обнуляется.
Может лучше условие в одну строчку записать, как показано выше?

Последний раз редактировалось ilya_sh; 01.04.2010 в 09:06.
ilya_sh вне форума  
Непрочитано 01.04.2010, 10:20  
begun
Гражданин KAZUS.RUN
 
Регистрация: 18.07.2006
Сообщений: 894
Сказал спасибо: 244
Сказали Спасибо 31 раз(а) в 28 сообщении(ях)
begun на пути к лучшему
По умолчанию Re: Отработка секундного импульса на AVR

ilya_sh,
Чудеса!
Вчера вечером не работал приведенный мною код.
Сегодня утром перед работой посмотрел Ваш материал, хотел вставить
сравнение и на всякий случай еще раз запустил симмуляйию и все заработала как положено ,может вирусы мешали и после перегрйзки
пошло??????
Значит все уже правильно ,и у меня будет четкий интервал секунд?
а в промежутке между секундами, в прерывании, могу сделать все что захочу?
т.е. получается ,что у меня есть возможность не портить точный секундный интервал и сделать 1сек=1000000мксек операцию между секундами??
begun вне форума  
Непрочитано 01.04.2010, 10:23  
ish0
Прописка
 
Регистрация: 09.08.2006
Сообщений: 197
Сказал спасибо: 14
Сказали Спасибо 27 раз(а) в 20 сообщении(ях)
ish0 на пути к лучшему
По умолчанию Re: Отработка секундного импульса на AVR

Выложите проект целиком. Очень интересно глянуть в .asm файл.
ish0 вне форума  
Непрочитано 01.04.2010, 10:39  
alexgap
Гражданин KAZUS.RUN
 
Аватар для alexgap
 
Регистрация: 08.07.2006
Сообщений: 883
Сказал спасибо: 119
Сказали Спасибо 1,108 раз(а) в 175 сообщении(ях)
alexgap на пути к лучшему
По умолчанию Re: Отработка секундного импульса на AVR

Сообщение от begun Посмотреть сообщение
Вчера вечером не работал приведенный мною код.
Сегодня утром перед работой посмотрел Ваш материал, хотел вставить
сравнение и на всякий случай еще раз запустил симмуляйию и все заработала как положено ,может вирусы мешали и после перегрйзки
Вы не ждете запуска таймера. Помните, про "грабельки"? Так это они.
__________________
.

В мире всего два типа людей: те у кого был ZX Spectrum, и те у кого его не было.
alexgap вне форума  
Непрочитано 01.04.2010, 13:30  
ilya_sh
Прописка
 
Регистрация: 09.10.2007
Сообщений: 235
Сказал спасибо: 27
Сказали Спасибо 24 раз(а) в 24 сообщении(ях)
ilya_sh на пути к лучшему
По умолчанию Re: Отработка секундного импульса на AVR

Сообщение от alexgap Посмотреть сообщение
Вы не ждете запуска таймера. Помните, про "грабельки"? Так это они.
Не эти грабельки - убрал строчку, пошел счет. Здесь ожидание стабилизации кварца не при чем. Но я всегда ожидаю 2 сек (програмно)
ilya_sh вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AVR JTAGICE MKII - проблемы firmware... Luxurious AVR 25 20.10.2014 10:50
На WinAVR + AVR Studio c CVAVR Vetal-soft Embedd С 87 03.03.2013 20:31


Часовой пояс GMT +4, время: 10:52.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.