JJQ电子加减器

🏠 首页 《无线电》杂志 1975年 🔗 第8期 🔗 第3页 分类:“现代家庭电子制作”电视讲座辅导材料 🔗 北京半导体石墨模具厂 🔗, 铁道部科学研究院运输研究所 🔗

为适应国民经济一些部门(如铁路、银行、商业、统计、财务会计等)要经常对大量数据进行快速加减运算的需要,我们研制了JJQ电子加减器。本文介绍这种电子加减器的工作原理。

图1是电子加减器的外形。它的操作部分仅有电源开关、加减开关、置零按键及各位数字的输入按键四种,机内插件板仅有“输入板”、“数位板”、“脉冲板”、“电源板”四种,结构比较简单。

图1
图1 🔍原图 (779×483)

本机采用十进制,并行输入。它的运算位数为十二位。同一位上输入按键有五个,代表1、2、3、4、5;若需输入6、7、8、9时,由上述五个按键组合而成。因为机器能在不同位上同时输入数据,每一位都具有加、减、进位、借位、显示等功能,每一位五个按键又适应了操作人员按键指法的特点(每一位按键太多,则需频繁地移动手臂,增加了劳动强度),所以这种电子加减器使用方便,运算速度也比较快。使用时,接通电源并按动置零按键清零后,把加减法开关拨至适当位置,就可以根据运算数据连续按动输入按键进行运算了。运算结果由数码管显示。加法运算溢出(最高位进位)或减法运算欠位(最高位借位)由指示灯指示。

图2是整机方框图,它可以分成键盘输入、数位、脉冲分配、溢出指示、电源等五部分。全机采用硅NPN三极管,选用正逻辑。

图2
图2 🔍原图 (878×554)

键盘输入部分

图3是按键输入译码电路图。按键上装有磁钢,按键向下按动时,磁钢接近干簧管,使簧片吸合,接通-6伏电源,经二极管译码电路使三个输出端S\(_{1}\)、S2、S\(_{3}\)得到不同输出。例如按下键1,干簧管1吸合,二极管D2、D\(_{7}\)、D13分别把S\(_{1}\)、S2、S\(_{3}\)端的电位箝在-6伏;这样三个输出端均有-6伏的脉冲输出。不同按键输入时,S1、S\(_{2}\)、S3的输出变化如表1所示。

图3
图3 🔍原图 (494×1277)

表1

按键输入 S\(_{1}\) S2 S\(_{3}\)

无 0V 0V 0V

1 -6V -6V -6V

2 0V -6V -6V

3 -6V 0V -6V

4 0V 0V -6V

5 -6V -6V 0V

数位部分

数位部分逻辑图见图4,包括两大部分:一部分是K\(_{0}\)、K1、K\(_{2}\)、M四个双稳态触发器组成的运算控制器,其中K0、K\(_{1}\)、K2组成寄存器K,M是脉冲控制门;另一部分是由四级双稳态触发器Z\(_{0}\)~Z3组成的可逆计数器Z。

图4
图4 🔍原图 (1202×802)

一、运算控制器:

这一部分的电路如图5所示。从按键输入译码电路输出端S\(_{1}\)、S2、S\(_{3}\)送来的触发脉冲,加到K0、K\(_{1}\)、K2的置“1”端。它使K\(_{0}\)、K1、K\(_{2}\)呈现的状态示于表2中。

图5
图5 🔍原图 (1592×1087)

表2

按键输入 K\(_{0}\) K1 K\(_{2}\)

无 0 0 0

1 1 1 1

2 0 1 1

3 1 0 1

4 0 0 1

5 1 1 0

在没有按键时,K\(_{0}\)、K1、K\(_{2}\)均为“0”状态,它们的Q-端输出a1、a\(_{2}\)、a3均为“1”,与门1(见图6)输出也为“1”。与门1的输出信号一路经非门F\(_{1}\)至与门2,将与门2关闭,使选通脉冲X(它的作用下面再详细介绍)不能通过与门2去触发脉冲控制门M的置“0”端;另一路送至与门3将它打开,使选通脉冲X可以通过与门3触发M的置“1”端。这时D点输出为“0”,与门4关闭,计数脉冲J无法通过。另外,因为没有开始运算,也就没有低一位进、借位信号(T下=0),与门5也关闭,所以保证没有信号送到可逆计数器Z中。

