Агуулгын хүснэгт:

Электроникийн үндсэн ойлголт бүхий компьютер бүтээх: 9 алхам (зурагтай)
Электроникийн үндсэн ойлголт бүхий компьютер бүтээх: 9 алхам (зурагтай)

Видео: Электроникийн үндсэн ойлголт бүхий компьютер бүтээх: 9 алхам (зурагтай)

Видео: Электроникийн үндсэн ойлголт бүхий компьютер бүтээх: 9 алхам (зурагтай)
Видео: КАК НАСТРОИТЬ L4D2 2024, Арваннэгдүгээр
Anonim
Электроникийн талаархи үндсэн ойлголттой компьютер бүтээх
Электроникийн талаархи үндсэн ойлголттой компьютер бүтээх

Та үнэхээр ухаантай дүр үзүүлж, өөрийн компьютерийг эхнээс нь бүтээхийг хүсч байсан уу? Хамгийн бага хэмжээтэй компьютер хийхэд юу хэрэгтэй талаар та юу ч мэдэхгүй байна уу? Хэрэв та электроникийн талаар хангалттай мэдлэгтэй бол зарим IC -ийг зөв нийлүүлэх нь амархан байдаг. Энэхүү зааварчилгаа нь таныг энэ хэсэгт сайн байгаа гэж үзэх болно, үүнээс гадна өөр хэдэн зүйл байна. Хэрэв тийм биш бол, хэрэв та талхны хавтан/прототипинг хэрхэн яаж хийхийг мэддэг бол дагаж мөрдөх нь тийм ч хэцүү биш байх болно. Энэхүү зааварчилгааны зорилго нь тэдний хэрхэн ажилладаг талаар сайн мэдэхгүйгээр ажиллах "компьютер" авах явдал юм. Би утас, програмчлалын үндсийг авч үзэх болно, мөн танд маш богино хөтөлбөр өгөх болно. Тиймээс эхэлцгээе.

Алхам 1: эд анги, эд зүйлс

Эд анги ба эд зүйлс
Эд анги ба эд зүйлс
Эд анги ба эд зүйлс
Эд анги ба эд зүйлс

"Компьютер" нь дараахь зүйлийг шаарддаг: хүч, оролт, боловсруулалт, санах ой, гаралт. Техникийн хувьд бидэнд эдгээр бүх зүйл байх болно. Би эдгээр зүйлийг дарааллаар нь авч үзэх болно.

Цахилгаан эрчим хүчний хувьд танд 5 вольтын эх үүсвэр хэрэгтэй болно. Үүнийг хэлхээнийхээ хэсгүүдийг санамсаргүйгээр хуурахгүйн тулд үүнийг зохицуулалттай эх сурвалж болгохыг зөвлөж байна. Бидний оруулах товчлуурууд байх болно. Боловсруулалт нь өөрөө тайлбарладаг; Бид процессор ашиглаж байна. Санах ой нь зөвхөн ROM -оос бүрдэнэ. Процессорын дотоод ерөнхий зориулалтын бүртгэлүүд нь RAM болгон ашиглахад хангалттай байх болно. Гаралт нь LED байх болно.

1 LM7805C - 5V зохицуулагч

1 ZYLOG Z80 - Процессор

1 AT28C64B - EEPROM

1 74LS273 - Octal D Flip -Flop

1 74HC374E - Octal D Flip -Flop

3 CD4001BE - Quad NOR Gate

1 NE555 - Цаг үүсгэгч

2 1K Ом эсэргүүцэл

1 10K Ом эсэргүүцэл

1 10К Ом эсэргүүцэгч сүлжээ; 8 автобус эсвэл 8 нэмэлт 10K резистор

1 1uF конденсатор

1 100uF конденсатор

1 товчлуур

3х4 хэмжээтэй 1 матриц OR 8 нэмэлт товчлуур

8 LED - Өнгөний сонголт хамаагүй

8 330 Ом эсэргүүцэл эсвэл эсэргүүцлийн сүлжээ

1 Үнэхээр том талхны самбар эсвэл олон жижиг хүмүүс

Маш их ба маш олон утас

Миний схемд надад SRAM мод суулгасан байна. Та үүнд санаа зовох ч хэрэггүй. Би үүнийг өөрийн схемийг үнэн зөв тусгахын тулд схемд нэмж оруулсан бөгөөд ирээдүйд ашиглахаар хэлхээнд нэмсэн. Түүнчлэн схемд дөрвөлжин OR хаалга (74LS36) нэмж оруулсан болно. Ашиглагдаагүй хоёр хаалганы оролтыг VCC -тэй холбож, гаралтыг нь хөвж үлдээдэг (зураагүй). Цахилгаан хэлхээний хоёр конденсаторыг дээр дурдаагүй болно.

Би талхны хавтанг бүхэлд нь тэжээхийн тулд зохицуулалттай 12V -ийг 5V зохицуулагч руу тэжээж байна. Энэ нь нэлээд дулаарч байгаа тул би хөргөгч авахын тулд дулаан шингээгч хавсаргасан. Хэрэв та зохицуулагчийг тэжээхэд 12 В -оос бага хүч хэрэглэвэл (хамгийн багадаа 7 В -ыг ашиглаарай), энэ нь сэрүүн ажиллах ёстой.

Z80 бол ид шидийн үйл явдал юм. Энэ нь ROM -д хадгалагдсан зааврыг авч, тэдгээрийг гүйцэтгэдэг. EEPROM нь процессорыг ажиллуулахын тулд манай програмыг хадгалдаг.

Өгөгдлийн автобус дээрх өгөгдлийг өөрийн гаралт руу түгждэг бидний гаралтын төхөөрөмж болох наймал флип. Энэ нь автобусанд байгаа зүйлийг өөрчлөх боломжийг бидэнд олгодог бөгөөд энэ нь хэрэглэгч/үзэгчийн харж буй зүйлийг өөрчлөхгүйгээр зааварчилгаа бүрт олон удаа хийх чухал алхам юм. Флип-флоп нь гаралтын LED-ийг асаахад шаардагдах гүйдлийг жолоодож чаддаггүй тул LED-ийг жолоодохын тулд 8 өгөгдлийн шугамыг буфер болгон ажилладаг дөрвөн дөрвөлжин NOR хаалганы чип рүү тэжээдэг. Хаалганы гарц нь урвуу байдаг тул бид LED -ийг урвуу болгохын тулд утсыг холбох ёстой, гэхдээ бид үүнийг ирэхэд л үүнд хүрэх болно. Нөгөө NOR чипийг логик декодлоход ашигладаг боловч зөвхөн гурван хаалгыг ашигладаг.

Оролтонд ашигладаг найман флип-флоп нь үндсэндээ ижил зүйл юм. Гаралтын товч нь гаралтыг өндөр эсвэл бага байлгах тул автобус жолоодоход ашиглах боломжгүй; Энэ нь автобусны өгөгдлийг хадгалах болно. Оролтонд ашиглагддаг флип нь /RESET зүүг /EN-ээр сольдог бөгөөд энэ нь чипийн гаралтыг их ба бага хэмжээгээр салгадаг тул өгөгдлийг (гурван төлөвт гаралт) хадгалахгүй болно.

Алхам 2: Цахилгаан, цаг, хэлхээг дахин тохируулах

Цахилгаан, цаг, хэлхээг дахин тохируулах
Цахилгаан, цаг, хэлхээг дахин тохируулах
Цахилгаан, цаг, хэлхээг дахин тохируулах
Цахилгаан, цаг, хэлхээг дахин тохируулах
Цахилгаан, цаг, хэлхээг дахин тохируулах
Цахилгаан, цаг, хэлхээг дахин тохируулах

ТАЙЛБАР: Бүх хэсгүүдийн хувьд эхлээд цахилгаан шугамын утсыг холбоно уу. Утасдахаа мартах бүх зүйлээс чипүүд мартагдсан цахилгаан холболтыг даван туулах магадлал багатай байх болно.

Цахилгаан хэлхээ нь утастай холбох хамгийн энгийн хэлхээ бөгөөд дараа нь дахин тохируулах ба цагийн хэлхээ юм. Зураг дээр 12V оролт нь баруун талын цахилгаан зурвас дээр байна. Доод талд нь шар утсыг нуусан хүрэн утас нь 12V -ийг зохицуулагч руу тэжээдэг. Зохицуулагчийн гаралт нь талхны самбар дээрх бусад бүх зурвасыг тэжээдэг бөгөөд цахилгаан тууз бүр нийтлэг ойлголттой байдаг, учир нь электроник ийм байдлаар ажилладаг.

