圣源电子制作

标题: 51模块程序 都是自己写的 自己验证过的 [打印本页]

作者: 周帅    时间: 2013-10-26 22:44
标题: 51模块程序 都是自己写的 自己验证过的
在网盘中   使用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;                        //返回读出数据
}
/*********************************/





作者: ljj520ysm    时间: 2013-12-7 09:32
顶顶顶顶顶i打你打你个都能给你顶顶i电脑
作者: njkkx    时间: 2014-1-12 00:55
谢谢分享!!!!!!!!!




欢迎光临 圣源电子制作 (https://bbs.syyyd.com/) Powered by Discuz! X3.4