由于CT107D开发板原是为传统89C52单片机设计,因此其底层驱动代码也是适合于52单片机,而目前所使用的IAP15系列单片机的运行速度远远高于52单片机,故我们需要对其进行修改使其直接为我们所用。一般可将延时扩大为8-12倍即可。
DS18B20
将原代码中所有的延时时间扩大10倍。
DS1302
1.所有的nop复制3次,即延时改为原来的4倍,原来的一个nop改为3个nop
_nop_();_nop_();_nop_();_nop_();
2.DS1302写字节函数中:
将
Write_Ds1302(dat);
修改为
Write_Ds1302(((dat/10)<<4)|(dat%10));
(可以查看DS1302的芯片手册RTC寄存器部分,数据在其中是高四位和低四位分开存储的)
3.DS1302读字节函数中:
在原程序中加入
dat1=temp/16;
dat2=temp%16;
temp=dat1*10+dat2;
(可以查看DS1302的芯片手册RTC寄存器部分,数据在其中是高四位和低四位分开存储的)
PCF8591和AT24C02
延时扩大8倍,即宏定义中,somenop里的nop复制7次或者DELAY_TIME由5改成40(具体要看给的驱动是怎么写的)
利用单总线底层驱动代码编写温度传感器DS18B20温度检测程序
利用DS1302底层驱动代码编写时钟芯片DS1302的时间显示程序
利用IIC底层驱动代码编写PCF8591 AD/DA转换程序
利用IIC底层驱动代码编写AT24C02 EEPROM存取程序