久久久久亚洲精品,久久亚洲精品成人av无码网站,无码国产伦一区二区三区视频,天天躁人人躁人人躁狂躁

X5045和51單片機(jī)接口

X25045是帶有串行E2PROM的CPU監(jiān)控器,F(xiàn)在型號(hào)改為X5045,性能相同

圖2是它的引腳圖:

CS/WDI:片選輸入/看門(mén)狗復(fù)位輸入;

SO:串行輸出;

WP:寫(xiě)保護(hù)輸入;

Vss:地;

Vcc:電源;

RESET:復(fù)位輸出;

SCK:同步時(shí)鐘輸入;

SI:串行輸入。

X25045的狀態(tài)寄存器描述器件的當(dāng)前狀態(tài),各位意義如表1所列。

表1

7 6 5 4 3 2 1 0
0 0 WD1 WD0 BL1 BL0 WEL WIP

其中,WD1、WD0是看門(mén)狗定時(shí)時(shí)間設(shè)置位;BL1、BL0是存儲(chǔ)單元寫(xiě)保護(hù)區(qū)設(shè)置位;WEL是只讀標(biāo)志,1表明寫(xiě)使能開(kāi)關(guān)打開(kāi);WIP也是只讀標(biāo)志,1代表芯片內(nèi)部正處于寫(xiě)周期。電復(fù)位時(shí),各位都被清零。

X25045芯片功能包括以下4種:

(1)上電復(fù)位控制。在對(duì)X25045通電時(shí),ERSET引腳輸出有效的復(fù)位信號(hào),并保持至少200ms,使CPU有效復(fù)位。

(2)電源電壓監(jiān)控。當(dāng)檢測(cè)到電源電壓低于內(nèi)部門(mén)檻電壓VTRIP時(shí),RESET輸出復(fù)位信號(hào),直至電源電壓高于VTRIP并保持至少200ms,復(fù)位信號(hào)才被撤消。VTRIP的出廠值根據(jù)芯片型號(hào)不同共有5個(gè)級(jí)別的電壓范圍。對(duì)于需要電源電壓精確監(jiān)控的應(yīng)用,用戶可以搭建編程電路,對(duì)芯片內(nèi)VTRIP電壓進(jìn)行微調(diào)。

(3)看門(mén)狗定時(shí)器。芯片內(nèi)部狀態(tài)寄存器的WD1、WD0是看門(mén)狗定時(shí)設(shè)置位,通過(guò)狀態(tài)寄存器寫(xiě)指令WRSR修改這2個(gè)標(biāo)志位,就能在3種定時(shí)間隔中進(jìn)行選擇或關(guān)閉定時(shí)器。對(duì)看門(mén)狗的復(fù)位由CS輸入電平的下降沿完成。表2是WD1、WD0組合的含義。

表2

WD1 WD0 看門(mén)狗定時(shí)值
0 0 1.4s
0 1 600ms
1 0 200ms
1 1 禁止看門(mén)狗工作

(4)串行E2PROM。芯片內(nèi)含512字節(jié)存儲(chǔ)單元,10萬(wàn)次可靠寫(xiě),數(shù)據(jù)保持時(shí)間100年。XICOR設(shè)計(jì)了3種保護(hù)方式防止誤寫(xiě)。包括:WP寫(xiě)保護(hù)引腳,當(dāng)引腳被拉低時(shí),內(nèi)部存儲(chǔ)單元狀態(tài)寄存器都禁止寫(xiě)入;存儲(chǔ)區(qū)域?qū)懕Wo(hù)模式,通過(guò)對(duì)狀態(tài)寄存器的BL1、BL0位的設(shè)置,可以選擇對(duì)不同的存儲(chǔ)區(qū)域進(jìn)行寫(xiě)保護(hù);在進(jìn)行任何寫(xiě)操作前都必須打開(kāi)寫(xiě)使能開(kāi)關(guān),而且在上電初始化寫(xiě)操作完成時(shí),寫(xiě)使能開(kāi)關(guān)自動(dòng)關(guān)閉。顯然,在幾方面的保護(hù)之下,產(chǎn)生誤寫(xiě)的可能性極小,表3是BL1、BL0組合的含義。

表3 

BL1 BL0 寫(xiě)保護(hù)的單元地址
0 0 沒(méi)有保護(hù)
0 1 180H~1FFH
1 0 100H~1FFH
1 1 000H~1FFH

對(duì)X25045的操作是通過(guò)4根口線CS、SCK、SI和SO進(jìn)行同步串行通信來(lái)完成的。SCK是外部輸入的同步時(shí)鐘信號(hào)。在對(duì)芯片定改指令或數(shù)據(jù)時(shí),時(shí)鐘前沿將SI引腳信號(hào)輸入;在讀郵數(shù)據(jù)時(shí),時(shí)鐘后沿將數(shù)據(jù)位輸出到SO引腳上。數(shù)據(jù)的輸入/輸出都是高位在先。

芯片內(nèi)部共有6條指令,如表4所列。

表4

命令名稱 命令格式 內(nèi)  容
WREN 0000 0110 打開(kāi)寫(xiě)使能開(kāi)關(guān)
WRDI 0000 0100 關(guān)閉寫(xiě)使能開(kāi)關(guān)
RDSR 0000 0101 讀狀態(tài)寄存器
WRSR 0000 0001 寫(xiě)狀態(tài)寄存器
READ 0000 A8011 讀存儲(chǔ)單元
WRITE 0000 A8010 寫(xiě)存儲(chǔ)單元

(1)WREN和WRDI是寫(xiě)使能開(kāi)關(guān)的開(kāi)/關(guān)指令。它們都是單字節(jié)指令。

(2)RDSR和WRSR是狀態(tài)寄存器的讀/寫(xiě)指令。在從SI輸入指令后,RDSR的執(zhí)行結(jié)果,即狀態(tài)寄存器內(nèi)容須從SO讀出;而WRSR需要緊接著輸入修改數(shù)據(jù)。

(3)READ和WEITE是存儲(chǔ)單元的讀/寫(xiě)指令。輸入指令后(指令碼第三代表存儲(chǔ)單元地址的最高位),接著輸入低八位地址,最后就可以連續(xù)讀出或?qū)懭霐?shù)據(jù)。其中,讀指針和寫(xiě)指針的工作方式完全不同,讀指針的全部8位用來(lái)計(jì)數(shù),0FFH溢出后變成00H;寫(xiě)指針只用最低兩位計(jì)數(shù),XXXXXX11B溢出后變成XXXX XX00B,所以連續(xù)寫(xiě)的實(shí)際結(jié)果是在4個(gè)單元中反復(fù)寫(xiě)入。另外,由于E2PROM的寫(xiě)入時(shí)間長(zhǎng),所以在連續(xù)兩條寫(xiě)指令之間應(yīng)讀取WIP狀態(tài),只有內(nèi)部寫(xiě)周期結(jié)束時(shí)才可輸入下一條寫(xiě)指令。

AT89C2051內(nèi)部沒(méi)有SPI接口硬件,因此本系統(tǒng)利用了單片機(jī)的4根口線和軟件模擬讀寫(xiě)時(shí)序的方式與X25045通信。軟件包在文末給出。

四、軟件原理

X25045的通信接口軟件:

CS BIT P3.2

SCK BIT P3.3

SI BIT P3.4

SO BIT P3.5

(1)X25045數(shù)據(jù)寫(xiě)入程序

功能:將緩沖區(qū)數(shù)據(jù)寫(xiě)入指定地址開(kāi)始的單元。

入口:F0、R3是E2PROM單元地址最高位低八位;R0是緩沖區(qū)首地址;R2是緩沖區(qū)長(zhǎng)度。

WRITEX:LCALL STAX ;指令啟動(dòng)

MOV A,#06H ;輸出WREN

LCALL BYTE_OUT

LCALL STAX ;下一指令啟動(dòng)

MOV A,#02H ;輸出WRITE

MOV C,F(xiàn)0 ;插入單元地址最高位

MOV ACC.3,C

LCALL BYTE_OUT

MOV A,R3 ;輸出單元地址低八位

LCALL BYTE_OUT

BYWR:MOV A,@R0 ;從緩沖區(qū)取數(shù)輸出

LCALL BYTE_OUT

INC R0 ;指針加1

DJNZ R2,BYWR ;緩沖區(qū)未空則繼續(xù)輸出

LCALL ENDX ;指令結(jié)束

LCALL WIP_CHK ;等待WIP=0

RET

(2)X25045數(shù)據(jù)讀出程序

功能:把指定地址開(kāi)始的單元數(shù)據(jù)讀出并放入緩沖區(qū)

入口:與寫(xiě)入程序相同。

READX:LCALL STAX

MOV A,#03H ;輸出READ

MOV C,F(xiàn)0

MOV ACC.3,C

LCALL BYTE_OUT

MOV A,R3 ;輸出低八位地址

LCALL BYTE_OUT

BYRD:LCALL BYTE_IN ;輸入數(shù)據(jù)送入緩沖區(qū)

MOV @R0,A

INC R0 ;指針加1

DJNZ R2,BYRD ;緩沖區(qū)未滿則繼續(xù)輸入

LCALL ENDX

RET

(3)X25045狀態(tài)寄存器寫(xiě)入程序

功能:對(duì)狀態(tài)寄存器進(jìn)行設(shè)置。

入口:ACC是修改值。

WRSR:LCALL STAX

PUSH ACC

MOV A,#06H ;輸出WREN

LCALL BYTE_OUT

LCALL STAX

MOV A,#01H ;輸出WRSR

LCALL BYTE_OUT

POP ACC ;輸出設(shè)置值

LCALL BYTE_OUT

LCALL ENDX

LCALL WIP_CHK ;等待WIP=0

RET

(4)X25045狀態(tài)寄存器讀出程序

功能:讀出狀態(tài)寄存器當(dāng)前值。

出口:ACC是當(dāng)前值。

RDSR:LCALL STAX

MOV A,#05H

LCALL BYTE_OUT

LCALL BYTE_IN

LCAL ENDX

RET

(5)其他子程序

WIP_CHK:LCALL RDSR ;等待X25045結(jié)束內(nèi)部寫(xiě)周期

JB ACC.0,WIP_CHK

RET

STAX:SETB CS ;啟動(dòng)X25045指令

NOP ;先拉高CS,再拉你SCK,最后拉低CS

CLR SCK

NOP

CLR CS

NOP

RET

ENDX:CLR SCK ;結(jié)束X25045指令

SETB CS ;先拉低SCK后拉高CS

NOP

NOP

RET

BYTE_OUT:MOV R4,#08H ;向X25045寫(xiě)入一字節(jié)數(shù)據(jù)

BOUT1:CLR SCK

RLC A

MOV SI,C

SETB SCK

NOP

NOP

DJNZ R4,BOUT1

RET

BYTE_IN:MOV R4,#08H ;從X25045讀出一字節(jié)數(shù)據(jù)

BIN1:CLR SCK

MOV C,SO

RLC A

SETB SCK

NOP

NOP

DJNZ R4,BIN1

RET

RST_DOG:SETB CS ;復(fù)位看門(mén)狗定時(shí)器

NOP

CLR CS

NOP

SETB CS

RET

    備注:如果不需要AT89C51實(shí)驗(yàn)開(kāi)發(fā)板中的12伏電源變壓器,價(jià)格可以降低10元

點(diǎn)擊查看詳細(xì)品種!

郵局匯款地址:郵編226200 江蘇省啟東市江海中路511號(hào)水晶苑 A-1 謝剛 收

點(diǎn)擊查看郵購(gòu)需知!        立即進(jìn)入訂貨系統(tǒng)!

電話/傳真:0513-3342087 小靈通:0513-3082087 聯(lián)系人:謝剛

主郵箱: (推薦使用)

點(diǎn)擊返回《電子制作實(shí)驗(yàn)室》網(wǎng)站主頁(yè)