发作品签到
标准版

D8080A 单板机

工程标签

6.0k
0
0
6

简介

采用1974年的INTEL 8080 CPU制作的单板机,32KB ROM + 32KB RAM ,自带硬件串口、数码管、扫描键盘、LCD1602 、SN76489音频发生器

简介:采用1974年的INTEL 8080 CPU制作的单板机,32KB ROM + 32KB RAM ,自带硬件串口、数码管、扫描键盘、LCD1602 、SN76489音频发生器

开源协议

LGPL 3.0

创建时间:2022-07-15 19:06:41更新时间:2023-08-21 10:55:22

描述

1971年,英特尔发布了著名的4004 CPU

1972年,英特尔发布了8008 CPU,它是一款单芯片的TTL电平兼容PMOS工艺8位处理器,采用冯架构,寻址能力16KB。它被认为是现代x86架构的起源。

1974年,英特尔8080 CPU问世,它改进了8008的一些问题,将直接寻址空间扩大到64KB。增加了中断处理机制,且拥有了寄存器对操作能力,一次可以转移或者向数据栈操作16位二进制数。且它的指针栈和数据栈全部转移到外部的RAM里,栈基地址由SP寄存器寻址。发展到8086之后变成了数据、堆栈、代码、辅助四个基地址指针寄存器

就是这款CPU,为后来的8080总线协议打下基础,该总线形式一直沿用到8085,8086等CPU

值得注意的是,它的寄存器堆上有W和Z,这两个只是中转寄存器,用于复杂指令过程中的暂存,不对程序暴露。

下图:8080逻辑框图

 

8080采用双列直插DIP-40封装,供电为三组:+5V主电,+12V时钟电源、-5V辅助电源(供内部动态逻辑部分使用)

引脚排列如下图:

一般CPU都有三大总线:地址总线、控制总线、数据总线,8080也不例外。

但就如同8085的地址、数据线复用,CDP1802的高低位地址线复用一样,引脚不够用的8080也采用了复用总线,但很有特色:它是数据总线和控制总线复用。

在每个指令周期,凡涉及到外部存储器或IO读写的,都先把控制信号通过锁存器输出。

一般可以使用INTEL 8212 锁存器,配合一些逻辑门和三态门,完成控制总线的复用,以及数据总线的驱动。如下图所示:

IOW、IOR是IO口空间(256)的读写信号,MEM W、MEM R是存储器(RAM和ROM)的读写信号

另外,8080需要两个相位的时钟信号,手册中给出了分立方案,但一般使用8224时钟信号发生器来生成时钟和复位信号,如下图所示:

同理,控制总线和数据总线复用控制器也可以使用8228芯片。

 

基于此,本设计采用8080A CPU,8224时钟信号发生器、8228总线驱动器等芯片,完成了8080 CPU最小系统和单板机的构建。

在256 byte的IO寻址空间内,分配了扫描显示数码管,LCD1602,MC6850通用异步串行数据收发器(UART),SN76489音频发生器等。

实物图如下所示:

封面图:

使用的MC6850串口芯片比常见的8251简单很多,少了一些引脚,而且只有两个读寄存器和两个写寄存器,非常简单易用。内部分频器是1/16/64,因此,本设计采用11.0592M晶振为CPU提供1.2288MHz主频的同时,再经过一个16分频器,将76800Hz时钟信号送到MC6850,因此,该芯片支持三种异步收发波特率:76800Hz、4800Hz、1200Hz。下方demo程序里的就是4800Hz设置,使用串口监视软件就可以进行收发实验。

下图:右上角的SN76489,由于76489写指令速度非常慢,将他的数据总线挂载到0x00 地址的IO输出口,将他的CS接地,将它的WR信号连接到0x60地址IO口的^1引脚,可以使用软件延时方式,将数据写入。

(8080 CPU不能因为它而降低运行速度,一来不值当,二来8080内部是动态逻辑,时钟太慢就不能正常运行了)

调试过程缩影:

 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
8080UART.hex
24
2
8080UART .txt
37
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航