Мазмұны:

Кішкентай жарықдиодты матрицалық дисплей сағаты: 8 қадам
Кішкентай жарықдиодты матрицалық дисплей сағаты: 8 қадам

Бейне: Кішкентай жарықдиодты матрицалық дисплей сағаты: 8 қадам

Бейне: Кішкентай жарықдиодты матрицалық дисплей сағаты: 8 қадам
Бейне: ЕМУ НЕ БУДЕТ РАВНЫХ! КИТАЙСКИЙ ВНЕДОРОЖНИК 2023 ГОДА УДИВИЛ (TANK 500)! УБИЙЦА LAND CRUISER 300 2024, Шілде
Anonim
Image
Image
Кішкентай жарықдиодты матрицалық дисплей сағаты
Кішкентай жарықдиодты матрицалық дисплей сағаты
Кішкентай жарықдиодты матрицалық дисплей сағаты
Кішкентай жарықдиодты матрицалық дисплей сағаты
Кішкентай жарықдиодты матрицалық дисплей сағаты
Кішкентай жарықдиодты матрицалық дисплей сағаты

Мен әрқашан 90-шы жылдардың фильмдеріндей, қарапайым функционалдылықпен жұмыс істейтін ескі жұмыс үстелі сағатын алғым келді: нақты уақыттағы сағат, күн, фондық фонды өзгерту, дыбыстық сигнал және дабыл. Сонымен, мен бір идеяны ойлап таптым: жоғарыда айтылған барлық мүмкіндіктері бар микроконтроллерге негізделген және USB арқылы жұмыс істейтін - компьютермен немесе кез келген мобильді USB зарядтау құрылғысымен. Мен оны бағдарламаланатын етіп жасауды, мәзірлер мен параметрлерді реттеуді қалағандықтан, бұл жобада MCU орналастыру сөзсіз болды. ATMEGA328P IC (әрбір Arduino Uno тақтасы тұрады) тізбектің «миы» болып таңдалды (ол туралы айтатын болсам, менде олардың көпшілігі болған). Кейбір электронды бөлшектерді RGB светодиоды, зарядталу уақытын анықтайтын чип пен түймелер сияқты біріктіру бүкіл жобаның пайда болуына мүмкіндік берді-шағын көлемді жарықдиодты дисплей жұмыс үстелінің сағаты.

Сонымен, біз жобаның мәнін ашқан соң, оны құрайық

1 -қадам: Идея

Ой
Ой

Бұрын айтылғандай, біздің құрылғыда жарықдиодты матрицаның жақсы көрінетін дисплейлері, түсі өзгеретін RGB светодиодты жарықтандырғыш, уақытты анықтайтын микросхема, ыңғайлы USB қуат блогы және шағын корпусы бар.

Құрылғының блок -схемасын бөліктер бойынша сипаттайық:

1. Электрмен жабдықтау блогы:

Құрылғы тұрақты токтың 5 вольтінде жұмыс істейтіндіктен, қоректендіру компоненті екі бөлек тізбектен тұрады:

  • Micro -USB кірісі - тікелей зарядтағыш / дербес компьютерге арналған.
  • 5V LM7805 IC негізінде кернеу реттегішінің сызықтық тізбегі.

LM7805 IC тізбегі міндетті емес, егер сіз әр түрлі қуат көзінің кіріс қолжетімділігін енгізгіңіз келмесе. Біздің құрылғыда Micro-USB PSU қолданылады.

2. Микроконтроллер блогы:

ATMEGA328P микроконтроллері бүкіл құрылғының «миы» қызметін атқарады. Оның мақсаты - барлық перифериялық схемалармен байланыс орнату, қажетті мәліметтерді беру және құрылғының қолданушы интерфейсін басқару. Таңдалған микроконтроллер ATMEGA328P болғандықтан, бізге Atmel Studio және C негізгі білімі қажет болады (схемалар мен бағдарламалау реттілігі келесі қадамдарда сипатталған).

3. Нақты уақыт сағаты схемасы:

Құрылғыдағы екінші маңызды тізбек. Оның мақсаты-кіріс және қуат көзіне тәуелді болмай, оны сақтауды талап ететін күн мен уақыт деректерін беру, яғни уақыт бойынша деректер нақты уақыт режимінде жаңартылады. RTC компонентінің уақыт / күн деректерін өзгертуді жалғастыруы үшін схемаға 3В монеталық батарея қосылады. IC - DS1302, оның жұмысы келесі қадамдарда сипатталған.

