音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

24C02的C控制程序

作者:vico 欄目:新手園地
24C02的C控制程序

#define uCHAR unsigned CHAR

#define uint unsigned int

#include <reg52.h>

#include <stdio.h>

#include <absacc.h>

sbit scl=P3^5;  //24C02 SCL

sbit sda=P3^4;  //24C02 SDA

sbit DOG=P1^7;  //狗

uCHAR x24C02_read(uCHAR address);  //從24C02的地址address中讀取一個字節(jié)數(shù)據(jù)

void x24C02_write(uCHAR address,uCHAR info);  //向24C02的address地址中寫入一字節(jié)數(shù)據(jù)info

void x24C02_init();   //24C02初始化子程序

void delay1(uCHAR x);

void FLASH();

void x24c01_init();

void start();

void stop();

void writex(uCHAR j);

uCHAR readx();

void clock();

void delay1(uCHAR x)

{

   uint i;

   for(i=0;i<x;i++);

   DOG=~DOG;

}

void FLASH()

{

   uCHAR u;

   DOG=~DOG;

}

void x24C02_init()

{

   scl=1; FLASH(); sda=1; FLASH();

}

void start()

{

   sda=1; FLASH(); scl=1; FLASH(); sda=0; FLASH(); scl=0; FLASH();

}

void stop()

{

   sda=0; FLASH(); scl=1; FLASH(); sda=1; FLASH();

}

void writex(uCHAR j)

{

   uCHAR i,TEMP;

   TEMP=j;

   for (i=0;i<8;i++){

      TEMP=TEMP<<1; scl=0; FLASH(); sda=CY; FLASH(); scl=1; FLASH();

   }

   scl=0; FLASH(); sda=1; FLASH();

}

uCHAR readx()

{

   uCHAR i,j,k=0;

   scl=0; FLASH(); sda=1;

   for (i=0;i<8;i++){

      FLASH(); scl=1; FLASH();

      if (sda==1) j=1;

      else j=0;

      k=(k<<1)|j; scl=0;

   }

   FLASH(); return(k);

}

void clock()

{

   uCHAR i=0;

   scl=1; FLASH();

   while ((sda==1)&&(i<255))i++;

   scl=0; FLASH();

}

uCHAR x24C02_read(uCHAR address)

{

   uCHAR i;

   start(); writex(0xa0);

   clock(); writex(address);

   clock(); start();

   writex(0xa1); clock();

   i=readx(); stop();

   delay1(10);

   return(i);

}

void x24C02_write(uCHAR address,uCHAR info)

{

   EA=0;

   start(); writex(0xa0);

   clock(); writex(address);

   clock(); writex(info);

   clock(); stop();

   EA=1;

   delay1(50);

}
2樓: >>參與討論
yizhen

我經(jīng)常用這個IC

參與討論
昵稱:
討論內(nèi)容:
 
 
相關帖子
IC卡存儲器介紹[轉]
新手求助
模擬電子好難學啊,給點建議!
[推薦]開關電源資料(棒)
小信號放大時的溫漂如何解決?
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號