
Мазмуну:
2025 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2025-01-23 14:51


Бул Нускамада мен сизге компьютер программасын машина тилинде кантип коддоону жана сыноону көрсөтөм. Машина тили - компьютерлердин эне тили. 1с жана 0с саптарынан түзүлгөндүктөн, аны адамдар оңой түшүнө алышпайт. Бул көйгөйдү чечүү үчүн, биз программаларды биринчи кезекте C ++ же Java сыяктуу жогорку деңгээлдеги тилде коддоп, анан аларды атайын компьютердик программаларды колдонуп, 1 -жана 0 -жылдардагы компьютерлер түшүнөт. Жогорку деңгээлдеги коддо үйрөнүү, албетте, эч нерсе эмес, бирок машина тилине кыскача киришүү компьютерлердин иштеши жөнүндө баалуу түшүнүк бере алат жана бул абдан маанилүү технологияга болгон ыраазычылыкты жогорулатат.
Машина тили программасын коддоо жана сыноо үчүн, машинанын тили оңой эле түшүнүктүү компьютерге кирүүбүз керек. Персоналдык компьютерлер ойлонууга өтө татаал. Чечим - жеке компьютерде иштеген Logisim логикалык тренажерун колдонуу. Logisim менен биз муктаждыктарыбызга жооп берген компьютерди туурай алабыз. Жогорудагы видео сизге Logisim менен эмнеге жетише аларыбызды көрсөтөт.
Компьютердин дизайны үчүн мен Kindle электрондук китебимдин бирөөсүн ылайыкташтырдым - Өз компьютериңди түз - Scratch тартып. Мен ошол жерде сүрөттөлгөн BYOC компьютеринен баштадым жана аны ушул Нускамада колдоно турган BYOC-I (I Instructable үчүн) негизги бөлүгүнө чейин кыскарттым.
BYOC-Iнин машина тили жөнөкөй жана түшүнүүгө оңой. Сизге компьютер же программалоо боюнча атайын билимдин кереги жок. Баары - бул изденүүчү акыл жана үйрөнүүгө болгон каалоо
Кошумча окуу
Механикалык түзүлүш болбосо, эмне үчүн биз компьютерди сүрөттөө үчүн "машинаны" колдонобуз деп ойлонушуңуз мүмкүн. Себеби тарыхый; биринчи эсептөө каражаттары тиштүү дөңгөлөктөрдөн турган механикалык болгон. Аллан Шермандын "Мунун баары тетиктерди баскан…" деген лирикасы бир-эки кылымдын ичинде эле болгон. Бул жерде эрте эсептөө жөнүндө көбүрөөк окуңуз.
1 -кадам: Бөлүктөрдүн тизмеси

Бөлүктөрдүн тизмеси кыска. Бул эки нерсе гана талап кылынат, экөө тең бекер түшүрүлөт:
- "Logisim-win-2.7.1.exe"-Logisim-популярдуу жана колдонууга оңой логика тренажери. Logisimдин аткарылуучу файлын бул жерден жүктөп алыңыз, андан кийин рабочий стол сыяктуу ыңгайлуу жерде кыска жол түзүңүз. Аны баштоо үчүн Logisim сүрөтчөсүн эки жолу чыкылдатыңыз. Эскертүү: Logisim бул жерде жайгашкан Java Runtime Package колдонот. Сиз аны жүктөп алууңузду суранышы мүмкүн.
- BYOC-I-Full.cir "-Төмөндөгү Logisim райондук файлын жүктөп алыңыз.
Logisim'ди иштетиңиз, андан кийин "Файлды ачуу" баскычын чыкылдатыңыз жана BYOC-I-Full.cir файлын жүктөңүз. Жогорудагы сүрөт Logisim жумушчу чөйрөсүн көрсөтөт. BYOC-I чакан блок менен көрсөтүлгөн. Сырттан туташкан эки киргизүү, Reset and Run жана BYOC-Iнин регистрлери жана программанын эс тутуму үчүн он алтылык дисплейлер.
BYOC-I программасынын эс тутуму A реестринде 1ден 5ке чейин эсептелген жөнөкөй программа менен алдын ала жүктөлгөн. Программаны аткаруу үчүн (Иштетүү), бул кадамдарды аткарыңыз.
1 -кадам - Poke куралын басыңыз. Курсор тыкылдаган "бармакка" өтүшү керек. 2 -кадам - Баштапкы абалга келтирүүнү эки жолу басыңыз, бир жолу "1" ге өзгөртүп, кайра "0" ге кайтарыңыз. Бул программаны 0 дареги боюнча баштоо үчүн BYOC -I баштапкы абалга келтирет. 3 -кадам - "1" ге өзгөртүү үчүн Run киргизүүнү бир жолу басыңыз. Реестр 1ден 5ке чейин кайталанган сандарды көрсөтүшү керек. 4 -кадам - Эгерде программа аткарылбаса, control -K баскычын басыңыз жана ал башталышы керек.
Эгерде сиз Logisimдин мүмкүнчүлүктөрүн изилдегиңиз келсе, Меню тилкесиндеги Жардам шилтемесин басыңыз. Ал жерден Logisim "Tutorial", "User Guide" жана "Library Reference" менен таанышсаңыз болот. Мыкты видео киришүү бул жерде.
2 -кадам: Машина тили иерархиясы жана коддору

BYOC-I компьютери машиналар тилинде жазылган программалардын негизинде милдеттерди аткарат. BYOC-I программалары, өз кезегинде, так аныкталган ырааттуулукта аткарылган көрсөтмөлөрдөн турат. Ар бир көрсөтмө BYOC-Iнин ар кандай операциялык компоненттерин чагылдырган туруктуу узундук коддорунан жасалган. Акыр-аягы, бул коддор 1s жана 0s саптарынан турат, алар BYOC-I иш жүзүндө аткаруучу машина тилин түзөт.
Түшүндүрмө катары, биз коддордон баштайбыз жана программалык деңгээлге чейин иштейбиз. Андан кийин биз жөнөкөй программаны коддойбуз, BYOC-Iнин эс тутумуна жүктөп, аны аткарабыз.
Коддор кыскартылган түрдө белгиленген сандагы бинардык (1 жана 0) цифрадан же биттерден турат. Мисалы, төмөндөгү таблицада 4 биттик код үчүн мүмкүн болгон бардык коддор (бардыгы 16) көрсөтүлгөн. Код он жагында көрсөтүлөт, он алтылык (база 16) жана ондук эквивалент. Он алтылык экилик маанилерге шилтеме жасоодо колдонулат, анткени ал бинардыкка караганда компактыраак жана ондукка караганда экиликтен которуу оңой. "0x" префикси кийинки санды он алтылык же кыскасы "он алтылык" экенин билүүгө мүмкүнчүлүк берет.
Бинардык - Он алтылык - Ондук0000 0x0000 00001 0x0001 10010 0x0002 20011 0x0003 30100 0x0004 40101 0x0005 50111 0x0007 71000 0x0008 81001 0x0009 91010 0x000A 101011 0x000B 111100 0x000C 1211011 0x000C 1211011 0x000C 1211011 0x000C
Коддун туурасы канча нерсени чагылдырууга болорун аныктайт. Белгиленгендей, жогорудагы 4 биттик код 16 пунктка чейин (0дон 15ке чейин) көрсөтө алат; башкача айтканда, 2 эсе 2 төрт эсе же 2ден 4кө чейинки күч 16га барабар. Жалпысынан алганда, чагылдырылган нерселердин саны 2 -бийликке көтөрүлөт. Бул жерде n-бит коддорунун кыска тизмеси.
n - Элементтердин саны1 22 43 84 165 326 647 1288 256
BYOC-I компьютер кодунун кеңдиги код менен көрсөтүлүүчү нерселердин санына ылайыкташтырылган. Мисалы, төрт нускаманын түрү бар, ошондуктан 2-биттик код ылайыктуу. Бул жерде BYOC-I коддору бар, ар бирине кыскача түшүндүрмө берилген.
Көрсөтмөнүн түрү коду (tt) Төрт нускаманын түрү бар: (1) MVI - Эс тутум реестрине дароо 8 -биттик туруктуу маанини жылдырыңыз. Эстутум реестри - бул эсептөө үчүн колдонула турган маалыматтарды камтыган түзүлүш, (2) MOV - Берилиштерди бир регистрден экинчисине жылдыруу, (3) RRC - Реестрден каттоого чейин эсептөө жана (4) JMP - Jump кийинки көрсөтмөнү улантуунун ордуна башка көрсөтмөгө өтүңүз. Кабыл алынган BYOC-I Нускоо Түрүнүн Коддору төмөнкүлөр:
00 MVI01 MOV10 RRC11 JMP
Реестр коду (dd жана ss) BYOC-Iде 0дөн 255ке чейинки баалуулуктарды сактоого жөндөмдүү 8 биттик төрт регистр бар. 2-бит коду төрт реестрди белгилөө үчүн жетиштүү:
00 F регистр01 E регистр10 D регистр11 А реестр
Эсептөө коду (ccc) BYOC-I төрт арифметикалык/логикалык операцияны колдойт. Келечекте сегиз эсептөөгө чейин кеңейтүү үчүн 3-бит коду колдонулат:
000 ADD, белгиленген реестрлерге эки 8-биттик маанини кошуңуз жана жыйынтыгын 001 SUB регистрлеринин биринде сактаңыз, белгиленген 8 реестрдеги 8 8-биттин эки маанисин алып салыңыз жана жыйынтыгын 010-011 регистрлеринин биринде сактаңыз Келечекте колдонуу үчүн сакталган100 ЖАНА, логикалык ЖАНА эки 8-биттик баалуулуктар белгиленген реестрлерде жана жыйынтыгын реестрлердин биринде сактайт101 ЖЕ, логикалык ЖЕ эки 8-биттик баалуулуктар белгиленген реестрлерде жана жыйынтыгын регистрлердин биринде сактоо110дон 111ге чейин, Келечекте колдонуу үчүн корголгон
Jump Code (j) Секирүү шартсыз (j = 1) же нөл эмес эсептөө натыйжасы менен шартталганын көрсөтүүчү 1-бит коду (j = 0).
Берилиштер/Дарек коду (v… v)/(a… a) 8-биттик маалыматтар 00000000дөн 11111111ге чейин же 0дон 255 ондукка чейинки маанилерди көрсөтүүчү айрым көрсөтмөлөргө киргизилиши мүмкүн. Бул маалымат BYOC-Iнин 8-бит регистрлеринде сактоо үчүн 8-бит туурасы. Ондук арифметика менен биз алдыңкы нөлдөрдү көрсөтпөйбүз. Компьютердик арифметика менен биз алдыңкы нөлдөрдү көрсөтөбүз, бирок алар мааниге таасирин тийгизбейт. 00000101 сан жагынан бирдей 101 же 5 ондук.
Сунушталган шилтемелер
Binary Notation - https://learn.sparkfun.com/tutorials/binaryHexadecimal Notation -
Кошумча окуу
Процесске жетүү үчүн коддорду колдонуу идеясы артка кетет. Жакшы мисалдардын бири - Жаккард станогу. Автоматташтырылган токуучу станок жыгач карталардын чынжыры менен башкарылган, анда тешүү үчүн түрдүү түстөгү жиптердин коддорун чагылдырган. Мен биринчи жолу Шотландияда көрдүм, ал жерде түстүү тартандар жасалат. Jacquard Looms жөнүндө бул жерден окуңуз.
3-кадам: BYOC-I инструкцияларынын анатомиясы