4. Кіріс интерфейсі - батырмалы қосқыштар:

Кіріс ПБ қосқыштары пайдаланушыға кіріс интерфейсін қамтамасыз етеді. Бұл қосқыштар MCU мен басқарушы құрылғы анықтайтын бағдарламада өңделеді.

5. Жарықдиодты матрицалық дисплей

Құрылғы дисплейі екі IC оралған HCMS-2902 әріптік-сандық жарықдиодты матрицалардан тұрады, олардың әрқайсысында 5х7 өлшемді кішкентай жарықдиодты матрицаның 4 таңбасы бар. Бұл дисплейлерді пайдалану оңай, 3-сымды байланыс қолдауымен және шағын көлемде-бұл жобада бізге қажет нәрсенің бәрі.

6. RGB артқы жарығы:

Түсті өзгерту артқы жарығы MCU -дан келетін PWM сигналдарымен басқарылатын сыртқы RGB LED -ге негізделген. Бұл жобада RGB светодиодында 4 түйреуіш бар: R, G, B және ортақ, мұнда R, G, B түстер палитрасы PWM арқылы MCU арқылы басқарылады.

7. Дыбыстық сигнал:

Дыбыстық сигнал ретінде дыбыстық сигнал қолданылады, негізінен дабыл үшін. BJT қосқышы дыбыстық сигналдың компонентіне жеткілікті ток беру үшін қолданылады, сондықтан оның дыбысы тірі адамды ояту үшін жеткілікті жоғары болады.

2 -қадам: Бөлшектер мен аспаптар

Бөлшектер мен аспаптар
Бөлшектер мен аспаптар

I. Электроника:

A. Біріктірілген және белсенді компоненттер:

  • 1 x ATMEGA328P - MCU
  • 2 x HCMS2902 - AVAGO дисплейлері
  • 1 x DS1302 - RTC
  • 1 x 2N2222A - BJT (NPN)

B. Пассивті компоненттер:

  • Резисторлар:

    • 5 x 10K
    • 1 x 180R
    • 2 x 100R
  • Конденсаторлар:

    • 3 x 0.1uF
    • 1 x 0.47uF
    • 1 x 100uF
    • 2 x 22pF
  • 1 x 4 істікшелі RGB жарық диоды
  • 1 x дыбыстық сигнал
  • 1 х 32.768 кГц кристалл

C. Қосқыштар:

  • 1 x Micro-USB қосқышы
  • 2 x 6 істікшелі стандартты қадам (100 миль) қосқыш.
  • 2 x 4 істікшелі стандартты қадам (100 миль) қосқыш.
  • 1 x Монеталық ұяшықтан жасалған батарея корпусы.

D. Әр түрлі:

  • 3 x SPST батырмалы қосқыштары
  • 1 х 3В монеталық батарея.

E. Қосымша PSU:

  • 1 x LM7805 - Сызықтық реттегіш
  • 2 x 0.1uF қақпағы
  • 2 x 100uF қақпағы

II. Механикалық:

  • 1 x Пластикалық корпус
  • 4 x Резеңке бекітпелер
  • 1 x прототипті дәнекерлеу тақтасы
  • 1 x MCU тақырыбы (микроконтроллер істен шыққан жағдайда)
  • 2 х 8 мм шағын болттар
  • 2х8 мм жуғыштар

III. Құралдар мен материалдар:

  • Дәнекерлеу сымдары
  • Кішірейтетін түтіктер
  • Пісіру қалайы
  • Пісіру темірі
  • Кескіш
  • Плиер
  • Пинцет
  • Бұрғылау биттері
  • Шағын өлшемді файл
  • Әр түрлі бұрағыштар
  • Штангенциркуль
  • Мультиметр
  • Нан тақтасы (міндетті емес)
  • Micro USB кабелі
  • Орташа өлшемді файл
  • Ыстық желім мылтығы
  • AVR ISP бағдарламашысы

IV. Бағдарламалау:

  • Atmel Studio 6.3 немесе 7.0.
  • ProgISP немесе AVRDude
  • Microsoft Excel (дисплей символдарын құруға арналған)

