袖珍计算机的输入输出接口电路(续)

🏠 首页 《无线电》杂志 1986年 🔗 第11期 🔗 第7页 分类:应用电子仪器 🔗 李万隆 🔗

(李万隆)图4是输入接口电路图。当被测点为高电平时,此电路使J\(_{1}\)、J2短接(相当于按下7键);当被测点为低电平时,此电路能使J\(_{3}\)、J4短接(相当于按下ENTER键)。应用前述INPUT指令就能自动将控制信号写入计算机。

电路中使用了一片CD4016四双向模拟开关,一片CD4528双单稳态触发器。先分析一下硬件电路:每当外电路的被测点送来一个脉冲,便可向计算机送入一个0或7;若被测点是高电平,则会自动输入一个7;若检测点是低电平就会向计算机输入一个0。由预定程序(后面要讲)操纵计算机输出控制脉冲,从输入接口电路的CP端送进。各个脉冲分别控制接通各个被测点1~8,第1~7个脉冲对应D\(_{1}\)~D7,第8个脉冲对应D\(_{0}\)。现以D1点为例分析电路工作过程。当第1个输入脉冲的高电平到达CP后,CD4518的Q\(_{3}\)、Q2、Q\(_{1}\)输出为001,送至4051的C、B、A选择端,选中接通输入端D1。这个脉冲同时经R\(_{1}\)C1送到触发器4528,脉冲的下降沿起触发作用。4528Ⅰ的Q端在触发前为1电平,触发后为0电平,触发器的输出送到4051的E端,使被测点D\(_{1}\)的信号由S端送出。若D1为高电平,则S端也输出高电平,驱动4016的G\(_{1}\)使D1和S\(_{1}\)端短接,将7键接通,使7键的信号自动输入计算机。若D1为低电平,则S输出0电平,使或非门输出1电平,驱动G\(_{2}\)使D2S\(_{2}\)接通,将0键的信号输入计算机。当4528Ⅰ的输出脉冲变为高电平时,该脉冲的上升沿将触发4528Ⅱ,使G3为高电平。将D\(_{3}\)S3接通,相当于按下ENTER键,把检测到的数据自动输入计算机。这个过程的软件程序,实际上就是一个INPUT A键盘输入语句,用图4的电路代替了手动输入数据的过程。这个电路的巧妙之处就是利用了4582单稳态触发器具有上升沿和下降沿触发的功能,并且利用了它的同相和反相输出端,将信号延时做为CD4016和G\(_{1}\)、G2、G\(_{3}\)的分时输出控制脉冲,这个过程的时序图如图5所示。当输入控制脉冲到来后,经C1R\(_{1}\)组成的积分电路延时后,送到4528Ⅰ使4528Ⅰ的Q-端输出一个负脉冲,这个负脉冲经C2、R\(_{2}\)延时后驱动4528Ⅱ使其Q端输出正脉冲击驱动CD4016。

图1
图1 🔍原图 (945×443)
图2
图2 🔍原图 (986×2002)

图6是输入接口的软件框图。下面的程序就是按图6编写的。

5 DIM C(8)

10 FOR Ⅰ=1TO8

20 RMTOFF∶WAIT∶50∶ROMTON

30 INPUT C(I)

40 NEXT Ⅰ

这个程序从10句到40句共循环8次,使完成了D\(_{0}\)—D78个点的检测。得到8个检测量C(1)~C(8):根据各检测点的信号电平是0或1,就可知道被测点的状态。这样便可利用IF—THEN语句转向各自对应的服务程序去处理。

图3
图3 🔍原图 (1308×1068)

结合上面的内容在这里给出一个具有输入接口和输出接口的总电路,如图7所示。输出部分和图1基本一样;输入部分和图4略有不同:主要是4051Ⅱ的E端加了一个与非门,这个与非门输入端受片选信号Q′\(_{2}\)的控制,只有在Q′2为高电平时,才能使输入触发脉冲通过该门,使4051Ⅱ工作。由于增加了此与非门,原4528Ⅰ由Q-输出改为Q输出,这样才能和原电路相适应。这里4051Ⅰ、4052Ⅱ的片选由Q′\(_{1}\)和Q′2产生,Q′\(_{2}\)Q′1=01时4051Ⅰ工作,Q′\(_{2}\)Q′1=10时4051Ⅱ工作。

假设有一组被控对象,要求每小时对七个被测点检测一遍。根据检测结果,去控制相应的执行机构。在程序中用Ⅰ(1)~Ⅰ(7)表示被测点,输出变量用q(1)~q(7)表示。下面给出控制程序。