女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用C語言實現51單片機模擬I2C總線

Wildesbeast ? 來源:網絡整理 ? 作者:佚名 ? 2020-05-05 15:32 ? 次閱讀

電路原理

EEPROMATMEL公司的AT24C01A。單片機為ATMEL公司的AT89C51。

軟件說明

C語言為Franklin C V3.2。將源程序另存為testi2c.c,用命令

C51 testi2c.c

L51 TESTI2C.OBJ

OHS51 TESTI2C

編譯,連接,得到TESTI2C.HEX文件,即可由編程器讀入并進行寫片,實驗。

3.源程序

#include 《reg51.h》

#include 《intrins.h》

#define uchar unsigned char

#define uint unsigned int

#define AddWr 0xa0 /*器件地址選擇及寫標志*/

#define AddRd 0xa1 /*器件地址選擇及讀標志*/

#define Hidden 0x0e /*顯示器的消隱碼*/

/*有關全局變量*/

sbit Sda= P3^7; /*串行數據*/

sbit Scl= P3^6; /*串行時鐘*/

sbit WP= P3^5; /*硬件寫保護*/

void mDelay(uchar j)

{ uint i;

for(;j》0;j--)

{ for(i=0;i《125;i--)

{;}

}

}

/*發送起始條件*/

void Start(void) /*起始條件*/

{

Sda=1;

Scl=1;

_nop_ ();

_nop_ ();

_nop_ ();

_nop_ ();

Sda=0;

_nop_ ();

_nop_ ();

_nop_ ();

_nop_ ();

}

void Stop(void) /*停止條件*/

{

Sda=0;

Scl=1;

_nop_ ();

_nop_ ();

_nop_ ();

_nop_ ();

Sda=1;

_nop_ ();

_nop_ ();

_nop_ ();

_nop_ ();

}

void Ack(void) /*應答位*/

{

Sda=0;

_nop_ ();

_nop_ ();

_nop_ ();

_nop_ ();

Scl=1;

_nop_ ();

_nop_ ();

_nop_ ();

_nop_ ();

Scl=0;

}

void NoAck(void) /*反向應答位*/

{

Sda=1;

_nop_ ();

_nop_ ();

_nop_ ();

_nop_ ();

Scl=1;

_nop_ ();

_nop_ ();

_nop_ ();

_nop_ ();

Scl=0;

}

void Send(uchar Data) /*發送數據子程序,Data為要求發送的數據*/

{

uchar BitCounter=8; /*位數控制*/

uchar temp; /*中間變量控制*/

do

{

temp=Data;

Scl=0;

_nop_ ();

_nop_ ();

_nop_ ();

_nop_ ();

if((temp&0x80)==0x80)/* 如果最高位是1*/

Sda=1;

else

Sda=0;

Scl=1;

temp=Data《《1; /*RLC*/

Data=temp;

BitCounter--;

}while(BitCounter);

Scl=0;

}

uchar Read(void) /*讀一個字節的數據,并返回該字節值*/

{

uchar temp=0;

uchar temp1=0;

uchar BitCounter=8;

Sda=1;

do{

Scl=0;

_nop_ ();

_nop_ ();

_nop_ ();

_nop_ ();

Scl=1;

_nop_ ();

_nop_ ();

_nop_ ();

_nop_ ();

if(Sda) /*如果Sda=1;*/

temp=temp|0x01; /*temp的最低位置1*/

else

temp=temp&0xfe; /*否則temp的最低位清0*/

if(BitCounter-1)

{ temp1=temp《《1;

temp=temp1;

}

BitCounter--;

}while(BitCounter);

return(temp);

}

void WrToROM(uchar Data[],uchar Address,uchar Num)

{

uchar i;

uchar *PData;

PData=Data;

for(i=0;i《Num;i++)

{

Start(); /*發送啟動信號*/

Send(0xa0); /*發送SLA+W*/

Ack();

Send(Address+i); /*發送地址*/

Ack();

Send(*(PData+i));

Ack();

Stop();

mDelay(20);

}

}

void RdFromROM(uchar Data[],uchar Address,uchar Num)

{

uchar i;

uchar *PData;

PData=Data;

for(i=0;i《Num;i++)

{

Start();

Send(0xa0);

Ack();

Send(Address+i);

Ack();

Start();

Send(0xa1);

Ack();

*(PData+i)=Read();

Scl=0;

NoAck();

Stop();

}

}

void main()