3 -қадам: Схеманың сипаттамасы

Схеманың сипаттамасы
Схеманың сипаттамасы

Схеманың жұмысын түсінуді жеңілдету үшін схемалық қадам жеті кіші топқа бөлінеді. Сіз желілік атаулардың схемалық бетте анықталғанын, сонымен қатар құрылғының жеке қосалқы тізбектері арасындағы байланысты анықтайтынын ескеруіңіз керек.

A. Негізгі компоненттер тақтасы:

Бұрын айтылғандай, біз құрылғының ішінде болғымыз келетін барлық сәйкес тізбектер бір прототип тақтасына орналастырылған. Негізгі тақтаның орналастырылған тізбектерінің жұмысын түсіндіруге көшейік:

1. Микроконтроллер тізбегі:

Бұл жобада қолданылатын MCU - ATMEGA328P. Ол сыртқы 5В қуат көзінен қуат алады, бұл жағдайда - микро USB қосқышы. Барлық тиісті енгізу -шығару түйреуіштері дизайн талаптарына сәйкес қосылған. Порттарды енгізу -шығару картасын түсіну оңай, өйткені барлық желілік атаулар дәл бағдарламалау кезеңінде қолданылатындай анықталады. MCU -да қарапайым RC қалпына келтіру схемасы бар, ол бағдарламалау жүйесінде де, қуат инициализациясында да қолданылады.

MCU -ның шешуші бөлігі - бұл бағдарламалау схемасы. 6 істікшелі бағдарламалау қосқышы бар - J5, VCC, GND және RESET желілері сыртқы провайдер бағдарламашысына және негізгі компоненттер тақтасына ортақ екеніне көз жеткізіңіз.

2. Нақты уақыттағы сағат тізбегі:

Келесі схема - бұл жобаның негізгі перифериялық бөлігі. DS1302 - бұл біздің өңдейтін қондырғымызға өңделген уақыт пен күннің мәнін қамтамасыз ететін тұрақты зарядты уақытты бақылау IC. DS1302 MCU-мен 3 сымды SPI байланысына ұқсас 3 сымды интерфейс арқылы келесі жолдарда байланысады:

  • RTC_SCK (Шығу): SDO желісінде берілетін деректерді жүргізуді және іріктеуді орындайды.
  • RTC_SDO (I/O): Деректерді қозғаушы желі. Уақыт/күн деректері қабылданған кезде MCU -ға кіріс ретінде және деректерді беру кезінде шығу ретінде әрекет етеді (Қосымша түсініктеме алу үшін Programming Essentials қадамын қараңыз).
  • RTC_CE: (Шығу): Деректерді беруді қосу желісі. MCU жоғары орнатқанда, деректер жіберуге/алуға дайын болады.

DS1302 тізбектің тиісті әрекеті үшін сыртқы 32.768 кГц кристалды осцилляторды қажет етеді. Электр тізбегін санау жүйесінде үлкен ауытқуды болдырмау үшін (интегралды схемалардың бұл түрінде дрейф құбылыстары мүмкін емес) әрбір кристалды түйреуішке екі калибрлеуші конденсаторды орналастыру қажет (схемада X1, C8 және C9 бөліктерін қараңыз). 22pF бұл жобада уақытты сақтау бойынша көптеген эксперименттерден кейін оңтайлы мән болды, сондықтан тізбекті толығымен дәнекерлеп жатқанда, бұл конденсаторларды басқа мәндермен алмастыру мүмкіндігі бар екеніне көз жеткізіңіз. Бірақ шағын тақталар үшін 22pF өте аз дрейфте жақсы жұмыс істеді (айына 7 секунд).

Бұл тізбектегі соңғы, бірақ кем емес компонент-3В монеталық батареяны тақтаға DS1302 IC-ге жеткілікті энергия беру үшін орналастыру керек, осылайша ол уақытты санау жұмысын жалғастырады.

4. 8 таңбалы LED матрицасы:

