zoukankan      html  css  js  c++  java
  • 1

    #include"include.h"

    bit write=0;
    uchar sec;
    uchar  segment1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
    void IIC_Init(void)
    {
     IIC_SDA=1;
     IIC_SCL=1;
    }

    void IIC_Start(void)
    {
     IIC_SDA=1;
     Delay();
     IIC_SCL=1;
     Delay();
     IIC_SDA=0;
     Delay();
    }

    void IIC_Stop(void)
    {
     IIC_SDA=0;
     Delay();
     IIC_SCL=1;
     Delay();
     IIC_SDA=1;
     Delay();
    }

    void IIC_Response(void)
    {
     uchar i;
     IIC_SCL=1;
     Delay();
     while((IIC_SDA==1)&&(i<250))
      i++;
     IIC_SCL=0;
     Delay();
    }

    void IIC_WriteOneByte(uchar Data)
    {
     uchar i,temp;
     temp=Data;
     for(i=0;i<8;i++)
      {
       temp=temp<<1;
       IIC_SCL=0;
       Delay();
       IIC_SDA=CY;
       Delay();
       IIC_SCL=1;
       Delay();
      }
     IIC_SCL=0;
     Delay();
     IIC_SDA=1;
     Delay();
    }

    uchar IIC_ReadOneByte(void)
    {
     uchar i,k;
     IIC_SCL=0;
     Delay();
     IIC_SDA=1;
     Delay();
     for(i=0;i<8;i++)
      {
       IIC_SCL=1;
       Delay();
       k=(k<<1)|IIC_SDA;
       IIC_SCL=0;
       Delay();
      }
      return k;

    void IIC_WriteOneByteOnAddr(uchar Addr,uchar Data )
    {
     IIC_Start();
     IIC_WriteOneByte(0xa0);
     IIC_Response();
     IIC_WriteOneByte(Addr);
     IIC_Response();
     IIC_WriteOneByte(Data);
     IIC_Response();
     IIC_Stop();
    }

    uchar IIC_ReadOneByteOnAddr(uchar Addr)
    {
     uchar Data;
     IIC_Start();
     IIC_WriteOneByte(0xa0);
     IIC_Response();
     IIC_WriteOneByte(Addr);
     IIC_Response();
     IIC_Start();
     IIC_WriteOneByte(0xa1);
     IIC_Response();
     Data=IIC_ReadOneByte();
     IIC_Stop();
     return Data;    
    }

    void IIC_Func(void)
    {
     IIC_Init();
     sec=IIC_ReadOneByteOnAddr(2);
     if(sec>100)
      sec=0;
     TMOD=0x01;
     ET0=1;
     EA=1;
     TH0=(65535-50000)/256;
     TL0=(65535-50000)%256;
     TR0=1;
     while(1)
      {
       Segment1_Display(sec/10, sec%10);
       if(write=1)
        {
         write=0;
         IIC_WriteOneByteOnAddr(2, sec);
        }
      }
    }

    void Segment1_Display(uchar bai_c,uchar shi_c)
    {
     dula=0;
     P0=segment1[bai_c];
     dula=1;
     dula=0;
     wela=0;
     P0=0x7e;
     wela=1;
     wela=0;
     Delay_MS(5);
     dula=0;
     P0=segment1[shi_c];
     dula=1;
     dula=0;
     wela=0;
     P0=0x7d;
     wela=1;
     wela=0;
     Delay_MS(5);
    }

  • 相关阅读:
    售后返修管理软件流程设计图
    Easyui datagrid加载数据时默认全选的问题
    如何做好售后管理之售后返修品管理
    您需要售后返修管理软件的N个理由
    使用软件量化考核售后维修人员业绩?
    如何使用NET Reactor为您的.Net(C#,VB.Net) 源代码加密!
    VS.Net开发必备,让您的代码自动收缩,如何实现!
    vs生成dll,却没有生成相应的lib
    c++、webServices、gsoap、tinyxml、iconv
    gsoap、c++。webservice的client。
  • 原文地址:https://www.cnblogs.com/spartan/p/2332032.html
Copyright © 2011-2022 走看看