Процессор нь ажиллахын тулд цагийн хэлхээг шаарддаг. Үүнгүйгээр энэ нь зүгээр л анхны байдалд нь ороод юу ч хийхгүй болно. Цаг нь процессорын дотоод ээлжийн бүртгэлийг ажиллуулдаг тул аливаа зүйлийг хийх дохио үүсгэж чаддаг. Цагны ямар ч оролт хийх болно, тэр ч байтугай энгийн эсэргүүцэл, товчлуур. Гэхдээ зааврыг гүйцэтгэхийн тулд олон цагийн мөчлөг шаардагдана. Гаралт дээр бичих заавар нь өөрөө 12 цикл шаарддаг. Та тэнд суугаад нэг товчлуурыг 100+ удаа дарж кодын ганц хүрдийг авахыг хүсэхгүй байгаа байх (бодит тоо нь зааврын төгсгөлд байна). NE555 нь үүнд зориулагдсан болно. Энэ нь танд шилжих боломжийг олгодог бөгөөд үүнийг харьцангуй хурдан хурдаар хийдэг.

Та ямар нэгэн зүйл холбож эхлэхээсээ өмнө өөрийн бүрэлдэхүүн хэсгүүдийг самбар дээр хэрхэн байрлуулахыг хүсч байгаагаа олж мэдэхийг хүсч магадгүй юм. Миний цагийн хэлхээг самбарын доод хэсэгт байрлуулсан тул бусад бүрэлдэхүүн хэсгүүдэд саад болохгүй. Таймер ашиглан үндсэн цагийг хэрхэн яаж хийхийг та мэдэх болно. Хэрэв ингэхгүй бол та "555 Astable" -ийг хайж, зааварчилгааг дагахыг хүсэх болно. Таймерын 5V төмөр зам ба зүү 7 (R1) ба зүү 7 ба зүү 2 (R2) хоорондох 10K хооронд 1K резистор ашиглана уу. Таймер ажиллахын тулд дахин тохируулах зүү 4 -р зүүг 5V төмөр замд уяж байгаарай. Би гаралт дээрээ LED байрлуулсан тул цаг үнэхээр ажилласан эсэхийг шалгах боломжтой байсан ч энэ нь шаардлагагүй юм.

NE555 -ийн өөр нэг сонголт бол үүнийг NOT хаалга болгон тохируулж, гаралтыг оролттой холбохын тулд 1K эсэргүүцэл ашиглах явдал юм. Үүнийг хийхийн тулд ихэвчлэн 3 таймер ашиглахыг зөвлөдөг боловч ердөө 1 нь сайн ажиллах ёстойг олж мэдсэн. Хэрэв та үүнийг хийвэл маш өндөр хурдтай хэлбэлзэх бөгөөд гаралтын LED нь анивчдаг гэдгийг хэлэх нь маш хэцүү бөгөөд боломжгүй гэдгийг мэдэж аваарай. Энэхүү тохиргоог "цагираг осциллятор" гэж нэрлэдэг.

Бид цагийг процессортой холбож амжаагүй байгааг анхаарна уу. Бид үүнийг зүгээр л бэлдэж байна. Мөн зураг дээрх цагийн дээгүүр байрлах логик чипийг анхаарч үзээрэй. Үүнийг сүүлд нь нэмсэн бөгөөд үүнийг байрлуулах цорын ганц хагас боломжийн цэг үлдсэн юм. Үүнийг RAM/ROM сонгоход ашигладаг. Энэхүү зааварчилгаа нь RAM -ийг үл тоомсорлодог тул та энэ чипийг самбар дээр байхгүй болно.

Одоо бид дахин тохируулах хэлхээг холбож байна. Эхлээд та самбар дээрээс үүнийг олох хэрэгтэй. Би яг цагийн хажууд сонгосон. Товчлуураа самбар дээр нэмнэ үү. Товчлуурын нэг талыг 5V төмөр замд холбохын тулд 1K эсэргүүцэл ашиглана уу. Манай RESET тээглүүрүүд нь идэвхтэй байдаг тул бид тэдгээрийг өндөр түвшинд барих хэрэгтэй гэсэн үг юм. Энэ нь резистор юм. Энэ уулзвар нь мөн дахин тохируулах тээглүүрүүд хоорондоо холбогддог. Товчлуурын нөгөө тал нь шууд газарт очдог. Хэрэв та асаалтыг дахин тохируулахыг хүсч байвал энэ уулзварт 10uF конденсаторыг нэмж оруулаарай. Энэ нь дахин тохируулах зүү дээрх хүчдэлийг удаан байлгаж, процессор доторх дахин тохируулах хэлхээг идэвхжүүлж, эргүүлэх болно.

