① 請教一個問題:如何用編程器給24C01存儲器燒寫
這個編程器可能燒寫不了,這個要用IIC通信去寫和讀存儲器的信息
② at24c02存儲器怎麼工作
工作原理:
動態存儲器每片只有一條輸入數據線,而地址引腳只有8條。為了形成64K地址,必須在系統地址匯流排和晶元地址引線之間專門設計一個地址形成電路。使系統地址匯流排信號能分時地加到8個地址的引腳上,藉助晶元內部的行鎖存器、列鎖存器和解碼電路選定晶元內的存儲單元,鎖存信號也靠著外部地址電路產生。當要從DRAM晶元中讀出數據時,CPU首先將行地址加在A0-A7上,而後送出RAS鎖存信號,該信號的下降沿將地址鎖存在晶元內部。接著將列地址加到晶元的A0-A7上,再送CAS鎖存信號,也是在信號的下降沿將列地址鎖存在晶元內部。然後保持WE=1,則在CAS有效期間數據輸出並保持。當需要把數據寫入晶元時,行列地址先後將RAS和CAS鎖存在晶元內部,然後,WE有效,加上要寫入的數據,則將該數據寫入選中的存貯單元。由於電容不可能長期保持電荷不變,必須定時對動態存儲電路的各存儲單元執行重讀操作,以保持電荷穩定,這個過程稱為動態存儲器刷新。PC/XT機中DRAM的刷新是利用DMA實現的。首先應用可編程定時器8253的計數器1,每隔1⒌12μs產生一次DMA請求,該請求加在DMA控制器的0通道上。當DMA控制器0通道的請求得到響應時,DMA控制器送出到刷新地址信號,對動態存儲器執行讀操作,每讀一次刷新一行。
存儲器(Memory)是現代信息技術中用於保存信息的記憶設備。其概念很廣,有很多層次,在數字系統中,只要能保存二進制數據的都可以是存儲器;在集成電路中,一個沒有實物形式的具有存儲功能的電路也叫存儲器,如RAM、FIFO等;在系統中,具有實物形式的存儲設備也叫存儲器,如內存條、TF卡等。
③ 怎麼實現24C02程序的讀寫
一塊 24c02 中有 256 個位元組的存儲空間。
我們將 24c02 的兩條匯流排接在了 P26 和 P27 上,因此,必須先定義:
sbit SCL=P2^7;
sbit SDA=P2^6;
在這個試驗中,我們寫入了一個位元組數值 0x88 到 24c02 的 0x02 的位置。
寫入完成後,P10 燈會亮起,我們再在下一顆來讀出這個位元組來驗證結果。
―――――――――――――
#define uchar unsigned char //定義一下方便使用
#define uint unsigned int
#define ulong unsigned long
#include <reg52.h> //包括一個 52 標准內核的頭文件
//本課試驗寫入一個位元組到 24c02 中
char code dx516[3] _at_ 0x003b;//這是為了模擬設置的
#define WriteDeviceAddress 0xa0 //定義器件在 IIC 匯流排中的地址
#define ReadDviceAddress 0xa1
sbit SCL=P2^7;
sbit SDA=P2^6;
sbit P10=P1^0;
//定時函數
void DelayMs(uint number)
{
uchar temp;
for(;number!=0;number--)
{
for(temp=112;temp!=0;temp--) ;
}
}
//開始匯流排
void Start()
{
SDA=1;
SCL=1;
SDA=0;
SCL=0;
}
//結束匯流排
void Stop()
{
SCL=0;
SDA=0;
SCL=1;
SDA=1;
}
//測試 ACK
bit TestAck()
{
bit ErrorBit;
SDA=1;
SCL=1;
ErrorBit=SDA;
SCL=0;
return(ErrorBit);
}
//寫入 8 個 bit 到 24c02
Write8Bit(uchar input)
{
uchar temp;
for(temp=8;temp!=0;temp--)
{
SDA=(bit)(input&0x80);
SCL=1;
SCL=0;
input=input<<1;
}
}
//寫入一個位元組到 24c02 中
void Write24c02(uchar ch,uchar address)
{
Start();
Write8Bit(WriteDeviceAddress);
TestAck();
Write8Bit(address);
TestAck();
Write8Bit(ch);
TestAck();
Stop();
DelayMs(10);
}
//本課試驗寫入一個位元組到 24c02 中
void main(void) // 主程序
{
Write24c02(0x88,0x02);// 將 0x88 寫入到 24c02 的第 2 個地址空間
P10=0; //指示運行完畢
while(1); //程序掛起
}
④ 怎樣製作簡易24CXX存儲器讀寫工具
1、先買一個電腦列印機的列印線(兩端有插頭);
⑤ 小弟求 24c64的程序,匯編的,那位先生可以指教阿,小弟先謝謝了
4.串列E2PROM讀寫程序
24C64為I2C匯流排的E2PROM。SCL為400kHz時鍾線,SDA為雙向數據線,A2、A1、A0三位為片選地址,即I2C匯流排上最多可並聯8個串列E2PROM晶元。對E2PROM的操作方式由讀寫控制命令字決定,如圖4所示。其中"1010"為4位讀寫控制碼,R/W為讀寫控制位:"0"為寫操作,"1"為讀操作。所以結合圖1可知A2H為寫控制命令字,A3H為讀控制命令字。
對存儲器寫操作,首先,單片機向24C64發一個START命令,產生開始條件。然後,發寫命令控制字(如A2H)。當24C64接到命令後,進入一個寫周期,再由單片機發送存儲地址,即確定數據寫入到存儲器的哪個地址,隨後,單片機將要存儲的數據送入到SDA數據線上。寫周期結束時,單片機再發一停止位(STOP)。
對存儲器讀操作,首先,單片機向24C64發一個START命令,產生開始條件。然後發寫命令控制字(如A2H)。當24C64接到命令後,進入一個寫周期,再由單片機發送存儲地址。存儲地址發送成功後,單片機又向24C64發一個START命令,產生開始條件,然後發讀命令控制字(A3H)。當24C64接到命令後,進入一個讀周期,單片機從SDA數據線上讀出指定存儲地址中的數據。讀周期結束時,單片機再發一停止位(STOP)。(程序略)
值得注意的是,對存儲器操作時,每讀寫一個位元組,單片機必須送一個應答位(ACK),釋放一下SDA數據線,以便存儲器能繼續接收數據。
⑥ 如何用編程燒錄器燒寫24系列存儲器
24系列的編程器非常簡單,一般都是IIC介面的。市面上所有的IIC介面的其他設備,都可以作為EEPROM的24系列存儲器的燒錄。我手頭上的SmartPRO X8+支持: