Satura rādītājs:
- Piegādes
- 1. darbība: instalējiet Z80asm savā Z80-mbc2
- 2. darbība. Kopējiet avota kodu uz Z80-mbc2
- 3. darbība: apkopojiet un palaidiet programmu
Video: Z80-mbc2 Z80 koda zibspuldze Lietotāja LED: 3 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:51
Šis ir lietotāja LED programmas piemērs, kas rakstīts Z80 montētājā datoram z80-mbc2.
Es veicu šo pārbaudes un pārskatīšanas uzdevumu man, šī ir mana pirmā Z80 programma vairāk nekā 35 gadus.
Izbaudi
Piegādes
Dators Z80-mbc2
Z80ASM kopija no SLR Systems Rel. 1.32, lejupielādējams no daudziem cp/m arhīviem
Redaktors, es izmantoju ZDE16, jo tas jau bija z80-mbc2 CP/M sāknēšanas attēlā
1. darbība: instalējiet Z80asm savā Z80-mbc2
Es pieņemu, ka ir zināmas jūsu Z80-MBC2 rīki, proti, jebkura izmantotās cpmtools versija. Ja izmantojat komandrindas versijas, veiciet tālāk norādītās darbības.
- Iegūstiet failus z80asm.com un z80asm.doc (pēc izvēles) direktorijā, kas atrodas jūsu saimniekdatora vietā
- Ievietojiet savu SD karti vienā datorā, pieņemu, ka zemāk tā tiek parādīta kā disks E:
- Es ievietoju montētāju savā CP/M diskā A, cp/m 2.2, kas būtu diska attēls DS0N00. DSK
- Komanda: cpmcp -f z80mbc2 -d0 e: DS0N00. DSK z80asm.com 0: kopēs failu z80asm.com uz attēlu
- Komanda cpmcp -f z80mbc2 -d0 e: DS0N00. DSK z80asm.doc 0: kopēs dokumentāciju uz diska (pēc izvēles)
Kad z80-mbc sāknējat cp/m 2.2, tagad diskā A jābūt z80asm.com un z80asm.doc (pēc izvēles).
2. darbība. Kopējiet avota kodu uz Z80-mbc2
Izveidojiet savienojumu ar z80-mbc, izmantojot termināļa programmu
Lai saglabātu avota kodu, iesaku izmantot neapdzīvotu disku, piemēram, f: lai izvēlētos šo diska veidu:
F:
pēc dažām sekundēm jūs redzēsit uzvedni F:.
tagad izmantojiet zde16 programmu A diskā, lai rediģētu tukšu failu:
a: zde16 myled.z80
Tādējādi diskā F: tiks izveidots fails ar nosaukumu myled.z80, un ņemiet vērā: lai z80asm darbotos, nosaukumā ir nepieciešams.z80.
Tagad kopējiet un ielīmējiet zemāk esošo kodu, atkarībā no termināļa ātruma utt., Iespējams, jums būs jākopē un jāielīmē nelielās sadaļās. Vai arī ierakstiet to! atgūt arī to 1980. gadu sajūtu.
;
; Pārbaudiet lietotāja LED un lietotāja atslēgu; BDOS ekv. 05 h; cp/m BDOS ievades punkts USRLED equ 0; opkode lietotāja LED vadībai USRKEY equ 80h; opkode lietotāja slēdža vadībai DPORT equ 0; DATA ports i/o CPORT equ 1; Komandporta izeja; org 0100h; ld (estack), sp; saglabāt esošo informāciju, lai atgrieztos cp/m ld sp, stack; ld hl, ziņa; sveiciena zvans _ ievada lp: ld a, 1; ieslēgt = 1 zvana izraisīta zvana aizkave; aizkave un gaidiet atslēgu (-as) jr nz, pabeigt; bez nulles nozīmē taustiņu/slēdzi nospiestu x vai a; a = 0 zvana izraisīta zvana kavēšanās; aizkavēt vai gaidīt atslēgu/slēdzi jr z, lp; ja nulle, nav atslēgas/slēdža, dodieties vēlreiz; apdare: xor a; taustiņš vai slēdzis tika nospiests, tāpēc darīts zvans ld hl, bye; say bye call _puts; displeja ziņojums HL = ld sp, (estack); sākotnējā steka ret; atgriezties pie cp/m; led: push af; saglabājiet LED vērtību 0 vai 1 ld a, USRLED out (CPORT), a; optcode nosūtīts pop af out (DPORT), a; dati nosūtīti ret;; Kavēšanās cilpa, kas pārbauda taustiņu nospiestu terminālī vai lietotāja atslēgas aizkave: ld bc, 00e00h; aptuveni 1/2s 8mhz CPU, tīra minējuma darba cilpa2: dec bc; saskaitīt cilpas spiedienu bc; saglabāt regs, izsaucot BDOS push de ld c, 6; BDOS neapstrādāts i/o pārbaudiet, vai taustiņš ir nospiests ld e, 0ffh izsauc BDOS pop de; iegūstiet mūsu vērtības no kaudzes pop bc vai a; pārbaudiet, vai taustiņš ir nospiests uz termināļa ret nz; jā atgriežas (arī saglabā nz karodziņu) ld a, USRKEY; Tagad pārbaudiet lietotāja atslēgu (CPORT), a; komandu portu a, (DPORT); lasīšanas taustiņu un a, 1; interesē tikai bits 0 ret nz; atgriezties, ja lietotāja taustiņš nospiež ld a, b; vai bc = 0 vai c jr nz, cilpa2; nav pabeigta skaitīšana, ejiet vēlreiz xor a; iestatiet z karogu uz 0 ret; neatgrieziet nevienu taustiņu, aizkaves beigas; _puts: push bc; saglabājiet mūsu reģistrus gatavus bdos zvaniem push de nxt: ld a, (hl); iegūstiet char vai a; pārbaudiet, vai tas ir 0, ziņojuma beigas jr z, darīts; jā, tas ir izdarīts ld e, a; iestatiet zvanu uz BDOS, lai izdrukātu char ld c, 2 push hl; saglabājiet teksta rādītāja zvanu BDOS; izdrukājiet to pop hl inc hl; next char jr nxt; turpiniet darīt: pop de; pabeigts atjaunošanas režīms pop bc ret; un atgriezties; msg db 'Lietotāja LED tests, jebkura atslēga, lai izietu' db 0ah, 0dh, 0 bye db 'Exit' db 0ah, 0dh, 0 estack dw 0 ds 256 - 2 steks: dw 0
Saglabājiet failu, izmantojot ESC x. Plašāku informāciju skatiet ZDE16 lietošanas rokasgrāmatā, tā ir nedaudz līdzīga Wordstar lielākajai daļai rediģēšanas, izņemot Ctrl-K opcijas.
3. darbība: apkopojiet un palaidiet programmu
Kad esat ieguvis avota kodu ierīcē.
Tips:
F>
F> a: z80asm myled/a Z80ASM Autortiesības (C) 1983-86 by SLR Systems Rel. 1.32 MYLED/A Faila beigas 1. pas. 0 Atrasta kļūda. 406 absolūti baiti. Atrasti 16 simboli.
Tas meklēs failu myled.z80 un izveidos bināro (.com) failu, tas ir tas, ko nozīmē opcija /a.
Plašāku informāciju skatiet failā z80asm.doc.
Lai palaistu programmu, ierakstiet:
F> myled
Lietotāja LED tests, jebkura atslēga, lai izietu no izejas F>
Lai izietu, nospiediet lietotāja pogu vai termināļa taustiņu.
Pabeigts
Ieteicams:
Sullivans Momentary LED zibspuldze: 4 soļi
Sullivans Momentary LED zibspuldze: Mans dēls Sullivan (5 gadi) izstrādāja un uzbūvēja nelielu pārnēsājamu lukturīti un vēlējās to dalīties ar jums. Viņš izmanto lukturīti, lai pārbaudītu skapjus un naktī zem gultas. Viņš turpināja atstāt ieslēgtu lukturīti un izlādēja akumulatoru, lai viņš
Mūzikas ritma LED zibspuldze: 9 soļi (ar attēliem)
Mūzikas ritma LED zibspuldzes gaisma: Šajā projektā mēs izveidosim mūzikas ritma LED zibspuldzes ķēdi, izmantojot mikrofonu un BC547 uz maizes dēļa un PCB, kur gaismas diodes mirgos kopā ar mūzikas ritmu. Mikrofons uztvers mūzikas ritmu un radīs elektriskais pulss
3W LED zibspuldze - 2 AA baterijas un džoula zaglis: 3 soļi
3W LED zibspuldze - 2 AA baterijas un džoula zaglis: šī LED gaismas diode ļauj izmantot 2,4 V, salīdzinot ar 4,5 V. vairumam 555 taimera ķēžu. Tas izmanto Džoula zagli, lai ieslēgtu 4V MOSFET, samazinot nepieciešamo šūnu skaitu. Tas ir piemērots arī mazjaudas gaismas diodēm un PWM aptumšošanai
Mini LED zibspuldze ciklam: 7 soļi
Mini LED zibspuldze ciklam: Šī pamācība palīdzēs jums izveidot mazu kabatas izmēra LED zibspuldzi, kas mirgo LED vēlamajā ātrumā. Jūs varat to izmantot kā dekoratīvu apgaismojumu savam ciklam, kas, starp citu, bija galvenais iemesls, kāpēc es izveidoju šo zibspuldzi
10 gadu LED zibspuldze + datora plate: 6 soļi
10 gadu LED zibspuldze + datora plate: šī LED zibspuldzes ķēde darbosies 10 gadus ar vienu 1,5 V AA sārma elementu. Esmu iekļāvusi arī PC-plati. To var lejupielādēt PDF formātā šeit: PCB lejupielāde. Jūs atradīsit arī sastāvdaļu izvietošanas rokasgrāmatu. Tiek sasniegts tik ilgs šūnu mūžs