点亮8086最小系统的LED

📅 2026/7/3 9:57:44 👁️ 阅读次数 📝 编程学习
点亮8086最小系统的LED

1.效果图

2.原理图

3.汇编程序

led_port equ 800h org 0efffh start: nop ;MOV DX,800H ;800H是板子上8个LED的端口地址号 mov dx,led_port MOV AL,0aaH ;一亮一灭间隔点亮 OUT DX,AL mov cx,0 loop $ mov dx,led_port MOV AL,00H ;一亮一灭间隔点亮 OUT DX,AL mov cx,0 loop $ jmp start nop nop nop nop TIMES 0FFF0H-($-$$) DB 0 ;JMP word 0F000H:label ;Not clear why but need long jump for board hardware jmp word 0f000h:0000h

4.烧录文件分拆

# 读取原始文件的所有字节 $bytes = [System.IO.File]::ReadAllBytes("E:\产品\8088单板机\4.8086红板\烧录文件分拆\8088_ledflash.bin") # 初始化两个字节数组 $evenBytes = @() $oddBytes = @() for ($i=0; $i -lt $bytes.Length; $i++) { if ($i % 2 -eq 0) { $evenBytes += $bytes[$i] # 偶地址 (低字节) } else { $oddBytes += $bytes[$i] # 奇地址 (高字节) } } # 将结果写入新文件 [System.IO.File]::WriteAllBytes("E:\产品\8088单板机\4.8086红板\烧录文件分拆\8088_flash_even_bank.bin", $evenBytes) [System.IO.File]::WriteAllBytes("E:\产品\8088单板机\4.8086红板\烧录文件分拆\8088_flash_odd_bank.bin", $oddBytes) Write-Host "拆分完成!"

保存图片
编辑图片
移除物体
提取文字
图片翻译

5 烧写器将程序固化烧写到2篇27C256中,上电运行