BYOC-I коддорун эске алып, биз кийинки баскычка, көрсөтмөлөргө өтөбүз. BYOC-I үчүн көрсөтмө түзүү үчүн, биз коддорду көрсөтмөнүн ичинде белгиленген тартипте жана белгилүү бир жерлерде жайгаштырабыз. Бардык коддор бардык көрсөтмөлөрдө көрүнбөйт, бирок алар белгилүү бир жерди ээлешет.
MVI инструкциясы эң көп битти талап кылат, бардыгы 12. Инструкция сөзүн узундугу 12 бит кылып, биз бардык көрсөтмөлөрдү кабыл алабыз. Колдонулбаган ("кам көрбө" деп аталган) биттерге 0 мааниси берилет. Бул жерде BYOC-I Нускамалар Топтому.
- Дароо жылдыруу (MVI) - 00 dd vvvvvvvvFunction: 8 -бит маалымат V = vvvvvvvv көздөгөн регистрге жылдыруу dd. Аткарылгандан кийин, dd реестри vvvvvvvv маанисине ээ болот. Кыскартуу: MVI R, V, мында R - A, D, E же F.
- Регистрди Каттоо үчүн жылдыруу (MOV) - 01 dd ss 000000Функция: Маалыматтарды баштапкы регистрден ss аныктоо реестрине жылдыруу. Аткарылгандан кийин, эки регистр тең булактын реестрине барабар. Кыскартуу: MOV Rd, Rs, бул жерде Rd - баруучу регистр A, D, E, же F жана Rs - булак A, D, E, же F мисал: 01 11 01 000000 - MOV A, E - Маанини жылдыруу E реестринде А.
- Эсепти каттоо үчүн каттоодон өтүү (RRC) - 10 dd ss ccc 000 Функция: булак реестрин ss жана көздөгөн реестрди колдонуу менен дайындалган эсептөө cccин аткарыңыз, андан кийин жыйынтыгын баруучу реестрде сактаңыз. Кыскартуулар: ADD Rd, Rs (ccc = 000 Rd + Rs сакталган Rd); SUB Rd, Rs (ccc = 001 Rd - Rdде сакталган Rs); AND Rd, Rs (ccc = 100 Rd AND Rs Rdде сакталат); ЖЕ Rd, Rs (ccc = 101 Rd OR Rs Rdде сакталат). Мисалы: 10 00 11 001 000 - SUB F, A - F реестриндеги натыйжасы менен A реестриндеги A реестриндеги маанини алып салуу.
- Jump to Different Instruction (JMP) - 11 j 0 aaaaaaaaФункция: Аткарууну aaaa aaaa (a) дарегинде жайгашкан башка көрсөтмөгө өзгөртүү 0 00001000 - JMP 8 - Аткарууну 8 -дарекке өзгөртүү 0 00000100 JNZ 4 Эгерде акыркы эсептөө нөл эмес мааниге ээ болсо, аткарууну 4 дарегине өзгөртүңүз.
Нускамалык сөз биттери солго (эң маанилүү бит MSB) оңго (эң аз бит LSB) 11ден 0ге чейин номерленет. Коддордун белгиленген тартиби жана жайгашуусу төмөнкүчө:
Биттер-Code11-10 Көрсөтмөнүн түрү9-8 Кирүү Реестри7-6 Булак Реестри5-3 Эсептөө: 000-кошуу; 001 - алып салуу; 100 - логикалык ЖАНА; 101 - логикалык OR7-0 Туруктуу мааниси v… v жана a… a (0дон 255ке чейин)
Нускамалар топтому жогоруда көрсөтүлгөн сүрөттө жалпыланган. Ар бир нускамада коддордун структуралаштырылган жана иретке келтирилгенине көңүл буруңуз. Жыйынтык BYOC-I үчүн жөнөкөй дизайн жана ал инсан үчүн түшүнүктү жеңилдетет.
4 -кадам: Компьютер инструкциясын коддоо