图6
图6 🔍原图 (566×446)

当按动相应的按键时,S\(_{1}\)、S2、S\(_{3}\)输出的触发脉冲使K0、K\(_{1}\)、K2中至少有一个变为“1”状态,a\(_{1}\)、a2、a\(_{3}\)中有一个或一个以上为“0”,关闭与门1和3,开与门2。选通脉冲X通过与门2送到脉冲控制门M的置“0”端,D点输出为“1”。这时与门4打开,计数脉冲J通过与门4、非门F2反馈回K,同时通过与门6,非门F\(_{4}\)经P点输入计数器Z,实现计数。

三级双稳态触发器K\(_{0}\)、K1、K\(_{2}\)构成的寄存器,有2\(^{3}\)=8个状态,可计十进制0~7共八个数码。按照通常的编码,脉冲数与触发器状态的关系如表3:

表3

二进制数码

脉冲数 K\(_{0}\) K1 K\(_{2}\)

0 0 0 0

1 1 0 0

2 0 1 0

3 1 1 0

4 0 0 1

5 1 0 1

6 0 1 1

7 1 1 1

8 0 0 0

把表2和表3对照,可以看出,由于按键输入译码电路的作用,K\(_{0}\)、K1、K\(_{2}\)的实际状态和表3所列状态互成8的补数关系:1对应于7=8-1,2对应于6=8-2,等等,即当按动任一按键j(可以是1、2、3、4、5中任一数)时,寄存器的状态为8-j。计数脉冲J通过与门4、非门F2反馈,使寄存器K的状态变为8-j+1。如果K未恢复常态(K\(_{0}\)、K1、K\(_{2}\)不全部为“0”),则继续输入第二个计数脉冲,进行第二次循环, K的状态变为8-j+2;直到输入j个计数脉冲,使K的状态变为8-j+j而恢复常态。这时,与门2、与门4关闭,计数脉冲不能再送入了。这段时间内共输入j个计数脉冲,可逆计数器计数为j。

以输入数据5为例:按下“5”键,S\(_{1}\)、S2输出-6伏尖脉冲,S\(_{3}\)输出为0伏,因此K0、K\(_{1}\)、K2的状态为“110”,即8-j=8-5=“3”的状态。计数脉冲J在送入计数器Z实现计数的同时,反馈至K,直至送入第5个计数脉冲,使K恢复常态(8-j+j),开与门1、与门3,关与门2、与门4,J脉冲停止输入。其变化过程如表4:

表4

按键输入 J脉冲输入 K\(_{0}\) K1 K\(_{2}\) D点输出

无 无 0 0 0 0

5 0 1 1 0 1

1 0 0 1 1

2 1 0 1 1

3 0 1 1 1

4 1 1 1 1

5 0 0 0 0

从上面的介绍可以看出:键盘输入译码电路的作用,是将寄存器K置为8与输入数据之差的状态。运算控制器通过K状态的改变,经各与非门的作用来控制选通脉冲X的走向,从而适时地改变脉冲控制门M的工作状态,控制计数脉冲J的通过与否。至于所允许通过的计数脉冲的数目,即计数器Z计入的脉冲数,则是由按键输入使K置成的特定状态(8-j)到恢复常态所需的脉冲数,恰为输入的数据(j)。简单地说,运算控制器的主要作用,是根据按键输入的数据,确保送入可逆计数器相应数目的计数脉冲。

二、可逆计数器:

