日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

歷史上的今天

今天是:2025年05月06日(星期二)

正在發(fā)生

2020年05月06日 | MSP430學(xué)習(xí)的第一個(gè)模擬I2C程序

發(fā)布者:溫柔之風(fēng) 來源: eefocus關(guān)鍵字:MSP430  模擬I2C  數(shù)據(jù) 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

#include <msp430.h>

unsigned char I2CBUF;

unsigned char checkbit;

#define SCL_H   (P10OUT |= BIT2)      // P10.2為SCL

#define SCL_L   (P10OUT &= ~BIT2)

#define SDA_H   (P10OUT |= BIT1)     //p10.1為SDA

#define SDA_L   (P10OUT &= ~BIT1)

#define SDA_OUT  (P10DIR |= BIT1)

#define SDA_IN  (P10DIR &= ~ BIT1)

void I2C_Start(void)    //I2C開始信號(hào)

{

 SDA_OUT;

 SCL_L;

 SDA_H;

 __delay_cycles(5);

 SCL_H;

 __delay_cycles(5);

 SDA_L;

 __delay_cycles(5);

 SCL_L;

 __delay_cycles(5);

}

unsigned char testACK(void) {

 SDA_IN;

 __delay_cycles(5);

 SCL_H;

 __delay_cycles(5);

 checkbit = (P10IN & BIT1) >> 4;

 __delay_cycles(5);

 SCL_L;

 __delay_cycles(5);

 return (checkbit);

}

void I2C_ACK(void)                //應(yīng)答信號(hào)

{

 SDA_OUT;

 SCL_L;

 SDA_L;

 __delay_cycles(5);

 SCL_H;

 __delay_cycles(5);

 SCL_L;

 __delay_cycles(5);

 SDA_H;

}

void I2C_NACK(void) {

 SDA_OUT;

 SDA_H;

 __delay_cycles(5);

 SCL_H;

 __delay_cycles(5);

 SCL_L;

 __delay_cycles(5);

}

void I2C_STOP(void)             //產(chǎn)生結(jié)束信號(hào)

{

 SCL_L;

 __delay_cycles(5);

 SDA_L;

 __delay_cycles(5);

 SCL_H;

 __delay_cycles(5);

 SDA_H;

 __delay_cycles(5);

}

void I2C_WRITE(unsigned char data)

{

 SDA_OUT;

 unsigned char i;

 for (i = 8; i > 0; i--)      //高位循環(huán)8次,發(fā)送1個(gè)字節(jié)數(shù)據(jù)

    {

  if (data & 0x80)   //判斷數(shù)據(jù)高位是0還是1

     {

   SDA_H;           //高位數(shù)據(jù)寫1

  }

  else

  {

   SDA_L;

  }

  SCL_H;

  __delay_cycles(5);  //發(fā)送數(shù)據(jù)

  SCL_L;

  __delay_cycles(5);

  data <<= 1;


 }

}

unsigned char I2C_READ(void)

{

 unsigned char j;

 unsigned char BUFFER = 0X00;

 SDA_IN;

 for (j = 8; j >0; j--)      //高位循環(huán)8次,發(fā)送1個(gè)字節(jié)數(shù)據(jù)

    {

  SCL_H;

  __delay_cycles(5);

  BUFFER <<= 1;

  if ((P10IN & BIT1) == BIT1)   //判斷數(shù)據(jù)高位是0還是1

  {

   BUFFER |= 0X01;         //高位數(shù)據(jù)寫1

  }

  else

  {

   BUFFER |= 0XFE;

  }

  __delay_cycles(5);  //發(fā)送數(shù)據(jù)

  SCL_L;

  __delay_cycles(5);

 }

 return BUFFER;

}

void C16_WRITEDATA(unsigned char address, unsigned char DATA)

{

 I2C_Start();

 I2C_WRITE(address);

 testACK();

 I2C_ACK();

 I2C_WRITE(0x00);

 testACK();

 I2C_ACK();

 I2C_WRITE(DATA);

 I2C_STOP();

}

