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

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

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

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

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

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

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

 
Опции темы

Прерывания в прерываниях ATmega8

Непрочитано 06.07.2010, 17:21  
7Fantomas7
Почётный гражданин KAZUS.RUN
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: Прерывания в прерываниях ATmega8

baiderin,
Цитата:
while(1)
{
if(!mode) progr_mode();
else
if(!more) progr_more();
else
if (!less) progr_less();
};
Вы читать умеете? прерывание, нужно прерывание.
Для бронетанковых войск "Евстегнеев Микроконтролеры AVR семейства MEGA руководство пользователя" стр307 стр 308 глава Внешние прерывания. Прерывания первого и второго типа.
Реклама:
7Fantomas7 вне форума  
Непрочитано 06.07.2010, 17:26  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: Прерывания в прерываниях ATmega8

Сообщение от baiderin Посмотреть сообщение
Мал мал перепутал герцы с миллисекундами.
Цитата:
Опрос кнопок в динамической индикации позволяет избавиться от антидребезговых задержек- что очень хорошо.
А еще уменьшить количество потребных пинов под кнопки - например, кнопки последовательно с диодом, и от сегментов индикации на один вход МК. Если индикаторов 4, то 4 кнопки - расход 1 пин. Сложность кода увеличивается на капельку...
__________________
[ жизнь приятна и красива, если выпить литр пива ]
nml вне форума  
Непрочитано 06.07.2010, 17:30  
7Fantomas7
Почётный гражданин KAZUS.RUN
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: Прерывания в прерываниях ATmega8

