22.蓝桥杯单片机设计与开发:如何直接利用考场提供的底层驱动代码进行修改?

由于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存取程序

  • 4
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值