Құрылғы дисплейі RTC схемасының DS1302 ұқсас 3 сымды интерфейсі арқылы бағдарламаланған 2 х 4 таңбалы жарықдиодты матрицалық дисплейлерге негізделген, айырмашылығы жоқ, бұл деректерді беретін желі (SDI) MCU шығысы ретінде анықталады (егер сіз қосқыңыз келмесе) дисплей тізбегінің күйін тексеру мүмкіндігі). Дисплейлер 3-сымды сериялы кеңейтілімде біріктірілген, сондықтан екі ИК де бір дисплей құрылғысы ретінде әрекет етеді, мұнда оны барлық дисплей таңбаларының анықтамасы үшін бағдарламалау мүмкіндігі бар (SPI серияларының комбинациясын қараңыз). Электр тізбегінің барлық таза атаулары MCU сәйкес қосылымдарына сәйкес келеді - дисплейлер арасында байланыс орнататын ортақ желілер бар екенін ескеріңіз, және дисплейлік коммуникациялық интерфейстердің екеуін де MCU -ға қосудың қажеті жоқ. Бағдарламалау мен кейіпкерлерді құру реттілігі келесі қадамдарда анықталады.5. Пайдаланушы интерфейсінің схемасы:

Қолданушы интерфейсі екі кіші топқа бөлінеді-Кіріс және шығыс жүйелері: Кіріс жүйесі: Құрылғының өзі логиканы ЖОҒАРЫ немесе ТӨМЕН басқару үшін қосымша тартқыш резисторлары бар SPST үш батырмалы қосқышы ретінде анықталған пайдаланушының кірісін қамтамасыз етеді. MCU. Бұл қосқыштар барлық бағдарламаланған алгоритмнің басқару жүйесін қамтамасыз етеді, себебі уақыт/күн мәндерін, мәзірді басқаруды және т.б. реттеу қажет.

6. Шығару жүйесі:

A. Дабыл сигналы екі күйде де дыбыс шығаруды қамтамасыз етеді, мәзірді ауыстыру дыбысты және дабыл алгоритмін қабылдайды. NPN транзисторы қосқыш ретінде пайдаланылады, ол сигналға жеткілікті ток береді, бұл оны тиісті қарқындылықта дыбыс шығарады. Дыбыстық сигнал MCU бағдарламалық қамтамасыз етуімен тікелей басқарылады. B. RGB жарықдиодты құрылғының артқы жарығы ретінде қолданылады. Оны тікелей MCU басқарады, артқы жарығын таңдаудың төрт нұсқасы бар: ҚЫЗЫЛ, ЖАСЫЛ, КӨК, PWM немесе ӨШІРУ режимдері. LED R, G және B түйреуіштеріне тізбектей қосылған резисторлардың әр түрлі мәні бар екенін ескеріңіз, өйткені әр түстің тұрақты токта әр түрлі қарқындылығы болады. Жасыл және көк жарық диодтары үшін қызыл түс қарқындылығы сәл жоғары болған кезде бірдей сипаттамалар бар. Қызыл жарық диодты қарсылықтың үлкен мәніне қосылады - бұл жағдайда: 180 Ом (RGB светодиодты түсіндіруді қараңыз).7. Қосқыштар:

Дисплей, RGB светодиоды, қуат кірісі мен батырмалы қосқыштар және негізгі тақта сияқты сыртқы интерфейс компоненттері арасындағы байланысты қамтамасыз ету үшін қосқыштар негізгі тақтаға орналастырылған. Әр коннектор әр түрлі схемаға арналған, осылайша құрылғы құрастыру күрделілігі күрт төмендейді. Схемада көріп отырғаныңыздай, әрбір коннектор торының тәртібі міндетті емес және егер ол сымды қосуды едәуір жеңілдетсе, оны ауыстыруға болады. Схеманың барлық түсініктерін қарастырғаннан кейін келесі кезеңге өтейік.

4 -қадам: дәнекерлеу

Дәнекерлеу
Дәнекерлеу
Дәнекерлеу
Дәнекерлеу
Дәнекерлеу
Дәнекерлеу

Мүмкін, кейбіреулер үшін бұл бүкіл жобадағы ең қиын қадам. Құрылғының жұмысын тезірек жеңілдету үшін дәнекерлеу процесі келесі ретпен аяқталуы керек:

1. MCU және бағдарламалау коннекторы: ақаулық жағдайында MCU IC ауыстыру үшін MCU орнына 28 істікшелі үстіңгі бөлікті дәнекерлеу ұсынылады. Құрылғыны бағдарламалауға және қосуға болатынына көз жеткізіңіз. PIN кодының жапсырмасын бағдарламалау коннекторына қою ұсынылады (Үшінші суретті қараңыз).

