(许为民)让计算机说话唱歌是件有趣的事,为此笔者设计制作为这个语言卡。
UM5100应用电路(见图1)用来进行录放音。数字语言信号通过图2电路与计算机沟通。三态门74LS245用来进行计算机和语言卡之间双向数据传输。三态门74LS245由相应的地址线控制通断,这个地址就是语言卡数据选通地址。如果语言卡插入N号槽,则数据选通地址为$COXO,其中X=N+8。数字语言信号传输方向用R/W-(读/写)信号控制:计算机进行读操作时(R/W-为高电平),数据流向语言卡(放音);写操作时(R/W-为低电平),数据流入计算机(录音)。


以语言卡插2号槽为例,各控制信息地址如下:R/W-对应地址$COA1(49313),PLAY对应$COA2(49314),RECO对应$COA3(49315),RESET对应$COA4(49316)。
程序可用APPLE·SOFT或汇编语言编写。编程时,应给语言卡留出约8kB的空间,可在引导程序HELLO中用HIMEM:28672-($7000)语句把工作区定在$7000起始的8kB内存中。PR01、PR02是供参考的录放音程序。
为语言卡加RAMHM6264,使语言卡可与计算机并行工作。工作时,CPU将语言数据从内存调入RAM HM6264,启动语言卡放音;语言卡放音的同时,CPU可从外存调入语言数据……,重复上述过程便可长时间放音(录音亦然)。方法是:将HM6284的A\(_{0}\)12、D\(_{0}\)~D7接UM5100的对应引脚,OE-、WE-分别接UM5100的RD-和WR-端,V\(_{DD}\)接+5V,CS-、VSS接地。
PRO1
10 REM录音程序
20 POKE 49316,0
30 D$=CHR$(4)
40 PRINT“录音请按回车键”:INPUT A
5O POKE 49315,0
60 FOR I=0 TO 8191
70 WR=PEEK(49313):IF WR=3 THEN 70
80 YING=PEEK(49312):POKE 28672+I,YING
90 NEXT I
95 POKE 49316,0
100 PRINT“录音完毕”
110 INPUT“请输入文件名”;F$
120 PRINT D$;“BSAVE”;F$”,A$ 7000,L$2000”
130 END
PRO 2
10 REM 放音程序
20 POKE 49316,0
30 D$=CHR$(4)
40 PRINT D$;“CATALOG”
50 INPUT“请输入文件名”:F$
60 PRINT D$;“BLOAD”; F$;“A$7000”
70 POKE 49314,0
80 FORI =0 TO 8191
90 RD=PEEK(49313):IF RD=3THEN 90
110 YING=PEEK(28672+I);POKE49312,YING
120 NEXT I
125 POKE 49316,0
130 GOTO 50
140 END