Агуулгын хүснэгт:
- Алхам 1: Утасны диаграмыг боловсруулах
- Алхам 2: Самбар дээрх хэлхээг хайчилж ав
- Алхам 3: Бүрэлдэхүүн хэсгүүдийг гагнах, турших
- Алхам 4: Ассемблейн код ба видео
Видео: AVR Assembler заавар 8: 4 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:00
8 -р хичээлд тавтай морилно уу!
Энэхүү богино заавар дээр бид прототип хийх бүрэлдэхүүн хэсгүүдийг тусдаа "хэвлэсэн" хэлхээний самбар дээр хэрхэн яаж шилжүүлэхийг харуулахын тулд угсрах хэлний програмчлалын шинэ талыг нэвтрүүлэхээс бага зэрэг хазайх болно. Шалтгаан нь, энэ үед бидний үндсэн загварчлах талбар нь маш олон чип, утас, товчлуур, LED -ээр дүүрч, шинэ зүйлийг туршихад хэцүү болж байгаа тул эцэст нь бид бүрэлдэхүүн хэсгүүдийг өөрийн самбар руу шилжүүлэх шаардлагатай болсон юм., бид одоо л эхэлж болно. Та нарын ихэнх нь энэ хичээл дээр бидний хамруулах зүйлийг аль хэдийн мэддэг байх магадлалтай тул та энэ хичээлийг кодчилолоос ангижруулах гэж үзэж болно.
Тиймээс өнөөдөр бид шоо булны ATmega328P болон дагалдах хос шоо зөөвөрлөх, асаахын тулд үндсэн самбартайгаа холбосон гадаад самбар руу шилжүүлэх болно. Үүнээс гадна шооны утас, ажиллагаа нь тухайн бүрэлдэхүүн хэсэгт багтах болно.
Бидний эцсийн зорилго бол үүнийг хийх явцад бүтээсэн бүрэлдэхүүн хэсгүүд тус бүрээр хийх явдал юм. Тэгээд дууссаны дараа бид бүгдийг нь харахгүйгээр товчлуур дарах замаар ажиллах боломжтой сайхан багцад нууж болно гэж та эндээс таамаглаж магадгүй юм. утас ба дотоод ажил.
Бид энэ хичээлийн ихэнх хэсгийг хэлхээг зохион бүтээх, загварчлах самбарыг зураглах, гагнах гэх мэт физик даалгавруудыг хийхэд зориулах болно, гэхдээ бид зүйлийг зөөж дууссаны дараа хийх ёстой програмчлал байдаг. Үүний шалтгаан нь бид эцэст нь энэ цуврал хичээлүүд дэх манай ерөнхий төслийн бүрэлдэхүүн хэсгүүдийг бүрдүүлдэг үндсэн "мастер" хянагч болон бүх "боол" хянагчдын хооронд харилцах зорилгоор 2 утастай Цуваа интерфэйсийг ашиглах гэж байна. Та санаж байгаачлан, 6 -р хичээл дээр бид шооны өнхрүүлгээс (4 -р заавар) шоо өнхрүүлгийг бүртгэх анализатор руу (5 -р заавар) дамжуулахын тулд 8 ширхэг LED дээр шоо өнхрүүлэх үр дүнг харуулсан Морзын кодын нэг төрлийн аргыг зохион бүтээсэн.. Энэ бол миний ашиглахаар шийдсэн "өөрийнхөөрөө" харилцах арга байсан, учир нь тэр үед 2 утастай цуваа холболтонд ороход эрт байсан. Бид одоо цуврал харилцааны гүн рүү шумбахад бараг бэлэн болсон байгаа бөгөөд үүнийг 10-р хичээл дээр хийх болно, гэхдээ одоогоор бид ирээдүйн хөгжлийг урьдчилан харж, хоёуланг нь суллахын тулд шоо галзуугийн LED-ээ дахин холбох хэрэгтэй. Цуваа холболт хийхэд бидэнд шаардлагатай зүү.
Эдгээр нь ATmega328P дээрх SCL ба SDA зүү юм. Аналогоос тоон руу хөрвүүлэхэд тэдгээрийг ADC5 ба ADC4 гэж нэрлэдэг бөгөөд тэдгээрийг "Pin Change Interrupt" тээглүүр болгон ашигладаг бол тэдгээрийг PCINT13 ба PCINT12 гэж нэрлэдэг бөгөөд эцэст нь бид тэдгээрийг PC5 ба PC4 гэж нэрлэдэг. PortC дээр тээглүүр гэж үзэх үед. Бид эдгээр хоёр тээглүүрийг янз бүрийн шалтгаанаар шоо булныхаа нэг хэсэг болгон ашигласан тул (гол зүйл нь кодчилолыг хялбарчилж, самбар дээрх LED-д утсыг холбоход хялбар болгосон) одоо бид кодоо өөрчилж, дахин утсаар холбох хэрэгтэй болно. ирээдүйн харилцаанд зориулж эдгээр тээглүүрийг чөлөөл.
Тиймээс бид дизайн, хайчлах, утас холбох, гагнах ажлыг эхлүүлэх болно. Дараа нь бид шинэ тохиргоотой ажиллахын тулд шоо роллерийг дахин бичиж, эцэст нь ажиллаж байгаа эсэхийг шалгах болно.
Энэхүү хичээлийг дуусгахын тулд танд дараах зүйлс хэрэгтэй болно.
- Надад байнга хэрэгтэй байдаг стандарт зүйлүүд: би таны загварчлах самбар, өгөгдлийн хуудас, зааврын багц, тархи.
- ПХБ -ийн утасгүй хэлхээний загварчлах загвар: https://www.ebay.com/itm/191416297627 Би энэ хавтангийн Measure Explorer 103RAWD хувилбарыг ашиглах гэж байна: https://www.ebay.com/itm/103RAT -circuit-proto-proto … Учир нь миний гар дээр олон зүйл байгаа ч миний дээр холбосон 103RAW-0 хувилбар бас сайн ажиллах болно.
- Клипперс, утас, гагнуур, гагнуурын төмөр, "туслах гар" эсвэл эд зүйл барих гэх мэт зүйлс гэх мэтийг дахин эндээс эхлэн би энд жагсаахаа болих болно. Хэрэв та эдгээр гарын авлагад үнэхээр хүрч чадсан бол танд энэ бүх зүйл аль хэдийн байгаа байх.
Энд миний AVR ассемблер хичээлүүдийн бүрэн цуглуулгын линк байна:
Алхам 1: Утасны диаграмыг боловсруулах
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… Би эдгээрийг зураг болгон хавсаргасан болно. Хэлхээг зохион бүтээх хэд хэдэн арга байдаг. Эхнийх нь дээрх газрын зургийг хэвлээд үзэг, харандаа аваад түүн дээр холболт зурж эхлэх явдал юм. Та өөрийн LED болон ATmega328P болон бусад зүйлсийг эхлээд самбар дээр байрлуулж, хэр их зай эзэлдэгийг нь мэдэж, дараа нь диаграм дээр зурж, тэндээс янз бүрийн утсан холболтын схемийг туршиж үзэхийг хүсч магадгүй юм. Энэ нь хамгийн сүүлийн үеийн топологийн алгоритмыг ашиглан утсан холболтын зураг зурах компьютерийн програмыг олохоос бусад тохиолдолд эхнийхтэй адил юм. Эцэст нь миний хийсэн арга. Би эхлээд эд ангиудыг самбар дээр байрлуулсан тул зүйлийн хэмжээ, хүссэн зүйлээ мэдэж байсан. Дараа нь би Galaxy Tab4 дээр "Цагаан самбар" нэртэй Андройд апп татаж аваад, самбарын зургийг дээр нь ачаалж, дараа нь орон нутгийн уушийн газар очиж, Black Ghost Oatmeal Stout -ийн хэдхэн шилний загварыг тойрон тоглов.:) Би үүний үр дүнг сүүлийн хоёр зураг дээр харууллаа. Үүнийг ийм байдлаар зурах сайхан зүйл бол зураг үзэгчээр харахдаа "horozontal -ийг эргүүлэх" дээр дарж, самбарыг нөгөө тал руу холбох диаграмыг өгөхөд зургийг эргүүлэх болно. Бидний дараагийн алхамд маш тохиромжтой.
Алхам 2: Самбар дээрх хэлхээг хайчилж ав
Нэгдүгээрт, хурц үзүүр авч, өмнөх алхам дээр зурсан схемээ ашиглан самбар дээрээ схемээ зур. Өөрөөр хэлбэл утсыг төлөөлөх шугам зур. Бүрэлдэхүүн хэсгүүдийн хувьд юу ч бүү зур, зөвхөн эхний зурагт үзүүлсэн шиг холбох утаснууд. Тэмдэглэхдээ (хэрэв та над шиг хүн бол эдгээр алхмуудыг хийхэд маш олон удаа эвдэрч сүйтгэх болно) баллуур ашиглаж шугамыг арилгаж болно. Үүнийг самбарын хоёр талд хийх хэрэгтэй.
Дараа нь та шугамын эргэн тойрон дахь холболтыг таслах хэрэгтэй. Хэрэв та самбарыг анхааралтай ажиглавал самбар дээрх хоёр нүх бүр 4 зэргэлдээ 4 нүхтэй холбогдсон бөгөөд ингэснээр самбар дээрх бүх нүхнүүд хоорондоо холбогддог болохыг олж харах болно. Тиймээс тусгаарлахын тулд утас бүрийнхээ хоёр талыг огтлох хэрэгтэй. Үүнийг огтлох хамгийн түгээмэл арга бол Exacto хутга юм. Гэхдээ би Exacto хутга сордог бөгөөд магадгүй өөрийгөө зүсэх болно. Тиймээс би нимгэн зүсэх хэрэгслийн хавсралт бүхий Dremel ашигладаг. Надад ямар нэгэн нунтаглах бэхэлгээ байгаа нь хамгийн сайн үр дүнд хүрэхийг хүсч байна, гэхдээ надад ийм зүйл байхгүй, тиймээс би огтлох хөрөөний хавсралтыг ашигласан. (Тэмдэглэл нэмж оруулав: Энэхүү төслийг дуусгасны дараа би Dremels -ийн жижиг "хүнд даацын хайчлах дугуй" толгойнууд хамгийн сайн ажилладаг болохыг олж мэдсэн, тэдгээр нь жижигхэн зүлгүүр хэлбэртэй, энд үзүүлсэн хайчлах хэрэгсэл шиг ажилладаг бөгөөд диаметр нь арай жижиг юм. хаана хайчилж байгаагаа харах, хянах нь илүү хялбар байдаг)
Замдаа самбарыг гэрэл хүртэл барьж, утаснууд үнэхээр таслагдсан эсэхийг шалгах нь ашигтай байдаг. Самбарын хоёр талд холболт байгаа нь та нарыг бухимдуулж магадгүй тул та огтлох үйл явцыг нөгөө талдаа дахин давтах хэрэгтэй болно, гэхдээ та үүнийг хийж дуустал үүнийг ойлгох болно гэж бодож байна. Би огтлох ёсгүй утсыг огтлохдоо маш олон алдаа гаргасан бөгөөд нөгөө талыг нь холбосон хэвээр байх нь сайхан харагдаж байна.
Хэлхээг самбар болгон хуваахад маш их цаг хугацаа, тэвчээр шаардагдах боловч үүнийг сайн хийж чадвал хөгжилтэй байх болно.
Алхам 3: Бүрэлдэхүүн хэсгүүдийг гагнах, турших
Та хэлхээний самбар дээрх бүх утсыг тусгаарласны дараа бие даасан бүрэлдэхүүн хэсгүүдийг гагнах ажлыг эхлүүлж болно.
Би эхлээд нэг шоо LED -ийг гагнаж, дараа нь талхны самбараас эерэг ба сөрөг тугалгануудыг авч, бие биенээсээ тусгаарлагдсан, ажиллаж байгаа эсэхийг шалгахын тулд LED бүрийн холболтыг туршиж үзсэн.
Нөгөөтэй нь адил үхдэг.
Дараа нь резисторыг үхэх бүрт утсаар холбож, самбарын ар талд 10K эсэргүүцэл тавь.
Дараа нь болор осциллятор, 22pf таг, товчлуур, ATmega328P хавсаргана уу. Та чипний залгуурыг гагнах хэрэгтэй бөгөөд дараа нь ATmega328P -ийг өөртөө суулгаж, хэрэв хүсвэл үүнийг арилгаж, өөр зүйлд ашиглах боломжтой болно. Эдгээр хичээлүүдээр бид юу хийж бүтээж байгаагаа мэдэж байгаа болохоор би чипээ самбар дээр гагнасан бөгөөд надад энэ нь таалагдах болно, би чипийг гаргаж авахыг хүсэхгүй байна.
Самбарын ар талыг хараад толгойг хэрхэн хавсаргасан болохыг анхаарна уу. Би урт зүү толгойнуудыг ашиглаж, самбараас наалдахгүйн тулд тэдгээрийг хорозонталаар нугалав. Энэ нь би эцэст нь самбарыг товчлуурууд болон LED -ийн түвшинд контейнерээр бүрхэж, толгойнуудыг саад болохгүй байх болно. Бид Tx, Rx-ийн толгойтой тул чипийг програмчлах боломжтой, SDA, SCL-ийн толгойтой тул дараа нь 2 утастай холболтыг ашиглах боломжтой болно. мөн бид самбарын нөгөө талд AVCC, AREF, GND гэсэн 3 зүү толгойтой. Надад бүх газардуулга, VCC зүү чип дээр холбогдсон тул бидэнд зөвхөн нэг тэжээлийн оролт хэрэгтэй.
Эцэст нь бүх зүйл утастай болсны дараа бид талхны тавцан дээр хийсэн шиг үхэхийн тулд 1 утсаар үхдэг.
Одоо бид кодоо өөрчлөх хэрэгтэй бөгөөд ингэснээр энэ шинэ тохиргоог хянах болно.
Алхам 4: Ассемблейн код ба видео
Би угсрах код болон шоо өнхрүүлгийн видеог хавсаргасан болно. Миний хийсэн бүх зүйл бол шоо булныхаа кодыг заавар 6 -аас авч, шинэ байршилд нийцүүлэхийн тулд тээглүүрүүдийг өөрчилж, харилцаа холбооны дэд програмыг устгах болно. Шинэ гарын авлага 10. Дараагийн удаа бид товчлуураа дахин задалж, 7 сегментийн дэлгэцийг хэрхэн удирдах талаар сурах болно.
Зөвлөмж болгож буй:
AVR Assembler заавар 2: 4 алхам
AVR Assembler Tutorial 2: Энэхүү заавар нь " AVR Assembler Tutorial 1 " Хэрэв та 1 -р хичээлийг үзээгүй бол та одоо үүнийг зогсоож, эхлээд үүнийг хийх хэрэгтэй. Энэ хичээлээр бид atmega328p -ийн ассемблер хэлний програмчлалын судалгааг үргэлжлүүлэх болно
AVR Assembler заавар 1: 5 алхам
AVR Assembler Tutorial 1: Би Arduino -д ашиглагддаг микроконтроллер болох Atmega328p -ийн ассемблер хэлний програмуудыг хэрхэн бичих талаар цуврал хичээл бичихээр шийдлээ. Хэрэв хүмүүс сонирхож байвал би дуусах хүртлээ долоо хоногт нэг удаа үргэлжлүүлсээр байх болно
AVR Assembler заавар 6: 3 алхам
AVR Assembler Tutorial 6: Tutorial 6 -д тавтай морилно уу! Өнөөдрийн заавар нь богино байх бөгөөд нэг atmega328p ба нөгөө хоёрын хооронд өгөгдлийг хооронд нь холбох хоёр аргыг ашиглан энгийн аргуудыг боловсруулах болно. Дараа нь бид 4 -р заавар, Бүртгэлээс шоо роллерийг авах болно
AVR Assembler заавар 9: 7 алхам
AVR Assembler Tutorial 9: 9-р хичээлд тавтай морилно уу. Өнөөдөр бид ATmega328P болон AVR угсрах хэлний кодыг ашиглан 7 сегмент болон 4 оронтой дэлгэцийг хэрхэн удирдахыг үзүүлэх болно. Үүнийг хийх явцад бид стекийг хэрхэн ашиглах талаар өөр чиглэлд хандах хэрэгтэй болно
AVR Assembler заавар 11: 5 алхам
AVR Assembler Tutorial 11: Tutorial 11 -д тавтай морилно уу! Энэхүү богино хэмжээний хичээлээр бид эцсийн төслийнхээ эхний хэсгийг бүтээх гэж байна.Таны хийх ёстой хамгийн эхний зүйл бол энэ хичээлийн хамгийн сүүлийн алхам руу очиж видео үзэх явдал юм. Дараа нь энд буцаж ирээрэй. [чамайг түр зогсоож байна