2. RTC схемасы: барлық қажетті бөлшектерді дәнекерлегеннен кейін, калибрлеуші конденсаторларды ауыстыру оңай екеніне көз жеткізіңіз. Егер сіз 3В монеталық ұялы батарея корпусын қолданғыңыз келсе - оның құрылғы корпусының өлшемдеріне сәйкес келетініне көз жеткізіңіз.

3. Дисплей: Бөлек өлшемді бөлек тақтаға екі дисплейлі IC дәнекерленген болуы керек (1-сурет). Барлық қажетті торларды дәнекерлегеннен кейін борттық емес сымдарды дайындау қажет (4-сурет): бұл сымдарды дисплей тақтасының жағында дәнекерлеп, жүргізу керек, сымдарға кернеу мен механикалық кернеу әсер етпейтінін ескеріңіз. дисплей тақтасындағы дәнекерлеу қосылыстарына әсер етеді.

4. Алдыңғы қадамдағы сымдарға жапсырма жапсырмаларын қою керек, бұл келесі қадамда құрастыру процесін едәуір жеңілдетеді. Қосымша қадам: әрбір сымға еркек бір істікшелі қосқышты қосыңыз (Arduino стилі).

5. Негізгі тақтада қалған қосқыштар, оның ішінде перифериялық компоненттер. Тағы да, әр қосқышқа түйреуішті сипаттамасы бар стикерлерді орналастыру ұсынылады.

6. Дыбыстық сигналдар тізбегі: дыбыстық сигнал құрылғының ішінде орналасқан, сондықтан оны негізгі тақтаға дәнекерлеу керек, өзара қосқыштың қажеті жоқ.

7. RGB светодиоды: негізгі тақтаның кеңістігін үнемдеу үшін мен резисторларды жарықдиодты түйреуіштерге дәнекерледім, онда әр резистор сәйкес келетін түске сәйкес келеді және сәйкес MCU түйреуішіне сәйкес келеді (5 -сурет).

5 -қадам: жинау

Жинау
Жинау
Жинау
Жинау
Жинау
Жинау

Бұл қадам жобаның сыртқы түрін анықтайды - электрлік және механикалық. Егер барлық ұсынылған ескертулер ескерілсе, құрастыру процесі өте оңай болады. Келесі қадамдық реттілік процестің толық ақпаратын береді:

А бөлімі: қоршау

1. Басқыш түймесінің диаметріне сәйкес үш тесік бұрғылаңыз (бұл жағдайда 3 мм).2. Корпустың бүйірінде дыбыстық сигналға арналған бір тесік бұрғылаңыз. Кез келген қажетті бұрғылау диаметрін қолдануға болады. USB коннекторына сәйкес тегістеу үшін негіз ретінде кішкене тесік бұрғылаңыз (бұл жағдайда Micro USB). Осыдан кейін коннектор өлшемдеріне сәйкес келу үшін ұсақ өлшемді файлмен тегістеуді орындаңыз. Ұнтақтау үшін негіз ретінде салыстырмалы түрде үлкен тесік бұрғылаңыз. Дисплей өлшемдеріне сәйкес орташа өлшемді файлмен тегістеуді орындаңыз. Дисплей IC -лерінің корпустың сыртқы жағында болуын тексеріңіз. Құрылғының төменгі бөлігінде RGB жарықдиодты диаметріне сәйкес орташа өлшемді тесік бұрғылаңыз. В бөлігі - Қосымшалар:

1. Үш батырманың әрқайсысына екі сымды дәнекерлеңіз (GND және сигнал). Сымдардағы жапсырмалы жапсырмалар мен бір істікшелі қосқыштарды қолдану ұсынылады.2. RGB жарықдиодты түйреуіштеріне дайындалған төрт сымды бекітіңіз. Дәнекерлік қосылыстарға жапсырма жапсырмалары мен қысқаратын түтіктерді қойыңыз.3. Құрылғының төменгі жағындағы төрт резеңке аяқты бекітіңіз. С бөлімі - бөлшектерді қосу:

