Buncle

Кнопки И Ат89с*051 .

18 posts in this topic

Buncle    1

Ответьте пожалуйста как приделать кнопки к АТ89С*051 . Нужно именно описание , как это сделать , и желательно кусок программы . На форуме Радио-Кот мне почему-то пишут мол "Такая тема уже была , и посылают к AVR'щикам " :angry: , а мне нужно именно для 51 семейства .

Заранее спасибо . :rolleyes:

51-ые самые лучшие и не глючные контроллеры :)

Edited by Buncle

Share this post


Link to post
Share on other sites
Lexi    1

А какие кнопочки? Просто несколько кнопок или кординатным способом (как в телефоне)??

Share this post


Link to post
Share on other sites

DC/DC-преобразователи MORNSUN R3. Повышенная надёжность - сниженная стоимость!

Особенностью преобразователей R3 являются улучшенные технические характеристики, повышенная надёжность и сниженная стоимость. Электрическая прочность изоляции представленных преобразователей не менее 1500 В, а температурный диапазон применения -40…105ºС.

Подробнее...

case    0
Просто несколько кнопок :rolleyes:

для нескольких кнопок:

sbit Knopka1 = P0^0;

sbit Knopka2 = P0^1;

...

for (;;)

{

if (!Knopka1) делаем что-либо;

if (!Knopka2) делаем другое;

}

Кнопка с pullup резистором и замыкается на земелю

Share this post


Link to post
Share on other sites
Migray    5
Ответьте пожалуйста как приделать кнопки к АТ89С*051.

И в чем проблема?

Настраиваешь порт на ввод (записываешь в него все "1")

Подтягиваешь порты через резисторы к "Питанию"

Кнопочки подлючаешь к "Земле"

Периодически читаешь порт, и если появился "0", значит соответствующая кнопка нажата.

Для устранения "дребезга" можно прочитать этот-же порт через какое-то время, обычно 0.1 сек, если "0" - клавиша нажата, если "1" - сбой

51-ые самые лучшие и не глючные контроллеры :)

