业余自制实验微机系统

🏠 首页 《无线电》杂志 1986年 🔗 第12期 🔗 第5页 分类:应用电子仪器 🔗 周东进 🔗, 周高进 🔗

计算机技术现已成为科技人员的必修课,也成了电子爱好者的热心课题。能否在业余条件下自制一台微计算机呢?回答是肯定的。通过实践我们认为自制微电子计算机不仅能够实现,而且初学者在自制微计算机的过程中能够比较系统地了解认识计算机的硬、软件技术。象其它的电子技术一样,实践是掌握这门技术的唯一途径。为此我们将自己设计、安装的“TOY—00型业余微机系统”献给广大电子爱好者。

TOY—00型业余微机系统是一个学习计算机技术的学习机,也是一个可以任意扩展的最基本的微机系统。考虑到在业余条件下制作,设计中力求电路简单、元件价廉、易购。并且将各部分电路分别装在几块电路板上,这样就便于组合、扩展、不断提高和完善这台机器的功能。以便在学习中实践,在实践中提高。

下面,将各部分电路作一个简要的说明。

首先给各块电路板编上号。主板编号为TOY-01,电路如图1所示。该板上装有一片Z-80中央处理器(CPU),两片2114组成的8×1K随机存贮器(RAM),一片2716构成的8×2K可擦除式只读存贮器(EPROM)。一列并行总线端口,并设有一个复位键(RESET)。RAM和ROM的数据线与CPU数据线并联后送到总线端口。寻址1KRAM需要10条地址线A\(_{0}\)9,寻址2KEPROM需要11条地址线A\(_{0}\)10, CPU的地址线除A\(_{0}\)10与存贮器并联总线端口外。另外五条地址线A\(_{11}\)15直接送到总线端口。还有14条控制和状态线也送到总线端口。RAM的片选端C-S读写W-E和EPROM的片选端C-S编程端PD/PGM和高电平V\(_{pp}\)单独送总线端口,以便进行各种组合。这样加一根+5V电源线,两个地线端口。总共有46个端口。这些端口实际上是CPU、RAM、ROM的各个管脚。TOY-01和TOY—03的1:1.67印刷电路及接线如图2所示。各引出端的符号已标在线路图中。对初学者来说,把这些符号所代表的功能和时序关系逐一搞清是安装、调试和使用这台机器的关键步骤,读者可以查阅其它介绍Z—80微处理器的书籍。TOY-01板上有两个电源接线柱,但未装电源开关和保险丝,所以在使用时一定要注意。本机采用单电源供电,要求输入电压为+5V,误差小于3%。输出电流大于1.5A,满载时纹波小于3%,电源中应有保险装置。电路板上安装了一个时钟φ端口,其目的是在使用不同工作频率的CPU时方便地更换时钟频率。

图1
图1 🔍原图 (1323×610)
图2
图2 🔍原图 (1783×1590)

TOY-02板是一个为CPU提供时钟频率的振荡器。电路原理如图3所示。该板上是一个无稳态多谐振荡器作信号源,用一个陶瓷滤波器跨接在两振荡管的基极来稳定工作频率。省去了价格较贵的晶体振荡器。谐振频率由RC的时间常数决定,但一定要谐振在陶瓷滤波器标定的频率上。本电路的谐振频率为6.5MHz。经过4级二进制计数器74LS93分频整形后,可获得3.25MHz、1.625MHz、812.5kHz,40.625kHz的方波,可以配合时钟频率为4MHz的Z—80A、2MHz的Z-80等 Z-80系列微处理器工作。振荡器的1:1印刷电路板如图4所示。

TOY-03板实际上是一个为2716 编程的手动编程器,电路如图5所示。在地址线上加了三态缓冲器,数据线上加上了数据锁存器后,就可以把它作为一个简单的输入/输出(I/O)装置。手动编程器的原理,《无线电》杂志1985年第9期刊登田进勤同志的“手动EPROM编程器”一文介绍的很详细,这里不再赘述了。只讨论作为I/O装置使用的工作情况。用作I/O装置时,应注意不要将编程或未编程的2716插入板中,否则会出现严重错误或损坏器件。

这个电路是为初学者熟悉机器语言,掌握Z80的各种指令而设计的。可编入1K字节的程序,而且只编入随机存贮器RAM,所以编入的程序可以修改。学习到一定阶段后,可将满意的程序存入2716后插入TOY-01板内,在电路上作相应调整和长期使用。下面讨论电路的原理。IC\(_{2}\)、IC3、IC\(_{4}\)三片74LS93组成十二级二进制计数器。对2716编程需要11条地址线,对2114编程只要10条地址线,因此只需11级计数。K1为计数器清零开关,可异步清零。K\(_{2}\)为地址计数开关。IC174LS00的两个与非门组成RS触发器与K\(_{2}\)联成清零开关。另外两个与非门组成振荡器,用于快速寻找高位地址。K3是手动与快速选址的选择开关。K\(_{4}\)是起振开关。DA0~D\(_{A1}\)0由发光二极管组成二进制地址显示器,亮表示1,灭表示0。K10是总线控制开关,当K\(_{1}\)0将CPU的总线请求端B-USRQ接地时,即向CPU发出低电平总线请求信号,CPU完成本机器周期后将所有总线悬起,并在B-USAK端输出一个总线响应的低电平信号,通过缓冲器IC574LS367中的一个门后,将两片IC\(_{5}\)、IC674LS376中的十个门打开,即可将地址信号送到TOY-01板上的地址总线A\(_{0}\)9端。

8位数据的输入是由K\(_{D}\)0~KD7的开关位置决定的。K\(_{D}\)0~KD7被置到相应的位置后,按动置数开关K\(_{5}\),即可把KD0~K\(_{D7}\)所表示的二进制数送到数据总线上,同时给BG1的基极施加一个高电平信号,BG\(_{1}\)的集电极便给RAM的W-E端输送一个低电平写入信号,使RAM存入数据。注意这时读写开关K8应将RAM的W-E端与BG\(_{1}\)的集电极接通,使RAM呈写状态。因为只寻址1K字节,所以将RAM的片选端C-S接地,使其处于允许状态。这里没有使用M-REQ信号,这种接法在接动总线开关K10时产生的干扰有时会使写入RAM的数据丢失,但这种情况很少出现。经过实践,不用M-REQ信号并不影响机器的正常运行。省去片选电路对于初学者来说还是可取的。数据的显示部分由IC\(_{7}\)八D触发器74LS374担任数据锁存,DD0~D\(_{D7}\)绿色发光二极管担任数据显示,亮表示1,灭表示0。K9是输入、输出开关,输入档时,将+5电源与74LS374的时钟端接通,按一次K\(_{5}\)相当于给74LS374施加一个正脉冲时钟信号,74LS374便将数据、锁存住。并驱动DD0~D\(_{D7}\)显示数据。若要检查所输入的程序时,只需将K8拨到读上,断开写信号,用K\(_{D}\)0~KD7置入地址后,按动K\(_{5}\),即可将写入的数据读出。电路C2的作用是使读写信号延迟一段时间,等数据信号稳定后再将数据锁定。

IC\(_{7}\)作为CPU输出的数据锁存器。输入输出开关K9拨向输出端将IC\(_{7}\)的时钟端经BG2反相后与CPU的输入输出请求线I-ORQ接通。(未完待续)(周高进 周东进)