Мазмұны:

Pic18f4520 протоколында 7 сегменті бар секундомер: 6 қадам
Pic18f4520 протоколында 7 сегменті бар секундомер: 6 қадам

Бейне: Pic18f4520 протоколында 7 сегменті бар секундомер: 6 қадам

Бейне: Pic18f4520 протоколында 7 сегменті бар секундомер: 6 қадам
Бейне: 16. Управление светодиодными (LED) индикаторами микроконтроллерами PIC16F84A (Урок 13. Теория) 2024, Қараша
Anonim
7 сегменті бар Proteus -та Pic18f4520 қолданатын секундомер
7 сегменті бар Proteus -та Pic18f4520 қолданатын секундомер

Мен фото контроллермен жұмыс жасай бастадым, менің бір досым одан секундомер жасауды өтінді. Сондықтан менде бөлісетін аппараттық кескін жоқ, мен Proteus бағдарламалық жасақтамасында код жаздым және оны модельдедім.

мұнда мен сол үшін схеманы бөлістім.

үш айнымалы миллисекунд, секунд, минут анықталады

мұнда біз 10 мс таймер үзілісін қолдандық, әр 1000 миллисекунд үшін секундтық айнымалы артады, әр 60 секунд сайын айнымалы өседі.

1 -қадам: Қажетті заттар

1 pic18f4520 контроллері

2 жеті сегментті дисплей

3 bc547 транзисторы

Бастауға/тоқтатуға/қалпына келтіруге арналған 4 қосқыш

5 резистор 330E, 10K, 1K

Https://www.mikroe.com/mikroc-pic үшін 6 микроК жүктеу

7 протеусын жүктеу

2 -қадам: код логикасы және дисплей

Код логикасы мен дисплейі
Код логикасы мен дисплейі
Код логикасы мен дисплейі
Код логикасы мен дисплейі

Жеті сегментті дисплей (SSD) - кең таралған, арзан және қарапайым дисплейдің бірі. Жоғарыда сияқты.

мұнда біз 7 сегментті дисплейдің жалпы катодты түрін қолдануымыз керек - SSD -дің жалпы катодында барлық светодиодтардың –ve терминалы әдетте «COM» түйреуішіне қосылады. Сәйкес жарықдиодты сегментке '1' берілгенде және жерге ортақ қосылғанда сегментті жарықтандыруға болады. Ішкі элементтер 2 суретте келтірілген.

3 -қадам: Микроконтроллермен дисплей жүргізу

Микроконтроллермен жүргізуші дисплейі
Микроконтроллермен жүргізуші дисплейі

Мен өз тізбегімде NPN BC547 транзисторын қолдандым.

BJT-ді коммутатор ретінде қарапайым қолдану үшін эмитент-коллекторлық түйіндер базалық терминалда кіріс сигналы болғанда қысқарады, әйтпесе ол ажыратылады. Кіріс қолайлы резистор арқылы берілуі керек.

4 -қадам: Неліктен мультиплекстеу керек?

Көбінесе біз екі, үш немесе одан да көп SSD дискілерін қолдануымыз керек, және бұл тек бір ғана MCU -ды қолданады, бірақ бізде бір мәселе - MCU -де енгізу -шығару түйреуіштерінің болмауы, себебі бір SSD 8 істікшені қажет етеді, сондықтан үш SSD 24 түйреуішті алады. 18 суретте бізде тек 48 енгізу -шығару түйреуі бар. Сонымен, оның шешімі қандай?

Мүмкіндіктердің бірі - біз енгізу -шығару түйреуіштері бар үлкен MCU қолданамыз. Бірақ содан кейін біз қолдана алатын ең көп дегенде 3 SSD дискімен шектелеміз. Бұл мәселенің тағы бір жақсы және ұсынылған шешімі - жеті сегментті дисплейлерді мультиплекстеу.

Уикипедия былай дейді: «Телекоммуникация мен компьютерлік желілерде мультиплексинг (сонымен бірге muxing деп те аталады) - бұл бірнеше аналогтық хабар сигналдарын немесе цифрлық деректер ағындарын ортақ тасымалдаушы арқылы бір сигналға біріктіру әдісі. Мақсаты-қымбат ресурспен бөлісу. 'Біз жеті сегментті дисплейді мультиплекстеуде нені білдіреміз, біз барлық SSD дискілерінде дисплей беру үшін тек 7 шығыс портты қолданатын боламыз.

5 -қадам: Бұған қалай жетуге болады?

Мұнда біз «Көрудің тұрақтылығын» қолданамыз. Енді сізде бұл термин бұрыннан болуы керек. Иә, бұл кинематографияда қолданылатын әдіс (суреттер соншалықты тез көрсетіледі, біздің миымыз қатарынан екі суреттің арасындағы айырмашылықты ажырата алмайды). Дәл осылай, біз бірнеше SSD -ді жібергенде, біз бір уақытта бір ғана SSD дискіні көрсетеміз және олардың арасында тез ауысамыз, біздің миымыз оларды ажырата алмайды.

Айталық, әр дисплей бір уақытта 5 миллисекундқа ғана белсенді, яғни секундына 1/0.0045 рет жанады, бұл шамамен 222/секундқа тең. Біздің көзіміз өзгерісті тез сезіне алмайды, сондықтан барлық дисплейлер бір уақытта жұмыс істейтінін көреміз. Аппараттық құралдарда не болып жатыр, MCU түйреуішке '1' береді (есіңізде болсын, BJT негізіне '1' қою Коллектор мен эмиттер түйінін қысқартады?), Ол транзистордың негізіне қосылған. сәйкес дисплейлер «ON» портын 5 миллисекундқа ұстап тұрады, содан кейін оны қайтадан өшіреді. Бұл процедура шексіз циклге қойылады, осылайша біз дисплейді үздіксіз көреміз.

6 -қадам: мультиплекстеу алгоритмі

Мультиплексинг алгоритмі
Мультиплексинг алгоритмі

Кодта екі портты анықтаңыз, біреуі сегменттік деректер портына және сегментті басқару портына.

мұнда сіз барлық 7 сегментте деректерді көрсетесіз. және сол деректерді көрсету керек бір басқару түйреуішін іске қосыңыз. деректерді өзгерту және басқару түйреуішін ауыстыру.

Бұл нұсқаулықта біз 6 таңбалы мультиплекстеуді қолдандық, оған қоса берілген c файлын өтіңіз және сіз оны тазартасыз.

Ұсынылған: