| Автор |
Съобщение |
|
npelov
Ранг: Почетен член
Регистриран на: Пет Яну 22, 2010 5:46 pm Мнения: 680
|
 Използване на PORTB за данни и клавиатура
Отново въпрос.
Имам PIC 16F84A. Искам да управлявам дисплей AC-082A. За него са ми необходими 8 бита данни и 3 управляващи. Това включва почти всички изходи на MCU-то. Как мога да използвам някои изходи за друго когато не изпращам данни към дисплея.
Например мога ли да използвам Enable пин-а (да речем че е RA0) да превключва в режим клавиатура/дисплей.
например:
като RA0 е 0 - RB0-RB7 са входове и MCU-то чете клавиатурата на тях.
Като RA0 e 1 - RB0-RB7 са входове или изходи в зависимост от комуникацията с дисплея, но не се влияят от клавиатурата.
Мислех си да използвам RA0 за маса на бутоните. Може би през един диод (и резистор) с катод към RA0. Т.е. когато RA0 е високо диода ще е запушен и клавиатурата няма да оказва влияние.
Понеже електрониката не ми е най силната част реших да питам дали идеята е добра.
Също така ми остават два пина - RA3 и RA4. Мисля тях да ги използвам за комуникация по I2C с друг пик.
Целта на цялата джаджа е конфигурация и проверка/наблюдение на параметри на по-прости устройства с 4 пинови PIC12.
|
| Нед Яну 24, 2010 9:58 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
И отново не си направи труда да почетеш, да се поровиш малко в гулето и т.н.
Първо - да може, виждал съм и такива изпълнения, но не ти го препоръчвам, щото докато го направиш като хората, ще дойде края на света (  )) 2012 г.)
От въпросите дотук съдя, че в близко време няма да можеш да реализираш I2C master-slave софтуерно. То хардуерно трудно се подкарва читав между пикове, камоли софтуерно.
Да не говорим че това дето си мислиш едва ли ще успееш да го натикаш в тая антика.
За тия пари поне си купи една 18-ка - 452 - ще ти стигнат пиновете и има някой друг хардуер в повече.
|
| Нед Яну 24, 2010 10:11 pm |
|
 |
|
npelov
Ранг: Почетен член
Регистриран на: Пет Яну 22, 2010 5:46 pm Мнения: 680
|
Ами малко ми е трудно да търся в гугъл в тая област - все още не съм навътре и не знам как да търся.
Колкото до софтуерно - оправям се. Бързо се уча. Минал съм през поне 10 програмни езика.
Колкото до 18 - имам един 18F452 за проба, но въпреки обещанията на http://www.sirius-pcb.com/ програматора им нещо не успя да го запише. Дадох 60 лв и като питах защо не може да пише 18-ки се покриха и вече не отговарят на skype, mail и тел.
Пък и всичко това е повече с учебна цел. Гледам да се напъвам на максимум когато ги разучавам MCU-тата за да знам до къде може да стигна. Но не само ... понякога излиза по-изгодно с някой по-ефтин. Програмата се пише веднъж, хардуера се копува многократно.
Колкото до 16F84 - взех го щото се надявах че като по-стар тоя измислен програматор ще го пише (и го пише).
Ако става на въпрос има и по-лесен начин (от 18F452) - тези неща които ще правя ги има готови. Всичките. Разликата е в цената. Готовите струват около 40 пъти повече, а това си е разлика.
ок. Да разбирам че може и да стане.
|
| Нед Яну 24, 2010 10:52 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
Ето ти една схема в която се прави "мултиплексиране" на клавиатура и LCD. Пък може и друга работа да ти свърши - аз съм си я правил и работи прилично.
http://ironbark.bendigo.latrobe.edu.au/ ... ndex2.html
Ако мислиш да се занимаваш с пикове, най-добре според мен за начало е да си набавиш PicKit2 - дали ще го купиш или ще си го направиш сам си е твоя работа. Ама не си купувай оня клонинг българския щото е сакат. В сайта на микрочип има и схемите и хексовете. Моя съм си го правил сам - ама това го писах преди няколко дена в друга тема...
|
| Нед Яну 24, 2010 11:12 pm |
|
 |
|
darkshy
Ранг: Популярен
Регистриран на: Съб Ное 28, 2009 5:50 am Мнения: 391 Местоположение: Варна
|
|
| Пон Яну 25, 2010 12:20 am |
|
 |
