本文介绍一种使用方便的EPROM手动编程器,该手动编程器可以对EPROM2716和2732进行读出、写入操作,如再和少量元器件还可作可编程自动打铃器、可编程舞台灯光(彩灯)控制器、可编程时间控制器等。
电路原理
该电路如图1所示。该EPROM手动编程器由程序地址计数器、编程脉冲产生电路、数据置数电路、EPROM插座和输出驱动及编程显示等部分组成。

D1\(_{1}\)、D12和D4等构成程序地址计数器。D1\(_{1}\)、D12、R2、C2及K1等组成地址计数脉冲产生电路,每按一下K1,D1\(_{2}\)输出一个负脉冲;当持续按下K1时,D12以每秒6个脉冲的速度输出脉冲串,这对检查程序十分方便。D4和R3、C3、K2组成地址计数电路,CD4040是12位二进制计数器,输入脉冲下沿触发有效。C3、R3构成加电自动复位电路,K2是手动复位开关。V3~V14是地址指示发光二极管。
D1\(_{3}\)~D16和R4~R6、C4、C5组成编程脉冲产生电路。每按一下编程开关K3,D1\(_{6}\)输出一个52ms宽的正脉冲,D14输出一个52ms宽的负脉冲,正脉冲供2716 EPROM编程用,负脉冲供2732 EPROM编程用。K7~K14和R23~R30组成置数电路,置数开关K7~K14置在H端为置高电平,置在L端为置低电平。24芯插座(D5)为2716/2732共用编程插座,编程逻辑电平通过开关K5、K6切换。
V1、R8、R9及K4组成编程高压控制电路,K4置在“编程”位时,V1导通,编程高压加到D5的V\(_{pp}\)端。K4置向“检查”位时,V1截止,Vpp端通过R10接地呈低电位。C7为缓冲电容,防止加编程高压瞬间冲击EPROM芯片。
D2\(_{2}\)~D33和V15~V22、R31~R38组成输出驱动及编程显示电路,EPROM输出高电平时,编程显示发光管发光,否则不发光。D2\(_{2}\)~D33为集电极开路反相驱动器,最大负载电流大于40mA,可驱动继电器或双向可控硅。
扩展应用
该手动编程器作自动打铃器时,D5的0D~6D通道作控制输出端。从数字钟电路中取出分钟信号加到图1中A端,B端与C端相连接,可在CD4040计数1440个分钟信号时(正好是24小时),在7D通道上设置1个低电平有效的返回点,使CD4040复位。作可编程舞台灯光(彩灯)控制器和可编程时间控制器时,仅需将K1短路,用一个470kΩ电位器和一个10kΩ电阻串联代替R2,R1,C1可去掉不用,改动部分具体电路见图2 ;输出驱动端D2\(_{2}\)~D33接上功率控制器件,具体电路可参考图3,图4 ;然后把写有特定控制信息的EPROM芯片插入插座,电路便可以工作了。另外,该手动编程器还可作电子琴自动节奏产生器、特殊(如非线性)译码器,这里受篇幅所限就不一一介绍了。


作这些控制装置使用时,应注意,不论是2716还是2732,K5均置在“16”位。
应用程序需经常改动时,可将D5换成静态随机储存器RAM 6116,这样改写和编程会更方便。这时V1、R8、R9及K4可省去不用,D5的18脚(CE)-、20脚(OE)-直接接地,21脚(6116读写控制端)接D14输出端。为了防止断电后RAM6116内存数据丢失,需给6116加上4.5~5V备用电池。编程方法及开关所放位置同2716的。
元器件选择
D1为六施密特触发器 CD40106或74HC14。D2D3为六反相驱动器(OC门输出)74 LS06。CD4040(D4)可用MC14040代用。V1用9015或8550,B≥80。V3~V14采用工作电流小、亮度高的红色发光二极管,V15~V22采用亮度高的绿色发光二极管。R5要用820kΩ与51kΩ电阻串联代替。
编程方法
1.新的EPROM芯片可直接编程,如用过的芯片需用紫外线灯管照射15分钟左右,将原程序擦除。
2.检查EPROM。新的或擦除过的芯片内存数据全部为高电平即“1”。编程前先按下K1,检查一下EPROM内存数据是否都为“1”。
3.编程过程中加、去电源很关键。加电时,先加+5V后加+25V;去掉电源时,失去掉+25V后去掉+5V。如不按此顺序操作,很容易损坏芯片。
4. 2732编程高压因厂家不同产品要求也不一样,有的是+25V,有的是+21V,编程前应注意芯片上的注记,无注记的应查看产品说明。
5. 编程步骤。按要求完成上述操作后,根据所要编程的芯片型号放好开关K5、K6,按一下复位开关K2,使CD4040归零,根据所编内容置好置数开关K7~K14,按一下K3即可将数据写入芯片。编下一个字节时,按一下K1,使地址加1;置好K7~K14,再按一下K3即可。
6.编程检查。检查2716编程结果时,因每编一个字节即可显示编程结果,故不需另检查。检查2732编程结果时,因在编程中不能随即显示编程结果,检查时需将K4置向检查位。
7.编程中如因误操作使地址计数器多走了一步,不用重新来一遍,只需用笔记下此地址单元,继续往下编,编完后在编程检查中再补编。(郭承源 谢以文)