{

uchar Number[4]={1,2,3,4};

WP= 1;

WrToROM(Number,4,4); /*將初始化后的數值寫入EEPROM*/

mDelay(20);

Number[0]=0;

Number[1]=0;

Number[2]=0;

Number[3]=0; /*將數組中的值清掉,以驗證讀出的數是否正確*/

RdFromROM(Number,4,4);

}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 51單片機
    +關注

    關注

    277

    文章

    5710

    瀏覽量

    126781
  • C語言
    +關注

    關注

    180

    文章

    7630

    瀏覽量

    140626
  • I2C
    I2C
    +關注

    關注

    28

    文章

    1537

    瀏覽量

    127179
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    C51單片機模擬I2C總線C語言實現

    EEPROM為ATMEL公司的AT24C01A。單片機為ATMEL公司的AT89C512. 軟件說明 C
    發表于 08-13 13:55 ?88次下載

    億恒C166 系列單片機I2C 總線的軟件模擬

    億恒C166 系列單片機I2C 總線的軟件模擬
    發表于 05-14 16:11 ?6次下載

    基于I2C總線單片機暖水鍋爐測溫系統實現

    基于I2C總線單片機暖水鍋爐測溫系統實現:摘要:溫度測量是工程控制領域常見的一種情況,本文介紹了一種基于I2C
    發表于 06-21 22:40 ?23次下載

    I2C總線單片機C語言實現及其應用

    I2C總線單片機C語言實現及其應用 本文介紹了I2C總線
    發表于 10-17 08:36 ?3133次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>的<b class='flag-5'>單片機</b><b class='flag-5'>C</b><b class='flag-5'>語言實現</b>及其應用

    51系列單片機模擬串行口的C語言實現_栗小寬

    5 1 系列單片機模擬串行口的C 語言實現.pdf
    發表于 10-29 11:34 ?4次下載

    軟件模擬I2C總線C51實現

    軟件模擬I2C總線C51實現
    發表于 10-13 11:03 ?8次下載
    軟件<b class='flag-5'>模擬</b><b class='flag-5'>I2C</b><b class='flag-5'>總線</b>的<b class='flag-5'>C51</b><b class='flag-5'>實現</b>

    80C51單片機模擬I2C總線的主機程序分享

    I2C總線協議程序 在使用的過程中一定要注意時序、時間的問題。 i2c.c /* I2C.c 標準80C51
    發表于 12-05 15:39 ?3756次閱讀
    80<b class='flag-5'>C51</b><b class='flag-5'>單片機</b><b class='flag-5'>模擬</b><b class='flag-5'>I2C</b><b class='flag-5'>總線</b>的主機程序分享

    使用51單片機模擬I2C總線的驅動程序免費下載

    本文檔的主要內容詳細介紹的是使用51單片機模擬I2C總線的驅動程序免費下載。
    發表于 04-17 17:27 ?0次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>模擬</b><b class='flag-5'>I2C</b><b class='flag-5'>總線</b>的驅動程序免費下載

    使用C語言模擬51單片機I2C總線的資料和程序免費下載

    本文檔的主要內容詳細介紹的是使用C語言模擬51單片機I2C
    發表于 08-06 17:34 ?11次下載
    使用<b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>模擬</b><b class='flag-5'>51</b><b class='flag-5'>單片機</b>的<b class='flag-5'>I2C</b><b class='flag-5'>總線</b>的資料和程序免費下載

    使用51單片機模擬I2C總線的程序免費下載

    本文檔的主要內容詳細介紹的是使用51單片機模擬I2C總線的程序免費下載我見過最好的,與大家共享。
    發表于 06-18 17:44 ?3次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>模擬</b><b class='flag-5'>I2C</b><b class='flag-5'>總線</b>的程序免費下載

    基于MCS-51單片機I2C總線接口電路的設計

    單片機控制系統中,廣泛使用I2C器件。如果單片機自帶I2C總線接口,則所有I2C器件對應連接到
    發表于 10-15 16:13 ?3720次閱讀
    基于MCS-<b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>I2C</b><b class='flag-5'>總線</b>接口電路的設計

    I2C總線驅動的C語言源程序詳細說明

     i2c 總線單片機系統中常用到的總線技術這里給大家介紹一個I2C總線驅動的
    的頭像 發表于 09-26 11:07 ?5510次閱讀

    使用單片機實現I2C接口存儲器AT24C04的讀寫與顯示的C語言實

    本文檔的主要內容詳細介紹的是使用單片機實現I2C接口存儲器AT24C04的讀寫與顯示的C語言實
    發表于 03-31 11:20 ?28次下載

    使用單片機實現I2C存儲器設計的中文硬件字庫應用的C語言實

    本文檔的主要內容詳細介紹的是使用單片機實現I2C存儲器設計的中文硬件字庫應用的C語言實例。
    發表于 03-31 14:45 ?2次下載

    使用單片機實現I2C接口數字電位器AD5242應用的C語言實例免費下載

    本文檔的主要內容詳細介紹的是使用單片機實現I2C接口數字電位器AD5242應用的C語言實例免費下載。
    發表于 03-31 16:31 ?63次下載
    主站蜘蛛池模板: 丰原市| 陇川县| 仙游县| 乐安县| 罗源县| 故城县| 江津市| 新余市| 鄂托克旗| 论坛| 泾川县| 科技| 沛县| 松桃| 五大连池市| 张掖市| 民县| 宁蒗| 富顺县| 繁昌县| 晋中市| 佛教| 桂林市| 怀柔区| 稻城县| 克拉玛依市| 财经| 蛟河市| 昌都县| 外汇| 西畴县| 深圳市| 寿阳县| 拜泉县| 越西县| 长宁区| 纳雍县| 通许县| 获嘉县| 广平县| 普宁市|