歡迎您:遊客 (登入註冊)  RCBIG大腳車俱樂部 論壇選項

RCBIG遙控模型討論區遙控電子技術專欄

頁碼:[ 1 ]      本帖有 547 位閱讀者
 『帖子主題』[求助]如何用51組語來讀寫24CXX...
 用戶:robot 離線  編輯  引用 樓   主

『[求助]如何用51組語來讀寫24CXX』
各位大大您好,

請教各位高手,如何用51的組語寫一個程式來讀寫24cxx的eeprom?

感謝您。


2008/1/25 下午12:56 帖子管理:加鎖 刪除 移動
 用戶:wpjwpj | 離線  編輯  引用 A 9


哇ㄌ ~~ 在這裡要這東西... 你想太多啦.... 這裡只會敗家..

組語會不會太落伍了點, KEIL C 超多人用的呀.

C的 source 範例:

#include "reg51.h"
#include "intrins.h"

sbit SCL= P1^5;
sbit SDA= P1^4;



delay()
{
unsigned int i=1200;
while(i--);
}


void write_8bit(unsigned char ch)
{
unsigned char i=8;
SCL=0;
_nop_();_nop_();_nop_();_nop_();_nop_();
while (i--)
{
SDA=(bit)(ch&0x80);
_nop_();_nop_();_nop_();_nop_();_nop_();
ch<<=1;
SCL=1;
_nop_();_nop_();_nop_();_nop_();_nop_();
SCL=0;
_nop_();_nop_();_nop_();_nop_();_nop_();
}
_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();
}


void ACK(void)
{
unsigned char time_1;
SDA=1;
SCL=0;
_nop_();_nop_();_nop_();_nop_();_nop_();
SCL=1;
time_1=5;
while(SDA) {if (!time_1) break;} //ACK
SCL=0;
_nop_();_nop_();_nop_();_nop_();_nop_();
}


unsigned char ReadIIC_24C01(unsigned char address)
{
unsigned char ddata=0;
unsigned char i=8;

SCL=1;
_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); //Tsu:STA
SDA=0;
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); //Thd:STA
SCL=0; //START

write_8bit( (address<<1) | 0x01); //Address Opt
ACK();

while (i--)
{
SDA=1;
ddata<<=1;
SCL=0;_nop_();_nop_();_nop_();_nop_();_nop_();SCL=1;
if (SDA) ddata|=0x01;
}

SCL=0;_nop_();SCL=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
SDA=0;_nop_();SCL=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
SDA=1; //STOP
delay();
return ddata;

}


void WriteIIC_24C01(unsigned char address,unsigned char ddata)
{

SCL=1;
_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); //Tsu:STA
SDA=0;
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); //Thd:STA
SCL=0; //START

write_8bit( (address<<1) & 0xfe);
ACK();
write_8bit(ddata); // send data
ACK();
SDA=0;
_nop_();SCL=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
SDA=1; //STOP
delay();
}


以後要這種東西 請多加利用 google , 太多了!!!!!



「該帖子被 wpjwpj 在 2008/1/25 下午 05:16:10 編輯過」




Holy..Shit!
Are-you-trying-to-Seduce-me是的!那就是我
按此在新窗口瀏覽圖片
2008/1/25 下午5:14刪除
 用戶:wing | 離線  編輯  引用 A 8


舍麼碗糕????當我沒説


「該帖子被 wing 在 2008/1/25 下午 05:18:07 編輯過」


2008/1/25 下午5:16刪除
 用戶:robot | 離線  編輯  引用 A 7


該內容引用 wpjwpj 在 2008/1/25 下午 05:14:56 發表的內容:
哇ㄌ ~~ 在這裡要這東西... 你想太多啦.... 這裡只會敗家..

組語會不會太落伍了點, KEIL C 超多人用的呀.

以後要這種東西 請多加利用 google , 太多了!!!!!

感謝大大囉,真是高手喔。

小弟是c癡,所以……還是謝謝大大的熱心幫忙,感激再感激。


2008/1/25 下午8:46刪除
 用戶:robot | 離線  編輯  引用 A 6


該內容引用 wing 在 2008/1/25 下午 05:16:57 發表的內容:
舍麼碗糕????當我沒説


wing 大大您好

小弟是在寫程式,測試玩玩,這是單晶片的程式,將來也可應用在遙控方面喔。


2008/1/25 下午8:51刪除
共有 1 頁, 4 張回覆帖,每頁有 10 張貼子 >> [ 1 ]
頁碼:

快 速 回 覆

用戶: 註冊 密碼: 忘記密碼?



[按 Ctrl+Enter 直接發送]