Mục lục:
- Quân nhu
- Bước 1: Cài đặt Z80asm trên Z80-mbc2 của bạn
- Bước 2: Sao chép mã nguồn cho bạn Z80-mbc2
- Bước 3: Biên dịch và chạy chương trình
Video: Đèn LED người dùng Flash mã Z80-mbc2 Z80: 3 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:30
Đây là một chương trình LED người dùng mẫu được viết bằng trình hợp dịch Z80 cho máy tính z80-mbc2.
Tôi đã làm bài kiểm tra và ôn tập này cho tôi, đây là chương trình Z80 đầu tiên của tôi trong hơn 35 năm.
Thưởng thức
Quân nhu
Máy tính Z80-mbc2
Một bản sao của Z80ASM từ SLR Systems Rel. 1.32, có thể tải xuống từ nhiều kho lưu trữ cp / m
Một trình chỉnh sửa, tôi đã sử dụng ZDE16, vì nó đã có trên hình ảnh khởi động CP / M cho z80-mbc2
Bước 1: Cài đặt Z80asm trên Z80-mbc2 của bạn
Tôi giả sử một số quen thuộc với các công cụ bạn có cho Z80-MBC2 của mình, cụ thể là bất kỳ phiên bản cpmtools nào bạn sử dụng. Dưới đây là các bước nếu sử dụng các phiên bản dòng lệnh:
- Lấy các tệp z80asm.com và z80asm.doc (tùy chọn) trong một thư mục ở một nơi nào đó trên PC chủ của bạn
- Đặt thẻ SD của bạn vào cùng một PC, tôi giả sử rằng nó đang hiển thị dưới dạng ổ đĩa E: bên dưới.
- Tôi đặt trình hợp dịch trên đĩa CP / M A của mình, cho cp / m 2.2 sẽ là hình ảnh đĩa DS0N00. DSK
- Lệnh: cpmcp -f z80mbc2-d0 e: DS0N00. DSK z80asm.com 0: sẽ sao chép tệp z80asm.com vào hình ảnh
- Lệnh cpmcp -f z80mbc2-d0 e: DS0N00. DSK z80asm.doc 0: sẽ sao chép tài liệu vào đĩa (tùy chọn)
Khi bạn khởi động cp / m 2.2 trên z80-mbc, bây giờ bạn sẽ có z80asm.com và z80asm.doc (tùy chọn) trên ổ A
Bước 2: Sao chép mã nguồn cho bạn Z80-mbc2
Kết nối với z80-mbc bằng chương trình đầu cuối của bạn
Tôi khuyên bạn nên sử dụng một đĩa không được công nhận để lưu mã nguồn, ví dụ: f: để chọn loại ổ đĩa này:
NS:
sau một vài giây, bạn sẽ thấy dấu nhắc F:.
bây giờ sử dụng chương trình zde16 trên ổ A để chỉnh sửa tệp trống:
a: zde16 myled.z80
Thao tác này sẽ tạo một tệp có tên myled.z80 trên đĩa F:, lưu ý:.z80 được yêu cầu trong tên để z80asm hoạt động.
Bây giờ sao chép và dán mã bên dưới, tùy thuộc vào tốc độ thiết bị đầu cuối của bạn, v.v. bạn có thể phải sao chép và dán thành các phần nhỏ. Hoặc gõ nó vào! lấy lại cảm giác của năm 1980.
;
; Kiểm tra đèn LED người dùng và Phím người dùng; BDOS bằng 05 giờ; cp / m Điểm nhập BDOS USRLED bằng 0; mã opcode cho điều khiển đèn LED của người dùng USRKEY bằng 80 giờ; mã chọn cho điều khiển chuyển đổi người dùng DPORT bằng 0; cổng DATA i / o CPORT bằng 1; đầu ra cổng lệnh; org 0100h; ld (estack), sp; giữ thông tin hiện có để trả về cp / m ld sp, stack; ld hl, msg; hello message call _puts lp: ld a, 1; turn on = 1 call led call delay; delay and wait for (các) phím jr nz, kết thúc; khác 0 nghĩa là phím / công tắc được nhấn xor a; a = 0 cuộc gọi dẫn đến trì hoãn cuộc gọi; trì hoãn hoặc chờ phím / chuyển đổi jr z, lp; nếu 0, không có phím / chuyển đổi, hãy tiếp tục; kết thúc: xor a; phím hoặc công tắc được nhấn, vậy là đã gọi xong led ld hl, tạm biệt; nói tạm biệt cuộc gọi _puts; display msg HL = ld sp, (estack); original stack ret; trở về cp / m; led: push af; lưu giá trị led 0 hoặc 1 ld a, USRLED out (CPORT), a; optcode send pop af out (DPORT), a; dữ liệu được gửi ret;; Vòng lặp trễ mà phím kiểm tra được nhấn trên thiết bị đầu cuối hoặc độ trễ của phím người dùng: ld bc, 00e00h; khoảng 1/2 giây CPU 8mhz, vòng lặp công việc đoán thuần túy2: dec bc; đếm vòng lặp đẩy bc; lưu regs khi gọi BDOS push de ld c, 6; BDOS raw i / o kiểm tra nếu phím được nhấn ld e, 0ffh gọi BDOS pop de; lấy lại các giá trị của chúng tôi từ stack pop bc hoặc a; kiểm tra xem phím được nhấn trên terminal ret nz hay không; có quay lại (cũng giữ cờ nz được đặt) ld a, USRKEY; Bây giờ hãy kiểm tra phím người dùng ra (CPORT), a; cổng lệnh trong a, (DPORT); phím đọc và a, 1; chỉ quan tâm đến bit 0 ret nz; quay lại nếu phím người dùng được nhấn ld a, b; hoặc là bc = 0 hoặc c jr nz, loop2; không đếm xong, quay lại xor a; đặt cờ z thành 0 ret; trả về không có phím nào được nhấn, kết thúc thời gian trễ; _puts: push bc; lưu regs của chúng tôi sẵn sàng cho các lệnh gọi bdos push de nxt: ld a, (hl); get char hoặc a; kiểm tra xem nó có phải là 0 không, kết thúc msg jr z, đã xong; vâng vậy là xong ld e, a; thiết lập lệnh gọi đến BDOS để in lệnh char ld c, 2 push hl; lưu lệnh gọi con trỏ văn bản BDOS; in nó pop hl inc hl; next char jr nxt; tiếp tục thực hiện: pop de; khôi phục xong regs pop bc ret; và quay lại; msg db 'Kiểm tra đèn LED của người dùng, phím bất kỳ để thoát' db 0ah, 0dh, 0 bye db 'Exit' db 0ah, 0dh, 0 estack dw 0 ds 256 - 2 stack: dw 0
Lưu tệp bằng ESC x. Xem hướng dẫn sử dụng ZDE16 để biết thêm thông tin, nó hơi giống wordstar cho hầu hết các chỉnh sửa, ngoại trừ các tùy chọn Ctrl-K là khác nhau.
Bước 3: Biên dịch và chạy chương trình
Sau khi bạn có mã nguồn của mình trên máy.
Kiểu:
F>
F> a: z80asm myled / a Z80ASM Bản quyền (C) 1983-86 của SLR Systems Rel. 1.32 MYLED / A Kết thúc tệp Đã phát hiện 1 0 lỗi. 406 byte tuyệt đối. 16 Biểu tượng được phát hiện.
Thao tác này sẽ tìm kiếm tệp myled.z80 và tạo tệp nhị phân (.com), đó là viết tắt của tùy chọn / a.
Xem tệp z80asm.doc để biết thêm thông tin.
Để chạy chương trình, gõ:
F> myled
Kiểm tra đèn LED của người dùng, phím bất kỳ để thoát khỏi Exit F>
Nhấn nút người dùng hoặc một phím trên thiết bị đầu cuối để thoát.
Xong.
Đề xuất:
Đèn đuôi xe máy với đèn nháy tích hợp sử dụng đèn LED có thể lập trình: 4 bước
Đèn hậu xe máy có đèn nháy tích hợp sử dụng đèn LED có thể lập trình: Xin chào! Đây là một cách tự làm dễ dàng về cách tạo Đèn hậu RGB có thể lập trình tùy chỉnh (với đèn nháy / đèn báo tích hợp) cho xe máy của bạn hoặc có thể là bất cứ thứ gì sử dụng WS2812B (đèn led có thể định địa chỉ riêng) và Arduinos . Có 4 chế độ lightin
Trình đọc / ghi và ghi âm thanh ScanUp NFC cho người mù, người khiếm thị và mọi người khác: 4 bước (có hình ảnh)
Máy đọc / ghi âm thanh ScanUp NFC và Máy ghi âm cho Người mù, Khiếm thị và Mọi người Khác: Tôi học thiết kế công nghiệp và dự án là công việc trong học kỳ của tôi. Mục đích là để hỗ trợ người khiếm thị và người mù bằng một thiết bị cho phép ghi lại âm thanh ở định dạng WAV trên thẻ SD và gọi thông tin đó bằng thẻ NFC. Vì vậy, trong
Cách tạo đèn flash siêu sáng bằng đèn LED - Tự làm: Đèn siêu sáng: 11 bước
Cách tạo đèn flash siêu sáng bằng đèn LED - Tự làm: Đèn siêu sáng: Xem video đầu tiên
Sử dụng AC với đèn LED (Phần 2) - và Làm cho đèn bộ đếm tiện dụng này: 9 bước
Sử dụng AC với đèn LED (Phần 2) - và Làm cho bộ đếm tiện dụng này sáng. đèn LED của chúng tôi hoạt động mà không cần máy biến áp và tạo ra một ánh sáng đơn giản được tích hợp vào thanh mở rộng. CẢNH BÁO
Thêm giắc cắm đồng bộ Pc vào cáp Nikon Sc-28 Ttl (sử dụng Cài đặt tự động cho đèn flash trên máy ảnh và kích hoạt đèn flash máy ảnh tắt !!): 4 bước
Thêm Giắc cắm Pc Sync vào Cáp Nikon Sc-28 Ttl (sử dụng Cài đặt Tự động cho Đèn flash trên Máy ảnh và Kích hoạt Tắt Đèn flash Máy ảnh !!): trong phần hướng dẫn này, tôi sẽ chỉ cho bạn cách tháo một trong các đầu nối 3pin TTL độc quyền của Pesky trên mặt bên của máy ảnh Nikon SC-28 đứt cáp TTL và thay thế nó bằng đầu nối đồng bộ PC tiêu chuẩn. điều này sẽ cho phép bạn sử dụng đèn flash chuyên dụng, s