תוכן עניינים:
- אספקה
- שלב 1: התקן את Z80asm ב- Z80-mbc2 שלך
- שלב 2: העתק את קוד המקור אליך Z80-mbc2
- שלב 3: הידור והפעלת התוכנית
וִידֵאוֹ: קוד LED פלאש Z80-mbc2 Z80: 3 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:11
זוהי דוגמא לתוכנת LED למשתמש כתוב במכלול Z80 עבור מחשב z80-mbc2.
עשיתי את זה עבורי תרגיל מבחן ותיקון, זו התוכנית הראשונה שלי ב- Z80 מזה למעלה מ -35 שנה.
תהנה
אספקה
מחשב Z80-mbc2
עותק של Z80ASM מ- SLR Systems Rel. 1.32, ניתן להורדה מארכיוני cp/m רבים
עורך, השתמשתי ב- ZDE16, מכיוון שהוא כבר היה בתמונת האתחול של CP/M עבור z80-mbc2
שלב 1: התקן את Z80asm ב- Z80-mbc2 שלך
אני מניח היכרות מסוימת עם הכלים שיש לך עבור Z80-MBC2 שלך, כלומר בכל גרסת cpmtools שבה אתה משתמש. להלן השלבים אם אתה משתמש בגרסאות שורת הפקודה:
- קבל את הקבצים z80asm.com ו- z80asm.doc (אופציונלי) בספרייה במקום כלשהו במחשב המארח שלך
- שים את כרטיס ה- SD שלך באותו מחשב, אני מניח שתראה שהוא כונן E: להלן.
- שמתי את המכלול על דיסק ה- CP/M שלי, עבור cp/m 2.2 שתהיה תמונת הדיסק DS0N00. DSK
- הפקודה: cpmcp -f z80mbc2 -d0 e: DS0N00. DSK z80asm.com 0: תעתיק את הקובץ z80asm.com לתמונה
- הפקודה cpmcp -f z80mbc2 -d0 e: DS0N00. DSK z80asm.doc 0: תעתיק את התיעוד לדיסק (אופציונלי)
בעת אתחול cp/m 2.2 ב- z80-mbc שלך, כעת עליך להיות בעל z80asm.com ו- z80asm.doc (אופציונלי) בכונן A
שלב 2: העתק את קוד המקור אליך Z80-mbc2
התחבר ל- z80-mbc באמצעות תוכנית הטרמינל שלך
אני מציע שתשתמש בדיסק לא מאוכלס כדי לשמור את קוד המקור, למשל f: כדי לבחור את סוג הכונן הזה:
F:
לאחר מספר שניות תראה את הפקודה F:.
כעת השתמש בתוכנית zde16 בכונן A כדי לערוך קובץ ריק:
a: zde16 myled.z80
פעולה זו תיצור קובץ בשם myled.z80 בדיסק F:, הערה:.z80 נדרש בשם כדי z80asm יפעל.
כעת העתק והדבק את הקוד להלן, בהתאם למהירות הטרמינל שלך וכו 'ייתכן שיהיה עליך להעתיק ולהדביק בחלקים קטנים. או הקלד אותו! לקבל את התחושה ההיא של שנות השמונים גם כן.
;
; בדוק את נורית המשתמש ומפתח המשתמש; BDOS שווה 05h; נקודת כניסה cp/m BDOS USRLED equ 0; קוד קוד לבקרת LED LED USRKEY equ 80h; אופוד לבקרת מתג משתמש DPORT equ 0; יציאת DATA i/o CPORT שווה 1; פלט יציאת פקודה; org 0100h; ld (estack), sp; שמור מידע קיים לצורך החזרה ל- cp/m ld sp, stack; ld hl, msg; שלום שיחת הודעות _ תשומות lp: ld a, 1; הפעלה = עיכוב שיחה אחת לדור; עיכוב והמתנה למפתחות jr nz, סיום; non zero פירושו מקש/מתג לחוץ xor a; a = 0 עיכוב שיחות LED; עיכוב או המתן למפתח/מתג jr z, lp; אם אפס, אין מקש/מתג, לך שוב; סיום: xor a; נלחץ על מקש או מתג, כך שנעשתה שיחה led ld hl, ביי; נגיד ביי להתקשר _קלטות; הצג הודעת הודעה HL = ld sp, (estack); מחסנית המקורית ret; חזרה ל- cp/m; led: push af; שמור ערך led 0 או 1 ld a, USRLED out (CPORT), a; optcode sent pop out (DPORT), a; data sent ret;; עיכוב לולאה שמפתח הסימון נלחץ על הטרמינל או עיכוב מפתח המשתמש: ld bc, 00e00h; כ 1/2s 8mhz מעבד, לולאה טהורה של עבודה ניחוש 2: dec bc; ספור את הלולאה לדחוף bc; שמור regs בעת קריאת BDOS push de ld c, 6; BDOS raw i/o לבדוק אם לחצו על מקש ld e, 0ffh להתקשר ל- BDOS pop de; קבל את הערכים שלנו בחזרה מחברת pop bc או a; בדוק אם מקש נלחץ במסוף ret nz; yes return (גם שומר על דגל nz מוגדר) ld a, USRKEY; כעת בדוק את מפתח המשתמש החוצה (CPORT), a; יציאת הפקודה ב-, (DPORT); מקש קריאה ו- a, 1; מעוניין רק בסיביות 0 ret nz; חזור אם מקש המשתמש לחץ על ld a, b; או הוא bc = 0 או c jr nz, לולאה 2; לא סיים את הספירה, לך שוב xor a; הגדר את דגל z ל -0 ret; אין להחזיר שום מקש, סוף העיכוב; _puts: push bc; שמור את הרשומות שלנו מוכנות לשיחות bdos push de nxt: ld a, (hl); קבל char או a; בדוק אם זה 0, סוף הודעת jr z, בוצע; כן אז עשה ld e, a; הגדר שיחה ל- BDOS כדי להדפיס char ld c, 2 push hl; שמור BDOS מצביע טקסט; הדפס אותו pop hl inc hl; הבא char jr nxt; המשך לעשות: pop de; סיים שחזור regs pop bc ret; וחזור; msg db 'בדיקת LED משתמש, כל מפתח ליציאה' db 0ah, 0dh, 0 bye db 'יציאה' db 0ah, 0dh, 0 estack dw 0 ds 256 - 2 מחסנית: dw 0
שמור את הקובץ באמצעות ESC x. עיין במדריך השימוש ב- ZDE16 למידע נוסף, זה קצת דומה ל- wordstar עבור רוב העריכות, למעט האפשרויות Ctrl-K שונות.
שלב 3: הידור והפעלת התוכנית
ברגע שיש לך את קוד המקור שלך במכונה.
סוּג:
F>
F> a: z80asm myled/a Z80ASM זכויות יוצרים (C) 1983-86 מאת SLR Systems Rel. 1.32 MYLED/A סוף קובץ מעבר 1 0 שגיאות זוהו. 406 בייטים מוחלטים. זוהו 16 סמלים.
זה יחפש את הקובץ myled.z80 ויפיק קובץ בינארי (.com), זה מה שהאפשרות /a מייצגת.
עיין בקובץ z80asm.doc למידע נוסף.
כדי להפעיל את התוכנית, הקלד:
F> מילד
בדיקת LED למשתמש, כל מפתח ליציאה מיציאה F>
לחץ על כפתור המשתמש או על מקש במסוף כדי לצאת.
בוצע.
מוּמלָץ:
תג נורית פלאש LED: 6 שלבים (עם תמונות)
תג נוריות פלאש LED: האם אתה חדש בהלחמה ורוצה ללמוד יסודות עם ערכה פשוטה? אם אתה מחפש דרך קלה ללמוד הלחמה או רק רוצה להכין גאדג'ט נייד קטן, תג הנורה LED הזה הוא בחירה מצוינת . לוח PCB עם תג נורות LED זה
512 צבע LED פלאש (אקראי): 13 שלבים
512 צבע LED פלאש (אקראי): פלאש LED זה מציג 512 צבעים ללא שימוש במיקרו -בקר. מונה בינארי של 9 סיביות יוצר מספר פסאודו אקראי ו -3 ממירים D/A (דיגיטליים לאנלוגיים) מניעים את הנורות האדומות, הירוקות והכחולות
מוזיקת קצב LED אור פלאש: 9 שלבים (עם תמונות)
Music Rhythm LED Flash Light: בפרויקט זה, נכין מעגל Light Flash LED Flash Light באמצעות מיקרופון ו- BC547 על לוח הלוח וה- PCB שבו אורות רצועות ה- LED יהבהבו עם קצב המוסיקה. המיקרופון יחוש את קצב המוזיקה ויוצר פול חשמלי
משעוני קוורט ועד פלאש LED: 13 שלבים
משעוני קוורט ועד מהבהבי LED: מנגנון השעון בשעוני הקוורט האלה באמת אינו הטוב ביותר שנעשה, אולם מעגל הקוורטר פועל הרבה אחרי ששאר השעון נכשל. אז הנה כמה מעגלים מהבהבים שאתה יכול ליצור מהמעגלים האלה. הערה: אין להשתמש בנורות שבב. צ'ק
שלוש דרכים ליצור מעגל פלאש LED עם בקרת תעריפים והבהבה חלופית: 3 שלבים
שלוש דרכים ליצור מעגל פלאש LED עם בקרת קצב והבהבה חלופית: מעגל פלאש הוא מעגל שבו הנורית מהבהבת לסירוגין בקצב המושפע מהקבל המשמש. כאן, אראה לך שלוש דרכים שונות לייצר מעגל זה באמצעות : 1. טרנזיסטורים 2. 555 טיימר IC3. מעגל קוורץ LDR יכול לשמש גם כדי ליצור