Алхам 3: Z80 утсыг холбоно уу

Одоо бид нялцгай биет рүүгээ орлоо. Бид Z80 хэмээх араатанд утас залгах болно. Миний самбар дээр би Z80 -ийг дахин тохируулах хэлхээний самбарын дээд хэсэгт байрлуулсан. Өмнө дурьдсанчлан цахилгааны төмөр замыг эхлээд утсаар холбоно уу. 5V нь зүүн талын 11 -р зүү рүү явдаг бөгөөд газар нь нэг зүү доош, харин баруун талд байна. Та чипний сондгой өргөнийг анзаарсан байх. Энэ нь талхны тавцан дээр нэг талдаа 3, нөгөө талдаа 2 нээлттэй холбогчтой байх болно. Хэрэв та үүнийг хийхээр шийдсэн бол нэмэлт зүйл утас холбох нь тийм ч хялбар биш юм.

Дараах зүү дугаарууд-та IC дээр тээглүүр тоолох талаар мэддэг гэж бодож байна-ашиглагдаагүй оролт бөгөөд 5V төмөр замд бэхлэгдсэн байх ёстой: 16, 17, 24, 25.

Манай цагийг санаж байна уу? Түүний гарц нь z80 дээрх 6 -р зүү рүү явдаг. Дахин тохируулах хэлхээ нь 26 -р зүүтэй холбогддог. Самбар дээр бусад бүрэлдэхүүн хэсгүүд байхгүй бол энэ нь z80 -ийн утсыг танд өгөх боломжтой юм. Үүний тулд илүү их утастай болох ажлыг дараагийн үе шатанд хийх болно.

Энэ зааварчилгааг бичихээс өмнө би хэлхээг аль хэдийн бүтээсэн байсан болохоор зургаа дараагийн алхам хүртэл барих болно.

Алхам 4: ROM -ийг холбох

ROM -ийг холбож байна
ROM -ийг холбож байна

ТАЙЛБАР: Хэрэв та үүнийг програмчлах шаардлагатай хэвээр байгаа бол үүнийг самбар дээр байрлуулахаа түр хойшлуулахыг хүсч магадгүй юм.

ROM -ийн хувьд би үүнийг баруун талд байгаа Z80 -ийн хажууд байрлуулж, талхны тавцан дээр нэг зүү доош байрлуулав. Энэ нь надад хаягийн автобусыг шууд утсаар холбох боломжийг олгосон боловч дараа нь энэ талаар дэлгэрэнгүй мэдээлэл өгөх болно. AT28C64B нь EEPROM бөгөөд зарим зүүг унтрааж асаах замаар олон удаа програмчлах боломжтой гэсэн үг юм. Манай EEPROM нь хэлхээнд байхдаа санамсаргүйгээр дахин програмчлахыг бид хүсэхгүй байна. Тиймээс та цахилгаан рельсээ холбосны дараа 27 В/5 -р төмөр замын утсан холболтыг бичих функцийг бүрмөсөн идэвхгүй болгох болно.

Миний програм маш жижиг тул надад зөвхөн доод 5 хаягийн шугамыг (A0-A4) холбох шаардлагатай байсан, гэхдээ би ямар ч байсан A5, A6, A7 утсыг холбосон тул нэмэлт ажил хийхгүйгээр том програм бичих боломжтой болсон. Нэмэлт хаягийн шугамууд (A8-A12) нь илүү өндөр хаяг руу хүсээгүй хандалтыг хөвөгч оролтоос сэргийлэхийн тулд шууд газардуулжээ. Ашиглагдаагүй хаягийн оролтыг газарт холбож, бичих хяналтыг 5V -д холбосон тохиолдолд үлдсэн хэсгийг нь холбох нь маш энгийн юм. Процессор дээр A0 -ийг олоод ROM дээр A0 руу холбоно уу. Дараа нь процессор дээрх A1 -ийг олоод ROM дээрх A1 руу холбоно уу. Бүх хаягийг хооронд нь холбох хүртэл үүнийг хий. Зураг дээр ROM руу очих миний хаягийн автобус цэнхэр утсаар хийгдсэн байна. RAM руу очих хаягийн автобусыг улаан утсаар хийдэг. Эдгээр утсыг талхны хавтангийн утаснуудын багцад оруулж ирэнгүүт урьдчилан хайчилж, хуулсан бөгөөд энэ утсыг холбоход төгс тохирсон байв.