四级双稳态触发器Z\(_{0}\)~Z3组成一位二——十进制可逆计数器Z。每一级简图见图7,是在普通计数触发器上加入由加、减法母线控制的电位脉冲门所构成。图中,C\(_{0}\)、R0、D\(_{0}\)、R与C1、R\(_{1}\)、D1、R构成两组电位脉冲门。做加法运算时,加法母线“+”接低电位(零伏),减法母线“-”接高电位(+12伏)。此时,在C\(_{0}\)、R0、D\(_{0}\)、R这组电位脉冲门中,D0被反向偏置。当触发器由“1”态翻转为“0”态时,Q端输出+12伏正跳变,A点电位变成+24伏,D\(_{0}\)更反向偏置,G点没有输出信号;当触发器由“0”态翻转为“1”态,Q-端产生一个-12伏负跳变,A点也将产生一个负跳变,瞬间电位变成零伏,G点也没有脉冲信号输出。这时,C0、R\(_{0}\)、D0、R这组电位脉冲门起禁止脉冲通过的作用。另一组电位脉冲门C\(_{1}\)、R1、D\(_{1}\)、R的情况又是怎样呢?当触发器由“0”态翻转为“1”态,B点产生一个+12伏的正尖脉冲,D1反向偏置,G点无脉冲输出;但当触发器由“1”态翻转为“0”态时,B点产生一个-12伏的负尖脉冲,G点便输出一个-12伏的负尖脉冲来触发下一级双稳了。

图7
图7 🔍原图 (868×389)

由上可见,在做加法运算时,无论触发器如何翻转,接在触发器Q-端的电位脉冲门没有输出信号;接在触发器Q端的电位脉冲门,当触发器由“0”态变为“1”态时,G点也无脉冲输出,只有当触发器由“1”态变为“0”态时,G点才有负尖脉冲输出。因此在做加法运算时,是以触发器Q端的负跳变作为下一级触发器的触发信号。

与此相反,做减法运算时,减法母线接低电位(零伏),加法母线接高电位(+12伏)。这时是以触发器由“0”态翻转为“1”态时,Q-端的负跳变作为下一级触发器的触发信号。

本机中可逆计数器实际电路见图8。下面介绍加、减法运算的原理:

图8
图8 🔍原图 (1836×582)

加法运算及进位:以7+5为例说明。按键使可逆计数器Z寄存十进制数码7,状态为0111,再按下“5”键,又将向Z输入五个J脉冲。输入第一个J脉冲后,Z\(_{0}\)由“1”态翻转为“0”态,Q端负跳变触发Z1为“0”,Z\(_{1}\)Q对端负跳变将Z2触发为“0”,Z\(_{2}\)Q端负跳变又将Z3触发为1,Z变为1000,即十进制数码8。接着输入第二个J脉冲,使Z\(_{0}\)由“0”态翻转为“1”态;因Z0Q端无负跳变,Z\(_{1}\)、Z2、Z\(_{3}\)仍维持原状态不变,Z的状态为1001,即十进制数码9。第三个J脉冲到来后,Z的状态变为1010,即十进制数码10。这时,高一位(即十位)的与门5(见图9)将打开,实现进位。

图9
图9 🔍原图 (600×853)

这一点我们详细分析一下(把图4、5、8、9对照起来看):实际上,高一位的与门5,由三个二极管D\(_{32}\)、D47和D\(_{17}\)组成,其中D32、D\(_{47}\)分别接本位Z1、Z\(_{3}\)的Q端,经本位进位输出端T上接到高一位数位板的进位输入端T\(_{下}\),D17接高一位选通(进位)脉冲X(对除个位的其它位均如此)。由图9可以看出,只要本位Z的状态不是“1010”,则D\(_{32}\)、D47的输入信号就至少有一个是“0”,因此与门5关闭,高位无进位。当本位Z的状态为1010时,D\(_{32}\)、D47输入都是“1”,打开与门5。与门5的输出(T点)就取决于X脉冲了。从T点通过的一个X脉冲,经高一位的F\(_{3}\)、与门6、F4被送入可逆计数器,实现了逢10进1。

