Evgeny
Участник-
Постов
19 -
Зарегистрирован
-
Посещение
Репутация
0 ОбычныйИнформация о Evgeny
-
Звание
Участник
Информация
-
Город
Array
Посетители профиля
-
Галетный переключатель
Evgeny ответил Evgeny тема в Интерфейсы
Хм, только сейчас меня посетила мысль, что нужно использовать инверторы 74HC14. По цоколовке они такие же, а на входе есть триггер Шмитта. Это здорово должно помочь. -
Галетный переключатель
Evgeny ответил Evgeny тема в Интерфейсы
Это чисто домашний любительский проект. Да и кодинг для меня - хобби, т.е. уровень соответствующий. Потому мне и выгоднее немного уложнить схемотехнику, упростив при этом программу. -
Галетный переключатель
Evgeny ответил Evgeny тема в Интерфейсы
Нет, полностью устраивает. Всего-то три копеечных микры и несколько квадратных см тектолита. -
Галетный переключатель
Evgeny ответил Evgeny тема в Интерфейсы
Спасибо, конечно, за ответ, то мне такой метод не подходит. Во-первых, я уже изготовил печатку, а во-вторых - мне удобнее и проще сразу считать BCD-код через порт. 🙂 -
Галетный переключатель
Evgeny опубликовал тема в Интерфейсы
Здравствуйте. 😀 Мне нужно с помощью МК определять замкнутый контакт галетника. Решил применить микросхему-шифратор. Набросал схемку, спаял. Если что - резистивные делители и инверторы нужны для согласования, т.к. с галетника в моем случае приходит +12В, а активный вход 555ИВ3 выбирается нулем. Выходы шифратора читаю по прерыванию таймера, отбрасывая при этом состояния, когда они все в 1, т.е. ни один из входов не активен. Такой метод работает, ложных срабатываний не получаю. Но у меня сомнения - а не нужно ли здесь применять еще и софтовое подавление дребезга? На первый дилетантский взгляд, мне кажется, что не нужно, т.к. дребезг уже фильтруется проверкой на 0x0F, а по-другому он здесь не проявляется. Что скажут уважаемые профессионалы? Я правильно думаю? -
Арифметика 8051 MCU
Evgeny ответил Evgeny тема в MCS51, AVR, PIC, STM8, 8bit
Благодарю ответивших! Наверное, так и придется пробовать опытным путем замерять скорость вычислений по разным методам. -
Арифметика 8051 MCU
Evgeny опубликовал тема в MCS51, AVR, PIC, STM8, 8bit
Всех приветствую! Я делаю (во всяком случае, пытаюсь) генератор + ГКЧ на связке Silabs Si570 и МК C8051F310. Методику расчета делителей для вывода частоты я освоил, читать-писать регистры сишки научился. Сейчас у меня возник вопрос по конкретной реализации кода для 8051. Господа из Силабса дают вот такой образец программы для демонстрации работы генератора. Переменные для хранения частот и значения множителя опорника RFREQ у них использованы типа float (т.к. double вообще не поддерживается этим МК). В итоге получается некоторая потеря точности. У меня лично есть идея взять за основу линуксовый драйвер https://github.com/torvalds/linux/blob/master/drivers/clk/clk-si570.c Там все типы данных целочисленные, но нужно будет делить числа типа u64 друг на друга. Скажите, пожалуйста, - такую математику есть смысл применять на 8051 или же вычисления будут слишком медленные? Мне ведь частоту нужно будет "на лету" перестраивать. Или же метод вычислений от производителя правильнее? -
Динамический опрос клавиатуры
Evgeny ответил Evgeny тема в MCS51, AVR, PIC, STM8, 8bit
Да, с английским дружу. Изучу материал. Правда, мне попадался подобный, только более "дубовый" метод от Cypress. https://www.infineon.com/dgdl/Infineon-AN2034_PSoC_1_Reading_Matrix_and_Common_Bus_Keypads-ApplicationNotes-v07_00-EN.pdf?fileId=8ac78c8c7cdc391c017d073254b85689 -
Динамический опрос клавиатуры
Evgeny ответил Evgeny тема в MCS51, AVR, PIC, STM8, 8bit
Ок, учту. -
Динамический опрос клавиатуры
Evgeny ответил Evgeny тема в MCS51, AVR, PIC, STM8, 8bit
Проект находится на ранней-ранней стадии. У меня чисто хоббийный уровень. Я многого не знаю и изучаю параллельно возникающим проблемам. Пока сделана только индикация переменной, энкодер и опрос клавиш. В основном цикле main проверка флагов нажатия новой клавиши и переключения энкодера. Сами процедуры опроса именно в обработчике. "Синтезаторную" часть вообще еще не трогал. Да, кажется, я понял свою ошибку. Буду переделывать. Попробую вынести функции в основной цикл. Спасибо еще раз. И извиняюсь за глупые вопросы. -
Динамический опрос клавиатуры
Evgeny ответил Evgeny тема в MCS51, AVR, PIC, STM8, 8bit
У меня изначально почти так и сделано, см. первое сообщение. Наверное, нужно подробно описать что за девайс я делаю. Это генератор с функцией качания частоты на микре Si570, МК я уже писал какой используется - C8051F310. Ввод частоты я хочу сделать прямой (с клавиатуры) + механический энкодер. Вывод на семисегментный индикатор. Переключение частот при качании + управление ЦАПом для генерации пилы явно нужно делать по прерыванию таймера. Вот я и думаю, что запихивать динамическую индикацию + опрос кнопок + управление синтезатором в обработчик прерывания по таймеру будет не совсем правильно. Наверняка временнЫе интервалы тогда не будут выдерживаться. Вот мне и нужна помощь с алгоритмом - как грамотно распределить управление всем этих хозяйством. -
Динамический опрос клавиатуры
Evgeny ответил Evgeny тема в MCS51, AVR, PIC, STM8, 8bit
Я планирую сразу же запрещать внешнее прерывание и запускать счетчик. А уж после того, как дребезг пройдет и опрос клавиш проведен, разрешать его вновь. Так тоже некорректно будет? -
Динамический опрос клавиатуры
Evgeny ответил Evgeny тема в MCS51, AVR, PIC, STM8, 8bit
Спасибо за разъяснения. Тогда, пожалуй, переделаю под опрос по INT0, а по прерыванию таймера у меня будет выполняться только динамическая индикация. -
Динамический опрос клавиатуры
Evgeny ответил Evgeny тема в MCS51, AVR, PIC, STM8, 8bit
Благодарю всех ответивших! Не совсем ясно про опрос клавиатуры в основном цикле. Получается, просто бесконечно выполняем сканирование? И еще вопрос - а на сколько жизнеспособен метод опроса с внешними прерываниями? Взять элемент 4И-НЕ, подключить к столбцам клавиатуры, выход на INT0. При изменении состояния любой кнопки генерируется прерывание. Отключаем INT0, запускаем счетчик, чтобы переждать дребезг, потом опрашиваем клавиатуру. Делают так на практике в реальных конструкциях? Мне достаточно лишь различать короткое и длительное нажатие, не более того. -
Динамический опрос клавиатуры
Evgeny ответил Evgeny тема в MCS51, AVR, PIC, STM8, 8bit
У меня Silabs C8051F310 используется. Так что РТОС здесь отпадает. ))) А за пример кода спасибо, попробую разобраться.