||
最近在写一些程序,外围器件有DS18B20,DS1302,ATC24C128等.本来我早就写过这类的程序,想想应该不难.只是现在用的单片机是STC的1T的单片机,我用的晶振也跟以前用的频率不一样.所以,我还是需要把以前的程序做下修改才能用的.
然后我开始改程序.首先是串口,这个倒是不难,稍微改一下定时常数,就可以了.我觉着较难的应该是DS18B20的程序,因为它对通信时序的要求比较严格.然后我就开始18B20程序中的各段时间常数.没想到,基本没费什么劲,我就把DS18B20中的温度数据就读出来了.然后我就开始写DS1302的程序.结果在这里遇到困难了,反复改了好久,程序都没有跟它通信上.然后想想,估计现在市场上的DS1302伪劣产品较多,可能是芯片的原因,于是我就不去管它,转而去看IIC的程序.
按说IIC的程序也不是很难的,但我也是一直没有搞通.我后来就想在PROTEUS上测试一下.结果测试的结果还是不对.我对PROTEUS里的IIC DEBUGER也不是很熟悉,只是一直在研究.不过在用PROTEUS里的串口观察数据的时候,无意间发现了我DS1302程序中的错误所在.
所以,还好,虽然IIC的程序还没弄好,DS1302的程序却可以搞好了.