我们再来看看本位与门7的情况(参看图8、9)。它由接减法母线的二极管D\(_{41}\)和接T上的二极管D\(_{42}\)组成。做加法时减法母线接高电位,因此通过高一位与门5的选通(进位)脉冲这时可以通过与门7,在W1点产生正、负尖脉冲,同时在反馈线W\(_{2}\)点上也相应地产生一个正、负尖脉冲。在Z为1010状态时,分别接在Z1和Z\(_{3}\)左边三极管基极上的二极管D29和D\(_{44}\)的正极电位均为正,因此在W1、W\(_{2}\)点产生的负尖脉冲,可经D29、D\(_{44}\)分别送到Z1、Z\(_{3}\)左边三极管基极,使Z1、Z\(_{3}\)由原来的“1”态变为“0”态。当Z1由“1”变“0”时,是可能输出负脉冲去触发Z\(_{2}\)的,但由于W2点负尖脉冲通过D\(_{36}\)加到Z2左边三极管基极,使Z\(_{2}\)仍维持在“0”态。这样,在向高位实现进位的同时,X脉冲又经本位的反馈线h0、h\(_{1}\)、h2将本位可逆计数器的Z\(_{1}\)、Z2、Z\(_{3}\)均置0。Z0已为0,则Z为0000。D\(_{32}\)、D47的输入端都为0,X脉冲不能再通过高一位与门5。因此在本位为1010时,与门5只能通过一个X脉冲,向高位加1。

上面讲的这一系列过程都是发生在第三个计数脉冲到来以后至第四个计数脉冲到来之前这一段时间内,由进位脉冲X来完成的。本位可逆计数器计到10、进位、置零,并不影响本位控制部分的状态,与门4仍打开,第四个计数脉冲仍通过与门4、非门2、与门6、非门4送入可逆计数器,使Z由0000变为0001。直到第五个计数脉冲来后,一方面送入Z,使Z由0001变为0010;另一方面对K实行反馈,使K复零,与门4关闭,不再允许计数脉冲通过。此时可逆计数器的个位为0010,十位为0001状态,实现7+5=12。

减法运算及借位:以10-5为例说明。未按下“5”键时,十位、个位可逆计数器的状态分别为0001和0000,按下个位数码5的按键,将有五个计数脉冲依次送入可逆计数器,控制部分的工作情况和做加法运算时完全相同。

个位可逆计数器原为0000状态,第一个计数脉冲进入后,使Z\(_{0}\)由“0”态翻转为“1”,Q-端电位产生负跳变,触发下一级触发器,Z1由“0”变“1”,同理Z\(_{2}\)、Z3均由“0”变“1”,使Z由0000变为1111状态。此时由于Z\(_{1}\)、Z3均为“1”,打开十位与门5,十位X脉冲通过与门5,送入十位可逆计数器,使十位的Z\(_{0}\)由原来的“1”态翻转为“0”态,Q-端电位产生正跳变,不能触发下一级触发器,因此十位的Z1、Z\(_{2}\)、Z3仍为“0”态,即十位计数器的状态由0001变为0000,就是由十进制码1变为0,实现了减法“借位”。在X脉冲通过与门5时,在W\(_{2}\)点上将产生正、负尖脉冲,负尖脉冲分别经反馈线h1、h\(_{2}\)将Z2、Z\(_{1}\)由原来的“1”态置为“0”态。这时与门7中D41负极接0伏(减法母线接0伏),D\(_{41}\)正向导通,与门7的输出端E点的电位被箝位在0伏,X脉冲不能通过与门7,反馈线h0无反馈信号,Z\(_{3}\)仍保持“1”态,故个位计数器Z由瞬间出现的1111状态,经X脉冲的反馈作用而稳定在1001,即十进制数码9的状态。这时由于Z1已恢复“0”态,与门5的输出端T点电位被箝在0伏,X脉冲不能再通过与门5。其余4个J脉冲相继输入个位可逆计数器Z,其过程如表5所示:

表5

输入J脉冲数 Z的状态 代表数码

2 1000 8

3 0111 7

4 0110 6

5 0101 5

至此,十位、个位可逆计数器的状态分别为0000、0101,实现了10-5=5。

以上加、减法运算结果,经各位译码器译码后,由辉光数码管显示出来。

脉冲分配部分

脉冲分配器的作用是产生有一定时序的两组控制脉冲:计数脉冲(J)和选通(进位)脉冲(X)。

为什么要用J、X两组控制脉冲呢?我们知道,计数脉冲J能按一定的规律产生,但是按键输入是随机的,任何时刻都可以按键输入数据。如果没有选通脉冲X,在图4中让非门F\(_{1}\)的输出直接送至与门4的话,就不能排除下述可能性:由于按键的随机输入,使与门4的开门起始时间不是赶在某个J脉冲之前,而是处于某个J脉冲之中,与门4的输出不是一个完整的J脉冲,而是一个J脉冲的一部分。与门4的输出端带有两路负载,一路向K反馈,一路至与门6,如果这一部分脉冲宽度非常窄,就可能造成与门6支路和反馈支路不同步,造成计数差错。为了把随机输入的信号演变为严格受控制的信号,以确保与门4通过的是完整的J脉冲,与门6和反馈支路同步,引入了选通脉冲X,即不是以随机输入信号来控制J脉冲,而是由随机输入信号控制一组按一定规律产生的选通脉冲,再由选通脉冲来控制计数脉冲。

脉冲分配器逻辑框图见图10。图11是脉冲时序图。由图10可见,脉冲分配器由一个主振频率为8000赫的自激多谐振荡器(图12)、两级触发器C\(_{1}\)和C2(起分频作用,产生4000赫和2000赫的矩形脉冲)、与门1~4及一系列非门组成。与门1~4的输入信号分别为CP、C\(_{1}\)、C2,CP、C-\(_{1}\)、C2,CP、C\(_{1}\)、C-2,CP、C-\(_{1}\)、C-2。与门1的输出经两级、四组非门,输出四组时序相同的J脉冲,供给全机十二位;其它三个与门的输出,各经两级、四组非门,输出四组时序相同的X脉冲,共十二组X脉冲,供给全机十二位。由图11可见,J、X脉冲的频率为2000赫,脉宽决定于CP;每输出三个X脉冲,有一个J脉冲输出,周而复始,交替出现。从图4我们知道,每一位的J脉冲只送至与门4,而X脉冲要送至与门2、3、5,考虑到分配器中每个门的负载能力及负载的一致性,保证机器可靠地工作,脉冲分配器设置了四组J脉冲和十二组X脉冲。

图10
图10 🔍原图 (833×1025)
图11
图11 🔍原图 (636×766)
图12
图12 🔍原图 (608×311)

我们再来看选通脉冲是怎样解决本节开头提出的矛盾的,参看图4。如果随机输入的信号使C点输出一个极窄的X脉冲,将不足以触发M,使J脉冲无法通过与门4。只有当下一个X脉冲到来时,C点输出一个完整的X脉冲,将M触发翻转,打开与门4,J脉冲才能输入。控制部分的反馈是由J脉冲前沿实现的,计数是由J脉冲后沿实现的。当J脉冲的前沿反馈到K使K恢复为常态时,与门2关闭,与门3打开;从J脉冲前沿到下一个X脉冲,有近两个或两个以上脉宽的时间间隔,这段时间足以保证打开与门3,使随后到来的一个完整的X脉冲通过,把M置为“1”态,及时关闭与门4,而不会造成多计数的差错。

此外,由于并行输入,每一位的输入又都是随机的,相邻诸位之间随时可能发生进(借)位,如果不对计数和进(借)位从时间上加以控制,就有可能在低一位向本位进(借)位时,进(借)位脉冲正好与本位的计数脉冲赶在同一时刻到来,误把两个脉冲作为一个脉冲计数。脉冲分配器相间产生J、X脉冲,分别作为计数脉冲和进(借)位脉冲,上述情况便不会发生。

溢出指示部分及其它

溢出指示部分系由三个反相器、一个多谐振荡器和一只指示灯组成(图13)。最高一位无进(借)位时,T\(_{上}\)为“0”,BG11截止,振荡器BG\(_{9}\)的发射极接在BG11的集电极上,此时振荡器停振,BG\(_{9}\)集电极输出为“1”,BG8饱和、BG\(_{7}\)截止,指示灯熄灭。当最高位有进(借)位时,BG11饱和,振荡器起振,指示灯随着振荡频率闪亮,表示溢出或欠位。

图13
图13 🔍原图 (840×345)

本机中间各位数字板电路完全一样,第一位因没有下一位进(借)位,无与门5、F\(_{3}\),或将T下接0伏。最后一位进(借)位接至溢出指示。(北京半导体石墨模具厂 铁道部科学研究院运输研究所)