Хаягуудыг утастай болгосны дараа (үүнийг хаягийн автобус гэж нэрлэдэг), D0, дараа нь D1, D2 гэх мэт шошгуудын хувьд яг ижил зүйлийг хий (D0 - D7). мэдээллийн автобус утастай. Бид бараг л ROM -ийг холбож дууссан. ROM /CE (чип идэвхжүүлэх) зүүг олж, процессорын зүү 19, /MREQ (санах ойн хүсэлт) рүү залгаж, дараа нь ROM /OE (гаралтын идэвхжүүлэлт) -ийг олоод процессорын 21, RD руу залгаарай (уншина уу). Бид одоо хийж байна. Энэ бүхэн нь холбогч утсаар хийгддэг, учир нь тэд процессорын нөгөө тал руу явах ёстой бөгөөд талхны самбар нь ийм утсыг ашиглахад хангалттай зай санал болгодоггүй.

Алхам 5: Гаралтын утсыг холбох

Гаралтын утас
Гаралтын утас
Гаралтын утас
Гаралтын утас

Энэ нь хүн амгүй байсан тул би гаралтын хувьд Z80 -ийн зүүн талд байрлах самбарыг сонгосон. Товчлуурыг тэнд байрлуулаад цахилгаан дамжуулагчийг холбоно уу. Pin 1, /MR (дахин тохируулах) нь процессорын дахин тохируулах зүү рүү шууд холбогдож болох боловч та үүнийг 5V төмөр замд холбосон хэвээр үлдээж болно. Үүнийг хийснээр энэ нь эхний бичих хүртэл хог мэдээллийг харуулах болно. Чип 11 -р зүү дээр цагийн оролттой болохыг анхаарч үзээрэй. Энэ зүү нь процессорыг жолооддог цаг биш гэдгийг анхаарна уу. Энэ цаг нь өгөгдлийн автобусанд заасан өгөгдлийг түгждэг.

Бид ROM дээрх D0 - D7 -ийг процессор дээрх ижил зүүгээр хэрхэн холбосныг санаж байна уу? Энэ чиптэй яг ижил зүйлийг хий. Түүний D0 нь өгөгдлийн автобусанд D0 руу явдаг гэх мэт. "Q" үсгээр эхэлсэн зүү нь гаралт юм. Тэдгээрийг холбохоосоо өмнө бид илүү их чип нэмэх хэрэгтэй. Би дөрвөлжин NOR хаалгыг ашигласан, учир нь надад хоолой байгаа бөгөөд надад аль хэдийн хэрэгтэй байсан, гэхдээ хэрэв та үүнийг зөв утсаар холбовол ямар ч чип ажиллах болно. Би бүх хаалганы нэг оролтыг газардуулж, бусад оролтыг оролт болгон ашиглаж болох байсан, гэхдээ би энгийн байдлаар хоёр оролтыг холбосон.

Би чипсийг холбогчгүйгээр шууд утсаар холбоход хялбар болгохын тулд флип-флопын доор байрлуулсан боловч энэ үед утас дутагдаж байсан тул эцэст нь энэ нь хамаагүй байсан. Flip-flop дээрх Q0, Q1….. Q7 нь тусдаа хаалганы оролт руу ордог. Багц/чип бүрт 4 хаалгатай тул надад 2 багц хэрэгтэй байсан бөгөөд бүх хаалгыг ашигласан. Хэрэв та ийм буфер хийх шаардлагагүй LED-ийг жолоодох боломжтой товчлуурын хувилбарыг олвол эдгээр хоёр чип шаардлагагүй болно. Хэрэв та хаалгыг урвуу гаралтгүй (AND/OR/XOR) буфер болгон ашигладаг бол та LED -ийг хүссэнээр утсаар холбож болно. Хэрэв та надтай ижил хэсгүүдийг ашиглаж байгаа ба/эсвэл гаралт нь урвуу байвал LED -ийг доор тайлбарласны дагуу утастай болгох ёстой. Эхний зураг нь гаралтын IC хэсгийг харуулж байна.

