大肉大捧一进一出好爽视色大师,丰满少妇被猛烈进入在线播放,欧美真人性野外做爰,黑人巨大vs日本人优在线

機電之家資源網(wǎng)
單片機首頁|單片機基礎(chǔ)|單片機應(yīng)用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
MSP430模擬IIC接口程序
MSP430模擬IIC接口程序
 更新時間:2009-12-7 16:58:31  點擊數(shù):0
【字體: 字體顏色
1-簡介
    MSP430單片機普通II模擬IIC接口程序
范例。

2-程序例程

    #include "MSP430x14x.h"

    //P3.2 SCL

    //P3.3 SDA

    #define SDA_1 P3OUT |= BIT3         //SDA = 1

    #define SDA_0 P3OUT &=~ BIT3        //SDA = 0

    #define SCL_1 P3OUT |= BIT2         //SCL = 1

    #define SCL_0 P3OUT &=~ BIT2        //SCL = 0

    #define DIR_IN P3DIR &=~ BIT3; SDA_1 //I/O口為輸入

    #define DIR_OUT P3DIR |= BIT3        //I/0口為輸出

    #define SDA_IN ((P3IN >> 3) & 0x01)  //Read SDA

    unsigned int a[50];

//*****************************************************

    static void Delay(unsigned int n)
    {
      unsigned int i;
      for (i=0; i }
      void Init(void)
    {
     SCL_1;
     Delay(5);
     SDA_1;
     Delay(5);
    }

//*****************************************************
    void Start(void)
    {
     SDA_1;
     Delay(5);
     SCL_1;
     Delay(5);
     SDA_0;
     Delay(5);
     SCL_0;
     Delay(5);
    }

//*****************************************************
    void Stop(void)
    {
     SDA_0;
     Delay(5);
     SCL_1;
     Delay(5);
     SDA_1;
     Delay(5);
    } 

//*****************************************************
    void WriteByte(unsigned char WriteData)
    {
     unsigned char i;
     for (i=0; i<8; i++)
      {
      SCL_0;
      Delay(5);
      if (((WriteData >> 7) & 0x01) == 0x01)
       {
        SDA_1;
        }
      else
       {
        SDA_0;
       }
       Delay(5);
       SCL_1;
       WriteData = WriteData << 1;
       Delay(5);
      }
      SCL_0;
      SDA_1;
      Delay(5);
      Delay(5);
    }

//*****************************************************
    unsigned char ReadByte(void)
    {
     unsigned char i;
     unsigned char TempBit = 0;
     unsigned char TempData = 0;
     SCL_0;
     Delay(5);
     SDA_1;
    for (i=0; i<8; i++)
    {
     Delay(5);
     SCL_1;
     Delay(5);
     DIR_IN;
     if (SDA_IN == 0x01 )   /*sda==1*/
      {
       TempBit = 1;
      }
    else
     {
      TempBit = 0;
     }
      DIR_OUT;
      TempData = (TempData << 1) | TempBit;
      SCL_0;
    }
    Delay(5);
    return(TempData);
   }
 
//*****************************************************
    void ReceiveAck(void)
    {
     unsigned char i = 0;
     SCL_1;
     Delay(5);
     DIR_IN;
     while ((SDA_IN == 0x01 /*sda==1*/) && (i < 255))   /*調(diào)試方便,可以不要*/
     {
       i++;
     }
     DIR_OUT;
     SCL_0;
     Delay(5);
    }

//*****************************************************  
    void Acknowledge(void)
    {
     SCL_0;
     Delay(5);
     DIR_OUT;
     SDA_0;
     SCL_1;
     Delay(5);
     SCL_0;
    } 

//*****************************************************
    unsigned int ReadWord(unsigned char unit/*address*/)
    {
     unsigned char HighData = 0;
     unsigned char LowData = 0;
     unsigned int TempData = 0;
     Start();
    WriteByte(0xa0);
    ReceiveAck();
    WriteByte(unit);
    ReceiveAck();
    Start();
    WriteByte(0xa1);
    ReceiveAck();
    LowData = ReadByte();
    Acknowledge();
    HighData = ReadByte();
    Stop();
    TempData = (HighData << 8) + LowData;
    Delay(1000);
    return(TempData);
    }


//*****************************************************
    void ReadWords(unsigned char unit)   /*address*/
    {
    unsigned char i;
    unsigned char HighData = 0;
    unsigned char LowData = 0;
    unsigned int TempData = 0;
    Start();
    WriteByte(0xa0);
    ReceiveAck();
    WriteByte(unit);
    ReceiveAck();
    Start();
    WriteByte(0xa1);
    ReceiveAck();
    for (i=0; i<49; i++)
     {
      LowData = ReadByte();
      Acknowledge();
      HighData = ReadByte();
      Acknowledge();
      a[i]= (HighData << 8) + LowData;
     }
    LowData = ReadByte();
    Acknowledge();
    HighData = ReadByte();
    Stop();
    a[49] = (HighData << 8) + LowData;
    Delay(1000);
    }

//*****************************************************   
    void WriteWord(unsigned char unit/*address*/, unsigned int WriteData)
    {

     unsigned char LowData = 0;
     unsigned char HighData = 0;
     LowData = (unsigned char)WriteData;
     HighData = (unsigned char)(WriteData >> 8);
     Start();
     WriteByte(0xa0);
     ReceiveAck();
     WriteByte(unit);
     ReceiveAck();
     WriteByte(LowData);
     ReceiveAck();
     WriteByte(HighData);
     ReceiveAck();
     Stop();
     Delay(2000);
    }

//******************************************************************************

  • 上一篇: MSP43021x1時鐘校準
  • 下一篇: 沒有了
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設(shè)備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內(nèi)容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務(wù)100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1
    主站蜘蛛池模板: 丰镇市| 高邑县| 板桥市| 台湾省| 道真| 枞阳县| 安多县| 辽宁省| 清河县| 建德市| 河间市| 九江市| 鄂温| 大安市| 于田县| 达日县| 明水县| 南川市| 宣恩县| 邵阳县| 新邵县| 兰溪市| 嵊州市| 安达市| 长阳| 吴川市| 东光县| 罗定市| 铜陵市| 铜川市| 唐河县| 岗巴县| 新绛县| 泗水县| 游戏| 丘北县| 雷山县| 阆中市| 宝丰县| 闽清县| 镇沅|