![AVR Assembler оқулығы 8: 4 қадам AVR Assembler оқулығы 8: 4 қадам](https://i.howwhatproduce.com/images/001/image-561-j.webp)
Мазмұны:
2025 Автор: John Day | [email protected]. Соңғы өзгертілген: 2025-01-23 14:50
![AVR құрастырушы оқулығы 8 AVR құрастырушы оқулығы 8](https://i.howwhatproduce.com/images/001/image-561-1-j.webp)
8 -оқулыққа қош келдіңіз!
Бұл қысқа оқулықта біз прототиптік компоненттерді бөлек «басып шығарылған» тақтаға қалай жылжыту керектігін көрсету үшін ассамблея тілін бағдарламалаудың жаңа аспектілерін енгізуден біршама ауытқуды қарастырамыз. Себебі, дәл қазіргі уақытта біздің негізгі прототиптеу тақтасы көптеген чиптермен, сымдармен, түймелермен және жарық диодтармен толып кеткендіктен, жаңа заттарды сынау қиынға соғады, өйткені біз бәрібір компоненттерді өз тақталарына жылжытуға мәжбүрміз., біз қазірден бастай аламыз. Сіздердің көпшілігіңіз осы оқулықта біз білетін нәрселерді жетік білетін шығарсыз, сондықтан сіз бұл оқулықты кодтаудың босаңсытатын үзілісі ретінде қарай аласыз.
Сонымен, бүгін біз ATmega328P сүйек ролигін және сүйек жұбын негізгі тақтаға қосылу үшін және оны қосу үшін сыртқы тақтаға ауыстырамыз. Бұдан басқа, сүйектердің сымдары мен жұмыс істеуі осы компоненттің ішінде болады.
Бәлкім, сіз біздің түпкі мақсатымыз - бұл жол бойында құрайтын әрбір компоненттермен мұны істеу екенін болжауға болады, осылайша біз аяқтағаннан кейін олардың барлығын түймені басу арқылы жұмыс істейтін әдемі пакетке жасыра аламыз. сымдар мен ішкі жұмыс.
Біз бұл оқулықтың көп бөлігін схеманы жобалау, прототиптеу тақтасын картаға түсіру және заттарды дәнекерлеу сияқты физикалық тапсырмаларды орындауға жұмсаймыз, бірақ біз заттарды жылжытқаннан кейін бізде біраз бағдарламалау қажет. Мұның себебі, біз ақыр соңында біздің негізгі «шебер» контроллеріміз бен осы оқулықтар сериясындағы біздің жалпы жобамыздың компоненттерін құрайтын барлық «құлдық» контроллерлер арасындағы байланыс үшін 2 сымды сериялық интерфейсті қолданатын боламыз. Естеріңізде болса, 6 -оқулықта біз сүйектердің роликтерін сүйек ролигінен (4 -оқулық) Тізілім анализаторына (5 -оқу құралы) жіберу үшін Морзе коды түрінің әдісін ойлап таптық.. Бұл мен қолданамын деп шешкен қарым-қатынастың «өзіңдікі» әдісі ғана болды, өйткені ол кезде 2 сымды сериялық байланысқа түсуге әлі ерте еді. Біз қазір сериялық байланыстың түбіне енуге дайынбыз, және біз мұны 10-оқулықта жасаймыз, бірақ әзірге біз болашақ дамуды болжап, екеуін босату үшін диодты жарықдиодты сымды қайта қосуымыз керек. сериялық байланыс үшін қажет түйреуіштер.
Бұл ATmega328P -дегі SCL және SDA түйреуіштері. Аналогты-цифрлық түрлендірулерде оларды ADC5 және ADC4 деп те атайтынын, оларды «түйіннің ауысуын үзу» түйреуіштері ретінде қолданған кезде PCINT13 және PCINT12 деп атайтынын түйіндеу диаграммасынан көруге болады, ақырында біз оларды PC5 және PC4 деп атаймыз. PortC -те түйреуіш ретінде қарастырылған кезде. Біз бұл екі түйреуішті әр түрлі себептермен сүйек ролигінің бөлігі ретінде қолданғандықтан (ең бастысы-кодтауды жеңілдетіп, тақтадағы светодиодты қосуды жеңілдетті) енді біз кодты өзгертіп, оны сәл сыммен жалғауға тура келеді. болашақ байланыс үшін бұл түйреуіштерді босатыңыз.
Сондықтан біз дизайнды, кесуді, сымдарды және дәнекерлеуді бастаймыз. Содан кейін біз жаңа қондырғымызбен жұмыс істеу үшін сүйек ролигін қайта жазамыз және оның әлі де жұмыс істейтініне көз жеткізу үшін оны тексереміз.
Бұл оқулықты аяқтау үшін сізге келесі элементтер қажет:
- Сізге үнемі қажет болатын стандартты заттар: мен үнемі қайталауды доғарамын: сіздің прототиптеу тақтасы, деректер парағының көшірмесі мен нұсқаулықтар жиынтығы және сіздің миыңыз.
- PCB тақтасының сымсыз схемасы келесідей: https://www.ebay.com/itm/191416297627 Мен осы тақтаның Measure Explorer 103RAWD нұсқасын қолданамын: https://www.ebay.com/itm/103RAT -схема-прото-прото … өйткені менде олардың көпшілігі бар, бірақ мен жоғарыда сілтеме жасаған 103RAW-0 нұсқасы да жақсы жұмыс істейді.
- Клипперлер, сымдар, дәнекерлеу, дәнекерлеу үтігі, «көмек қолдары» немесе заттарды ұстауға арналған заттар, т.б. т.с.с. тағы да осы жерден мен бұл заттарды тізімдеуді тоқтатамын. Егер сіз осы оқулықтарда шынымен де осы дәрежеге жеткен болсаңыз, онда сізде бұның бәрі бар шығар.
Міне менің AVR құрастырушы оқулықтарының толық жинағына сілтеме:
1 -қадам: Электр схемасын жасаңыз
![Сымдардың диаграммасын жасаңыз Сымдардың диаграммасын жасаңыз](https://i.howwhatproduce.com/images/001/image-561-2-j.webp)
![Сымдардың диаграммасын жасаңыз Сымдардың диаграммасын жасаңыз](https://i.howwhatproduce.com/images/001/image-561-3-j.webp)
![Сымдардың диаграммасын жасаңыз Сымдардың диаграммасын жасаңыз](https://i.howwhatproduce.com/images/001/image-561-4-j.webp)
Measure Explorer тақталарындағы керемет нәрсе - егер сіз біраз уақыт бөлсеңіз және бәрін картадан бастасаңыз, соңында сіз көптеген сымдарды үнемдей аласыз. Сондықтан біз кез келген нәрсені дәнекерлеуге кіріспес бұрын, макетімізді жобалауға уақыт бөле бастаймыз. Мұндай тақтаның көмегімен сіз байланыстырушы сымдардың қатарын кесуіңіз керек, бұл оңай емес, бірақ нәтиже - өте жақсы жинақы тақта. тақтаға сәйкес келетін етіп тізбек. Мұны істеудің жақсы әдісі - картаның картасын жүктеу, содан кейін оны жұмыс істейтін картаны тапқанша әр түрлі дизайнмен ойнау үшін пайдалану. Міне ME-PB-103RAWD орналасуы https://www.bluemelon.com/photo/3483513-T800600.jpg, ал мұнда ME-PB-103RAW-0 орналасуы https://www.bluemelon. com/photo/57107/2297363-T8006… Мен оларды суреттер ретінде тіркедім. Тізбекті жобалаудың бірнеше әдістері бар. Біріншісі - жоғарыдағы картаны басып шығару, қалам немесе қарындаш алып, оған қосылымдарды салуды бастау. Мүмкін сіз өзіңіздің жарық диодтарыңызды және ATmega328P -ті тақтаның өзіне орнатқыңыз келуі мүмкін, сонда сіз олардың қанша орын алатынын білесіз, содан кейін оларды диаграммада сызыңыз және сол жерден сіз сымдардың әр түрлі схемаларын қолдана аласыз. бұл ең соңғы топологиялық алгоритмдерді қолдана отырып, сымдарды салыстыратын компьютерлік бағдарламаны таппағанда, біріншісімен бірдей. Ақырында, мен қалай жасадым. Мен алдымен компоненттерді тақтаға қойдым, сондықтан мен заттардың мөлшерін және қалаған жерімді білдім. Содан кейін мен Galaxy Tab4 телефонына «Ақ тақта» деп аталатын Android қосымшасын жүктедім, оған тақта картасын жүктедім, содан кейін жергілікті пабқа бардым және Black Ghost Oatmeal Stout -тың бірнеше нүктесінен тұратын дизайнмен ойнадым.:) Мен мұның нәтижесін соңғы екі суретте көрсетемін. Мұны осылай салудың жақсы жағы - сіз оны кескін қарау құралымен қараған кезде «горозонтальды аудару» түймесін басуға болады, ал ол тақтаның екінші жағындағы сымдар схемасын береді. Біздің келесі қадамға өте ыңғайлы.
2 -қадам: тақтадағы тізбекті кесіңіз
![Тақтадағы тізбекті кесіңіз Тақтадағы тізбекті кесіңіз](https://i.howwhatproduce.com/images/001/image-561-5-j.webp)
![Тақтадағы тізбекті кесіңіз Тақтадағы тізбекті кесіңіз](https://i.howwhatproduce.com/images/001/image-561-6-j.webp)
![Тақтадағы тізбекті кесіңіз Тақтадағы тізбекті кесіңіз](https://i.howwhatproduce.com/images/001/image-561-7-j.webp)
Алдымен күрек алыңыз және алдыңғы қадамда сызылған схеманы қолдана отырып, тақтаға схемаңызды салыңыз. Яғни сымдарды бейнелейтін сызықтар салу. Компоненттер тұрғысынан ештеңе тартпаңыз, тек бірінші суретте көрсетілгендей жалғаушы сымдар. Назар аударыңыз, егер сіз бұрап жатсаңыз (және егер сіз мен сияқты болсаңыз, сіз бұл қадамдарды бірнеше рет бұзасыз), сіз өшіргішті қолдана аласыз және сызықты өшіре аласыз. Мұны тақтаның екі жағында да жасаңыз.
Содан кейін сіз желілердің айналасындағы байланыстарды кесуіңіз керек. Егер сіз тақтаға мұқият қарасаңыз, онда әрбір түйреуіш тақтаның екі жағындағы 4 іргелес тесіктерге қосылғанын көресіз, осылайша тақтадағы барлық тесіктер бір -бірімен жалғасады. Сондықтан оқшаулау үшін сымдардың әрқайсысының екі жағын кесу керек. Бұл кесудің ең кең таралған әдісі - Exacto пышағы. Бірақ мен Exacto пышақтарын сорып аламын, мүмкін өзімді кесіп алар едім. Сондықтан мен жіңішке кескіш қондырмасы бар Dremel қолданамын. Менде ұнтақтау қондырғысы болғанын қалаймын, өйткені бұл жақсы жұмыс істейді, бірақ менде ондай жоқ, сондықтан мен кескіш қондырманы қолдандым. (Қосымша ескерту: Бұл жобаны аяқтағаннан кейін мен Dremels -ке арналған кіші «ауыр кескіш дөңгелектер» ең жақсы жұмыс істейтінін, олар тегістеуіштің кішкене шеңберлеріне ұқсайтынын және мұнда көрсетілген кескіш құрал тәрізді жұмыс істейтінін, олардың диаметрі кішірек екенін ескердім. қайда кесіп жатқанын көру және бақылау әлдеқайда оңай)
Жол бойында тақтаны жарыққа дейін ұстап тұру және сымдардың шынымен кесілгеніне көз жеткізу пайдалы. Тақтаның екі жағында да байланыстар бар екені сізді ренжітуі мүмкін, сондықтан кесу процесін екінші жағымен қайталауға тура келеді, бірақ менің ойымша, сіз мұны аяқтаған кезде көресіз. Мен сымдарды кесуге болмайтын көптеген қателіктер жібердім, ал екінші жағын қосқан жақсы болды.
Тізбекті тақтаға кесу үшін біраз уақыт пен шыдамдылық қажет болады, бірақ сіз оны жақсы меңгергеннен кейін көңілді болады.
3 -қадам: Компоненттерді дәнекерлеу және сынау
![Компоненттерді дәнекерлеу және сынау Компоненттерді дәнекерлеу және сынау](https://i.howwhatproduce.com/images/001/image-561-8-j.webp)
![Компоненттерді дәнекерлеу және сынау Компоненттерді дәнекерлеу және сынау](https://i.howwhatproduce.com/images/001/image-561-9-j.webp)
![Компоненттерді дәнекерлеу және сынау Компоненттерді дәнекерлеу және сынау](https://i.howwhatproduce.com/images/001/image-561-10-j.webp)
Электр тақтасындағы барлық сымдарды оқшаулағаннан кейін, сіз жеке компоненттерді дәнекерлеуге кірісе аласыз.
Мен алдымен светодиодтарға сүйектердің біріне дәнекерледім, содан кейін мен өзімнің тақтайшамнан оң және теріс сымдарды алып, олардың бір -бірінен оқшауланғанына және жұмыс істейтініне көз жеткізу үшін әр жарықдиодты қосылымдарды тексердім.
Дәл осылай екіншісінде өледі.
Содан кейін резисторды әр өлімге, ал тақтаның артқы жағындағы 10К резисторға жалғаңыз.
Содан кейін кристалды осцилляторды, 22pf қақпақтарды, түймелерді және ATmega328P бекітіңіз. Мүмкін сіз чипті розетканы дәнекерлеп, содан кейін ATmega328P қондырғыңыз келсе, оны алып тастап, оны басқа жерде қолдануға болады. Мен чипті тақтаға дәнекерледім, өйткені мен бұл оқулықтардың көмегімен біз не құрып жатқанымызды білемін және маған ұнайтынын білемін, мен чипті шығарғым келмейді.
Тақтаның артқы жағына қарап, тақырыптарды қалай бекітетінімізге назар аударыңыз. Мен ұзын түйреуіштерді қолдандым және оларды тақтадан шықпауы үшін горозонтальды бүктедім. Бұл мен ақырында тақтаны контейнермен түймелер мен светодиодтар деңгейіне дейін жаба аламын және тақырыптар кедергі жасамайды. Бізде Tx, Rx үшін тақырып бар, сондықтан біз чипті бағдарламалай аламыз, бізде SDA, SCL үшін тақырып бар, сондықтан біз кейіннен 2 сымды байланысты қолдана аламыз. және бізде тақтаның екінші жағында AVCC, AREF, GND үшін 3 істікшелі тақырып бар. Менде чипке қосылған барлық түйреуіштер мен VCC түйреуіштері бар, сондықтан бізге тек бір қуат көзі қажет.
Ақырында, бәрі сыммен қосылған кезде, біз тек қана түйреуішті тек 9 түйреуішпен басқара алатындай етіп, нан тақтасында қалай істесек, солай өлеміз2.
Енді біз кодты осы жаңа қондырғыны басқаратындай етіп өзгертуіміз керек.
4 -қадам: Жинау коды мен бейне
Мен құрастыру кодын және кубик ролигінің бейнесін тіркедім. Мен тек 6 -шы оқулықтағы сүйек ролигінің кодын алып, түйреуіштерді жаңа орналасуға сәйкес етіп өзгертіп, коммуникацияның ішкі бағдарламасын алып тастадық, себебі біз жазамыз. Оқулықта жаңасы 10. Келесіде біз пернетақтаны қайтадан шығарып, 7 сегментті дисплейлерді басқаруды үйренетін боламыз.
Ұсынылған:
AVR Assembler оқулығы 2: 4 қадам
![AVR Assembler оқулығы 2: 4 қадам AVR Assembler оқулығы 2: 4 қадам](https://i.howwhatproduce.com/images/001/image-557-j.webp)
AVR Assembler Tutorial 2: Бұл оқу құралы " AVR Assembler Tutorial 1 " Егер сіз 1 -оқулықтан өтпеген болсаңыз, онда сіз қазір тоқтап, алдымен сол әрекетті орындауыңыз керек. Бұл оқулықта біз atmega328p ассемблерлік бағдарламалауды зерттеуді жалғастырамыз
AVR Assembler оқулығы 1: 5 қадамдар
![AVR Assembler оқулығы 1: 5 қадамдар AVR Assembler оқулығы 1: 5 қадамдар](https://i.howwhatproduce.com/images/001/image-559-j.webp)
AVR Assembler 1 -оқулығы: Мен Arduino -да қолданылатын микроконтроллер Atmega328p үшін ассемблерлік бағдарламаларды қалай жазу керектігі туралы оқулықтар сериясын жазуды шештім. Егер адамдар қызығушылық танытса, мен таусылғанша аптасына бір рет шығарамын
AVR Assembler оқулығы 6: 3 қадам
![AVR Assembler оқулығы 6: 3 қадам AVR Assembler оқулығы 6: 3 қадам](https://i.howwhatproduce.com/images/001/image-560-j.webp)
AVR Assembler 6 -оқулығы: 6 -оқулыққа қош келдіңіз! Бүгінгі оқу құралы қысқа болады, онда біз оларды байланыстыратын екі портты қолдана отырып, бір atmega328p мен екіншісі арасында деректерді жеткізудің қарапайым әдісін әзірлейміз. Содан кейін біз 4 -ші оқулықтан және тіркеуден сүйек ролигін аламыз
AVR Assembler оқулығы 7: 12 қадамдар
![AVR Assembler оқулығы 7: 12 қадамдар AVR Assembler оқулығы 7: 12 қадамдар](https://i.howwhatproduce.com/images/001/image-562-j.webp)
AVR Assembler 7 -оқулығы: 7 -оқулыққа қош келдіңіз! Бүгін біз алдымен пернетақтаны қалай тазалау керектігін көрсетеміз, содан кейін пернетақтамен байланысу үшін аналогтық кіріс порттарын қалай қолдану керектігін көрсетеміз. енгізу. Біз пернетақтаны қосамыз, сондықтан
AVR Assembler оқулығы 11: 5 қадам
![AVR Assembler оқулығы 11: 5 қадам AVR Assembler оқулығы 11: 5 қадам](https://i.howwhatproduce.com/images/001/image-565-j.webp)
AVR Assembler Tutorial 11: 11 -Оқулыққа қош келдіңіз! Бұл қысқаша оқулықта біз ақырғы жобамыздың бірінші бөлігін құрмақпыз, біріншіден, бұл оқулықтың соңғы сатысына өтіп, бейнені қарау керек. Содан кейін осында қайтыңыз. [сіз тоқтап тұрсыз