虽然AT电源已经退出电脑市场,但在很多场所它仍被广为使用,在拥有电脑的家庭中也占有一定的比例。由于它不能像ATX电源一样用Windows实现自动关机,因此在实际使用中带来诸多不便:比如若不退出Windows而直接关闭电源,不但会在硬盘留下很多文件碎片,更麻烦的是硬盘磁头没能及时复位而有可能划伤盘片或损伤磁头,后果是相当惨重的,但若要守着等待“你可以安全地关闭计算机了” 的出现又会觉得太浪费时间。
我在一次使用电话拨号程序的过程中受到启发:如果在退出Windows时运行一个音频文件,然后从声卡的输出端将信号接收并解调出来,再将电源关断,不就可以让AT型电脑实现自动关机了吗(条件是必须装有声卡;如有可能,还能实现自动开机)?具体方法如下:
让Windows在退出时发出一种特定的声音,再用硬件将这种声音解调出来,延时一段时间后(大概是你从退出Windows到出现安全关机字样后再加上5~10s的时间),再去推动电磁继电器或固态继电器关闭电源。
首先需要制作关机音频:为了便于解码的方便和可靠,可以选择双音频电话拨号音、某个频率的单音或者类似于MC45026等编码器产生的脉冲串等。这些音频编码对于电脑编程高手来说是小事,但大多数电脑爱好者,却多采用下述方法获得。下面以双音频电话拨号音为例进行说明。
双音频电话拨号音的获得有多种:可以用电脑里的电话拨号程序、普通电话、手机等产生,然后用Windows的录音机通过声卡的话筒输入或线路输入对其录音并编辑成相应的文件备用,注意每个音频文件只能选择有效的200~300ms长度。我是到网上去下载的一个名为“MediaRingTalk”的免费网络电话软件,经安装后在该程序文件夹下的一个名为“Sounds”的子文件夹中找到的音频文件。读者可以通过http://www.baidu.com等搜索网站来了解该软件的获取信息。该软件的其他功能读者可到http://chi-na.mediaring.com上了解。然后用Win-dows的录音机(开始菜单→程序→附件→娱乐→录音机)对这些双音频文件进行编辑,方法是:首先进入录音机,打开这个“Sounds”文件夹,你可以看到里面有“d0.wav~d9.wav、star.wav、cash.wav”文件,它们对应的数字为“0~9、*、#”,选择其中的一个并打开;如想将几个号码合并到一起,可用录音机的“编辑\插入文件”命令,就可将你所要的数字组成一组号码,位数越多其解码的可靠性也越高,但占用的时间也越长。最后将编辑好的文件用一个自己熟悉的文件名保存待用。不管你用什么软件编辑,最后都必须是WAV格式的文件。
接下来再进入“控制面板”中,打开“声音”选项,在“声音属性”里选中“退出Windows的音乐”,然后单击“名称”下面的“浏览”按钮,选择你上面编辑后保存的文件,再单击“确认”后就可看到这个文件已进入到“名称”框里,最后单击“应用”后退出即可。这样,在你以后关机时Windows就会自动运行该音乐程序后再关机。
硬件方面就好办了,用相应的解码芯片解出编码,再用单片机或分立器件识别后去推动继电器关闭电源即可。对应上面用的双音频编码,解码时我用了MT8870芯片,然后用AT89C2051单片机(或其他型号)解调后去推动继电器,只需要一小段程序,非常简单,电路图见附图(音频输入端接声卡的音频输出;主机的电源开关改成轻触式并和继电器的控制触点并联;如只用于关机时VCC接主机的+5V)。程序清单见文后。由于我们在工作中经常会让机器重新启动,但Windows在这时候照样会发出关机指令,为了不让电路在这种时候误关机,在电路中增加了辅助复位电路。大家都知道,主机在启动时都要发出“嘀”的报警声音,电路中就是从报警扬声器的驱动端引出这个声音并滤波后作为复位驱动信号的。

想要定时关机,可到“华军软件园\开关定时”里看看(http://bj.onlinedown. net/sort/22-1.htm),那里有不少定时关机和计划任务后关机的软件,当然也可用Windows的“计划任务”和一些关机软件结合应用。如果是下载这些文件,可用“网际快车”(也可以在“华军软件园”中下载),它的工具栏里有“完成后挂断”和“完成后关机”选项,在这两项前都打上勾,试试看,很好用!
如果给单片机加上备用电源,并编写一段计时和定时程序,就可以实现定时开机!当然为了调时和定时的方便,有兴趣的读者还可以编写一个可以在桌面上直接调时和定时的程序,与单片机之间用串行通信方式。定时开机后,用计划任务类的程序,你就可以根据自己的喜好来操作电脑了。
程序清单如下。

(王万斌)