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

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

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

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

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

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


 
Опции темы
Непрочитано 11.12.2022, 17:29  
ew3ds
Временная регистрация
 
Регистрация: 03.03.2005
Сообщений: 52
Сказал спасибо: 9
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
ew3ds на пути к лучшему
По умолчанию Тахометр, нужна помощь.

Просьба, если можете, подправьте пожалуйста код для работы контроллера (ATtiny2313) с индикатором общим катодом. Инструмент для компилирования и протеус для симуляции имеется, а вот грамоты в программировании нет.
Вложения:
Тип файла: rar Тахометр.rar (99.8 Кб, 0 просмотров)
Реклама:
ew3ds вне форума  
Непрочитано 12.12.2022, 03:21  
j-Roger
Гражданин KAZUS.RU
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 709
Сказал спасибо: 363
Сказали Спасибо 795 раз(а) в 370 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: Тахометр, нужна помощь.

ew3ds, попробуйте заменить в проекте файл 7seg.c на тот, что в архиве во вложении:7seg.zip
P.S. Предварительно сохраните где-нибудь оригинальный файл 7seg.c

P.P.S.
Чтобы на табло с общим катодом появлялись "прочерки", когда это предусмотрено в программе, нужно в файле main.c в обработчике прерывания ext_int0_isr() заменить фрагмент кода :
Код:
...
if(TIFR&0x80)
{
	start=0;
	SBI(TIFR,TOV1);
	process=0;
	NUM_PORT=ALL_NUM;
	CHR_PORT=~(0x01);
}
	...
на вот такой:
Код:
if(TIFR&0x80)
{
	start=0;
	SBI(TIFR,TOV1);
	process=0;
	CHR_PORT=0x01;
	CBI(NUM_PORT,NUM_1);
	CBI(NUM_PORT,NUM_2);
	CBI(NUM_PORT,NUM_3);
	CBI(NUM_PORT,NUM_4);
}
Успехов!

Последний раз редактировалось j-Roger; 12.12.2022 в 21:41. Причина: Добавлены изменения в файле main.c
j-Roger вне форума  
Сказали "Спасибо" j-Roger
ew3ds (12.12.2022)
Непрочитано 12.12.2022, 14:15  
Signalshik2
Вид на жительство
 
Аватар для Signalshik2
 
Регистрация: 11.08.2015
Сообщений: 408
Сказал спасибо: 17
Сказали Спасибо 37 раз(а) в 28 сообщении(ях)
Signalshik2 на пути к лучшему
По умолчанию

А в CodeVisionAVR используется WinAVR или там свой компилятор(Сишный)? И в чем вообще вопрос?

"#define TIMER (TCNT1L+(TCNT1H‹‹8))" - я всегда думал, что компилятор сам это делает.

Последний раз редактировалось mike-y-k; 12.12.2022 в 18:30. Причина: 6.6
Signalshik2 вне форума  
Непрочитано 12.12.2022, 15:06  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,033
Сказал спасибо: 2,559
Сказали Спасибо 11,881 раз(а) в 5,958 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Тахометр, нужна помощь.

Сообщение от Signalshik2 Посмотреть сообщение
в CodeVisionAVR используется WinAVR или там свой компилятор(Сишный)?
Свой. С нюансами.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 12.12.2022, 16:38  
Signalshik2
Вид на жительство
 
Аватар для Signalshik2
 
Регистрация: 11.08.2015
Сообщений: 408
Сказал спасибо: 17
Сказали Спасибо 37 раз(а) в 28 сообщении(ях)
Signalshik2 на пути к лучшему
По умолчанию Re: Тахометр, нужна помощь.

Код:
#define CLR_TIMER_RPM TCNT1H=0;TCNT1L=0
- опять таже ошибка, к 16-битному регистру можно обратиться за раз:
Код:
TCNT1 = 0;
Signalshik2 вне форума  
Непрочитано 12.12.2022, 17:23  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,956
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: Тахометр, нужна помощь.

Сообщение от Signalshik2 Посмотреть сообщение
к 16-битному регистру можно обратиться за раз
Это не ошибка, это ухудшение читабельности. А компилятор как раз сделает так, как было указано - сперва старший байт, потом младший.
__________________
[ жизнь приятна и красива, если выпить литр пива ]
nml вне форума  
Непрочитано 12.12.2022, 22:07  
ew3ds
Временная регистрация
 
Регистрация: 03.03.2005
Сообщений: 52
Сказал спасибо: 9
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
ew3ds на пути к лучшему
По умолчанию Re: Тахометр, нужна помощь.

j-Roger, Благодарю за помощь, индикатор с общим катодом заработал. Кстати, я путем логического анализа, пробовал менять местами SBI и CBI, но убрать закорючку "~" я бы никогда не догадался . С main.c я позже поработаю.

Последний раз редактировалось ew3ds; 12.12.2022 в 22:11.
ew3ds вне форума  
Непрочитано 12.12.2022, 22:22  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,033
Сказал спасибо: 2,559
Сказали Спасибо 11,881 раз(а) в 5,958 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Тахометр, нужна помощь.

Сообщение от nml Посмотреть сообщение
Это не ошибка, это ухудшение читабельности.
Это универсальность и предсказуемость поведения. При неявном указании можно попасться на неожиданную подлянку компилятора, чего при явном указании быть не может (по крайней мере, очень маловероятно). По этой причине не пользуюсь фишками, типа, неявных преобразований и прочими подобными - что нормально отработает в одном компиляторе, может подло извратиться в другом. При моем подходе неожиданных ошибок гораздо меньше. Проверено гадами, ой, пардон, "годами".
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 12.12.2022, 23:17  
ew3ds
Временная регистрация
 
Регистрация: 03.03.2005
Сообщений: 52
Сказал спасибо: 9
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
ew3ds на пути к лучшему
По умолчанию

Сообщение от j-Roger Посмотреть сообщение
Чтобы на табло с общим катодом появлялись "прочерки", когда это предусмотрено в программе, нужно в файле main.c в обработчике прерывания ext_int0_isr() заменить фрагмент кода
Попробовал изменить, работают прочерки. При f\=1 прочерки ниже 950 об, при f\=2 ниже 650 об. С прочерками получается более информативно.

Код:
#define CLR_TIMER_RPM TCNT1H=0;TCNT1L=0
Код:
TCNT1 = 0;
И так и так работает. Оставил TCNT1 = 0;

Последний раз редактировалось mike-y-k; 13.12.2022 в 00:44. Причина: 6.6, 7.15
ew3ds вне форума  
Непрочитано 13.12.2022, 00:12  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,033
Сказал спасибо: 2,559
Сказали Спасибо 11,881 раз(а) в 5,958 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Тахометр, нужна помощь.

Сообщение от ew3ds Посмотреть сообщение
И так и так работает
Водку через задницу тоже можно заливать. Работает. Вот только правильно ли это?
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
 

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Люди, у кого есть АС MICROLAB H 600 или H 500,пожалуйста отзовитесь, нужна помощь Lesha2222 Аудиотехника 1 30.01.2014 21:44
Hantek 3064A ремонт (нужна помощь) Kulibin1234 Измерительное оборудование 0 21.10.2013 14:16
Нужна помощь в ремонте инвертора 373niko Источники питания и свет 10 06.09.2009 21:13
Нужна помощь!!! ШД -> UNL2003A -> PIC16F84A xxxmonejall Микроконтроллеры, АЦП, память и т.д 10 04.08.2009 00:02
Нужна помощь профессионала! romstal Аудиотехника 7 23.02.2009 15:19


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot