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);
    }

  • 相关阅读:
    Windows8 游戏开发教程开篇
    IPAD 游戏开发方案,windows开发
    谈一谈 Windows 8 的软件开发架构
    html5 大家一起来瞅吧瞅吧
    silverlight5中CLGF的推进
    html5 游戏界面问题
    挑战SVN,最纯洁的SVN客户端计划
    章鱼哥的暴走,HTML5也开始了
    MySQL的常用操作!
    两种屏蔽鼠标右键的方法
  • 原文地址:https://www.cnblogs.com/spartan/p/2332032.html
Copyright © 2011-2022 走看看