使用盒式机时,其数据输出插口与收录机MICPHONE插孔相接。
收录机转录电路作用是通过接口由主机向收录机转送信息,再转录到磁带上,所以收录机可以作为主机的外存贮器。不过转录的信息不是直接的数据,而是在程序控制下,根据所需转录的文件、代码,将其转换为相应的音频方波信号。实现的方法是每转换1位数据“0”或“1”,都在程序控制下访问一次$C02X,利用$C02X信号上升沿,使触发器J\(_{13}\)的Q-输出端翻转一次。规定“0”转换后的方波宽度正、负半周各250ns,“1”转换后的方波正、负半周宽度各500ns。只要用转录程序控制访问$C02X口的时机和次数,满足上述规定,就可重现被转录文件或程序的“0”或“1”代码。
2.收录机输入接口:收录机转存输入接口电路,由盒式磁带数据输入插口(CAS.DATAIN)、耦合器(C\(_{2}\))和衰减电路(R90、R\(_{8}\))、运算放大器Z63(741)、限流电阻R5及三态输出数据选择器Z\(_{46}\)74LS251组成。如图7所示。转存接口的作用是收录机向主机调入文件或程序,通过收录机耳机插孔(EARPHONE)输出,将信号送入转存电路,由耦合器C2、R\(_{9}\)0和R8组成的衰减器电路将信号衰减50%,送入运算放大器Z63的反相端Z63的2引腿。运算放大器741接成比较器状态,经R\(_{92}\)接地提供出0伏比较阈值,接入Z63的3引腿,Z\(_{63}\)的6引腿为运算放大器的输出端,经限流电阻R5,送入Z\(_{46}\)的D0端,作为8选一器件的D\(_{0}\)输入信号。通过程序访问$C060将信号由Z46的Y输出端读入D\(_{7}\)。

现在简要介绍Z\(_{46}\)74LS251八选一输出数据选择器,其引腿定义如图8所示。D0~D\(_{7}\)数据输入端;S片选端;Y三态输出端;A、B、C选择端。系统规定转存接口地址码为$C060,由图5F13的9脚送来,接入Z\(_{46}\)的7脚片选端。当该地址码选中时为低电平,开启Z46器件工作。$C06X的最低4位有16种不同的地址码,而Z\(_{46}\)只需8种,因此只需地址A2\(_{1}\)0,即可满足译码要求,故A,B,C分别接地址总线A\(_{0}\)1\(_{2}\)。$C060的地址码最低3位A2A\(_{1}\) A0要求为000,选中Z\(_{46}\)的4输入端,输出端即把D0输入的信号送入系统数据总线D\(_{7}\)位转送主机。

扬声器接口电路
扬声器接口电路由触发器J\(_{13}\),耦合电路R93、C\(_{4}\),二极管DZ6,达林顿管Q\(_{3}\)(二级放大器),驱动电阻R11和扬声器组成,如图9所示。

系统规定扬声器接口地址码为$C03X,由图5F\(_{13}\)的12脚送出,接入J13的触发器时钟端。触发器J\(_{13}\)接成计数状态,J13的6脚反馈接到输入端J\(_{13}\)的D端(2脚)。当$C03X有效时,利用其上升沿使J13的5脚输出端翻转一次,$C03X进行两次访问便可产生一个周期的扬声振荡。J\(_{18}\)-5输出的方波,经耦合电路转换成音频频段上的信号送入Q3基极,由Q\(_{3}\)将信号放大通过R11驱动扬声器发声。扬声器发声所需的时钟脉冲周期数,是在程序控制下完成的。
游戏棒接口电路
游戏棒接口电路由游戏棒插孔GAMEI/O,定时器Z\(_{54a}\)558和Z46八选一数据选择器组成。电路如图10所示。

游戏棒控制信号,经游戏棒插口进入558定时器四个模拟信号PDL\(_{0}\)~PDL3,送入八选一Z\(_{46}\)器件三个开关量信号SW0~SW\(_{2}\),Z46的5脚Y输出端接入系统总线D\(_{7}\)位。当主机读取代码大于或等于128时(D7=1),表明输入信号为“1”,若代码小于128(D\(_{7}\)=0),表示输入为“0”。主机通过游戏棒插口向外输出四个指示信号AN0~AN\(_{3}\)和实用脉冲信号STB。四个模拟信号和三个开关信号作为Z46的7个输入端D\(_{7}\)~D1经八选一器件,在$C06X选通控制下,分别将其中之一,选入数据总线D\(_{7}\)位,转送主机。
输入的开关信号SW\(_{0}\)~SW2地址码分别为$C061,$C062,$C063。模拟信号PDL\(_{0}\)~PDL3是由游戏棒控制产生的,并送入定时器558Z\(_{542}\)器件的输入端A,D, C,B,Z54a将模拟电压信号变成宽度与模拟电压成比例的脉冲信号。CPU利用地址码$C07X向定时器Z\(_{54a}\)发选通信号,使其清0,而Z54a输出端Q\(_{A}\)~QB为高电平状态,Z\(_{54a}\)开始定时,按PDL0~PDL\(_{3}\)不同模拟电压值,产生相应的宽度脉冲,由QA~Q\(_{B}\)输出,经八选一Z46,选择其中之一送入D\(_{7}\),CPU通过程序读D7位代码,鉴别其宽度,转换成数字信号。主机输出的指示信号AN\(_{0}\)~AN3的地址码为$C058~$C05F,每个信号对应两个地址,偶数地址输出低电平,奇数地址输出高电平,这组信号可接指示灯,继电器等电子设备,完成各种控制作用。实用脉冲输出信号STB的地址码为$C040,它是一个地址选通脉冲,脉宽为0.5US,可用LDA或STA指令产生。
键盘和接口
中华学习机键盘和主机做成一体,采用双层结构。“小蜜蜂—1”的键盘有53个键,安排在8×8矩阵上(如图11)。键盘的作用有四:①通过对键盘矩阵的扫描和读入,找出被按下的健,给出按键字符的标准ASCⅡ码(七位二进制);②在给出一个按键七位ASCⅡ码的同时,发出一个按键标志(键选通)信号,与ASCⅡ码一齐锁存在端口,等候主机读取;③主机读取后,要发一次清除键选通脉冲,键盘应能用此信号清除键选通信号。当再次按键时,又一次建立对应的ASCⅡ码和键选通位。④由于主机复位键安排在键盘上,当按下此键时,应能向主机发出复位信号,并清除主机复位前已产生的键选通信号。

键盘电路由一片单片机芯片8048和一片双D触发器构成。8048内设置了三个八位I/O口,1K字节ROM,64字节RAM,三个测试输入端及内部时钟振荡电路等。键盘电路如图12。8048上电复位后,即进入内部ROM中的工作程序。通过PB\(_{0}\)7对键盘进行输出扫描,周期性地对每一位线发低电平;同时读PA\(_{0}\)7。当有一个键按下时,PA\(_{0}\)7将会有一位读入低电平。通过软件处理,即可确定对应键字符的七位ASCⅡ码,并锁存在D\(_{0}\)~D6端口上,D\(_{7}\)位用来发键选通信号。这八位信息放在主机的键盘接口输入端,让主机查询读入。在按键通路中串入二极管D(见图11)可防止双键按下时,短路PB0\(_{7}\)输出端造成逻辑竞争而损坏端口内驱动电路。图11中,接到+5V电源上的8个上拉电阻可防止输入线被干扰造成错误的按键判定。

当程序判定一个键被按下时,8048在D\(_{0}\)~D6锁存对应字符ASCⅡ码,同时在D\(_{7}\)位发一正脉冲,此脉冲进入D触发器74LS74(2)的时钟端,由于此时该触发器清除端CLR为“1”,不复位,时钟将把D端的高电平带到Q2端(并锁存)。Q\(_{2}\)与D0—D\(_{6}\)位一齐接入主机的键盘输入接口——主机板上的二片四2选1开关74LS257。Q2对应系统数据总线DB\(_{7}\),主机通过系统软件的读$C000命令产生一个负脉冲,这个脉冲在RAMSEL-有效时把D0~D\(_{4}\)、Q2与总线DB\(_{0}\)7挂通,从而主机将ASCⅡ码和键选通信号读入CPU。通过软件查询键选通位是否为1,可知有无发生新按键。如是一新按键,则保留ASCⅡ码,执行相应的操作。并对$C010地址发一读(或写)命令,由地址译码器在CPU周期产生一负脉冲,此脉冲接在D触发器74LS74(1)的D端。由于这个触发器的时钟来自8048内时钟,频率相当高,保证能在D端负脉冲有效期间将它搬到Q\(_{1}\)端应Q1=0,使(2)触发器CLR=0,从而复位,使Q\(_{2}\)=0,实现了清除键选通的目的。当然,触发器(1)的Q1=0的状态将随读写$C010指令结束而消失,因为$ C010在不访问此地址时,译码输出为1。于是,触发器(2)的复位状态也将消失,通过D\(_{7}\)位发一脉冲又可建立新的键选通信号了。
当键CONTROL和RESET同时按下时,一个低电平送到主机作为复位信号。当CONTROL键与其它键同时按下时,由于CONTROL键连至8048一个测试输入端T\(_{2}\),通过软件跳转产生不同的字符定义——因而是不同的ASCⅡ码。
键盘与主机用扁平电缆和插接件进行连接。(待续)(乌振声 项长顺)