www.kn34pc.com

Форум на силистренските радиолюбители
Дата и час: 23 Ное 2017, 13:19

Часовете са според зоната UTC + 2 часа




Напиши нова тема Отговори на тема  [ 2 мнения ] 
Автор Съобщение
МнениеПубликувано на: 16 Окт 2017, 16:58 
Offline
Аватар

Регистриран на: 07 Дек 2006, 17:24
Мнения: 746
Местоположение: Силистра
В схема към честотомер на RA4NAL ( http://ra4nal.qrz.ru/chlcd16.shtml, viewtopic.php?f=19&t=940 ) ми прави впечатление, че няколко извода (PB4, PB5, PB6) на PIC16F628A са едновременно входове (за бутони) и изходи (за LCD дисплей).

Ясно е, че функциите са мултиплексирани по време и ще е псевдо-едновременно действието им, но ми се ще с Arduino (ATMEGA328) това задание също да мога да изпълня, когато е необходимо. Възможно ли е това?

Досега в setup съм конфигурирал извод или като вход, или като вход с pull-up резистор, или като изход:
Код за потвърждение:
pinMode(IZV_1, INPUT);
...
pinMode(IZV_2, INPUT_PULLUP);
...
pinMode(IZV_3, OUTPUT);

Въпросът е без конкретно приложение и ще е вариант за решение тогава, когато броя на свободните неконфигурирани изводи "започнат да свършват" :smile
Прикачени файлове:
chlcd16_sb_cr.gif
chlcd16_sb_cr.gif [ 14.34 KiB | Прегледано 47 пъти ]

---
PS. Още една конструкция с PIC микроконтролер, отново извод е вход-изход ...
Очень простые часы на PIC-контроллере: http://radioshem.net/index.php?newsid=172
Прикачени файлове:
1426887822_01.jpg
1426887822_01.jpg [ 71.05 KiB | Прегледано 46 пъти ]


Върнете се в началото
 Профил  
 
МнениеПубликувано на: 17 Окт 2017, 21:19 
Offline
Аватар

Регистриран на: 07 Дек 2006, 17:24
Мнения: 746
Местоположение: Силистра
Първо скоростно решение:

Изпозлвайки таймера, със 100 Hz назначавам извод 10 за вход и след това: за изход.

Когато е вход проверявам дали е активиран към земя.
Когато е изход изпълянвам Т-тригерна функция, привързана към бутона (вкл/изкл)

R1 е ограничителен резистор за тока през светодиода.
R2 осигурява +5V при "вход" (иначе падението в светодиода е 1,6V-1,8V).
R3 e "защитен" резистор за изхода, при условие, че се "засекат" изход +5V и "земя" от бутона.

Да се има предвид импулсния характер на сигнала в изхода (светодиодът мига (ок. 100 Hz, настройва се) и е с коеф. на запълване 50/50. Първата ми хрумнала идея е изхода през резистор и с кондензатор към земя да управлява база на PNP транзистор).

Реалното поведение на светодиода е макс. светене при натиснат бутон и с намалена сила: при активиран извод 10 (в случая - "земя").

Това решение ми е приложимо засега.
Ако има други идеи, споделете. :wink


Прикачени файлове:
pin_in_out_01.GIF
pin_in_out_01.GIF [ 35.81 KiB | Прегледано 37 пъти ]
pin_in_out_01.jpg
pin_in_out_01.jpg [ 481.84 KiB | Прегледано 37 пъти ]
pin_in_out_01.zip [553 Байта]
4 пъти
Върнете се в началото
 Профил  
 
Покажи мненията от миналия:  Сортирай по  
Напиши нова тема Отговори на тема  [ 2 мнения ] 

Часовете са според зоната UTC + 2 часа


Кой е на линия

Потребители, разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Форумът се задвижва от phpBB® Forum Software © phpBB Group
Преведено от yarnaudov.com