圣源电子制作

 找回密码
 立即注册
查看: 7076|回复: 2
打印 上一主题 下一主题

51模块程序 都是自己写的 自己验证过的

[复制链接]
跳转到指定楼层
楼主
发表于 2013-10-26 22:44:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在网盘中   使用KEIL 工程 主要有AD0804.C AD0804.H  AT24CXX.C AT24CXX.H DELAY.C DELAY.H DS18B20.C DS18B20.H DS1302.C DS1302.H  IIC.C IIC.H
LCD1602.C LCD1602.H LCD12864.C LCD12864.H PCF8591.C PCF8591.H SMG.C SMG.H等文件 都是自己大学的时候写的注释详细 不过要用的话 要会正确添加C 文件 少添加会报错的里面不有几个主程序 希望对大家有帮助 有问题可以发邮箱给我605392141@qq.com 我会在有空的时候回复给你!谢谢!
例如: AT24CXX.C
/***包****含****头****文****件****/
#include"IIC.H"
/*****起*****始*****信*****号*****/
void start()         
{
  IIC_SDA=1;//数据线拉高
  delay();        //延时
  IIC_SCL=1;//时钟线拉高
  delay();        //延时
  IIC_SDA=0;//数据线拉低
  delay();        //延时
  IIC_SCL=0;//时钟线拉低
  delay();        //延时
}                                                                  
/*****终*****止*****信*****号*****/
void stop()
{
  IIC_SCL=0;//时钟线拉低
  delay();        //延时
  IIC_SDA=0;//数据线拉低
  delay();        //延时
  IIC_SCL=1;//时钟线拉高
  delay();        //延时
  IIC_SDA=1;//数据线拉高
  delay();        //延时
}
/*****应*****答*****信*****号*****/
void respons()
{
  uint8 i;        //循环变量
  IIC_SCL=1;//时钟线拉高
  delay();        //延时
  //当i等于250默认应答
  while((IIC_SDA==1)&&(i<250))
  i++;            //变量加加
  IIC_SCL=0;//时钟线拉低
  delay();        //延时
}
/***非****应****答****信****号****/
void no_respons()
{
  IIC_SCL=0;//时钟线拉低
  delay();        //延时
  IIC_SDA=1;//数据线拉高
  delay();  //延时
  IIC_SCL=1;//时钟线拉高
  delay();        //延时
  IIC_SDA=0;//数据线拉低
  delay();  //延时
}
/*****写*****单*****字*****节*****/
void IIC_write_byte(uint8 date)
{
  uint8 i,temp;   //声明变量
  temp=date;      //将要写入的数据赋给变量
  for(i=0;i<8;i++)//按位8次循环写入
  {
    temp<<=1;          //将要写的数据左移致CY
        IIC_SCL=0;          //时钟线拉低
        delay();          //延时
        IIC_SDA=CY;          //将CY传给数据线
        delay();          //延时
        IIC_SCL=1;          //时钟线拉高
        delay();          //延时
  }
  IIC_SCL=0;          //时钟线拉低
  delay();                  //延时
  IIC_SDA=1;          //数据线拉高
  delay();                  //延时
}
/*****读*****单*****字*****节*****/
uint8 IIC_read_byte()
{
  uint8 i,k;            //声明变量
  IIC_SCL=0;            //时钟线拉低
  delay();                    //延时
  IIC_SDA=1;            //数据线拉高
  delay();                    //延时
  for(i=0;i<8;i++)  //按位8次循环读出
  {
   IIC_SCL=1;            //时钟线拉高
   delay();                    //延时
   k=(k<<1)|IIC_SDA;//将读出数据进行处理
   IIC_SCL=0;                //时钟线拉低
   delay();                        //延时
  }
  return k;                        //返回读出数据
}
/*********************************/




51模块程序.zip

1.1 KB, 下载次数: 27

51模块程序

回复

使用道具 举报

沙发
发表于 2013-12-7 09:32:47 | 只看该作者
顶顶顶顶顶i打你打你个都能给你顶顶i电脑
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|联系我们|闽公网安备 35012102000020号|闽ICP备11020110号-1|圣源电子

GMT+8, 2024-11-14 12:49 , Processed in 0.043726 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表