找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3533|回復(fù): 2
收起左側(cè)

關(guān)于IIC 寫入EEPOM的問題

[復(fù)制鏈接]
ID:48335 發(fā)表于 2013-2-28 15:34 | 顯示全部樓層 |閱讀模式
我做一個軟件時鐘,要的結(jié)果是當(dāng)板子斷電時吧時鐘存入EEProm 里,當(dāng)上電時要讀取EEprom的數(shù)據(jù),繼續(xù)斷電前的時鐘。 我的時鐘程序做好,沒有問題測試正常,我又寫了一個IIC的驅(qū)動,我測試后也沒有問題,EEPROM的數(shù)據(jù)可以正常讀寫, 但是我把iic程序加入時鐘里面,程序運行就達(dá)不到我要的效果。 下面是iic 程序 #include #include "delay.h" #define uchar unsigned char #define uint unsigned int sbit scl=P2^1 ; sbit sda=P2^0 ; uchar shu,dat; void start() { sda=1; delay(5); scl=1; delay(5); sda=0; delay(5); } void stop() { sda=0; delay(5); scl=1; delay(5); sda=1; delay(5); } void ask() { unsigned char i; scl=1; delay(5); if(sda==1&&i<200) i++; scl=0; //delay(5) } void write_i2c(uchar date1) { uchar temp, x; temp=date1; for(x=0;x<8;x++) { scl=0; temp=temp<<1; sda=CY; scl=1; delay(5); } scl=0; delay(5); sda=1; delay(5); } uchar read_i2c() { uchar m,dat; scl=0; delay(5); sda=1; delay(5); for(m=0;m<8;m++) { scl=1; delay(5); dat=(dat<<1)|sda; scl=0; delay(5); } return dat; } void write_datei2c(unsigned char address,unsigned char date) { start(); write_i2c(0xa0); ask(); write_i2c(address); ask(); write_i2c(date); ask(); stop(); } uchar read_datei2c(uchar address) { start(); write_i2c(0xa0); ask(); write_i2c(address); ask(); start(); write_i2c(0xa1); ask(); read_i2c(); stop(); shu=dat; return shu; } 下面是時鐘程序的調(diào)用 void main() { init(); // write_sfm(5,30,20); // delay(20); shi=23; fen=59; miao=50; shi=read_datei2c(0x20); //fen=read_datei2c(0x21); //miao=read_datei2c(0x22); while(1) { delay(5); if(t==20) { t=0; miao++; if(miao==60) { miao=0; fen++; if(fen==60) { fen=0; shi++; if(shi==24) { shi=0; } write_sfm(shi,fen,miao); } write_sfm(shi,fen, miao); } write_sfm(shi,fen,miao); } keyscan(); write_datei2c(0x20,shi); // write_datei2c(0x21,fen); // write_datei2c(0x22,miao); naoling(); guannaozhong(); } }
回復(fù)

使用道具 舉報

ID:7485 發(fā)表于 2013-2-28 17:13 | 顯示全部樓層
這怎么看?
回復(fù)

使用道具 舉報

ID:119642 發(fā)表于 2016-10-21 07:02 | 顯示全部樓層
寫得什么?亂七八糟的
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表