1. RGB светодиодын корпустың төменгі жағына қойыңыз, оны негізгі тақтадағы арнайы қосқышқа қосыңыз. Оны ыстық желіммен бекітіңіз.2. Үш түйме қосқышты орналастырыңыз, оларды негізгі тақтаға арнайы қосқышқа қосыңыз, ыстық желіммен бекітіңіз. USB коннекторын орналастырыңыз, оны бағдарламалау коннекторының қуат көзіне (VCC және GND) қосыңыз. Электрмен жабдықтау желілерінің полярлығы дәнекерленген бөлшектерге сәйкес келетініне көз жеткізіңіз. Оны ыстық желіммен бекітіңіз.4. Дисплей тақтасын орналастырыңыз, оны арнайы қосқышқа қосыңыз. Оны ыстық желіммен бекітіңіз.

1. Негізгі борт-корпус пен жоғарғы қақпаққа болт-гайка жұптарын қосу ұсынылады (Бұл жағдайда көрсетілгендей).2. Сымдардың істен шығуын болдырмау үшін олардың сыртқы түрімен қоршау ішіне бекітіңіз.

6 -қадам: Бағдарламалауға қысқаша кіріспе

Бағдарламалауға қысқаша кіріспе
Бағдарламалауға қысқаша кіріспе
Бағдарламалауға қысқаша кіріспе
Бағдарламалауға қысқаша кіріспе
Бағдарламалауға қысқаша кіріспе
Бағдарламалауға қысқаша кіріспе

Барлық бөлшектер дәнекерленгеннен кейін, монтаждаудың соңғы сатысына өтпес бұрын, құрылғыны бастапқы сынақтан өткізу ұсынылады. MCU коды C -де жазылады, ал ATMEGA328P кез келген ISP бағдарламашысы арқылы бағдарламаланған (Atmel бағдарламалау құрылғыларының әр түрлі түрлері бар: AVR MKII), AVR DRAGON және т.б. - Мен eBay -ден арзан USB ISP бағдарламашысын қолдандым, ол ProgISP немесе AVRDude бағдарламалық жасақтамасымен басқарылады). Бағдарламалау ортасы Atmel Studio 4 және одан жоғары болуы керек (мен бағдарламалық жасақтаманың ең жаңа нұсқаларын ұсынамын). Егер сыртқы, Atmel Studio -ға тән емес бағдарламашы қолданылса, бағдарламалауға.hex файл жолын беру қажет болады (әдетте жобаның Debug немесе Release қалтасында орналасқан). Құрастыру қадамына өтпес бұрын құрылғыны бағдарламалауға болатынын және кез келген негізгі AVR жобасын құрастыру мен құрастыру процесі ATMEGA328P микроконтроллеріне негізделгеніне көз жеткізіңіз (Atmel Studio оқулығын қараңыз).

7 -қадам: кодтың сипаттамасы

Кодтың сипаттамасы
Кодтың сипаттамасы
Кодтың сипаттамасы
Кодтың сипаттамасы

Шешім кодының алгоритмі жартылай бөлек екі қабатқа бөлінеді: 1. Негізгі деңгей: перифериялық схемалармен байланыс, құрылғы операцияларының анықтамасы, инициализация және компоненттер декларациясы. Интерфейс қабаты: пайдаланушы мен құрылғының өзара әрекеттесуі, мәзірдің функционалдығы, сағат/дыбыстық сигнал/түс/дабылды реттеу. Бағдарламаның реттілігі суретте сипатталған. 1, мұнда әрбір блок MCU күйіне сәйкес келеді. Сипатталған бағдарлама аппараттық құралдар мен сыртқы әлем арасындағы интерфейсті қамтамасыз ететін негізгі «операциялық жүйе» қызметін атқарады. Келесі түсініктеме бағдарламаның негізгі жұмысын бөліктер бойынша сипаттайды: А бөлігі: Негізгі қабат:

1. MCU I/O инициализациясы: Біріншіден, аппараттық компоненттерді инициализациялау қажет:- кодпен қолданылатын тұрақтылар.- енгізу-шығару порттары- интерфейс.- перифериялық байланыс декларациялары.

