
Z80单板机
简介
Z80单板机,部分设计借鉴Z80V2与北京工业大学的TP801。目前仍然存在部分问题,但是可以正常运行Microsoft Basic4.7b解释器
简介:Z80单板机,部分设计借鉴Z80V2与北京工业大学的TP801。目前仍然存在部分问题,但是可以正常运行Microsoft Basic4.7b解释器开源协议
:GPL 3.0
(未经作者授权,禁止转载)描述
这个是Z80单板机,部分设计借鉴Z80V2与北京工业大学的TP801键盘部分等,目前仍然存在部分问题。
Monitor离线固件还未编写,暂时还不能像TP801那样直接输入,可以正常运行Microsoft Basic4.7b解释器(移植的老外的)支持冷启动和暖启动,可以运行C语言编写的程序。
Microsoft Basic 4.7b解释器使用TASM编译,该编译器只能运行在DOS下,可以用DOSBOX模拟。
译码部分全部采用GAL芯片,可以自由定制IO/存储译码,GAL采用WinCUPL编译为jed文件,相关的语法可以看我的博客:基于WinCUPL的GAL编程教程 - 老张的后花园
IM2模式下的中断菊花链的优先级请参考原理图,当前模式的68B50的INT可能会与Z80系列外设出现冲突,可以将68B50通过跳线帽设置为不可屏蔽中断解决。
目前该版本不包含全RAM地址切换功能,最大RAM为32KB,无法运行CP/M系统(需要64KB)。
ROM采用4个27C64芯片,可以用28C64B(28C64没有尝试过)替换,第一ROM地址(0x0000H)从GAL中指定。烧录需要相关的编程器!!!
运行C语言程序的HEXLOADER借鉴了BITROWZ的Z80V2中的。
目前存在的问题:
1. 当前设计中的273缓冲器在上电时会慢于CPU的复位或波形不正常,导致273工作不正常,可以将复位按钮后的型号通过2个施密特非门整形后输入CPU和273缓冲器,软件解决方法是上电后的初始化前插入120个以上的NOP(6MHZ下)。
2. U17的74HC04芯片的8脚和10脚要断开连接,否则会短路。
3. 第一组串口的Z80SIO的串行时钟输入不正确,应该是7.3728MHZ而不是系统时钟,可以用飞线解决,且RX/TX的LED展示不是负逻辑。第二组串口的MC68B50是完全正常。
注意:
DC输入建议7V,但是必须大于6V。
相关的图片:
运行测试程序:


运行Basic解释器

运行C语言程序(输入回显还有点小问题会显示B,但是基本是通的):

当前PLD中规定的IO地址映射:
PIO_A_DATA_PORT EQU 0x80
PIO_B_DATA_PORT EQU 0x81
PIO_A_COMMAND_PORT EQU 0x82
PIO_B_COMMAND_PORT EQU 0x83
SEG_PORT EQU 0x84 ;数码管段选
DIGITAL_PORT EQU 0x85 ;数码管位选
KB_PORT EQU 0x86 ;键盘
CTC1_CH0_PORT EQU 0x88
CTC1_CH1_PORT EQU 0x89
CTC1_CH2_PORT EQU 0x8A
CTC1_CH3_PORT EQU 0x8B
CTC2_CH0_PORT EQU 0x8C
CTC2_CH1_PORT EQU 0x8D
CTC2_CH2_PORT EQU 0x8E
CTC2_CH3_PORT EQU 0x8F
SIO_A_DATA_PORT EQU 0x90
SIO_A_COMMAND_PORT EQU 0x91
SIO_B_DATA_PORT EQU 0x92
SIO_B_COMMAND_PORT EQU 0x93
MC68B50_CTRL_PORT EQU 0x94
MC68B50_DATA_PORT EQU 0x95
当前PLD中规定的存储器地址映射:
存储器:
ROM0(monitor) : 0x0000~0x1FFF 8K
ROM1(extra1) : 0x2000~0x3FFF 8K
ROM2(extra2) : 0x4000~0x5FFF 8K
ROM3(extra3) : 0x6000~0x7FFF 8K
RAM: : 0x8000~0xFFFF 32K

软件修复上电缓冲器持续清零问题:
Start:
;自行设置栈顶指针
LD B, 0ffh
StartLoop:
NOP
DJNZ StartLoop
JP MAIN
MAIN: ;后面写你的程序、
数码管显示码表与位选:

相关文件请查看附件,其他问题可以邮件咨询我: MTUzNjQ1MTk1MTFAMTYzLmNvbQ== (base64编码,网上随便找个在线工具就可以解码)我会在12小时内回复。
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。


评论