51 - ядро, и на нем делают контроллеры разные фирмы. Некоторые из них безглючными не назовешь :(

А самые лучшие и безглючные - NEC, причем все ядра, и 8- и 16- и 32-разрядные

Edited by Migray

Share this post


Link to post
Share on other sites

Новые методы уменьшения дрейфа нуля в малошумящих АЦП Texas Instruments

Стабилизация с помощью двойного прерывания с двойным контролем в новых АЦП ADS1235 производства Texas Instruments позволяет снизить до минимума напряжение смещения и достичь высокой точности в измерительных цепях современных прецизионных цифровых приборов.

Подробнее...

bekor    2

Пользуясь случаем хочу задать вопрос про кнопки`

Есть матричная клава(16 кнопок) от телефота 'ИСКРА' надо подключить к АТмега8

так вот если сконфигурировать порт как вход и подтянуть половину порта

и на эту же половину подключить столбцы

а на другую половину которая не подтянута подключить строки

вопрос: будут ли нормально работать все 16 кнопок ?

если нет, то как это организовать

Share this post


Link to post
Share on other sites
Buncle    1
Пользуясь случаем хочу задать вопрос про кнопки`

Есть матричная клава(16 кнопок) от телефота 'ИСКРА' надо подключить к АТмега8

так вот если сконфигурировать порт как вход и подтянуть половину порта

и на эту же половину подключить столбцы

а на другую половину которая не подтянута подключить строки

вопрос: будут ли нормально работать все 16 кнопок ?

если нет, то как это организовать

Здесь тема про АТ89С2051 !!!

А в единицу порт устанавливать так mov px.x,#x ?

Edited by Buncle

Share this post


Link to post
Share on other sites
bekor    2
Здесь тема про АТ89С2051 !!!

Здесь тема еще и про кнопки ! :ph34r:

Share this post


Link to post
Share on other sites
Migray    5
Здесь тема про АТ89С2051 !!!

Здесь тема еще и про кнопки ! :ph34r:

Столбцы на ввод, строки на вывод или наоборот, но все равно 4 линии сканирования на вывод, остальные 4 линии на ввод. Так и конфигурируешь.

Share this post


Link to post
Share on other sites
bekor    2
Столбцы на ввод, строки на вывод или наоборот, но все равно 4 линии сканирования на вывод, остальные 4 линии на ввод. Так и конфигурируешь.

Тоесть динамический опрос клавиатуры ???

неее так не выгодно :(

может шифратор какойнить прицепить а ?

Share this post


Link to post
Share on other sites
Migray    5
Столбцы на ввод, строки на вывод или наоборот, но все равно 4 линии сканирования на вывод, остальные 4 линии на ввод. Так и конфигурируешь.

Тоесть динамический опрос клавиатуры ???

неее так не выгодно :(

может шифратор какойнить прицепить а ?

Конечно динамический. И чем это не выгодно?

Если очень хочешь, можно и шифратор прицепить, были такие микросхемы.

Или сдвиговый регистр, в него кнопки параллельно, а читать последовательно.

Только закономерный вопрос, а зачем тебе тогда собственно процессор?

Share this post


Link to post
Share on other sites
bekor    2
Только закономерный вопрос, а зачем тебе тогда собственно процессор?

Ну понимаеш ли не хочу чтоб проц всё время занимался всякой динамической ерундой

ато в одном цыкле придётся и индикацию и опрос клавы и проверка таймеров

и всякая прочая фигня...

Share this post


Link to post
Share on other sites
Migray    5
Только закономерный вопрос, а зачем тебе тогда собственно процессор?

Ну понимаеш ли не хочу чтоб проц всё время занимался всякой динамической ерундой

ато в одном цыкле придётся и индикацию и опрос клавы и проверка таймеров

и всякая прочая фигня...

Вот когда отработал индикацию и опросил клаву.

Потом опять индикация и опять клава и т.д.

За время опроса клавы индикатор если моргнет, ты и не заметишь.

А таймеры опрашивать не надо, они по прерываниям работать должны.

И вообще, чем больше устройств по прерываниям работает, тем проще, только приоритеты правильно расставь, что тебе важнее.

Мона вот так

Хороший вариант GiG, но тоже динамика, а ее автор почему-то не хочет.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Сообщения

    • Скажем, что это довольно кривоватая синусоида переменного тока частотой 50 Гц и амплитудой 35 Вольт. Такого ада на выходе БП не должно быть, такое впечатление, что вы ко вторичке трансформатора осциллограф подключаете.
      У вас кабель осциллографа оборван, либо меряете что-то не там или не так. Либо БП неисправен. 26 Вольт переменки на входе - это многовато, даже рекомендуемые автором 24 Вольта - это уже за гранью предельно допустимого для ОУ TL081. Кстати, каким образом подключается к схеме "ИИП на 2161"? Что он из себя вообще представляет?
    • ТН 61 -  220        - 1 шт, б/у   - 500 руб.   ТА1 - 127/220     -1 шт, б/у         - 250 руб. это Вы погорячились, по остальным не знаю, а такие свои давно не могу продать дешевле... И странные у Вас напряжения для радиолы, не подумали накал такой бывает 5,8 Вольт, да он ешё просядет под нагрузкой!..
    • Паспортную АЧХ 20гдс смотрели? Видели кривую АЧХ? Хорошо. А в схеме фильтра цепи коррекции видели? Нету?  Ай яй яй, какой нехороший производитель, знал про неравномерную АЧХ и ничего не поставил... зато крупно написал HI FI. Вот вам и "Звучание очень даже нравиться" В этой 35ас 018 изначально косякосячено. Чужой фильтр не поможет. Фильтр строится по конкретным параметрам головок. Снимайте все параметры и смотрите что надо исправить, тогда это будут факты а не голый субъективизм. Или поставьте головку получше. В смысле с более линейной АЧХ. Ещё в союзе 20гдс меняли на 5гдш или импорт.
    • Доброго времени суток!
      Прикупил я значит себе такой дисплей на контроллере ILI9486 с разрешением 320*480 . Нашел пример под ардуино - все замечательно. НО решил я запустить его на стмке, и получил белый экран.. 
      Этот репозиторий показывает такую информацию: readReg16(0)=0x0 readReg32(A1)=0xa1a1 readReg40(BF)=0xbfbf readReg32(D4)=0xd4d4 readReg40(EF)=0xefef readReg32(FE)=0xfefe readReg32(04)=0x4040404 readReg32(D3)=0xd3d3 Device ID: 0xD3D3 Width: 320 Height: 480 Я уже вручную добавил код инициализации с ардуиновской библиотеки:
        -- 249 -- _lcd_ID = ID; switch (_lcd_ID) { case 0x9486: _lcd_capable = AUTO_READINC | MIPI_DCS_REV1 | MV_AXIS ; static const uint8_t ILI9486_regValues[] PROGMEM = { 0x01, 0, //Soft Reset TFTLCD_DELAY8, 50, 0x28, 0, //Display Off 0xC0, 2, 0x19, 0x1a, //Power Control 1 [0E 0E] 0xC1, 2, 0x45, 0x00, //Power Control 2 [43 00] 0xC2, 1, 0x33, //Power Control 3 [33] 0xC5, 2, 0x00, 0x28, //VCOM Control 1 [00 40 00 40] 0xB4, 1, 0x02, //Inversion Control [00] 0xB6, 3, 0x02, 0x02, 0x3B, // Display Function Control [02 02 3B] #define GAMMA9486 3 #if GAMMA9486 == 0 // default LT 0xE0,15,0x1F,0x25,0x22,0x0B,0x06,0x0A,0x4E,0xC6,0x39,0x00,0x00,0x00,0x00,0x00,0x00, 0XE1,15,0x1F,0x3F,0x3F,0x0F,0x1F,0x0F,0x46,0x49,0x31,0x05,0x09,0x03,0x1C,0x1A,0x00, #elif GAMMA9486 == 1 // GAMMA f.k. bad 0xE0, 15, 0x0f, 0x31, 0x2b, 0x0c, 0x0e, 0x08, 0x4e, 0xf1, 0x37, 0x07, 0x10, 0x03, 0x0e, 0x09, 0x00, 0xE1, 15, 0x00, 0x0e, 0x14, 0x03, 0x11, 0x07, 0x31, 0xC1, 0x48, 0x08, 0x0f, 0x0c, 0x31, 0x36, 0x0f, #elif GAMMA9486 == 2 // 1.2 CPT 3.5 Inch Initial Code not bad 0xE0, 15, 0x0F, 0x1B, 0x18, 0x0B, 0x0E, 0x09, 0x47, 0x94, 0x35, 0x0A, 0x13, 0x05, 0x08, 0x03, 0x00, 0xE1, 15, 0x0F, 0x3A, 0x37, 0x0B, 0x0C, 0x05, 0x4A, 0x24, 0x39, 0x07, 0x10, 0x04, 0x27, 0x25, 0x00, #elif GAMMA9486 == 3 // 2.2 HSD 3.5 Inch Initial Code not bad 0xE0, 15, 0x0F, 0x1F, 0x1C, 0x0C, 0x0F, 0x08, 0x48, 0x98, 0x37, 0x0A, 0x13, 0x04, 0x11, 0x0D, 0x00, 0xE1, 15, 0x0F, 0x32, 0x2E, 0x0B, 0x0D, 0x05, 0x47, 0x75, 0x37, 0x06, 0x10, 0x03, 0x24, 0x20, 0x00, #elif GAMMA9486 == 4 // 3.2 TM 3.2 Inch Initial Code not bad 0xE0, 15, 0x0F, 0x21, 0x1C, 0x0B, 0x0E, 0x08, 0x49, 0x98, 0x38, 0x09, 0x11, 0x03, 0x14, 0x10, 0x00, 0xE1, 15, 0x0F, 0x2F, 0x2B, 0x0C, 0x0E, 0x06, 0x47, 0x76, 0x37, 0x07, 0x11, 0x04, 0x23, 0x1E, 0x00, #elif GAMMA9486 == 5 // 4.2 WTK 3.5 Inch Initial Code too white 0xE0, 15, 0x0F, 0x10, 0x08, 0x05, 0x09, 0x05, 0x37, 0x98, 0x26, 0x07, 0x0F, 0x02, 0x09, 0x07, 0x00, 0xE1, 15, 0x0F, 0x38, 0x36, 0x0D, 0x10, 0x08, 0x59, 0x76, 0x48, 0x0A, 0x16, 0x0A, 0x37, 0x2F, 0x00, #endif 0x20, 0, // Display Inversion OFF 0x36, 1, 0x0A, //Memory Access 0x3A, 1, 0x55, //Interlace Pixel // 0x21, 0, //Invert display !!! 0x11, 0, //Sleep Out TFTLCD_DELAY8, 50, 0x29, 0, //Display On }; init_table(ILI9486_regValues, sizeof(ILI9486_regValues)); p16 = (int16_t *) & HEIGHT; *p16 = 480; p16 = (int16_t *) & WIDTH; *p16 = 320; break; Подключения перепроверил, перемычка на стабилизаторе установлена. Пожалуйста помогите мне с этим вопросом.. P.S. Я только начинаю вникать во "взрослый" мир МК, так что по даташиту самостоятельно слепить свою либу пока не могу.
    • http://forum.vagma.ru/topic/1128-ianvar-51-podkliuchenie-takhometra-na-priborku-s-mfa/page-5 здесь в конце форума есть схема в архиве январь 5.1, тоже не увидел на схеме параллельного резистора   Добавлю, что ещё получилось. Диск вращал не в ту сторону, то есть в обратную сторону по сравнению с положением датчика на автомобиле. Сделал так, чтобы гайка при вращении затягивалась. При вращении в нужную сторону ( по часовой), обороты, при которых видятся все зубцы стали почти 2500. Думаю конденсатор попробовать на входе поменьше поставить. Первый раз когда пробовал, был конденсатор на 470 нФ и  первые зубцы на небольших оборотах не виделись, потом поставил 22 нФ.    Кстати встретил параллельный резистор на схеме только на сайте TI на странице lm1815