|
ji4ka
Ранг: Форумен бог
Регистриран на: Чет Фев 01, 2007 4:04 am Мнения: 1539
|
Стига с това Гугле, ще му стопите лагерите.
Тия Микрочипове си имат производител, а той си има ввв страничка. Не е зле първо там да се гледа - има повече неща отколкото би си помислил. Поразгледай долния линк, там някъде има описан и твоя случай с ЛЦД+бутони - схеми,програми, хексове - само да имаш желание да ги правиш и да си купуваш все от техните чипчета.
http://www.microchip.com/stellent/idcpl ... odeId=1469
|
| Пон Яну 25, 2010 12:49 am |
|
 |
|
darkshy
Ранг: Популярен
Регистриран на: Съб Ное 28, 2009 5:50 am Мнения: 391 Местоположение: Варна
|
Сори за офтопика но изведнъж попаднах на това:
http://www.best-microcontroller-project ... orial.html
Аз се записах  Всеки ден ти дава по 1 модулче  точно като за човек с малко време
Иначе на микрочип сайта е супер и от там съм взимал много полезни работи но малко се омотава човек от толкова инфо  Направо лошо ми става. Нета бъка отсякаде и са чудя откъде понапред да чета.
|
| Пон Яну 25, 2010 1:02 am |
|
 |
|
milenjs
Ранг: Форумен бог
Регистриран на: Сря Мар 08, 2006 2:12 pm Мнения: 2017 Местоположение: Котел
|
Добре де, защо не подкараш индикацията в 4 битов режим, така ще ти се освободят 4 пина които може да ги ползваш за клавиатура.
|
| Пон Яну 25, 2010 9:51 am |
|
 |
|
relsys
Ранг: Форумен бог
Регистриран на: Пет Ное 25, 2005 11:41 am Мнения: 1680
|
Че кой програматор не иска да пише 18-ки?
|
| Пон Яну 25, 2010 4:42 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
Ами аз точно техния PicKit2 clone съм държал в ръцете си и незнам пише ли или не ама е сакат - 1. Буферите и управлението на напрежението е някво измислено - няма нищо общо с оригинала. 2. Няма ги еепромите.
Направо си е минавка да се дават пари за него, щото оригинален струва 50$ а "направи си сам" излиза 20-25 лв.
|
| Пон Яну 25, 2010 6:35 pm |
|
 |
|
ji4ka
Ранг: Форумен бог
Регистриран на: Чет Фев 01, 2007 4:04 am Мнения: 1539
|
 Re: Използване на PORTB за данни и клавиатура
Всички други но НЕ и Enable пин-а на ЛЦД-то, не го мешай
Multiplexing LED Drive and 4x4 Keypad Sampling :
http://www.microchip.com/stellent/idcpl ... e=en011019
Не гледай 1:1 контролера ,а принципа на работа! В случая LED==LCD но като схема и принцип,не като софт!
|
| Пон Яну 25, 2010 7:02 pm |
|
 |
|
npelov
Ранг: Почетен член
Регистриран на: Пет Яну 22, 2010 5:46 pm Мнения: 680
|
Мерси за връзките на всички. Хареса ми идеята за 4-битовата шина. Всъщност първо опитах да подкарам дисплея на 4 битова шина. Голяма грешка - винаги се тръгва първо от по-простото. и все пак дисплея си има доста добър драйвер който се грижи за показването на всичко. изпращам му команди може би през 1/100 от времето на процесора, а през останалото тези 8 пина не се използват и ме яде отвътре
А някой чувал ли е за готов хардуерен 8 битов мултиплексор на ТТЛ нива? Не съм търсил, но би трябвало да има, нали?
|
| Нед Яну 31, 2010 9:50 pm |
|
 |
|
relsys
Ранг: Форумен бог
Регистриран на: Пет Ное 25, 2005 11:41 am Мнения: 1680
|
Ми вържи си дисплея на SPI Expander, 23S08 примерно.
|
| Нед Яну 31, 2010 10:08 pm |
|
 |
|
npelov
Ранг: Почетен член
Регистриран на: Пет Яну 22, 2010 5:46 pm Мнения: 680
|
Съвсем забравих за серията 74ххх. Има кви ли не мултиплексори и буфери. например вързах LCD дисплея и използвам данните за управление на стъпкови двигатели с 74HCT573. А клавиатурата мисля да я вържа през един паралел към сериен 74HCT165 и ако ми трябват много копчета един 74HC137 3 битов дешифратор за избор на ред - 8 реда по 8 входа - може да се вържат до 64 бутона ... на 3+2 = 5 пина.
|
| Чет Фев 25, 2010 5:20 am |
|
 |
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 3:25 pm Мнения: 5677 Местоположение: София
|
Ами дерзай ... ама си назад във времето с десетина години.
|
| Чет Фев 25, 2010 10:35 am |
|
|