AT89C51是带4K字节闪烁可编程可擦除只读存储器的低电压、高性能CMOS 8位微处理器。AT89C51将多功能8位CPU和闪烁存储器组合在单个芯片中,为很多嵌入式控制提供了灵活性高且价格低廉的方案。用AT89C51型单片机和LM386型音频功率放大器构成了自动计时和号音播放器,成本低,效果好,值得推广。 AT89C51单片机的主要特性有寿命达1000写/擦循环;数据保留10年;全静态工作0Hz-24MHz;三级程序存储器锁定;128×8位内部RAM;32可编程I/O线;2个16位定时器/计数器;5个中断源;可编程串行通道;低功耗闲置和掉电模式;片内振荡器和时钟电路。AT89C51的P1.0端接音频放大模块的IN+端口,在音频放大模块的VOUT端接一个8欧姆或者16欧姆的喇叭。 若要产生音频脉冲,只要算出某一音频的周期,再将此周期除以2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将P1.0反相,然后重复计时再反相。就可在P1.0引脚上得到此频率的脉冲。利用AT89C51的内部定时器使其工作计数器模式下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为523Hz,其周期T=1/523=1912μs,因此只要令计数器计时956μs/1μs=956,每计数956次时将I/O反相,就可得到中音DO。 本系统主要完成作息定时和号音播放功能,因此用定时器T1中断方式产生100ms基准时间,再根据作息表上各段时间的长短对基准时间用软件计时。可以用查表方式取得计数参数,计时到后将播放子程序地址送DPTR,转入播放子程序,放2遍对应号音后再继续计时。播放子程序是用T0中断方式控制P1.0不断取反以产生不同频率音符,节拍的长短靠调用200ms延时子程序次数来完成。子程序也用查表来完成。
|