baiderin,
Цитата:
Я луше посижу, поковыряюсь в программе, но сделаю сам то, что смогу.
Чего и Вам желаю.
Так этож и делаю.
Цитата:
Цитата:
Просто прерывания в прерываниях- это плохо прогнозируемая вещь.
как правильно оформить
void main(void)
{
while (1)
{
if (mode==0){//ВЫБОР РЕЖИМА
delay_ms (50);//выдержка времени 0,05 сек для подавления дребезга
Чтото сюда написать чтоб возникло прерывание
};
}
mode- это та самая злая кнопка.
и мне откровенно начхать что в конечном счете delay будет 55мс. значит дребезга и тем более не замечу.
Вы гдето здесь видите прерывани в прерывании. Нужно сделать прерывание по состоянию пина. Я хочу узнать это возможно или нет. Если не возможно то тема закрыта вопрос снят. Если возможно то как.
И мне начхать какие там диоды куда подключаются. Я знаю как это делается.
Мне нужно знать как сделать то о чем спросил и точка.

Последний раз редактировалось 7Fantomas7; 06.07.2010 в 17:33.
7Fantomas7 вне форума  
Непрочитано 06.07.2010, 17:41  
baiderin
Почётный гражданин KAZUS.RUN
 
Аватар для baiderin
 
Регистрация: 10.12.2007
Адрес: Екатеринбург
Сообщений: 2,739
Сказал спасибо: 2,487
Сказали Спасибо 897 раз(а) в 584 сообщении(ях)
baiderin на пути к лучшему
По умолчанию Re: Прерывания в прерываниях ATmega8

Поставьте кнопки на входы внешних прерываний.
baiderin вне форума  
Непрочитано 06.07.2010, 17:49  
7Fantomas7
Почётный гражданин KAZUS.RUN
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: Прерывания в прерываниях ATmega8

baiderin,
Для водителей бронепоезда, танкистов, водителей броневиков, водителей бронированых мотоциклов, водителей бронированых велосипедов, бронированых самокатов.
Цитата:
Поставьте кнопки на входы внешних прерываний.
Меня не интерисуют предложения об изменении схемы.
Меня интерисует как правильно оформить
void main(void)
{
while (1)
{
if (mode==0){//ВЫБОР РЕЖИМА
delay_ms (50);//выдержка времени 0,05 сек для подавления дребезга
Чтото сюда написать чтоб возникло прерывание
};
}
mode- это та самая злая кнопка.
Как сделать прерывание по изменению состояния пина.
Если такая конструкция не возможна то и точка тема закрыта.
Если такая конструкция возможна то как ее правильно сделать.
7Fantomas7 вне форума  
Непрочитано 06.07.2010, 17:54  
Halex07
Супер-модератор
 
Аватар для Halex07
 
Регистрация: 03.05.2007
Сообщений: 2,693
Сказал спасибо: 28
Сказали Спасибо 4,526 раз(а) в 956 сообщении(ях)
Halex07 на пути к лучшему
По умолчанию Re: Прерывания в прерываниях ATmega8

Фантомасу, я тебя и здесь достану. Проще самому расписать.
Вот чего я от тебя добивался - посмотри вложение. Нету делеев а задержка есть и можно выставить любую до 255 циклов отработки таймера 0 и опрос кнопок в прерывании. Туда же запихнешь и индикацию свою. А уж обработку кнопок можно и в основном цикле оставить, а можно и функциями сделать, это как соль и перец - по вкусу.
Вложения:
Тип файла: rar BUTTON.rar (53.1 Кб, 105 просмотров)
Halex07 вне форума  
Сказали "Спасибо" Halex07
E_C_C (12.01.2012)
Непрочитано 06.07.2010, 17:57  
baiderin
Почётный гражданин KAZUS.RUN
 
Аватар для baiderin
 
Регистрация: 10.12.2007
Адрес: Екатеринбург
Сообщений: 2,739
Сказал спасибо: 2,487
Сказали Спасибо 897 раз(а) в 584 сообщении(ях)
baiderin на пути к лучшему
По умолчанию Re: Прерывания в прерываниях ATmega8

Кнопка LESS подключена к пину, который может вызывать внешнее прерывание INT0.
MODE- прерывание не сделать,третья кнопка, если сильно извратиться-то можно.
baiderin вне форума  
Непрочитано 06.07.2010, 18:00  
baiderin
Почётный гражданин KAZUS.RUN
 
Аватар для baiderin
 
Регистрация: 10.12.2007
Адрес: Екатеринбург
Сообщений: 2,739
Сказал спасибо: 2,487
Сказали Спасибо 897 раз(а) в 584 сообщении(ях)
baiderin на пути к лучшему
По умолчанию Re: Прерывания в прерываниях ATmega8

Ему нужны только прерывания- и ничего больше.
baiderin вне форума  
Непрочитано 06.07.2010, 18:04  
baiderin
Почётный гражданин KAZUS.RUN
 
Аватар для baiderin
 
Регистрация: 10.12.2007
Адрес: Екатеринбург
Сообщений: 2,739
Сказал спасибо: 2,487
Сказали Спасибо 897 раз(а) в 584 сообщении(ях)
baiderin на пути к лучшему
По умолчанию Re: Прерывания в прерываниях ATmega8

"BUTTON.rar"- любопытно.
baiderin вне форума  
Непрочитано 06.07.2010, 18:15  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: Прерывания в прерываниях ATmega8

Я не умею водить бронепоезд, танк и бронированный самокат. Я только еще раз скажу вам, что
Код:
void main(void)
{
while (1)
{
if (mode==0){//ВЫБОР РЕЖИМА
delay_ms (50);//выдержка времени 0,05 сек для подавления дребезга
Чтото сюда написать чтоб возникло прерывание
};
}
вот это принципиально неверно. Если вы проверяете пин и по изменению на нем хотите что-то сделать - ЭТО НЕ ПРЕРЫВАНИЕ. Прерывание не возникает "вот здесь". Оно на то и прерывание, что может возникнуть (прервать работу программы) где и когда угодно.

Хотя, если очень захотеть, можно вызвать прерывание и "вот тут" - например, создать условие для него (выставить флаг" и после этого разрешить это прерывание. Запрещено прерывание INT0, INT0 настроено на спад, линию INT0 перевести в 0, и разрешить INT0.

Но, простите, зачем такой изврат? Не проще ли вызвать нужную процедуру?
__________________
[ жизнь приятна и красива, если выпить литр пива ]

Последний раз редактировалось nml; 06.07.2010 в 18:19.
nml вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прерывания ATMega8 7Fantomas7 Микроконтроллеры, АЦП, память и т.д 21 03.07.2010 10:41
ATMega8 VS USB SkyProc Микроконтроллеры, АЦП, память и т.д 28 28.04.2010 17:01
Вложенные прерывания HITECH PIC16 picavr Микроконтроллеры, АЦП, память и т.д 17 07.03.2010 17:39
Вход в прерывания для PIC микроконтроллеров dimmich Микроконтроллеры, АЦП, память и т.д 4 06.12.2009 17:17
Котроллер дисплея на Atmega8 kosant Микроконтроллеры, АЦП, память и т.д 24 30.11.2009 20:57


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


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