Программанын деңгээлине өтүүдөн мурун, жогоруда BYOC-I Нускамалар Топтомун колдонуп, кээ бир мисал инструкцияларын түзөлү.
1. 1 маанисин А каттоого жылдырыңыз. BYOC-I регистрлери 0дөн 255ке чейинки маанилерди сактай алат. Бул учурда, А регистр инструкцияны аткаргандан кийин 1 (00000001 бинардык) мааниге ээ болот.
Кыскартылган сөз: MVI A, 1Коддер керек: MVI түрү - 00; Көздөлгөн регистр А - 11; Мааниси - 00000001Көрсөтмө сөзү: 00 11 00000001
2. А регистринин мазмунун D каттоого жылдырыңыз. Аткарылгандан кийин эки реестр тең А регистриндеги мааниге ээ болот.
Кыскартуу: MOV D, A (Эсиңизде болсун, көздөгөн жер тизмеде биринчи жана булак) Коддор Керектелет: MOV түрү - 01; Көздөлгөн регистр D - 10; Булак Реестри А - 11Көрсөтмө Сөзү: 01 10 11 000000
3. D регистринин мазмунун А регистрине кошуу жана А реестрине сактоо үчүн А реестринин мааниси А регистринин жана D регистринин баштапкы маанисинин суммасы болот.
Кыскартуу: ADD A, D (Жыйынтык баруу реестринде сакталат) Керектүү коддор: Type RRC - 10; Көздөлгөн регистр А - 11; Булак реестри D - 10; Кошумча эсептөө - 000
4. Дарекке нөл эмес секирүү 3. Эгерде акыркы эсептөөнүн жыйынтыгы нөлгө барабар болбосо, аткаруу берилген дарек боюнча көрсөтмөгө өзгөрөт. Эгерде нөл болсо, аткаруу төмөнкү инструкция боюнча улантылат.
Кыскартуу: JNZ 3Коддомдор: JMP түрү - 11; Секирүү түрү - 0; Дарек - 00000003Көрсөтмө сөзү: 11 0 0 00000003 (Секирүү түрү биринчи 0)
5. 0 дарегине сөзсүз түрдө секирүү. Аткарылгандан кийин аткаруу берилген дарек боюнча көрсөтмөгө өзгөрөт.
Кыскартуу: JMP 0Code Керектүү: JMP түрү - 11; Секирүү түрү - 1; Дареги - 00000000Нускамалык Сөз; 11 1 0 00000000
Машинаны коддоо бир аз түйшүктүү болгону менен, бул кыйын эмес экенин көрө аласыз. Эгерде сиз машинаны реалдуу түрдө коддогондо, ассемблер деп аталган компьютердик программаны колдонуп, аббревиатурадан (ассамблея коду деп аталат) машинанын кодуна котормоксуз.
5 -кадам: Компьютердик программанын анатомиясы

Компьютердик программа - бул тизменин башынан баштап, аягына чейин уланган көрсөтмөлөрдүн тизмеси. JNZ жана JMP сыяктуу нускамалар кийинки көрсөтмөлөрдү өзгөртө алат. Тизмедеги ар бир көрсөтмө 0дөн баштап компьютердин эс тутумунда бир даректи ээлейт. BYOC-I эс тутуму 256 көрсөтмөлөрдүн тизмесин камтышы мүмкүн, бул биздин максаттар үчүн жетиштүү.
Компьютердик программалар берилген тапшырманы аткаруу үчүн иштелип чыккан. Биздин программа үчүн биз 1ден 5ке чейин эсептелген жөнөкөй тапшырманы тандайбыз. Албетте, "саноо" көрсөтмөсү жок, андыктан биринчи кадам-бул тапшырманы BYOC-I тарабынан аткарыла турган кадамдарга бөлүү. чектелген көрсөтмө топтому.
1 -кадам Каттоо үчүн 1 -кадам AStep 2 Каттоо үчүн А -ны жылдыруу D -кадам 3 -регистрацияны D -га кошуу жана жыйынтыгын реестрде сактоо -Степ -4 Э -этапты каттоо үчүн 5 -орунду жылдыруу E -реестрден А реестрин алып салуу жана EStep -6 реестринде жыйынтыкты сактоо алып салуунун натыйжасы нөл болгон жок, 4 -кадамга кайтып, саноону улантыңыз 7 -кадам, эгерде алып салуунун натыйжасы нөлгө барабар болсо, артка кайтып, кайра баштаңыз
Кийинки кадам-бул кадамдарды BYOC-I көрсөтмөлөрүнө которуу. BYOC-I программалары 0 дарегинде жана катар катары башталат. Өткөрүү даректери бардык көрсөтмөлөр орундалгандан кийин акыркы жолу кошулат.
Дарек: Көрсөтмө - Кыскартуу; Description 0: 00 11 00000001 - MVI A, 1; A1ди каттоого 1ди жылдырыңыз: 01 10 11 000000 - MOV D, A; D2ди каттоого A регистрин жылдырыңыз: 10 11 10 000 000 - ADD A, D; А каттоого D регистрин кошуңуз жана жыйынтыкты A3 реестрине сактаңыз: 00 01 00 00000101 - MVI E, 5; 5 реестрди жылдырыңыз E4: 10 01 11 001 000 - SUB E, A; А регистрин Е регистринен алып салыңыз жана дүкөндү сактаңыз натыйжа E5 реестринде: 11 0 0 00000010 - JNZ 2; Эгерде чыгарып кетүүнүн натыйжасы нөлгө барабар болбосо, 3 дарекке кайтып барууну жана саноону улантууну 6: 11 1 0 00000000 - JMP 0; Эгерде азайтуунун жыйынтыгы нөл болсо, кайра артка кайтып, башынан баштаңыз
Программаны эстутумга өткөрүүдөн мурун, бинардык көрсөтмө кодун Logisim Hex редактору менен колдонуу үчүн он алтылыкка өзгөртүү керек. Биринчиден, инструкцияны ар бири 4 бит болгон үч топко бөлүңүз. Андан кийин 2 -кадамдагы таблицаны колдонуу менен топторду он алтылыкка которуңуз. Акыркы он алтылык цифралар гана колдонулат (төмөндө кара тамгалар менен).
Дарек - Бинардык Инструкция - Бинардык Инструкция - Инструкция (Hex) 0 001100000001 0011 0000 0001 - 0x03011 011011000000 0110 1100 0000 - 0x06C02 101110000000 1011 1000 0000 - 0x0B803 000100000101 0001 0000 0101 - 0x00000 - 1100000000000000000000 111000000010 1110 0000 0000 - 0x0E00
Программаны тестирлөө үчүн BYOC-I эс тутумуна өткөрүп берүү убактысы келди.
6 -кадам: Программаны эстутумга жана тестирлөөгө өткөрүү


Logisim "негизги" схемасына карап, көрсөтүлгөн BYOC-I блогу Explorer панелиндеги "BYOC-I" деп белгиленген чыныгы компьютердик схеманын символу. Программаны BYOC-I эс тутумуна киргизүү үчүн:
- BYOC-I блогун оң баскыч менен чыкылдатыңыз ("чакан схема" деп аталат) жана "BYOC-Iди көрүү" (солго чыкылдатып) тандаңыз.
- BYOC-I схемасы Жумуш аянтында пайда болот. "Программанын эс тутуму" белгисин оң баскыч менен чыкылдатып, "Мазмунду түзөтүү" дегенди тандаңыз.
- Logisim Hex редакторун колдонуп, он алтылык кодду киргизиңиз (жоон гана) жогоруда көрсөтүлгөндөй.
Сиз азыр программаны аткарууга даярсыз. Explorer панелиндеги "BYOC-I" дегенди эки жолу басуу менен негизги схемага кайтыңыз. Иштетүү жана баштапкы абалга келтирүү баштоо үчүн "0" болушу керек. Poke куралын колдонуп, адегенде "1ге" баштапкы абалга келтирип, кийин "0" ге кайтарыңыз. Бул баштапкы даректи 0x0000 кылат жана BYOC-I схемасын аткарууга даярдайт. Эми Run киргизүүнү "1ге" коюңуз жана программа аткарылат. (Эскертүү: Logisim саатын иштетүү үчүн Control-K баскычын бир жолу басуу керек. Бул Logisim саатын токтотууга жана Control-T баскычын бир нече жолу басуу менен программаны басууга мүмкүнчүлүк берген өзгөчөлүк. Кээде аракет кылып көрүңүз!)
Logisim саат жыштыктардын кеңири диапазону үчүн жөнгө салынат. Жүктөлгөндөй, бул 8 Гц (секундасына 8 цикл). BYOC-I компьютеринин долбоорлоо ыкмасы, ар бир инструкцияны аягына чыгаруу үчүн төрт сааттык циклди талап кылат. Ошентип, BYOC-I ылдамдыгын эсептөө үчүн саат жыштыгын 4кө бөлүңүз. 8 Гцте анын ылдамдыгы секундасына 2 көрсөтмө. Курал тилкесиндеги "Симуляциялоо" баскычын басып, "Кендердин жыштыгын" тандоо менен саатты өзгөртө аласыз. Мүмкүн болгон диапазон 0,25 Гцтен 4100 Гцке чейин. 8 Гцте жай ылдамдык тандалды, андыктан А реестриндеги саноону көрө аласыз.
BYOC-I симуляциясынын максималдуу ылдамдыгы (секундасына ~ 1000 көрсөтмө) азыркы компьютерлерге салыштырмалуу өтө жай. Менин китебимде сүрөттөлгөн BYOC компьютеринин аппараттык версиясы секундасына 12 миллиондон ашык көрсөтмөлөрдү аткарат!
Бул Instructable машинанын тилин программалоону жокко чыгарды деп үмүттөнөм жана сизге компьютерлер эң негизги деңгээлде кантип иштээри жөнүндө түшүнүк берди. Түшүнүүңүздү түшүрүү үчүн төмөндөгү эки программаны коддоого аракет кылыңыз.
- 5тен башталып, 0го чейин эсептелген программа жазыңыз. (ANS. Count5to0.txt төмөндө)
- 2ден баштап, саны 7ден ашканга чейин 3кө санаңыз. Сиз кичине менталдык арифметика жасай аласыз, ал жерге түшөөрүн билгенден кийин 8ди текшерип, кайра баштаңыз. Программаңызды дагы жалпы жол менен жазыңыз, ал белгилүү бир сандан "ашса", чынында эле сыналат. Ишара: Чегерүү терс мааниге ээ болгондо эмне болорун изилдеңиз, мисалы 8 - 9 = -1 деп айтыңыз. Андан кийин логикалык AND менен эксперимент жүргүзүп, 8 биттик сандагы MSB "1" экенин текшериңиз. (ANS. ExidentsCount.txt)
BYOC-I компьютери үчүн башка татаал көйгөйлөр жөнүндө ойлоно аласызбы? Анын чектөөлөрүн эске алганда, дагы эмне кыла алат? Мени менен тажрыйбаңызды бөлүшүңүз [email protected]. Эгерде сиз микропроцессорлорду коддоого кызыксаңыз, менин www.whippleway.com веб -сайтымды караңыз. Ал жерде машиналарды коддоону Arduinosдо колдонулган ATMEL Mega сериялары сыяктуу заманбап процессорлорго алып барам.
Сунушталууда:
MAX7219 LED Dot Matrix Ассамблеясы жана Тестирлөө: 6 Кадам (Сүрөттөр менен)

