AT93C46/56/55串行EEPROM及單片機(jī)程序
出處:blueboyjf 發(fā)布于:2007-04-29 09:10:28
摘要:AT93C46/56/66是Atmel公司生產(chǎn)的低功耗、低電壓、電可擦除、可編程只讀存儲(chǔ)器,采用CMOS工藝技術(shù)制造并帶有3線串行接口,其容量分別為1kB/4kB,可重復(fù)寫100萬次,數(shù)據(jù)可保存100年以上。文中介紹了該存儲(chǔ)器的引腳功能和指令時(shí)序,給出了AT93C46/56/66和單片機(jī)的接口應(yīng)用電路和軟件程序。 關(guān)鍵詞:EEPROM 存儲(chǔ)器 接口應(yīng)用 程序 AT93C46/56/66 16位單片機(jī)以其適于高速控制場合及功能多等優(yōu)點(diǎn)已在工業(yè)控制領(lǐng)域中占領(lǐng)了一定的市場。由于EEPROM能在不脫離系統(tǒng)的情況下修改其存儲(chǔ)單元中的內(nèi)容,故在16位單片機(jī)中的應(yīng)用愈來愈廣泛。本文結(jié)合16位機(jī)的特點(diǎn),詳細(xì)介紹AT93系列EEPROM及其使用方法。 AT93C46/56/66是ATMEL公司推出的低功耗、低電壓電可擦除的可編程只讀存儲(chǔ)器。它采用CMOS技術(shù)和Fairchild Semiconductor 公司的Mi-croWire工業(yè)標(biāo)準(zhǔn)3線串行接口,具有1kB/2kB/4kB的容量,并可通過ORG管腳配置成128×8/256×8/512×8或64×16/128×16/256×16等結(jié)構(gòu)。該系列存儲(chǔ)器可靠性高,能夠重復(fù)寫100萬次,數(shù)據(jù)可以保存100年不丟失;采用8腳PDIP/SOIC封裝和14腳SOI封裝(SOI封裝為JEDEC和EIAJ標(biāo)準(zhǔn)),與并行的EEPROM相比,AT93C46/56/66可大大節(jié)省印制板空間,且接線簡單,因而在多功能的精密測試儀中具有廣闊的前途。 AT93C46/56/66存儲(chǔ)器芯片的引腳排列如所示。各引腳的功能如下: CS:片選信號(hào)。高電平有效,低電平時(shí)進(jìn)入等待模式。在連續(xù)的指令之間,CS信號(hào)必須持續(xù)至少250ns的低電平,才能保證芯片正常工作。 CLK:串行時(shí)鐘信號(hào)。在CLK的上升沿,操作碼、地址和數(shù)據(jù)位進(jìn)入器件或從器件輸出。在發(fā)送序列時(shí),CLK不停止,以防止讀/寫數(shù)據(jù)的錯(cuò)誤。 DI:串行數(shù)據(jù)輸入??稍冢茫蹋说耐较螺斎腴_始位、操作碼、地址位和數(shù)據(jù)位。 DO:串行數(shù)據(jù)輸出。在CLK同步下讀周期時(shí),用于輸出數(shù)據(jù);而在地址擦/寫周期或芯片擦/寫周期時(shí),該端用于提供忙/閑信息。 VSS:接地。 VCC:接+5V電源。 ORG:存貯器構(gòu)造配置端。該端接VCC或懸空時(shí),輸出為16位;接GND時(shí),輸出為8位。 NC:空腳,不連接。
表中,93C46 n=6;93C56n=7; 93C66n=8 2 指令及時(shí)序 AT93C46/56/66的指令如表1所列,各指令的具體含義如下: (1)擦/寫允許指令(EWEN) 由于在上電復(fù)位后AT93C46/56/66首先將處于擦/寫不允許狀態(tài)。故該指令必須在所有編程模式前執(zhí)行,一旦該指令執(zhí)行后,只要外部沒有斷電就可以對(duì)芯片進(jìn)行編程。 (2)地址擦指令(ERASE) 該指令用于強(qiáng)迫指定地址中所有數(shù)據(jù)位都為“1”。一旦信息在DI端上被譯碼,就需使CS信號(hào)保持至少250ns的低電平,然后將CS置為高電平,這時(shí),DO端就會(huì)指示“忙”標(biāo)志。DO為“0”,表示編程正在進(jìn)行;DO為“1”,表示該指定地址的寄存器單元已擦完,可以執(zhí)行下一條指令。 (3)地址寫指令(WRITE) 寫指令時(shí),先寫地址,然后將16位的或8位數(shù)據(jù)寫入到指定地址中。當(dāng)DI端輸出一個(gè)數(shù)據(jù)位后,在CLK時(shí)鐘的下一個(gè)上升沿以前,CS必須為低,且需至少保持250ns,然后將CS置為高電平。需要說明的是:寫周期時(shí),每寫一個(gè)字節(jié)需耗時(shí)4ms。 (4)地址讀指令(READ) 讀指令用于從指定的單元中把數(shù)據(jù)從高位到低位輸出至DO端,但邏輯“0”位先于數(shù)據(jù)位輸出。讀指令在CLK的上升沿觸發(fā),且需經(jīng)過一段時(shí)間方可穩(wěn)定。為防止出錯(cuò),建議在讀指令結(jié)束后,再輸出2~3個(gè)CLK脈沖。 (5)芯片擦指令(ERAL) 該指令可將整個(gè)存貯器陣列置為1,其它功能與地址擦指令相同。 (6)芯片寫指令WRAL 該指令可將命令中指定的數(shù)據(jù)寫入整個(gè)存貯器陣列,其它功能與地址寫指令相同。該指令周期所花費(fèi)時(shí)間的值為30ms。 (7)擦/寫禁止指令(EWDS) 使用該指令可對(duì)寫入的數(shù)據(jù)進(jìn)行保護(hù),操作步驟與擦/寫允許指令相同。 3.1 AT93C56與80C196KB的連接 串行EEPROM芯片AT93C56同80C196單片機(jī)接口的硬件電路連接方法如所示。圖中,由于MCS-96系列16位單片機(jī)的P1口為準(zhǔn)雙向口,因此,為了防止數(shù)據(jù)錯(cuò)位,在向其P1口寫數(shù)據(jù)時(shí),必須先將P1口置“1”。 3.2 軟件編程 該讀/寫程序采用PL/M語言編寫,由于PL/M語言介于語言與匯編語言之間,故其對(duì)數(shù)據(jù)、地址位的處理比較繁瑣。其中ADDR為指定的地址單元,DATA為寫入的數(shù)據(jù),在寫數(shù)據(jù)、地址時(shí)均從高位開始。本程序已在仿真器上調(diào)試通過。且已被應(yīng)用于電量測試儀中(如接觸電阻測試儀)。 DECLARE SETCS LITERALLY ‘CALL BITSET. IO-PORT2,0′; DECLARE CLRCS LITERALLY ‘CALL BITCLR. IOPORT2,0′; DECLARE SETCLK LITERALLY ‘CALL BITSET. IOPORT2,5′; DECLARE CLRCLK LITERALLY ‘CALL BITCLR. IOPORT2,5′; DECLARE SETDI LITERALLY ‘CALL BITSET. IO-PORT1,5′; DECLARE CLRDI LITERALLY ‘CALL BITCLR. IOPORT1,5′; EWEN:PROCEDURE PUBLIC; DECLARE I BYTE; CLRCS; CLRDI; CLRCLK; SETCS; SETDI; SETCLK; DO I=1 TO 2; CLRCLK; CLRDI; SETCLK; END; DO I=1 TO 2; CLRCLK; SETDI; SETCLK; END; DO I = 0 TO 6; CLRCLK; SETDI; SETCLK; END; CLRCLK; CLRCS; SETCS; SETCLK; CLRCLK; END EWEN; READ:PROCEDURE(ADDR) PUBLIC; DECLARE (ADDR,I,COUNT) BYTE; CLRCS; CLRDI; CLRCLK; SETCS; DO I= 1 TO 2; CLRCLK; SETDI; SETCLK; END; DO I =1 TO 2; CLRCLK; CLRDI; SETCLK; DO COUNT=1 TO 7; BITOUT(COUNT)=SHR(BITOUT(COUNT),1); END; CLRCS; CLRDI; CLRCLK; CALL TIME(100); SETCS; CLRC; END READ; WRITE: PROCEDURE(ADDR,DATA) PUBLIC; DECLARE (ADDR,DATA) BYTE; CLRCS; CLRDI; CLRCLK; SETCS; SETDI; SETCLK; CLRDI; CLRCLK; SETCLK; SETDI; CLRCLK; SETCLK; END; DO I =-1 TO 8; X=ROL(ADDR,1); ADDR=X; CLRCLK; IF ((X AND 01H)=01H)THEN SETDI; ELSE CLRDI; SETCLK; END; DO I =1 TO 7; CLRCLK; SETCLK; END; DO I =1 TO 8 CALL BITSET(.IOPORT1,7); COUNT=COUNT-1; CLRCLK; SETCLK; BITOUT(COUNT)=IOPORT1; END; CLRCLK; SETCLK; J=0; AA: DO I= 1 TO 8; J=J+1; X=ROL(ADDR,1; ADDR=X; CLRCLK; IF((X AND 01H)=01H) THEN SETDI ELSE CLRDI; SETCLK; END; IF J<>16 THEN DO; ADDR =DATA; GOTO AA; END; CLRCS;SETCS; CALL TIME(100); END; |
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 單片機(jī)技術(shù)特性與嵌入式開發(fā)實(shí)踐指南2026/1/7 10:00:02
- 單片機(jī)(MCU)與數(shù)字信號(hào)處理器(DSP)分類及選型技術(shù)指南2025/12/30 10:02:37
- 工業(yè)級(jí)DSP信號(hào)處理系統(tǒng):硬件適配與抗干擾工程方案2025/12/15 14:41:00
- HOLTEK推出HT32F65533G/733G內(nèi)建N/N預(yù)驅(qū)電機(jī)專用SoC單片機(jī)2025/11/26 14:11:41
- 什么是C51數(shù)據(jù)類型擴(kuò)充定義2025/10/27 13:59:22
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測試方法
- PCB電磁兼容(EMC)設(shè)計(jì)與干擾抑制核心實(shí)操規(guī)范
- 用于相位噪聲測量的低通濾波器設(shè)計(jì)與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問題
- 電源IC在便攜式設(shè)備中的設(shè)計(jì)要點(diǎn)
- 連接器結(jié)構(gòu)設(shè)計(jì)常見問題分析









