摘 要:介紹X25F128與89C2051的接口電路,并提供了對X25F128進行操作的子程序清單。<!--摘要CH(結束)←--><!--→關鍵CH(開始)--> 1 X25F128的主要特點和引腳說明 4 結語
關鍵詞:串行快擦寫存儲器;單片機;接口;程序設計<!--關鍵CH(結束)←--><!--→標題EN(開始)-->
X25F128是美國Xicor公司生產的CMOS串行快擦寫存儲器,內部結構為16K*8,可靠性高,每字節(jié)可寫入100,000次,數(shù)據保存期100年!皢坞妷骸弊x和寫,工作電壓有1.8V~3.6V和5V的類型可供選擇,功耗低,等待電流<1μA,工作電流<5mA,32字節(jié)小扇區(qū)編程方式;總線信號由時鐘輸入(SCK),獨立的數(shù)據輸入(SI)和數(shù)據輸出(SO)線,通過片選(/CS)輸入來控制器件的訪問,允許任意數(shù)目的器件共享同一總線。
X25F128有16引腳SOIC和8引腳小型DIP兩種封裝形式。圖1為8引腳器件與89C2051的接口電路。各引腳的功能說明如下:
2 X25F128與89C2051的接口
89C2051是帶有2K字節(jié)閃速可編程可擦除只讀存儲器的低電壓、高性能8位CMOS單片機,配接X25F128作為數(shù)據存儲器能最大限度地節(jié)省硬件資源,降低系統(tǒng)的功耗,并提高其可靠性。X25F128和89C2051的接口電路如圖1所示,89C2051單片機P1口的四根I/O線直接與X25F128連接,應用軟件程序在P1.6引腳上輸出時鐘信號,不占用單片機的串口資源。
3 程序設計
X25F128的指令集如表1所示,所有的指令、地址和數(shù)據都以MSB(最高有效位)在前的方式傳送,表中指令格式的最左邊位置表示指令的MSB。
由于X25F128與89C2051采用串行連接,程序設計稍為煩瑣。使用中可將常用的操作編寫成子程序,在需要時調用,以使系統(tǒng)的程序設計簡潔。下面介紹常用的幾個子程序。
3.1 編程使能鎖存器
X25F128包含一個編程使能鎖存器,在內部完成編程操作前此鎖存器必需被設置。PREN指令可設置鎖存器而PRDI指令可復位鎖存器。在上電情況下和完成扇區(qū)編程或狀態(tài)寄存器寫周期之后,該鎖存器自動復位。編程使能寄存器的子程序如下:

3.2 讀數(shù)據
當從串行快擦寫存儲器陣列讀數(shù)據時,首先把/CS拉至低電平以選擇芯片。8位的讀指令被發(fā)送到X25F128,其后是16位地址。在發(fā)送了讀操作碼和地址后,在所選定地址的存儲器中存儲的數(shù)據被移出到SO線上。繼續(xù)提供時鐘脈沖可接著讀出在下一地址的存儲器中存儲的數(shù)據。在每個數(shù)據字節(jié)移出之后,地址自動增量到下一個較高的地址。當達到最高地址時,地址計數(shù)器翻轉至地址$0000,使讀周期無限地繼續(xù)下去。把/CS置為高電平可以終止讀操作。讀數(shù)據的子程序如下:

A

3.3 編程數(shù)據
在對X25F128編程之前,必需發(fā)出PREN指令將“編程使能寄存器”置位。/CS首先被拉至低電平,然后PREN指令由時鐘同步送入X25F128。在指令的全部8位被發(fā)送后,使/CS變?yōu)楦唠娖。然后再?CS拉至低電平,發(fā)出PROGRAM指令,后繼以扇區(qū)第一個地點的地址,接著是要編程的數(shù)據,每次編程32個字節(jié)。為了完成編程操作,只能在時鐘同步輸入32字節(jié)數(shù)據的位0之后把/CS變?yōu)楦唠娖。編程?shù)據的子程序如下:
X25F128串行快擦寫存儲器的外部引腳少、功耗低、可靠性高,與節(jié)省引腳的89C2051單片機配接能最大限度地節(jié)省硬件資源,降低系統(tǒng)的功耗,并提高其可靠性。筆者將其應用在自容式的溫度記錄儀中,取得了滿意的效果。
<!--→參考文獻CH(開始)-->
[1]Xicor非易失性器件使用手冊[Z].武漢:武漢力源電子股份有限公司,1996.
[2]余永權.Flash單片機原理及應用[M].北京:電子工業(yè)出版社,1997