MAX7219 LED Dot Matrix Ассамблеясы жана Тестирлөө: Dot-Matrix Display-бул матрица түрүндө тегизделген жарык чыгаруучу диоддорду камтыган дисплей түзмөгү. бирге көрсөтүлсүн
6-огу Sensor Module FSP200 Калибрлөө жана тестирлөө: 6 кадам

6 октук сенсор модулу FSP200 Калибрлөө жана тестирлөө: FSP200-бул 6 огунун инерциялык өлчөө бирдиги процессору, ал аталышты жана багытты чыгарууну камсыз кылат. Бул туруктуу жана так багыт жана багыт үчүн акселерометр менен гироскоптордун синтезин аткарат. FSP200 роботто колдонууга жарактуу
Coilgun SGP33 - Толук жыйноо жана тестирлөө инструкциясы: 12 кадам

Coilgun SGP33 - Толук монтаждоо жана тестирлөө көрсөтмөлөрү: Бул окуу куралы бул видеодо көрсөтүлгөн катушка пистолетинин электроникасын кантип чогултуу керектигин сүрөттөйт: SGP -33 монтаждоосу Youtube Бул окуу куралынын акыркы бетинде аны иш жүзүндө көргөн видеоңуз да бар. Бул жерде шилтеме бар. Бул демо үчүн PCB'лер кайда
Arduino 4 Wheel Drive Bluetooth RC Car UNO R3, HC-05 жана L293D Motorshield коддоо жана Android колдонмосу менен: 8 кадам

Arduino 4 Wheel Drive Bluetooth RC Car UNO R3, HC-05 жана L293D Motorshield менен коддоо жана Android тиркемесин колдонуп: Бүгүн мен сизге HC 05, L293 мотор калканчын колдонуу менен arduino 4 дөңгөлөктүү bluetooth RC машинасын кантип жасоо жөнүндө айтып берейин. 4 DC мотору, коддоону жана андроиддин машинаны башкарууга колдонмосун колдонот. Компонент колдонулат: -1-Arduino UNO R32-Bluetooth HC-053-Motorshield L293
Python тилинде структураланган жарыкка жана стерео көрүнүшкө негизделген DIY 3D сканери: 6 кадам (сүрөттөр менен)

Python тилиндеги структураланган жарыкка жана стерео көрүнүшкө негизделген DIY 3D сканери: Бул 3D сканер видео проектор жана веб -камералар сыяктуу арзан баада кадимки нерселерди колдонуу менен жасалган. Структураланган жарык 3D сканери-болжолдонгон жарык моделдерин жана камера системасын колдонуу менен объекттин үч өлчөмдүү формасын өлчөө үчүн 3D сканерлөөчү прибор