330 Ом эсэргүүцэл ашиглан LED -ийг эерэг (анод) 5В төмөр замд холбож, сөрөг (катод) хаалганы гаралттай холбоно. Хоёрдахь зураг дээр би тус бүрдээ зөвхөн таван дотоод эсэргүүцэлтэй хоёр резистор автобус ашиглаж байсныг харж болно. LED -ийг ингэж холбосноор гаралт унтарсан үед гэрэл асах болно. Оролт асаалттай үед гаралт унтарсан тул бид үүнийг хийдэг. Флип-флоп удирдлагаас ямар гарц гарч буйг хянаж байгаа эсэхээ шалгаарай. Хэрэв таны LED тараагдахгүй эсвэл захиалга нь утгагүй биш бол гаралт яагаад буруу байгаа талаар өөрөөсөө асуух үед төөрөгдөлд оруулах болно.

Алхам 6: Оролтын утас

Оролтын утас
Оролтын утас

74HC374 загварын углуургыг аваад хаа нэг газар тавь. Минийх Z80 -аас доош самбарын доод талд байсан. Хамгийн сүүлд бид D0 -ийг D0 -д, D1 -ийг D1 -тэй холбож байснаа санаж байна уу? Энэ удаад бид Q0 -ийг D0 -д, Q1 -ийг D1 -тэй холбоно. Аз болоход бид энэ удаад буфер чип нэмэх шаардлагагүй боллоо, хаха. Үүний оронд бид "D" зүү (D0-D7) бүрт 10K Ом-ийг холбож, дараа нь ижил тээглүүр ба 5V төмөр замд товчлуурыг холбох гэж байна. Эсвэл резистор автобус ашиглаж, эд ангиудын тоог эрс багасгаж болно. 3x4 товчлуурын матриц (матриц гаралтгүй !!) бас туслах болно. Зураг дээр оролтын хэлхээг бүхэлд нь цавуу логиктой хамт харуулав (энэ хэсэг нь дараагийнх).

Алхам 7: Цавууны логик

Бидэнд утас холбох сүүлчийн зүйл байна. Үүнийг "цавуу логик" гэж нэрлэдэг, учир нь энэ нь бүгдийг ажиллуулахын тулд хяналтын дохиог тайлахад ашигладаг; энэ бол хэлхээг хамтад нь байлгадаг зүйл юм. Процессор гаралт дээр өгөгдөл бичихийг хүссэн тохиолдолд /IORQ ба /WR (20 ба 22) хоёулаа буурч, илгээгдэж буй өгөгдлийг өгөгдлийн шугам дээр баталгаажуулдаг. Хоёр флип товчлуур дээрх цагийн зүү нь өндөр идэвхтэй байдаг бөгөөд энэ нь зүү өндөр дохио хүлээн авахад өгөгдөл түгжигддэг гэсэн үг юм. Бид хаалганы нэг оролтод NOR хаалга, утас /IORQ, нөгөө оролтод /WR ашигладаг. Аль аль нь өндөр байх үед IO хэлхээг сонгож аваагүй эсвэл бичих үйлдэл хийгдээгүй байгаа үед эргүүлэх цагийг тэжээх гаралт бага хэвээр байна. Оролт хоёулаа доогуур байх үед, зөвхөн гаралт өндөр байх ба флип флоп нь өгөгдлийг саатуулдаг.

Одоо бид оролтын товчлуурыг холбох хэрэгтэй. Бид цагийн зүүг өмнөхтэй ижил аргаар холбож болно, гэхдээ /IORQ ба /RD ашиглан. Гэхдээ бусад флип-флопоос ялгаатай нь бидэнд /IORQ ба /RD бага байхад л авах шаардлагатай /OE зүү байдаг. Бид OR хаалгыг ашиглаж болно. Эсвэл бид цагны дохиог аваад, аль хэдийн бэлэн болсон хоёр урвуу хаалганы аль нэгээр нь эргүүлж болно. Үүнийг зааж өгөх үед надад OR хаалга байхгүй байсан тул сүүлчийн сонголтыг ашигласан. Сүүлчийн сонголтыг ашиглах нь надад ямар ч байсан нэмэлт хэсэг нэмэх шаардлагагүй гэсэн үг юм.

Алхам 8: Програмчлал