2. Негізгі жалпы функциялар: Кейбір функцияларды бөлек код блоктары қолданады, олар бағдарламалық қамтамасыз ету арқылы басқарылатын түйреуіштердегі операцияларды анықтайды:- RTC мен дисплей тақтасының байланысын қосу/өшіру.- Дабыл дыбысын шығаруды қосу/өшіру. жоғары/Сағат функциялары.- Таңбаларды құру функцияларын көрсету. Перифериялық инициализация: енгізу -шығару порттары конфигурацияланғаннан кейін тізбектер арасындағы функция анықтамасы жүзеге асады. Аяқтағаннан кейін - MCU жоғарыда анықталған функцияларды қолдана отырып, RTC индикализациясын бастайды.

4. Негізгі функциялардың анықтамасы: Бұл кезеңде құрылғы орнатылған және кейбір перифериялық схемалармен байланыс жасауға дайын. Бұл функциялар мыналарды анықтайды:- ауыстырып-қосқышты басқару- RGB жарықдиодты жұмыс (әсіресе PWM)- дыбыстық сигналдың төртбұрышты генераторы

5. Дисплей функциялары: Интернетте мен пайдаланатын HSMS IC туралы көп ақпарат таппадым, сондықтан мен оның кітапханасын өз бетімше жаздым. Дисплей функциялары ASCII таңбаларын және кез келген бүтін сандарды көрсетуді қамтитын таңбаларды көрсетудің толық функционалдығын қамтамасыз етеді. Функциялар жалпыланған түрде жазылады, сондықтан егер кодтың кез келген бөлігінен дисплей функцияларын шақыру қажет болса, оларды пайдалану оңай, себебі олар операция бойынша жалпыланған (мысалы: Жолды дисплей, бір таңбалы дисплей және т.б.).

6. RTC жұмыс функциялары: Барлық RTC функциялары DS1302 IC жұмысына сәйкес жалпыланған түрде жазылады (Дисплей функциялары жиынтығына ұқсас). Код gitHub -тың көптеген нұсқаларында қол жетімді жазбаша кітапханаға негізделген. Қорытынды кодта көріп тұрғаныңыздай, дисплей мен RTC функциялары бөлек.c және.h файлдарына қосылады. В бөлігі - интерфейс қабаты:

1. Негізгі функция: void main () бөлімінде барлық негізгі инициализация функциялары туралы мәлімдеме болады. Барлық компоненттер инициализацияланғаннан кейін MCU шексіз циклге кіреді, онда құрылғы функциясын пайдаланушы бақылайды.

2. Нақты уақыттағы қосқыштар, артқы жарық пен дисплейді басқару: шексіз циклде жұмыс істеу кезінде MCU құрылғының әр бөлігінде жаңартуды орындайды. Ол қандай деректерді көрсету керектігін, қай түйме басылғанын және жарықтандырудың қай режимі таңдалғанын таңдайды.

3. Қолданушы мәзірінің функциялары: Бұл функциялар ағаш тәрізді пішінге ие (X суретті қараңыз), мұнда мәзір жүйесі мен иерархия күй машинасы ретінде анықталады. Пайдаланушы енгізетін басқарылатын әрбір күй машинасы - басу түймесі ауысады, осылайша тиісті түйме басылған кезде - күй машинасы оның мәнін өзгертеді. Ол мәзірде орындалатын құрылғыдағы кез келген өзгерістер бірден өзгеретін етіп жасалған.

4. Пайдаланушы мәзірін ауыстыру: пайдаланушы енгізуі берілген кезде мәзір күйі оның күйін өзгертуі керек. Сонымен, бұл функциялар күй машинасын пайдаланушыға тәуелді басқаруды қамтамасыз етеді. Бұл нақты жағдайда: келесі, алдыңғы және OK.

8 -қадам: Қорытынды код және пайдалы файлдар

Және бұл! Бұл қадамда сізге қажет барлық файлдарды таба аласыз:- Электр схемасы- Толық бастапқы коды- Дисплейлік таңбалар құрастырушысы Қосымша мүмкіндік: Дисплей IC-лер кітапханасында көрсетуге болатын әр түрлі таңбалар бар, бірақ кейбірі енгізілмеген.. Егер сіз таңбаларды өзіңіз құрғыңыз келсе, Print_Character ('') функциясында ASCII сілтемесі бар регистр жағдайын қосыңыз (display.c функцияларын қараңыз). Сізге бұл нұсқаулық пайдалы болады деп үміттенемін:) Оқығаныңыз үшін рахмет!

Ұсынылған: