亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? zlg7290.txt

?? ZLG7290使用代碼 ,使用模擬I2C,其是ZLG7290的IIC驅動C語言程序。
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
ZLG7290的IIC驅動C語言程序
      ZLG7290的IIC驅動C語言程序
      作者:未知    AVR單片機來源:網絡    點擊數: 1336     更新時間:2007-10-1    

      //#####################---文件信息-----############################
      //文   件   名   :   7290.c
      //創   建   人   :   ZXJ
      //建  立 時 間   :   2004-2-17
      //版  本 描 述   :   V1.0
      //功  能 描 述   :   ZLG7290使用代碼 ,使用模擬I2C
      //備      注   :   調試環境為AVRGCC 3.3.1,MCU為Mega8 晶振為3.6864MHZ
      //               由于ZLG7290的速度很慢,換晶振時注意延時程序的調整.實際測試中
      //               死機現象比較嚴重,建議使用控制ZLG7290的復位
      //最后修改時間   :   2004-2-19
      //##################################################################

      #include "7290.h"

      //0到9
      //const u08 LED_Font[10] = 
      {0xCF,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0,0xFE,0xF6}; //正
      const u08 LED_Font[10] = 
      {0xfc,0x0c,0xda,0x9e,0x2e,0xb6,0xf6,0x1c,0xfe,0xbe}; //反

      //----------------------------------------------------------------
      void I2c_Send_Byte(u08 data);
      u08 I2c_Rev_Byte(void);

      //*****************************************************************
      //函   數   名   :   _Nop   
      //建 立 時  間   :   2004-2-17
      //功 能 描  述   :   延時函數,最大值為0xff
      //備      注   :   沒有返回值
      //最后修改時間   :   2004-2-18
      //*****************************************************************
      void  _Nop(u08 dly)  
      {
         u08 i;
         for(i=0;i<dly;i++)
         {
            asm("nop");
         }
      }

      //==============================================
      //I2C通訊協議實現部分
      //==============================================

      //*****************************************************************
      //函   數   名   :   Start_I2c   
      //建 立 時  間   :   2004-2-17
      //功 能 描  述   :   啟動模擬I2C通訊
      //備      注   :   沒有返回值
      //最后修改時間   :   2004-2-17
      //*****************************************************************
      void Start_I2c(void)
      {
        SDA_1;   //發送起始條件的數據信號
        _Nop(1);
        SCL_1;
        _Nop(5);    //起始條件建立時間大于4.7us,延時   
        SDA_0;   //發送起始信號
        _Nop(5);    // 起始條件鎖定時間大于4μs
             
        SCL_0;   //鉗住I2C總線,準備發送或接收數據
        _Nop(5);
      }

      //*****************************************************************
      //函   數   名   :   Stop_I2c   
      //建 立 時  間   :   2004-2-17
      //功 能 描  述   :   停止模擬I2C通訊
      //備      注   :   沒有返回值
      //最后修改時間   :   2004-2-17
      //*****************************************************************
      void Stop_I2c(void)
      {
        SDA_0  //發送結束條件的數據信號
        _Nop(1); 
        SCL_1  //結束條件建立時間大于4μs
        _Nop(5);
        SDA_1  //發送I2C總線結束信號
        _Nop(5);
      }

      //*****************************************************************
      //函   數   名   :   I2c_Send_Byte   
      //建 立 時  間   :   2004-2-17
      //功 能 描  述   :   向I2c總線發送1個字節的數據/命令
      //備      注   :   沒有返回值
      //最后修改時間   :   2004-2-18
      //*****************************************************************
      void I2c_Send_Byte(u08 data)
      {
         u08 BitCnt;
       
         for(BitCnt=0;BitCnt<8;BitCnt++)  //要傳送的數據長度為8位
          {
           if((data<<BitCnt)&0x80)
              SDA_1        //判斷發送位
            else  
             SDA_0                
           _Nop(15);
           SCL_1                  //置時鐘線為高,通知被控器開始接收數據位
            _Nop(15);        
           SCL_0 
          }
          
          _Nop(15);
          SDA_1               //8位發送完后釋放數據線,準備接收應答位
          _Nop(15); 
          SCL_1
          _Nop(15);
          if(bit_is_set(I2C_PIN,SDA))ack=0;     
             else ack=1;        //判斷是否接收到應答信號
          SCL_0
          _Nop(15);
      }

      //*****************************************************************
      //函   數   名   :   Stop_I2c   
      //建 立 時  間   :   2004-2-17
      //功 能 描  述   :   從I2c總線接收1個字節的數據/命令
      //備      注   :   返回接收到的數據/命令
      //最后修改時間   :   2004-2-18
      //*****************************************************************
      u08 I2c_Rev_Byte(void)
      {
        u08 retc;
        u08 BitCnt;
        
        retc=0; 
        SDA_1             //置數據線為輸入方式
        for(BitCnt=0;BitCnt<8;BitCnt++)
            {
              _Nop(15);           
              SCL_0       //置時鐘線為低,準備接收數據位
              _Nop(20);
              SCL_1       //置時鐘線為高使數據線上數據有效
              _Nop(20);
              retc=retc<<1;
              if(bit_is_set(I2C_PIN,SDA))retc=retc+1; //讀數據位,接收的數據位放入retc中 
              _Nop(20);
            }
        SCL_0    
        _Nop(20);
        return(retc);
      }

      //*****************************************************************
      //函   數   名   :   Ack_I2c   
      //建 立 時  間   :   2004-2-17
      //功 能 描  述   :   主機的發送應答信號
      //備      注   :   沒有返回值
      //最后修改時間   :   2004-2-17
      //*****************************************************************
      void Ack_I2c(u08 a)
      {
        
        if(a==0)SDA_0     //在此發出應答或非應答信號 
              else SDA_1
        _Nop(5);  
        SCL_1
          _Nop(5);
       SCL_0               //清時鐘線,鉗住I2C總線以便繼續接收
          _Nop(5);
      }

      //*****************************************************************
      //函   數   名   :   I2c_Read
      //建 立 時  間   :   2004-2-18
      //功 能 描  述   :   從I2C總線上讀取數據/命令,icadder是從器件地址,adder
      //               是從器件的寄存器(如果有的話),count是一次讀取的的數量
      //               *buff讀取的數據存放地址
      //備      注   :   沒有返回值
      //最后修改時間   :   2004-2-18
      //*****************************************************************
      void I2c_Read(u08 icadder, u08 adder, u08 count, u08 *buff)
      {   
         u08 i;
         Start_I2c();
         _Nop(5);
         I2c_Send_Byte(icadder);   //寫入IC的地址
         _Nop(10);
          I2c_Send_Byte(adder);   //寫入寄存器地址
          _Nop(10);
         
         Stop_I2c();            //可查看I2C標準 
         _Nop(5);

          Start_I2c();
         _Nop(5);
          I2c_Send_Byte(icadder+1);
          _Nop(10);

          for (i=0;i<count;i++)
          {
             *buff=I2c_Rev_Byte();
             if (i!=count-1) Ack_I2c(0);//除最后一個字節外,其他都要從MASTER發應答。
             buff++;
          }
          //SendAck();//除最后一個字節外,其他都要從MASTER發應答。

          Ack_I2c(1);
          Stop_I2c();
         
      }

      //*****************************************************************
      //函   數   名   :   I2c_Send
      //建 立 時  間   :   2004-2-18
      //功 能 描  述   :   從I2C總線上讀取數據/命令,icadder是從器件地址,adder
      //               是從器件的寄存器(如果有的話),value要寫入的值
      //備      注   :   有返回值

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩成人一区| 久久精品一区四区| 国产很黄免费观看久久| 又紧又大又爽精品一区二区| 精品裸体舞一区二区三区| 色噜噜狠狠色综合欧洲selulu| 美脚の诱脚舐め脚责91| 一区二区免费在线| 久久久久99精品国产片| 欧美嫩在线观看| 91污在线观看| 成人午夜私人影院| 经典三级一区二区| 亚洲国产日韩一区二区| 亚洲欧美在线视频观看| 久久网站最新地址| 欧美一区二区日韩| 色妞www精品视频| 成人动漫一区二区在线| 麻豆精品在线看| 日韩精品成人一区二区三区| 亚洲精品国产a久久久久久| 国产精品久久午夜夜伦鲁鲁| 久久综合九色综合欧美98| 91精品国产综合久久久久久久久久 | 国产色一区二区| 日韩视频免费观看高清完整版在线观看 | 青娱乐精品视频在线| 一区2区3区在线看| 亚洲男人的天堂在线aⅴ视频| 国产欧美一区二区精品性| 精品国产乱码久久久久久久| 69堂亚洲精品首页| 在线播放日韩导航| 91精品国产福利在线观看| 欧美日韩国产影片| 欧美网站大全在线观看| 欧美日韩激情一区| 欧美日韩精品一区二区在线播放| 欧洲精品在线观看| 欧美日韩国产精品自在自线| 欧美午夜精品理论片a级按摩| 日本高清免费不卡视频| 在线观看一区二区精品视频| 欧美熟乱第一页| 欧美高清视频www夜色资源网| 欧美亚洲国产怡红院影院| 欧美性xxxxxxxx| 欧美一区二区播放| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 日韩国产高清在线| 美女www一区二区| 国产一区欧美日韩| 成人午夜电影网站| 色综合激情五月| 欧美日韩国产免费一区二区| 欧美一级搡bbbb搡bbbb| 精品国产91久久久久久久妲己| 精品少妇一区二区三区免费观看 | 韩国女主播一区二区三区| 国产精品99久久久久久久vr| jlzzjlzz欧美大全| 欧美日韩精品福利| 精品国产免费人成在线观看| 国产女主播在线一区二区| 亚洲欧美日韩中文字幕一区二区三区| 亚洲一区二区偷拍精品| 卡一卡二国产精品| 成人精品视频.| 欧美日韩国产中文| 久久久精品日韩欧美| 136国产福利精品导航| 婷婷丁香久久五月婷婷| 国产乱色国产精品免费视频| 99久久久精品| 日韩亚洲欧美高清| 自拍偷拍亚洲激情| 老司机免费视频一区二区三区| 国产精品91xxx| 欧美日韩激情一区二区| 久久嫩草精品久久久精品| 亚洲美女偷拍久久| 经典三级在线一区| 91传媒视频在线播放| 久久综合狠狠综合| 亚洲成在人线在线播放| 国产精品一线二线三线| 欧美日韩一本到| 国产欧美一区二区三区鸳鸯浴| 亚洲国产精品视频| jiyouzz国产精品久久| 欧美一级艳片视频免费观看| 亚洲狼人国产精品| 国产精品伊人色| 欧美一区二区三区四区五区| 亚洲欧洲精品一区二区三区不卡| 日本欧美大码aⅴ在线播放| 99久久国产综合精品女不卡| 欧美变态凌虐bdsm| 亚洲成av人片观看| yourporn久久国产精品| 欧美sm极限捆绑bd| 亚洲va在线va天堂| av爱爱亚洲一区| 国产日韩v精品一区二区| 美国十次了思思久久精品导航| 色哟哟国产精品免费观看| 国产欧美精品区一区二区三区| 日韩精品午夜视频| 91高清视频在线| 国产精品久久久久久亚洲毛片| 韩国av一区二区三区在线观看 | 国产片一区二区三区| 久久99久久99| 欧美一区二区三区四区五区| 亚洲成人第一页| 色噜噜狠狠成人网p站| 欧美韩国日本不卡| 黑人精品欧美一区二区蜜桃| 欧美精品在线一区二区| 亚洲日本中文字幕区| 国产精品88888| 91一区一区三区| 中文字幕久久午夜不卡| 久久国产麻豆精品| 91精品婷婷国产综合久久竹菊| 亚洲国产视频一区二区| 色噜噜狠狠成人中文综合| 一区精品在线播放| 成人午夜视频网站| 中文字幕欧美日韩一区| 国产成人精品一区二区三区网站观看| 精品毛片乱码1区2区3区| 另类小说视频一区二区| 日韩欧美一级二级三级久久久| 日韩国产欧美在线播放| 欧美精品丝袜中出| 亚洲 欧美综合在线网络| 欧美在线观看一区二区| 亚洲精品少妇30p| 在线免费亚洲电影| 亚洲综合在线观看视频| 欧美又粗又大又爽| 亚洲成人免费看| 欧美一区二区三区视频在线观看 | 不卡视频在线看| 中文字幕亚洲在| 在线亚洲免费视频| 亚洲国产综合91精品麻豆| 欧美二区三区91| 秋霞av亚洲一区二区三| 精品国产乱码久久久久久闺蜜| 国产一区二区在线观看免费| 国产日韩精品一区二区三区 | 欧美一三区三区四区免费在线看| 日韩精品1区2区3区| 精品久久久久av影院| 国产成人免费视频网站高清观看视频| 欧美激情一区二区三区蜜桃视频 | 国产精品888| 亚洲视频免费看| 欧美美女一区二区三区| 久久97超碰色| 国产精品美女久久久久久| 色激情天天射综合网| 日本一区中文字幕| 国产情人综合久久777777| 99精品国产热久久91蜜凸| 亚洲1区2区3区4区| 2019国产精品| 日本精品一级二级| 六月婷婷色综合| 自拍偷拍欧美激情| 欧美一区二区三区性视频| 成人性视频免费网站| 亚洲综合丁香婷婷六月香| 日韩精品在线看片z| 成人动漫一区二区在线| 午夜精品久久久久久久| 日本一二三四高清不卡| 欧美日韩一区二区在线观看| 激情文学综合插| 亚洲香蕉伊在人在线观| 久久九九久精品国产免费直播| 91久久免费观看| 黄页网站大全一区二区| 亚洲一区二区三区自拍| 亚洲国产精品传媒在线观看| 欧美日韩亚洲国产综合| 高清日韩电视剧大全免费| 天堂va蜜桃一区二区三区| 亚洲欧洲另类国产综合| 精品电影一区二区| 欧美视频在线播放| 成人黄色av网站在线| 麻豆久久一区二区| 亚洲国产精品视频| 一区免费观看视频| 久久―日本道色综合久久| 在线播放视频一区|