Хэрэв таны утас зөв, миний тайлбар тодорхой байвал ROM -ийг програмчлахад л үлдэх болно. Үүнийг хийх цөөн хэдэн арга бий. Та хялбар арга замаар Digikey -ээс шинэ чип захиалж болно. Та хэсгийг захиалахдаа HEX файлыг байршуулах боломжтой бөгөөд үүнийг тээвэрлэхээс өмнө програмчлах болно. Энэхүү зааварчилгаанд хавсаргасан HEX эсвэл OBJ файлуудыг ашиглаад шуудангаар ирэхийг хүлээнэ үү. Сонголт 2 бол Arduino гэх мэт програмист бүтээх явдал юм. Би энэ замыг туршиж үзсэн боловч зарим өгөгдлийг зөв хуулбарлаж чадаагүй тул үүнийг олохын тулд хэдэн долоо хоног зарцуулсан. Би 3 -р сонголтыг хийж дуусгасан бөгөөд энэ нь гараар програмчлах, хаяг, өгөгдлийн шугамыг хянахын тулд шилжүүлэгчийг эргүүлэх явдал юм.

Процессорын OP код руу шууд хөрвүүлсний дараа энэ програм нь зөвхөн 17 байтын хаягийн орон зайд байрладаг тул гараар програмчлах нь тийм ч аймшигтай биш байв. Хөтөлбөр нь ерөнхий зориулалтын В регистрт 00 -ийн утгыг ачаална. В регистрийг өмнөх нэмэлтийн үр дүнг хадгалахад ашигладаг. A бүртгэл нь математик тохиолддог газар тул бид үүнийг өгөгдөл хадгалахад ашиглахгүй.

А регистрийн тухай ярихдаа бид IN командыг гүйцэтгэдэг бөгөөд энэ нь оролтыг уншдаг бөгөөд уншсан өгөгдлийг А -д хадгалдаг. Дараа нь бид В регистрийн агуулгыг нэмж үр дүнг гаргадаг.

Үүний дараа А регистрийг В регистрт хуулж, дараа нь бид хэд хэдэн үсрэлтийн командуудыг хийдэг. Бүх үсрэлтүүд нь хаягийн шугамын доод байтыг зааж өгдөг бөгөөд үсрэлтийн зааврын дээд байтыг хоёрдахь аргументэд өгсөн бөгөөд "00" байдаг тул бид үсрэлт бүрийг NOP дагахыг албадаж болно. Санамсаргүй оролтоос урьдчилан сэргийлэхийн тулд гаралтыг харуулах болон оролтыг унших хооронд хугацаа өгөх зорилгоор бид үүнийг хийдэг. Үсрэлт бүрт арван цагийн цикл ашигладаг бөгөөд NOP бүр дөрвөн удаа ашигладаг. Хэрэв давталт нь танд таалагдахгүй удах юм бол та цагийн хурдыг нэмэгдүүлэх эсвэл дахин бага үсрэлт хийхийн тулд үүнийг дахин програмчилж болно.

Алхам 9: Туршилт

Хэрэв та бүх зүйлийг зөв утсаар холбож, ROM -ийг зөв програмчилсан бол эцсийн алхамыг хийх хэрэгтэй: залгаарай, энэ нь ажиллаж байгаа эсэхийг шалгаарай. Нэг товчлуур дараад хэдэн секунд хүлээнэ үү. Хөтөлбөрийг эхний давталтад хүрэхийн тулд 81 цагийн мөчлөг шаардагдах бөгөөд давталт бүр 74 цагийн мөчлөгтэй болно.

Хэрэв энэ нь ажиллахгүй бол богино өмд болон холбогдоогүй тээглүүр (нээх) болон бусад утастай холбоотой асуудлуудыг шалгаарай. Хэрэв та асаах горимыг дахин тохируулахаас татгалзсан бол процессор ямар нэгэн зүйл хийхээс өмнө гараар дахин тохируулах шаардлагатай болно. Та мөн LED -ийг хаягийн автобусанд холбож, тэдний биеэ авч явж байгаа эсэхийг мэдэх боломжтой. Надад үүнтэй холбоотой асуудал тулгарч байсан тул би тэдгээрийг шууд өгөгдлийн автобусанд наасан. Энэ нь процессор болон ROM -ийн хооронд юу ярьж байгааг харах боломжийг надад олгосон бөгөөд энэ нь ROM -ийг зөв уншсан эсэх талаар санаа зовох зүйлгүй байсан бөгөөд үүнд цаг хугацааны диаграм шаардлагатай байсан бөгөөд үүнд оролцохыг хүсээгүй юм. Би эцэст нь буруу хадгалагдсан асуудалтай OP кодыг олж авсан тул сайн сонголт болсон юм.

Зөвлөмж болгож буй: