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

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

急急!  讀寫24lc01b咋就不對(duì)呀,高手指點(diǎn)呀。!

作者:rtosshu 欄目:單片機(jī)
急急。  讀寫24LC01B咋就不對(duì)呀,高手指點(diǎn)呀。!
這是我的測(cè)試源代碼:


#include   "pic1687x.h"
#include   "pic.h"
/********************************************************************
*
* 名稱: wait_ms
* 說明:
* 功能: 延時(shí)n ms
* 調(diào)用: 無
* 輸入: ms 延時(shí)毫秒數(shù),ms=n 延時(shí)n ms.
* 返回值: 無
***********************************************************************/
#define    uCHAR   unsigned CHAR

void wait_ms(uCHAR ms)
{  
   uCHAR i;
   for(;ms>0;--ms)
     //for(j=5;j>0;--j)
       for(i=248;i>0;--i)
    {
      asm("nop");
      asm("nop");
    }
   return;
}
/********************************************************************
*
* 名稱: mssp_initi
* 說明:
* 功能: MSSP模塊初始化函數(shù)
* 調(diào)用: 無
* 輸入: 無
* 返回值: 無
***********************************************************************/
void mssp_initi(void)
{        
    TRISC3=1;
    TRISC4=1;
    SSPSTAT=0x80;
               //傳輸數(shù)率設(shè)為100KHZ
    SSPADD=9;
    SSPCON=0x08;
    SSPCON2=0x00;
        di();
    SSPIF=0;
    SSPBUF=0;
    SSPEN=1;        //起用SSP模塊 ,iic
    return;
}
/********************************************************************
*
* 名稱: eep_start
* 說明:
* 功能: 產(chǎn)生一個(gè)起使位
* 調(diào)用: 無
* 輸入: 無
* 返回值: 無
***********************************************************************/
void eep_start (void)
{
  uCHAR i;
  SSPIF=0;
  SEN=1;        
  for(i=2;--i;)  continue;
  do {
    RSEN=1;
        }while(SSPIF==0);
    SSPIF=0;
    return;
}
/********************************************************************
*
* 名稱: eep_stop
* 說明:
* 功能: 產(chǎn)生一個(gè)停止位
* 調(diào)用: 無
* 輸入: 無
* 返回值: 無
***********************************************************************/
void eep_stop(void)
{
   PEN=1;
   do {
     ;
    }while(SSPIF==0);
   SSPIF=0;
   return;
}
/********************************************************************
*
* 名稱: eep_read_byte
* 說明:
* 功能: 讀24LC01指定1 byte數(shù)
* 調(diào)用: eep_start,eep_stop
* 輸入: uint eep_addr 要讀的地址,uCHAR*p 緩存單元
* 返回值: data
***********************************************************************/
uCHAR eep_read_byte(uCHAR eep_addr)
{
  uCHAR data,i=10;
  
   eep_start();
   while(i--);
   SSPBUF=0xa0;    //24LC01硬件寫地址
      do {
      ;
       }while(SSPIF==0);
            SSPIF=0;
    i=20;
    while(i--);
    SSPBUF=eep_addr;
       do{
        ;}while(SSPIF==0);
        SSPIF=0;
    
    eep_start();
    i=10;
    while(i--);
    SSPBUF=0xa1; //24LC01硬件讀地址
        do{
            ;}while(SSPIF==0);
            SSPIF=0;
    RCEN=1;
           do{
               ;}while(SSPIF==0);
               SSPIF=0;
    asm("bsf  _SSPCON2,3");
    i=20;
    while(i--);
    data=SSPBUF;
    eep_stop();
    return(data);
}
/********************************************************************
*
* 名稱: eep_write_byte
* 說明:
* 功能: 寫24LC01指定1 byte數(shù)
* 調(diào)用: eep_start,eep_stop
* 輸入: uint eep_addr 要寫的地址,uCHAR 寫緩存
* 返回值: 無
***********************************************************************/
void eep_write_byte(uCHAR eep_addr,uCHAR p)
{
    uCHAR  i=10;
       eep_start();
    while(i--);
    SSPBUF=0xa0;
          do{
              ;}while(SSPIF==0);
            SSPIF=0;
    i=20;
    while(i--);
    SSPBUF=eep_addr;
          do{
                ;}while(SSPIF==0);
                 SSPIF=0;
    i=30;
    while(i--);
    SSPBUF=p;
        do{
            ;}while(SSPIF==0);
            SSPIF=0;
    eep_stop();    
    wait_ms(10);
    return;                          
}


   main()
{
   uCHAR  eep_addr=10;
   uCHAR  p;
   uCHAR  readdata;
   p=20;
   mssp_initi();
   eep_write_byte( eep_addr,p);
   readdata=eep_read_byte( eep_addr);
    
}


2樓: >>參與討論
rtosshu
幫我頂一下呀!
 
3樓: >>參與討論
zhangshu
多謝,真不錯(cuò)!
 
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
折磨我?guī)滋斓腎IC程序,請(qǐng)大家一定幫忙!
請(qǐng)同仁推薦一款pic單片機(jī),謝謝
請(qǐng)同仁推薦一款pic單片機(jī),謝謝
請(qǐng)教各位高手
為何在microchip的網(wǎng)站上沒有看到?應(yīng)該在哪里報(bào)名?
免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)