国产精品久久久久久久久免费,高潮迭起av乳颜射后入,国产对白老熟女正在播放,国产精品igao视频网网址,丰满人妻熟妇乱又伦精品

機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
I2C 總線協(xié)議時序編程
I2C 總線協(xié)議時序編程
 更新時間:2010-2-2 15:50:14  點(diǎn)擊數(shù):0
【字體: 字體顏色

I2C  總線協(xié)議時序編程 
                      --AT24C01---
              COPYRIGHT (c)   2008 BY bill.
                               --  ALL RIGHTS RESERVED  --
 
   File Name:       I2C.h
   Author:          bill
   Created:         2007/12/12
   Modified:        NO
   Revision:        keil v3.0

fose=12M

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

#ifndef _I2C_H_
#define _I2C_H_

#include <intrins.h>

 

#define uint   unsigned int
#define uchar  unsigned char

 

  sbit Sda="P1"^0;
  sbit Scl="P1"^1;
  sbit Wp="P1"^2;
 
 
 
/************************** Start **********/
void  Start(void)
   {
    Sda="1";
    Scl="1";
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    Sda="0";
    _nop_();
    _nop_();
    _nop_();
    _nop_();
   }
  
  
/**************** Stop *****************/

void  Stop (void)
{  
    Sda="0";
    Scl="1";
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    Sda="1";
    _nop_();
    _nop_();
    _nop_();
    _nop_();
}


/***************** Ack **************************/

void  Ack (void)
{
    Sda="0";
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    Scl="1";
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    Scl="0";
}


/*************** No Ack  ***************************/

void  NoAck (void)
{
    Sda="1";
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    Scl="1";
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    Scl="0";
}


/***************** Send  a  char ***************************/

void Send(uchar Data)                             //發(fā)送數(shù)據(jù)子程序 Data  為發(fā)送的字符
{                                               
    uchar BitCount="8";                             //入口為要發(fā)送的字符 Data
    uchar temp;                                   //無返回值
    do
    {
        temp="Data";
        Scl="0";
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        if(temp&0x80)
            Sda="1";
        else
           Sda="0";
        Scl="1";
        temp="Data"<<1;
        Data="temp";
        BitCount--;
    }while(BitCount);
    Scl="0";
}


/***************************** Read  a char  *********************/

uchar Read(void)                               //無入口
{                                               //出口為讀出來的數(shù)據(jù) temp
    uchar temp="0";
    uchar temp1=0;
    uchar BitCount="8";
    Sda="1";
    do{
        Scl="0";
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        Scl="1";
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        if(Sda)
            temp="temp|0x01";
        else
            temp="temp"&0xfe;
        if (BitCount-1)
     {
            temp1=temp<<1;
            temp="temp1";
     }
        BitCount--;
    }
    while(BitCount);
    return temp;
}


/*************************** Write a char to Rom ************************/ 

void WrRoROM (uchar Data[],uchar Address,uchar Num)   //寫多字節(jié)函數(shù)
{                                                     //入口 為  要寫的數(shù)組 Data[]
    uchar i="0";                                        //               地址 Address
    uchar *PData;                                     //              字節(jié)數(shù) Num
    PData="Data";
    Start();
    Send(0xa0);
    Ack();
    Send (Address);
    Ack();
    for(i=0;i<Num;i++)
    {
        Send(*(PData)) ;
        Ack();
    }
    Stop();
}

 

/********************************** Read a char from ROM *************/

void RdFromROM (uchar Data[],uchar Address,uchar Num)      //讀字符串
{                                                          //入口 為要讀出的數(shù)據(jù) Data
    uchar i="0";                                           //存放地址  Address
    uchar *PData;                                         //字節(jié)數(shù)  Num
    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();
    }
}


#endif    

 

/*************************例子**************************
void main(void)
{
 uchar Number[4]={1,2,3,4};
 Wp=1;
 WrTOROM(Number,4,4);
 mdelay(20);
    while(1);
}

mdelay(uchar j)
{
 uint i;
    for(;j>0;j--)
    {for(i=0;i<125;i--)
    {;}
    }
}


參考鏈接:http://www.picavr.com/news/2008-01/2927.htm

  • 上一篇: 6位8段數(shù)碼管動態(tài)驅(qū)動電路原理圖及Keil C51驅(qū)動程序
  • 下一篇: 沒有了
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費(fèi)鏈接

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

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

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1