unsigned char C16_READEDATA(unsigned char address)

{

 unsigned char READDATA;

 I2C_Start();

 I2C_WRITE(0XA1);

 testACK();

 I2C_ACK();

 I2C_WRITE(address);

 I2C_Start();

 testACK();

 I2C_ACK();

 I2C_WRITE(0XA1);

 READDATA = I2C_READ();

 I2C_STOP();

 return READDATA;

}

int main(void)

{

    const int DATA = 0X88;

 unsigned char READBUFFER;

 WDTCTL = WDTPW + WDTHOLD;

 P10DIR |= BIT1 + BIT2;

 P2DIR |= BIT0;

 P2OUT &= ~BIT0;

 C16_WRITEDATA(0X00, DATA);

 __delay_cycles(5);

 READBUFFER = C16_READEDATA(0X00);

 while (1)

 {

  if (READBUFFER == 0X88)

  {

   P2OUT |= BIT0;

  } else {

   P2OUT &= ~ BIT0;

  }

  __delay_cycles(15);

 }

}

關(guān)鍵字:MSP430  模擬I2C  數(shù)據(jù) 引用地址:MSP430學(xué)習(xí)的第一個(gè)模擬I2C程序

上一篇:MSP430系列串口波特率計(jì)算方法
下一篇:MSP430F169(四)——淺談F169看門狗

推薦閱讀

據(jù)《華爾街日?qǐng)?bào)》報(bào)道稱,高通與國有大唐電信的子公司組建合資公司是事情已經(jīng)被批準(zhǔn),而新的高通合資公司將與紫光集團(tuán)旗下展訊通信競爭。高通跟大唐這次合作在國內(nèi)建廠,主要為一件事,那就是生產(chǎn)更低端的處理器,在10美元以內(nèi)的,這正好是聯(lián)發(fā)科和展訊的主要發(fā)力范圍。對(duì)于目前高通來說,中高端移動(dòng)處理器市場,他們市場份額相當(dāng)客觀,特別是高端市場基本...
5月2日15時(shí)57分,四川省雅安蘆山發(fā)生4.5級(jí)地震。目前,從雅安市防震減災(zāi)服務(wù)中心地震災(zāi)害損失評(píng)估系統(tǒng)判斷,無人員傷亡,無直接經(jīng)濟(jì)損失。此次地震發(fā)生前,由成都高新減災(zāi)研究所與應(yīng)急管理部門聯(lián)合建設(shè)的“大陸地震預(yù)警網(wǎng)”成功預(yù)警該次地震,同步向政府、社區(qū)、學(xué)校、電視、手機(jī)等發(fā)出地震預(yù)警信息,雅安市、成都市、眉山市、阿壩州等4個(gè)市(州)的109所...
PROTEUS仿真電路圖:仿真實(shí)驗(yàn)結(jié)果展示:漢字取模過程(軟件下載鏈接在文末):第一步:打開液晶仿真排版軟件設(shè)定相關(guān)參數(shù):輸入漢字:隨便找個(gè)位置將圖片保存:第二步:打開液晶漢字模提取軟件設(shè)定相關(guān)參數(shù):將剛才保存的圖片打開并保存數(shù)據(jù):C語言程序代碼:#include <reg51.h>#define LCDLCDDisp_Off 0x3e#define LCDLCDDisp_On 0x3f#define...
掃地機(jī)器剛?cè)胧袝r(shí),并沒有想象中那么使用方便,總讓用戶誤以為買了“假貨”。后來,隨著技術(shù)的不斷進(jìn)步,掃地機(jī)器人的智能性能越來越完善,可完全自主清掃地面衛(wèi)生,讓人稱贊不已。但有很多消費(fèi)者在選購時(shí)仍會(huì)猶豫不決。今天,給大家介紹幾個(gè)選購小竅門。掃地機(jī)器人的選購竅門高效看算法掃地機(jī)器人能否高效工作主要看算法,其中隨機(jī)式與規(guī)劃式掃地機(jī)體現(xiàn)得...

史海拾趣

小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved