版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第8 8章章機(jī)械工業(yè)出版社同名教材機(jī)械工業(yè)出版社同名教材配套電子教案配套電子教案第第8 8章章 80C5180C51串行擴(kuò)展技術(shù)串行擴(kuò)展技術(shù) 本章要點(diǎn)本章要點(diǎn)串行擴(kuò)展特點(diǎn)串行擴(kuò)展特點(diǎn)串行擴(kuò)展方式分類串行擴(kuò)展方式分類虛擬串行擴(kuò)展慨念虛擬串行擴(kuò)展慨念移位寄存器串行擴(kuò)展方式移位寄存器串行擴(kuò)展方式80C51 I/O80C51 I/O虛擬串行接口虛擬串行接口I I2 2C C總線串行擴(kuò)展技術(shù)總線串行擴(kuò)展技術(shù)I I2 2C C總線擴(kuò)展總線擴(kuò)展I/OI/O口通用器件口通用器件PCF8574PCF8574虛擬虛擬I I2 2C C總線擴(kuò)展總線擴(kuò)展AT24CXXAT24CXX系列系列E E2 2PROMPRO
2、M8-1 串行擴(kuò)展概述串行擴(kuò)展概述一、一、串行擴(kuò)展特點(diǎn)串行擴(kuò)展特點(diǎn) 最大程度發(fā)揮最小系統(tǒng)的資源功能最大程度發(fā)揮最小系統(tǒng)的資源功能。 原來(lái)由并行擴(kuò)展占用的原來(lái)由并行擴(kuò)展占用的P0P0口、口、P2P2口資源,直口資源,直接用于接用于I/OI/O口???。 簡(jiǎn)化連接線路,縮小印板面積簡(jiǎn)化連接線路,縮小印板面積。 擴(kuò)展性好,可簡(jiǎn)化系統(tǒng)的設(shè)計(jì)擴(kuò)展性好,可簡(jiǎn)化系統(tǒng)的設(shè)計(jì)。 串行擴(kuò)展的缺點(diǎn)串行擴(kuò)展的缺點(diǎn): : 數(shù)據(jù)吞吐容量較小,信號(hào)傳輸速度較慢,但數(shù)據(jù)吞吐容量較小,信號(hào)傳輸速度較慢,但隨著隨著CPUCPU芯片工作頻率的提高,以及串行擴(kuò)展芯片芯片工作頻率的提高,以及串行擴(kuò)展芯片功能的增強(qiáng),這些缺點(diǎn)將逐步淡化。功
3、能的增強(qiáng),這些缺點(diǎn)將逐步淡化。1 1、一線制一線制二、二、串行擴(kuò)展方式分類串行擴(kuò)展方式分類一線制的典型代表為一線制的典型代表為DallasDallas公司推出的單總線公司推出的單總線(1-wire1-wire)。)。2 2、二線制二線制二線制的典型代表為二線制的典型代表為philipsphilips公司推出的公司推出的I I2 2C C總線總線(Intel Integrated Circuit BUSIntel Integrated Circuit BUS)。)。三線制(不包括片選線)主要有兩種:三線制(不包括片選線)主要有兩種: 由由MotoralaMotorala公司推出的公司推出的SPI
4、SPI(Serial Serial peripheral Interfaceperipheral Interface);); 由由NSNS公司推出的公司推出的Micro wire /PLUSMicro wire /PLUS。3 3、三線制三線制 SPI SPI的時(shí)鐘線是的時(shí)鐘線是SCKSCK,數(shù)據(jù)線,數(shù)據(jù)線MOSIMOSI(主發(fā)從(主發(fā)從收)、收)、MOSOMOSO(主收從發(fā)),主從器件的(主收從發(fā)),主從器件的MOSIMOSI和和MOSOMOSO是同名端相連。是同名端相連。 由于該兩類器件無(wú)法通過(guò)數(shù)據(jù)傳輸線尋址,由于該兩類器件無(wú)法通過(guò)數(shù)據(jù)傳輸線尋址,因此,必須由因此,必須由MCU I/OMC
5、U I/O線單獨(dú)尋址,連到擴(kuò)展器線單獨(dú)尋址,連到擴(kuò)展器件的片選端件的片選端CSCS(若只擴(kuò)展一片,可將擴(kuò)展芯片(若只擴(kuò)展一片,可將擴(kuò)展芯片CSCS接地)。接地)。 Micro wire /PLUS Micro wire /PLUS的時(shí)鐘線是的時(shí)鐘線是SKSK,數(shù)據(jù)線,數(shù)據(jù)線為為SISI和和SOSO,但,但SISI、SOSO依照主器件的數(shù)據(jù)傳送方向依照主器件的數(shù)據(jù)傳送方向而定,主器件的而定,主器件的SOSO與所有擴(kuò)展器件數(shù)據(jù)輸入端與所有擴(kuò)展器件數(shù)據(jù)輸入端DIDI或或SISI相連;主器件的相連;主器件的SISI與所有擴(kuò)展器件數(shù)據(jù)輸出與所有擴(kuò)展器件數(shù)據(jù)輸出端端DODO或或SOSO相連。相連。4 4、
6、80C51 80C51 移位寄存器串行擴(kuò)展移位寄存器串行擴(kuò)展 80C51 80C51的的UART(UniversalUART(Universal Asynohron Asynohronous ous Receiver/Transmitter)Receiver/Transmitter)有有4 4種工作方式,其中方種工作方式,其中方式式0 0為同步移位寄存器工作方式,通過(guò)移位寄存為同步移位寄存器工作方式,通過(guò)移位寄存方式,可將串行數(shù)據(jù)并行輸出,也可以將并行數(shù)方式,可將串行數(shù)據(jù)并行輸出,也可以將并行數(shù)據(jù)串行輸入。據(jù)串行輸入。三、三、虛擬串行擴(kuò)展概念虛擬串行擴(kuò)展概念 用通用用通用I/OI/O口來(lái)模擬串
7、行接口,構(gòu)成虛擬的口來(lái)模擬串行接口,構(gòu)成虛擬的串行擴(kuò)展接口。串行擴(kuò)展接口。只要嚴(yán)格控制模擬同步信號(hào),只要嚴(yán)格控制模擬同步信號(hào),并滿足串行同步數(shù)據(jù)傳送的時(shí)序要求,就可滿并滿足串行同步數(shù)據(jù)傳送的時(shí)序要求,就可滿足串行數(shù)據(jù)傳送的可靠性要求。足串行數(shù)據(jù)傳送的可靠性要求。8-2 80C518-2 80C51移位寄存器移位寄存器串行擴(kuò)展技術(shù)串行擴(kuò)展技術(shù)一、一、移位寄存器串行擴(kuò)展方式移位寄存器串行擴(kuò)展方式 80C5180C51串行方式串行方式0 0時(shí),串行口作為時(shí),串行口作為同步移位寄存器使用。同步移位寄存器使用。TXDTXD端(端(P3.1P3.1)發(fā)出移位脈沖,頻率為發(fā)出移位脈沖,頻率為fosc/12f
8、osc/12,RXDRXD端(端(P3.0P3.0)輸入輸出數(shù)據(jù))輸入輸出數(shù)據(jù)。1 1、80C5180C51擴(kuò)展并行輸出口擴(kuò)展并行輸出口 74LS164 74LS164為串入并出移位寄存器,其中為串入并出移位寄存器,其中A A、B B為串行數(shù)據(jù)輸入為串行數(shù)據(jù)輸入端,端,Q QA A、Q QB B、Q QH H為并行數(shù)據(jù)輸出端(為并行數(shù)據(jù)輸出端(Q QA A為高位),為高位),CLKCLK為同為同步時(shí)鐘輸入端,步時(shí)鐘輸入端,CLRCLR為輸出清為輸出清0 0端。若不需將輸出數(shù)據(jù)清端。若不需將輸出數(shù)據(jù)清0 0,則,則CLRCLR端接端接VccVcc。2 2、80C5180C51擴(kuò)展并行輸入口擴(kuò)展并
9、行輸入口 74LS165 74LS165為并入串出移位寄存器,為并入串出移位寄存器,A A、B B、H H為并行輸入端為并行輸入端(A A為高位),為高位),Q QH H為串行數(shù)據(jù)輸出端,為串行數(shù)據(jù)輸出端,SERSER為串行數(shù)據(jù)輸入端,為串行數(shù)據(jù)輸入端,CLKCLK為同步時(shí)鐘輸入端,為同步時(shí)鐘輸入端,S/LS/L為預(yù)置控制端。為預(yù)置控制端。S/L=0S/L=0時(shí),鎖存并行時(shí),鎖存并行輸入數(shù)據(jù);輸入數(shù)據(jù);S/L=1S/L=1時(shí),可進(jìn)行串行移位操作。時(shí),可進(jìn)行串行移位操作。80C5180C51串行方式串行方式0 0歸一化子程序:歸一化子程序: 單字節(jié)串行輸出子程序單字節(jié)串行輸出子程序 單字節(jié)串行輸
10、入子程序單字節(jié)串行輸入子程序 多字節(jié)串行輸出子程序多字節(jié)串行輸出子程序 多字節(jié)串行輸入子程序多字節(jié)串行輸入子程序二、二、串行方式串行方式0 0歸一化子程序歸一化子程序 所謂所謂歸一化子程序歸一化子程序,即,即通用或標(biāo)準(zhǔn)化操作子程序通用或標(biāo)準(zhǔn)化操作子程序,將將80C5180C51串行方式串行方式0 0所有應(yīng)用操作歸納成幾個(gè)基本的輸入所有應(yīng)用操作歸納成幾個(gè)基本的輸入輸出子程序,并使這些標(biāo)準(zhǔn)子程序具有規(guī)范的入口條件輸出子程序,并使這些標(biāo)準(zhǔn)子程序具有規(guī)范的入口條件和出口狀態(tài)。應(yīng)用時(shí),只要設(shè)置相應(yīng)的入口和出口,調(diào)和出口狀態(tài)。應(yīng)用時(shí),只要設(shè)置相應(yīng)的入口和出口,調(diào)用歸一化子程序,就能達(dá)到串行輸入輸出的目的。
11、用歸一化子程序,就能達(dá)到串行輸入輸出的目的。80C5180C51虛擬串行虛擬串行I/OI/O口歸一化子程序:口歸一化子程序: 單字節(jié)虛擬串行輸出子程序單字節(jié)虛擬串行輸出子程序 單字節(jié)虛擬串行輸入子程序單字節(jié)虛擬串行輸入子程序 多字節(jié)虛擬串行輸出子程序多字節(jié)虛擬串行輸出子程序 多字節(jié)虛擬串行輸入子程序多字節(jié)虛擬串行輸入子程序三、三、80C51 I/O80C51 I/O虛擬串行接口虛擬串行接口 利用利用80C5180C51通用通用I/OI/O口虛擬移位寄存器工作方式實(shí)口虛擬移位寄存器工作方式實(shí)現(xiàn)串行擴(kuò)展,只需現(xiàn)串行擴(kuò)展,只需用任一通用用任一通用I/OI/O口代替口代替RXDRXD和和TXDTXD,
12、設(shè),設(shè)為為VRXDVRXD和和VTXDVTXD。四、四、移位寄存器串行擴(kuò)展應(yīng)用移位寄存器串行擴(kuò)展應(yīng)用 80C5180C51移位寄存器串行擴(kuò)展應(yīng)用,只需根據(jù)移位寄存器串行擴(kuò)展應(yīng)用,只需根據(jù)標(biāo)準(zhǔn)化的電路形式連接,設(shè)置好入口條件,然后標(biāo)準(zhǔn)化的電路形式連接,設(shè)置好入口條件,然后調(diào)用串行方式調(diào)用串行方式0 0歸一化子程序或虛擬串行接口歸歸一化子程序或虛擬串行接口歸一化子程序,即可完成擴(kuò)展應(yīng)用。一化子程序,即可完成擴(kuò)展應(yīng)用?!纠纠?-18-1】電路如圖】電路如圖8-58-5所示,所示,fosc = 12MHzfosc = 12MHz,要求,要求發(fā)光二極管從左向右依次點(diǎn)亮,點(diǎn)亮?xí)r間為發(fā)光二極管從左向右依次
13、點(diǎn)亮,點(diǎn)亮?xí)r間為1 1秒,不秒,不斷循環(huán)。設(shè)串行方式斷循環(huán)。設(shè)串行方式0 0歸一化子程序已存在歸一化子程序已存在ROMROM中。中。 解:解: PIOX1 BIT P1.0 PIOX1 BIT P1.0 ; ;定義定義PIOX1PIOX1WORK: MOV A,#10000000B WORK: MOV A,#10000000B ; ;置置D7D7燈亮燈亮, ,其余暗其余暗LOOP: CLR PIOX1 LOOP: CLR PIOX1 ;74LS164;74LS164輸出全輸出全0,0,燈全暗燈全暗 LCALL UART0 LCALL UART0 ; ;調(diào)用單字節(jié)串行輸出子程序調(diào)用單字節(jié)串行輸出
14、子程序 LCALL DLY1s LCALL DLY1s ; ;調(diào)用延時(shí)調(diào)用延時(shí)1 1秒子程序秒子程序( (略略) ) RR A RR A ; ;右移右移 SJMP LOOP SJMP LOOP ; ;【例【例8-28-2】 電路如圖電路如圖8-68-6所示,所示,fosc=12MHzfosc=12MHz,要求每,要求每隔隔10ms10ms,檢測(cè)鍵,檢測(cè)鍵K0K0K7K7狀態(tài),并存入內(nèi)狀態(tài),并存入內(nèi)RAM 2FHRAM 2FH。設(shè)。設(shè)虛擬串行接口歸一化子程序已存在虛擬串行接口歸一化子程序已存在ROMROM中。中。解:解: ORG 0000H ORG 0000H ; ;復(fù)位地址復(fù)位地址 LJMP
15、STAT LJMP STAT ; ;轉(zhuǎn)初始化程序轉(zhuǎn)初始化程序 ORG 000BH ORG 000BH ;T0;T0中斷入口地址中斷入口地址 LJMP IT0 LJMP IT0 ; ;轉(zhuǎn)轉(zhuǎn)T0T0中斷服務(wù)子程序中斷服務(wù)子程序 VRXD BIT P1.0 VRXD BIT P1.0 ;P1.0;P1.0虛擬虛擬RXDRXD VTXD BIT P1.1 VTXD BIT P1.1 ;P1.1;P1.1虛擬虛擬TXDTXD PIOX2 BIT P1.2 PIOX2 BIT P1.2 ;P1.2;P1.2虛擬虛擬PIOX2PIOX2 ORG 0100H ORG 0100H ; ;初始化程序首地址初始化程
16、序首地址STAT: MOV TMOD,#01H STAT: MOV TMOD,#01H ; ;置置T0T0定時(shí)器方式定時(shí)器方式1 1 MOV TH0,#0D8H MOV TH0,#0D8H ; ;置置T0T0定時(shí)初值定時(shí)初值10ms10ms MOV TL0,#0F0H MOV TL0,#0F0H ; ; SETB TR0 SETB TR0 ; ;啟動(dòng)啟動(dòng)T0T0 SETB ET0 SETB ET0 ;T0;T0開(kāi)中開(kāi)中 SETBSETB EA EA ;CPU;CPU開(kāi)中開(kāi)中 LJMP WORK LJMP WORK ; ;轉(zhuǎn)主程序并等待轉(zhuǎn)主程序并等待T0T0中斷中斷 ORG 1000H ORG
17、1000H ;T0;T0中斷服務(wù)子程序首地址中斷服務(wù)子程序首地址IT0: MOV TH0,#0D8H IT0: MOV TH0,#0D8H ; ;重置重置T0T0定時(shí)初值定時(shí)初值10ms10ms MOV TL0,#0F0H MOV TL0,#0F0H ; ; PUSH Acc PUSH Acc ; ;保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng) PUSH PSW PUSH PSW ; ;INPUT: LCALL VUARTI INPUT: LCALL VUARTI ; ;調(diào)用虛擬串行輸入子程序調(diào)用虛擬串行輸入子程序 MOV 2FH,A MOV 2FH,A ; ;存鍵存鍵K0K0K7K7狀態(tài)數(shù)據(jù)狀態(tài)數(shù)據(jù) POP PSW P
18、OP PSW ; ;恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng) POP Acc POP Acc ; ; RETI RETI ; ; 1 1、擴(kuò)展連接方式擴(kuò)展連接方式 8-38-3 I I2 2C C總線串行擴(kuò)展技術(shù)總線串行擴(kuò)展技術(shù)一、一、I I2 2C C總線串行擴(kuò)展概述總線串行擴(kuò)展概述 具有具有I I2 2C C總線結(jié)構(gòu)的器件,不論總線結(jié)構(gòu)的器件,不論SRAMSRAM、E E2 2PROMPROM、ADC/DACADC/DAC、I/OI/O口或口或MCUMCU,均可通過(guò),均可通過(guò)SDASDA、SCLSCL連接連接(同名端相連)。(同名端相連)。 無(wú)無(wú)I I2 2C C總線結(jié)構(gòu)的器件,如總線結(jié)構(gòu)的器件,如LED/LCD
19、LED/LCD顯示器、顯示器、鍵盤、碼盤、打印機(jī)等也可通過(guò)具有鍵盤、碼盤、打印機(jī)等也可通過(guò)具有I I2 2C C總線結(jié)總線結(jié)構(gòu)的構(gòu)的I/OI/O接口電路成為串行擴(kuò)展器件。接口電路成為串行擴(kuò)展器件。2 2、器件尋址方式器件尋址方式I I2 2C C總線器件地址總線器件地址SLASLA格式如下:格式如下: 具有具有I I2 2C C總線結(jié)構(gòu)的器件在器件總線結(jié)構(gòu)的器件在器件出廠時(shí)已經(jīng)出廠時(shí)已經(jīng)給定了器件的地址編碼給定了器件的地址編碼。SLASLAD7 D6 D5 D4 D3 D2D7 D6 D5 D4 D3 D2 D1 D0 D1 D0DA3DA3DA2DA2DA1DA1DA0DA0A2A2A1A1
20、A0A0R/ WR/ W器件固有地址編碼器件固有地址編碼器件引腳地址器件引腳地址讀讀/寫寫 DA3DA3DA0 4DA0 4位器件地址是位器件地址是I I2 2C C總線器件固有的地址編碼總線器件固有的地址編碼,器件出廠時(shí)就已給定,用戶不能自行設(shè)置。器件出廠時(shí)就已給定,用戶不能自行設(shè)置。 A2A1A0 3A2A1A0 3位引腳地址用于相同地址器件的識(shí)別位引腳地址用于相同地址器件的識(shí)別。若。若I I2 2C C總線上總線上掛有相同地址的器件,或同時(shí)掛有多片相同器件時(shí),可用硬件掛有相同地址的器件,或同時(shí)掛有多片相同器件時(shí),可用硬件連接方式對(duì)連接方式對(duì)3 3位引腳位引腳A2A1A0A2A1A0接接V
21、ccVcc或接地,形成地址數(shù)據(jù)。或接地,形成地址數(shù)據(jù)。 R/W R/W 數(shù)據(jù)傳送方向數(shù)據(jù)傳送方向。R/W=1R/W=1時(shí),主機(jī)接收(讀);時(shí),主機(jī)接收(讀); R/W=0R/W=0時(shí),主機(jī)發(fā)送(寫)。時(shí),主機(jī)發(fā)送(寫)。表表8-1 8-1 常用常用I I2 2C C器件地址器件地址SLASLA種類種類型號(hào)型號(hào)器件地址器件地址SLASLA引腳地址備注引腳地址備注靜態(tài)靜態(tài)RAMRAMPCF8570/71PCF8570/711010 1010 A2 A1 A0 R/ WA2 A1 A0 R/ W3 3位數(shù)字引腳地址位數(shù)字引腳地址A2A1A0A2A1A0PCF8570CPCF8570C1011 A2
22、A1 A0 R/ W1011 A2 A1 A0 R/ W3 3位數(shù)字引腳地址位數(shù)字引腳地址A2A1A0A2A1A0E E2 2PROMPROMPCF8582PCF85821010 A2 A1 A0 R/ W1010 A2 A1 A0 R/ W3 3位數(shù)字引腳地址位數(shù)字引腳地址A2A1A0A2A1A0AT24C02AT24C021010 A2 A1 A0 R/ W1010 A2 A1 A0 R/ W3 3位數(shù)字引腳地址位數(shù)字引腳地址A2A1A0A2A1A0AT24C04AT24C041010 A2 A1 P0 R/ W1010 A2 A1 P0 R/ W2 2位數(shù)字引腳地址位數(shù)字引腳地址A2A1
23、A2A1AT24C08AT24C081010 A2 P1 P0 R/ W1010 A2 P1 P0 R/ W1 1位數(shù)字引腳地址位數(shù)字引腳地址A2A2AT24C016 AT24C016 1010 P2 P1 P0 R/ W1010 P2 P1 P0 R/ W無(wú)引腳地址,無(wú)引腳地址,A2A1A0A2A1A0懸空處理懸空處理I/OI/O口口PCF8574PCF85740100 A2 A1 A0 R/ W0100 A2 A1 A0 R/ W3 3位數(shù)字引腳地址位數(shù)字引腳地址A2A1A0A2A1A0PCF8574APCF8574A0111 A2 A1 A0 R/ W0111 A2 A1 A0 R/ W
24、3 3位數(shù)字引腳地址位數(shù)字引腳地址A2A1A0A2A1A0LED/LCDLED/LCD驅(qū)動(dòng)控制器驅(qū)動(dòng)控制器SAA 1064SAA 10640111 0 A1 A0 R/ W0111 0 A1 A0 R/ W2 2位數(shù)字引腳地址位數(shù)字引腳地址A1A0A1A0PCF8576PCF85760111 0 0 A0 R/ W0111 0 0 A0 R/ W1 1位數(shù)字引腳地址位數(shù)字引腳地址A0A0PCF8578/79PCF8578/790111 1 0 A0 R/ W0111 1 0 A0 R/ W1 1位數(shù)字引腳地址位數(shù)字引腳地址A0A0ADC/DACADC/DACPCF8951PCF89511001
25、 A2 A1 A0 R/ W1001 A2 A1 A0 R/ W3 3位數(shù)字引腳地址位數(shù)字引腳地址A2A1A0A2A1A0日歷時(shí)鐘日歷時(shí)鐘PCF8583PCF85831010 0 0 A0 R/ W1010 0 0 A0 R/ W1 1位數(shù)字引腳地址位數(shù)字引腳地址A0A03 3、接口電氣結(jié)構(gòu)接口電氣結(jié)構(gòu) I I2 2C C總線端口輸出為開(kāi)漏結(jié)構(gòu),總線上必須總線端口輸出為開(kāi)漏結(jié)構(gòu),總線上必須外接上拉電阻外接上拉電阻RpRp,其阻值通??蛇x,其阻值通??蛇x5 51010KK。4 4、總線驅(qū)動(dòng)能力總線驅(qū)動(dòng)能力 由于由于I I2 2C C總線器件均為總線器件均為CMOSCMOS器件,總線具有器件,總線
26、具有足夠的電流驅(qū)動(dòng)能力。足夠的電流驅(qū)動(dòng)能力。 I I2 2C C總線的電容負(fù)載能力為總線的電容負(fù)載能力為400 pF400 pF(通過(guò)驅(qū)(通過(guò)驅(qū)動(dòng)擴(kuò)展可達(dá)動(dòng)擴(kuò)展可達(dá)40004000pFpF)。)。 I I2 2C C總線傳輸速率為總線傳輸速率為100Kb/s100Kb/s(改進(jìn)后的規(guī)(改進(jìn)后的規(guī)范為范為400 400 Kb/sKb/s)。)。5 5、I I2 2C C總線時(shí)序總線時(shí)序 一次完整的數(shù)據(jù)傳送過(guò)程應(yīng)包括:起始(一次完整的數(shù)據(jù)傳送過(guò)程應(yīng)包括:起始(S S)、)、發(fā)送尋址字節(jié)(發(fā)送尋址字節(jié)(SLA R/WSLA R/W)、應(yīng)答、發(fā)送數(shù)據(jù)、應(yīng))、應(yīng)答、發(fā)送數(shù)據(jù)、應(yīng)答、答、發(fā)送數(shù)據(jù)、應(yīng)答、終
27、止(、發(fā)送數(shù)據(jù)、應(yīng)答、終止(P P)。)。 80C5180C51只能采用虛擬只能采用虛擬I I2 2C C總線方式,并且只能用總線方式,并且只能用于單主系統(tǒng),虛擬于單主系統(tǒng),虛擬I I2 2C C總線接口可用通用總線接口可用通用I/OI/O口中口中任一端線充任,數(shù)據(jù)線定義為任一端線充任,數(shù)據(jù)線定義為VSDAVSDA,時(shí)鐘線定義,時(shí)鐘線定義為為VSCLVSCL。二、二、80C5180C51單主系統(tǒng)虛擬單主系統(tǒng)虛擬I I2 2C C總線軟件包總線軟件包 80C51 80C51單主系統(tǒng)虛擬單主系統(tǒng)虛擬I I2 2C C總線軟件包總線軟件包VIICVIIC可由二可由二大類共大類共9 9個(gè)歸一化子程序組
28、成。二大類程序分別為個(gè)歸一化子程序組成。二大類程序分別為典型信號(hào)模擬子程序典型信號(hào)模擬子程序和和數(shù)據(jù)傳送通用子程序數(shù)據(jù)傳送通用子程序。1 1、典型信號(hào)模擬子程序典型信號(hào)模擬子程序 對(duì)于虛擬對(duì)于虛擬I I2 2C C總線,有幾個(gè)重復(fù)應(yīng)用的典型信號(hào),可根總線,有幾個(gè)重復(fù)應(yīng)用的典型信號(hào),可根據(jù)據(jù)I I2 2C C總線時(shí)序要求,編制這些典型信號(hào)子程序:總線時(shí)序要求,編制這些典型信號(hào)子程序: 啟動(dòng)信號(hào)啟動(dòng)信號(hào)STATSTAT 終止信號(hào)終止信號(hào)STOPSTOP 發(fā)送應(yīng)答位發(fā)送應(yīng)答位(A)MACK(A)MACK 發(fā)送應(yīng)答非位發(fā)送應(yīng)答非位(A)NACK(A)NACK 檢查應(yīng)答位檢查應(yīng)答位CACKCACK2 2
29、、數(shù)據(jù)傳送通用子程序數(shù)據(jù)傳送通用子程序 數(shù)據(jù)傳送通用子程序是應(yīng)用典型信號(hào)模擬子程序(起始、數(shù)據(jù)傳送通用子程序是應(yīng)用典型信號(hào)模擬子程序(起始、終止、應(yīng)答和檢查應(yīng)答)并按終止、應(yīng)答和檢查應(yīng)答)并按I I2 2C C總線數(shù)據(jù)傳送時(shí)序要求編總線數(shù)據(jù)傳送時(shí)序要求編制的子程序。制的子程序。 發(fā)送一字節(jié)數(shù)據(jù)子程序發(fā)送一字節(jié)數(shù)據(jù)子程序WR1BWR1B 接收一字節(jié)數(shù)據(jù)子程序接收一字節(jié)數(shù)據(jù)子程序RD1BRD1B 發(fā)送發(fā)送N N個(gè)字節(jié)數(shù)據(jù)子程序個(gè)字節(jié)數(shù)據(jù)子程序WRNBWRNB 接收接收N N個(gè)字節(jié)數(shù)據(jù)子程序個(gè)字節(jié)數(shù)據(jù)子程序RDNBRDNB 按照按照I I2 2C C總線數(shù)據(jù)傳送時(shí)序要求,一次完整的數(shù)據(jù)發(fā)送過(guò)總線數(shù)據(jù)
30、傳送時(shí)序要求,一次完整的數(shù)據(jù)發(fā)送過(guò)程應(yīng)包括起始(程應(yīng)包括起始(S S)、發(fā)送尋址字節(jié)()、發(fā)送尋址字節(jié)(SLA R/WSLA R/W)、應(yīng)答、)、應(yīng)答、發(fā)送數(shù)據(jù)、應(yīng)答、發(fā)送數(shù)據(jù)、應(yīng)答、發(fā)送數(shù)據(jù)、應(yīng)答、終止(、發(fā)送數(shù)據(jù)、應(yīng)答、終止(P P),其格),其格式如下:式如下:S SSLASLAW WA Adata1data1A A data2data2A AdataNdataNA AP P 其中,紅色部分由主器件發(fā)送,從器件接收;黑色部分其中,紅色部分由主器件發(fā)送,從器件接收;黑色部分由從器件發(fā)送,主器件接收。由從器件發(fā)送,主器件接收。 發(fā)送發(fā)送N N個(gè)字節(jié)數(shù)據(jù)子程序個(gè)字節(jié)數(shù)據(jù)子程序WRNBWRNB入
31、口條件入口條件: 偽指令定義偽指令定義NUMBNUMB、SLASLA、MTDMTD單元地址;單元地址; 發(fā)送數(shù)據(jù)字節(jié)數(shù)存內(nèi)發(fā)送數(shù)據(jù)字節(jié)數(shù)存內(nèi)RAM NUMBRAM NUMB單元;單元; 發(fā)送尋址字節(jié)存內(nèi)發(fā)送尋址字節(jié)存內(nèi)RAM SLARAM SLA單元;單元; 發(fā)送數(shù)據(jù)依次存放在首址為發(fā)送數(shù)據(jù)依次存放在首址為MTDMTD的內(nèi)的內(nèi)RAMRAM中。中。占用資源占用資源:AccAcc、R1R1、R2R2、R3R3、CyCy、F0F0。WRNB: MOV R3,NUMB WRNB: MOV R3,NUMB ; ;取發(fā)送數(shù)據(jù)字節(jié)數(shù)取發(fā)送數(shù)據(jù)字節(jié)數(shù)N(N(存在內(nèi)存在內(nèi)RAM NUMBRAM NUMB單元單元
32、) )WRNB0:LCALL STAT WRNB0:LCALL STAT ; ;啟動(dòng)啟動(dòng)I2CI2C總線總線 MOV A,SLA MOV A,SLA ; ;讀發(fā)送尋址字節(jié)讀發(fā)送尋址字節(jié)( (存在內(nèi)存在內(nèi)RAM SLARAM SLA單元單元) ) LCALL WR1B LCALL WR1B ; ;發(fā)送尋址字節(jié)發(fā)送尋址字節(jié) LCALL CACK LCALL CACK ; ;檢查應(yīng)答位檢查應(yīng)答位 JB F0,WRNB0JB F0,WRNB0; ;應(yīng)答不正常應(yīng)答不正常, ,返回重發(fā)返回重發(fā) MOV R1,#MTD MOV R1,#MTD ; ;應(yīng)答應(yīng)答(A)(A)正常正常, ,取發(fā)送數(shù)據(jù)存儲(chǔ)區(qū)首址取發(fā)
33、送數(shù)據(jù)存儲(chǔ)區(qū)首址WRDA: MOV A,R1 WRDA: MOV A,R1 ; ;讀一個(gè)字節(jié)發(fā)送數(shù)據(jù)讀一個(gè)字節(jié)發(fā)送數(shù)據(jù) LCALL WR1B LCALL WR1B ; ;發(fā)送一個(gè)字節(jié)發(fā)送一個(gè)字節(jié) LCALL CACK LCALL CACK ; ;檢查應(yīng)答位檢查應(yīng)答位 JB F0,WRNB JB F0,WRNB ; ;應(yīng)答不正常應(yīng)答不正常, ,返回重發(fā)返回重發(fā) INC R1 INC R1 ; ;應(yīng)答應(yīng)答(A)(A)正常正常, ,指向發(fā)送數(shù)據(jù)下一字節(jié)指向發(fā)送數(shù)據(jù)下一字節(jié) DJNZ R3,WRDA DJNZ R3,WRDA ; ;判判N N個(gè)數(shù)據(jù)發(fā)送完畢否個(gè)數(shù)據(jù)發(fā)送完畢否? ?未完繼續(xù)未完繼續(xù) LC
34、ALL STOP LCALL STOP ;N;N個(gè)數(shù)據(jù)發(fā)送完畢個(gè)數(shù)據(jù)發(fā)送完畢, ,發(fā)送結(jié)束信號(hào)發(fā)送結(jié)束信號(hào) RET RET ; ; 按照按照I I2 2C C總線數(shù)據(jù)傳送時(shí)序要求,接收總線數(shù)據(jù)傳送時(shí)序要求,接收N個(gè)字節(jié)數(shù)據(jù)應(yīng)個(gè)字節(jié)數(shù)據(jù)應(yīng)按下列格式編程:按下列格式編程:接收接收N N個(gè)字節(jié)數(shù)據(jù)子程序個(gè)字節(jié)數(shù)據(jù)子程序RDNBRDNB S SSLASLAR RA Adata1data1A Adata2data2A AdataNdataNA A P P 其中,紅色部分由主器件發(fā)送,從器件接收;黑色其中,紅色部分由主器件發(fā)送,從器件接收;黑色部分由從器件發(fā)送,主器件接收。部分由從器件發(fā)送,主器件接收。入
35、口條件入口條件: 偽指令定義偽指令定義NUMBNUMB、SLASLA、MRDMRD地址;地址; 接收數(shù)據(jù)字節(jié)數(shù)存內(nèi)接收數(shù)據(jù)字節(jié)數(shù)存內(nèi)RAM NUMBRAM NUMB單元;單元; 接收尋址字節(jié)存內(nèi)接收尋址字節(jié)存內(nèi)RAM SLARAM SLA單元單元。出口狀態(tài)出口狀態(tài):接收:接收N N個(gè)字節(jié)依次存在首址個(gè)字節(jié)依次存在首址MRDMRD的內(nèi)的內(nèi)RAMRAM中。中。占用資源占用資源:AccAcc、R1R1、R2R2、R3R3、CyCy、F0F0。RDNB: MOV R3,NUMB RDNB: MOV R3,NUMB ; ;取接收數(shù)據(jù)字節(jié)數(shù)取接收數(shù)據(jù)字節(jié)數(shù)N(N(存在內(nèi)存在內(nèi)RAM NUMBRAM NUM
36、B單元單元) )RDNB0: LCALL STAT RDNB0: LCALL STAT ; ;啟動(dòng)啟動(dòng)I2CI2C總線總線 MOV A,SLA MOV A,SLA ; ;讀接收尋址字節(jié)讀接收尋址字節(jié)( (存在內(nèi)存在內(nèi)RAM SLARAM SLA單元單元) ) LCALL WR1B LCALL WR1B ; ;發(fā)送接收尋址字節(jié)發(fā)送接收尋址字節(jié) LCALL CACK LCALL CACK ; ;檢查應(yīng)答位檢查應(yīng)答位 JB F0,RDNB0 JB F0,RDNB0 ; ;應(yīng)答不正常應(yīng)答不正常, ,返回重新開(kāi)始返回重新開(kāi)始RDA0: MOV R1,#MRD RDA0: MOV R1,#MRD ; ;應(yīng)
37、答應(yīng)答(A)(A)正常正常, ,取接收數(shù)據(jù)存儲(chǔ)區(qū)首址取接收數(shù)據(jù)存儲(chǔ)區(qū)首址RDA1: LCALL RD1B RDA1: LCALL RD1B ; ;接收一個(gè)字節(jié)數(shù)據(jù)接收一個(gè)字節(jié)數(shù)據(jù) MOV R1,A MOV R1,A ; ;存一個(gè)字節(jié)數(shù)據(jù)存一個(gè)字節(jié)數(shù)據(jù) DJNZ R3,ACK DJNZ R3,ACK ; ;判判N N個(gè)數(shù)據(jù)接收完畢否個(gè)數(shù)據(jù)接收完畢否? ?未完轉(zhuǎn)發(fā)送應(yīng)答位未完轉(zhuǎn)發(fā)送應(yīng)答位 LCALL NACK LCALL NACK ;N;N個(gè)數(shù)據(jù)接收完畢個(gè)數(shù)據(jù)接收完畢, ,發(fā)送應(yīng)答非位發(fā)送應(yīng)答非位( (A)A) LCALL STOP LCALL STOP ; ;發(fā)送終止信號(hào)發(fā)送終止信號(hào) RET R
38、ET ; ;子程序結(jié)束返回子程序結(jié)束返回ACK: LCALL MACK ACK: LCALL MACK ; ;發(fā)送應(yīng)答位發(fā)送應(yīng)答位( (A)A) INC R1 INC R1 ; ;指向下一接收數(shù)據(jù)存儲(chǔ)單元地址指向下一接收數(shù)據(jù)存儲(chǔ)單元地址 SJMP RDA1 SJMP RDA1 ; ;轉(zhuǎn)接收下一字節(jié)數(shù)據(jù)轉(zhuǎn)接收下一字節(jié)數(shù)據(jù) VIIC VIIC軟件包共有軟件包共有9 9個(gè)歸一化子程序組成。個(gè)歸一化子程序組成。 VIIC VIIC軟件包僅適用單主系統(tǒng)即主方式下軟件包僅適用單主系統(tǒng)即主方式下I I2 2C C總線外圍擴(kuò)總線外圍擴(kuò)展。且應(yīng)展。且應(yīng)fosc6MHzfosc6MHz,若,若foscfosc6M
39、Hz6MHz,則應(yīng)相應(yīng)調(diào)整,則應(yīng)相應(yīng)調(diào)整NOPNOP指令個(gè)數(shù),以滿足指令個(gè)數(shù),以滿足I I2 2C C總線數(shù)據(jù)傳送時(shí)序要求??偩€數(shù)據(jù)傳送時(shí)序要求。 VIIC VIIC軟件包可嵌入到軟件包可嵌入到80C51 ROM80C51 ROM中任一空間,作為中任一空間,作為I I2 2C C總總線擴(kuò)展應(yīng)用程序設(shè)計(jì)的軟件支持平臺(tái)。線擴(kuò)展應(yīng)用程序設(shè)計(jì)的軟件支持平臺(tái)。 在應(yīng)用在應(yīng)用VIICVIIC軟件包初始化中,應(yīng)對(duì)軟件包中標(biāo)記符號(hào)用軟件包初始化中,應(yīng)對(duì)軟件包中標(biāo)記符號(hào)用偽指令定義。偽指令定義。 VIIC VIIC軟件包占用資源:軟件包占用資源:F0F0、CyCy、AccAcc、R1R1、R1R1、R3R3。在
40、。在調(diào)用調(diào)用VIICVIIC軟件包之前,若涉及這些存儲(chǔ)單元中原有數(shù)據(jù)軟件包之前,若涉及這些存儲(chǔ)單元中原有數(shù)據(jù)尚需保存,應(yīng)采取保護(hù)現(xiàn)場(chǎng)措施,在調(diào)用結(jié)束后恢復(fù)現(xiàn)尚需保存,應(yīng)采取保護(hù)現(xiàn)場(chǎng)措施,在調(diào)用結(jié)束后恢復(fù)現(xiàn)場(chǎng)。場(chǎng)。3 3、虛擬虛擬I I2 2C C總線軟件包總線軟件包VIICVIIC小結(jié)小結(jié)一、一、I I2 2C C總線擴(kuò)展總線擴(kuò)展I/OI/O口通用器件口通用器件PCF8574PCF85748-4 8-4 虛擬虛擬I I2 2C C總線擴(kuò)展總線擴(kuò)展I/OI/O口口1 1、引腳功能引腳功能 PCF8574 PCF8574是一個(gè)帶有中斷輸出的是一個(gè)帶有中斷輸出的8 8位準(zhǔn)雙向位準(zhǔn)雙向I/OI/O口口
41、I I2 2C C總線擴(kuò)展芯片。總線擴(kuò)展芯片。 A2A2A0A0:地址引腳;:地址引腳; P0P0P7P7:8 8位準(zhǔn)雙向位準(zhǔn)雙向I/OI/O口,驅(qū)動(dòng)口,驅(qū)動(dòng)能力能力I IOLOL = 25mA = 25mA,I IOHOH300300 A A; SDASDA、SCLSCL :I I2 2C C總線接口;總線接口; INTINT:中斷請(qǐng)求輸出,低電平有:中斷請(qǐng)求輸出,低電平有效,開(kāi)漏輸出;效,開(kāi)漏輸出; V VDDDD、V VSSSS:電源端、接地端;:電源端、接地端;2 2、電路設(shè)計(jì)電路設(shè)計(jì)PCF8574PCF8574與與8080C51 IC51 I2 2C C總線接口應(yīng)用電路??偩€接口應(yīng)用
42、電路。 PCF8574 PCF8574的器件地址是的器件地址是01000100,A2A1A0A2A1A0為引腳為引腳地址,全接地時(shí)為地址,全接地時(shí)為000000,R/W=1R/W=1時(shí),接收尋址時(shí),接收尋址字節(jié)字節(jié)SLASLAR R=41H =01000001B=41H =01000001B;R/W=0R/W=0時(shí),發(fā)送時(shí),發(fā)送尋址字節(jié)尋址字節(jié)SLASLAW W=40H =01000000B=40H =01000000B。3 3、尋址字節(jié)尋址字節(jié) 當(dāng)當(dāng)PCF8574PCF8574輸入端輸入端P0P0P7P7電平狀態(tài)改變時(shí),中電平狀態(tài)改變時(shí),中斷請(qǐng)求輸出端斷請(qǐng)求輸出端INTINT會(huì)出現(xiàn)低電平(滯
43、后時(shí)間約會(huì)出現(xiàn)低電平(滯后時(shí)間約4 4 s s),可觸發(fā)),可觸發(fā)80C5180C51產(chǎn)生中斷。在對(duì)產(chǎn)生中斷。在對(duì)PCF8574PCF8574進(jìn)行一次讀寫操作后,進(jìn)行一次讀寫操作后,INTINT端撤銷中斷請(qǐng)求,復(fù)端撤銷中斷請(qǐng)求,復(fù)位為高電平。位為高電平。4 4、中斷請(qǐng)求中斷請(qǐng)求5 5、數(shù)據(jù)輸入數(shù)據(jù)輸入/ /輸出操作格式輸出操作格式 輸出操作輸出操作S SSLASLAW WA APOdataPOdataA AP P 輸入操作輸入操作S SSLASLAR RA APIdataPIdataA AP P 其中,紅色部分由其中,紅色部分由80C5180C51發(fā)送,發(fā)送,PCF8574PCF8574接收;
44、黑色接收;黑色部分由部分由PCF8574PCF8574發(fā)送,發(fā)送,80C5180C51接收。接收。二、二、PCF8574PCF8574應(yīng)用實(shí)例應(yīng)用實(shí)例【例【例8-38-3】圖】圖8-148-14為為PCF8574 PCF8574 四鍵四四鍵四LEDLED應(yīng)用電路,應(yīng)用電路,PCF8574 P0PCF8574 P0P3P3為鍵信號(hào)為鍵信號(hào)K0K0K3K3輸入端,輸入端,P4P4P7P7為為L(zhǎng)EDLED控制信號(hào)控制信號(hào)D0D0D3D3輸出端,要求當(dāng)鍵輸出端,要求當(dāng)鍵K0K0K3K3按下后,相應(yīng)按下后,相應(yīng)LED D0LED D0D3D3亮,設(shè)亮,設(shè)VIICVIIC軟件包已裝軟件包已裝入入ROMRO
45、M。解:編制程序如下:解:編制程序如下:主程序:主程序: VSDA EQU P1.0 VSDA EQU P1.0 ; ;定義虛擬定義虛擬I I2 2C C總線數(shù)據(jù)線端口總線數(shù)據(jù)線端口 VSCL EQU P1.1 VSCL EQU P1.1 ; ;定義虛擬定義虛擬I I2 2C C總線時(shí)鐘線端口總線時(shí)鐘線端口 SLA EQU 50H SLA EQU 50H ; ;定義發(fā)送定義發(fā)送/ /接收尋址字節(jié)內(nèi)接收尋址字節(jié)內(nèi)RAMRAM存儲(chǔ)單元為存儲(chǔ)單元為5050H H NUMB EQU 51H NUMB EQU 51H ; ;定義發(fā)送定義發(fā)送/ /接收數(shù)據(jù)字節(jié)數(shù)接收數(shù)據(jù)字節(jié)數(shù)N N內(nèi)內(nèi)RAMRAM存儲(chǔ)單元
46、為存儲(chǔ)單元為5151H H MTD EQU 30H MTD EQU 30H ; ;定義發(fā)送數(shù)據(jù)內(nèi)定義發(fā)送數(shù)據(jù)內(nèi)RAMRAM存儲(chǔ)區(qū)首地址為存儲(chǔ)區(qū)首地址為3030H H MRD EQU 40H MRD EQU 40H ; ;定義接收數(shù)據(jù)內(nèi)定義接收數(shù)據(jù)內(nèi)RAMRAM存儲(chǔ)區(qū)首地址為存儲(chǔ)區(qū)首地址為4040H HWORK:MOV MTD,#0FFH WORK:MOV MTD,#0FFH ;PCF8574;PCF8574初始化初始化, ,置置P0P0P3P3輸入態(tài)輸入態(tài),D0,D0D3D3燈滅燈滅 MOV SLA,#40H MOV SLA,#40H ; ;置發(fā)送尋址字節(jié)置發(fā)送尋址字節(jié) MOV NUMB,#1
47、 MOV NUMB,#1 ; ;置發(fā)送字節(jié)數(shù)置發(fā)送字節(jié)數(shù) LCALL WRNB LCALL WRNB ;FFH;FFH寫入寫入PCF8574PCF8574 SETB EA SETB EA ;CPU;CPU開(kāi)中開(kāi)中 SETB EX1 SETB EX1 ;INT1;INT1開(kāi)中開(kāi)中 SETB IT1 SETB IT1 ; ;置置INT1INT1邊沿觸發(fā)方式邊沿觸發(fā)方式 SJMP $ SJMP $ ; ;等待等待PCF8574 P0PCF8574 P0P3P3口狀態(tài)變化觸發(fā)中斷口狀態(tài)變化觸發(fā)中斷中斷服務(wù)子程序:中斷服務(wù)子程序:VINT:MOV SLA,#41H VINT:MOV SLA,#41H ;
48、 ;置接收尋址字節(jié)置接收尋址字節(jié) MOV NUMB,#1 MOV NUMB,#1 ; ;置接收字節(jié)數(shù)置接收字節(jié)數(shù) LCALL RDNB LCALL RDNB ; ;讀讀PCF8574PCF8574口狀態(tài)口狀態(tài) MOV A,MRD MOV A,MRD ; ;讀接收數(shù)據(jù)讀接收數(shù)據(jù) SWAP A SWAP A ; ;低低4 4位狀態(tài)移至高位狀態(tài)移至高4 4位位 ORL A,#0FH ORL A,#0FH ; ;低低4 4位保持輸入態(tài)位保持輸入態(tài) MOV MTD,A MOV MTD,A ; ;控制信號(hào)存入發(fā)送數(shù)據(jù)首地址單元控制信號(hào)存入發(fā)送數(shù)據(jù)首地址單元 MOV SLA,#40H MOV SLA,#40
49、H ; ;置發(fā)送尋址字節(jié)置發(fā)送尋址字節(jié) MOV NUMB,#1 MOV NUMB,#1 ; ;置發(fā)送字節(jié)數(shù)置發(fā)送字節(jié)數(shù) LCALL WRNB LCALL WRNB ; ;輸出控制信號(hào)輸出控制信號(hào) RETI RETI ; ;1 1、引腳功能引腳功能8-5 8-5 虛擬虛擬I I2 2C C總線擴(kuò)展總線擴(kuò)展 AT24CXXAT24CXX系列系列E E2 2PROMPROM一、一、 I I2 2C C總線總線E2PROME2PROM芯片芯片AT24C02AT24C02SDASDA、SCLSCL:I I2 2C C總線接口總線接口A2A2A0A0:地址引腳:地址引腳TESTTEST:測(cè)試端,高電平有效
50、:測(cè)試端,高電平有效V VDDDD、V VSSSS:電源端、接地端:電源端、接地端2 2、電路設(shè)計(jì)電路設(shè)計(jì) A A2 2 A A1 1 A A0 0TESTTEST E E2 2PROMPROM的寫入時(shí)間一般需要的寫入時(shí)間一般需要5 510ms10ms,頁(yè)寫緩沖器,頁(yè)寫緩沖器具有具有SRAMSRAM性質(zhì),可快速寫入,性質(zhì),可快速寫入,先將先將CPUCPU輸入的數(shù)據(jù)暫輸入的數(shù)據(jù)暫存頁(yè)寫緩沖器內(nèi),然后慢慢寫入存頁(yè)寫緩沖器內(nèi),然后慢慢寫入E E2 2PROMPROM中。中。但一次寫但一次寫入數(shù)據(jù),受到該芯片頁(yè)寫緩沖器容量的限制,若超出入數(shù)據(jù),受到該芯片頁(yè)寫緩沖器容量的限制,若超出容量或超出頁(yè)內(nèi)地址,
51、都將導(dǎo)致出錯(cuò)。應(yīng)將超出部分,容量或超出頁(yè)內(nèi)地址,都將導(dǎo)致出錯(cuò)。應(yīng)將超出部分,隔隔 5 510ms10ms重新啟動(dòng)一次寫操作。重新啟動(dòng)一次寫操作。 AT24C02AT24C02頁(yè)寫緩沖器為頁(yè)寫緩沖器為8B8B,頁(yè)內(nèi)地址為,頁(yè)內(nèi)地址為000000111111。3 3、尋址字節(jié)尋址字節(jié) AT24CXX AT24CXX的器件地址是的器件地址是10101010,A2A1A0A2A1A0為引腳地址,為引腳地址,全接地時(shí)為全接地時(shí)為000000。R/W=1R/W=1時(shí),讀尋址字節(jié)時(shí),讀尋址字節(jié)SLASLAR R =10100001B=A1H=10100001B=A1H;R/W=0R/W=0時(shí),寫尋址字節(jié)時(shí),
52、寫尋址字節(jié)SLASLAW W =10100000B=A0H=10100000B=A0H。4 4、頁(yè)寫緩沖器頁(yè)寫緩沖器 寫操作格式寫操作格式 5 5、數(shù)據(jù)讀數(shù)據(jù)讀/ /寫操作格式寫操作格式S SSLASLAW WA ASADRSADRA A data1data1 A Adata2data2A A dataNdataN A A P P 讀操作格式讀操作格式 S SSLASLAW WA A SADRSADR A A P P S S SLASLAR RA A data1data1 A A data2data2 A A dataNdataN A A P P 其中,其中,紅色紅色部分由部分由80C5180
53、C51發(fā)送發(fā)送,AT24CXXAT24CXX接收;接收;黑色部分由黑色部分由AT24CXXAT24CXX發(fā)送發(fā)送,80C5180C51接收。接收。 寫入讀出單元子地址寫入讀出單元子地址 讀出操作讀出操作 【例【例8-48-4】按圖】按圖8-15(b),8-15(b),試將內(nèi)試將內(nèi)RAM 10HRAM 10H為首址的為首址的8 8個(gè)字節(jié)數(shù)據(jù)寫入個(gè)字節(jié)數(shù)據(jù)寫入AT24C02 50HAT24C02 50H57H57H單元中。設(shè)單元中。設(shè)VIICVIIC軟件包已裝入軟件包已裝入ROMROM,VSDAVSDA、VSCLVSCL、SLASLA、NUMBNUMB、MTDMTD、MRDMRD均已按均已按8.3
54、.28.3.2軟件包小結(jié)中協(xié)議定義軟件包小結(jié)中協(xié)議定義 解:解:二、二、 擴(kuò)展擴(kuò)展AT24C02AT24C02應(yīng)用舉應(yīng)用舉例例VAT24W:MOVVAT24W:MOV SLA,#10100000B SLA,#10100000B; ;置寫置寫AT24C02AT24C02尋址字節(jié)尋址字節(jié) MOV NUMB,#9 MOV NUMB,#9 ; ;置寫入數(shù)據(jù)字節(jié)數(shù)置寫入數(shù)據(jù)字節(jié)數(shù)N+1(N+1(多一個(gè)片內(nèi)子地址多一個(gè)片內(nèi)子地址) ) MOV MTD,#50H MOV MTD,#50H ; ;置寫置寫AT24C02AT24C02片內(nèi)子地址首址片內(nèi)子地址首址SADR(30H)=50HSADR(30H)=50
55、H MOV R0,#10H MOV R0,#10H ; ;置置8 8個(gè)數(shù)據(jù)原存放區(qū)首址個(gè)數(shù)據(jù)原存放區(qū)首址 MOV R1,#31H MOV R1,#31H ; ;置置8 8個(gè)數(shù)據(jù)串行發(fā)送存放區(qū)首址個(gè)數(shù)據(jù)串行發(fā)送存放區(qū)首址 MOV R2,#8 MOV R2,#8 ; ;置數(shù)據(jù)個(gè)數(shù)置數(shù)據(jù)個(gè)數(shù)MOVLP: MOV A,R0 MOVLP: MOV A,R0 ; ;將將8 8個(gè)數(shù)據(jù)依次移入個(gè)數(shù)據(jù)依次移入3131H H38H38H MOV R1,A MOV R1,A ; ; INC R0 INC R0 ; ; INC R1 INC R1 ; ; DJNZ R2,MOVLP DJNZ R2,MOVLP ; ;
56、 LCALL WRNB LCALL WRNB ; ;發(fā)送發(fā)送AT24C02AT24C02片內(nèi)子地址及片內(nèi)子地址及8 8個(gè)數(shù)據(jù)個(gè)數(shù)據(jù) RET RET ; ;【例【例8-58-5】同例】同例8-48-4,數(shù)據(jù)改為,數(shù)據(jù)改為1616個(gè),試編程。個(gè),試編程。解:解:AT24W1:LCALL VAT24W AT24W1:LCALL VAT24W ; ;調(diào)用寫調(diào)用寫8 8個(gè)數(shù)據(jù)子程序個(gè)數(shù)據(jù)子程序( (第第1 1次寫次寫) ) LCALL DLY10ms LCALL DLY10ms ; ;調(diào)用延時(shí)調(diào)用延時(shí)10ms10ms子程序子程序( (略略) )AT24W2:MOV MTD,#58H AT24W2:MOV
57、 MTD,#58H ; ;置第置第2 2次寫次寫AT24C02AT24C02片內(nèi)首址片內(nèi)首址SADR(30H)=58HSADR(30H)=58H MOV R0,#18H MOV R0,#18H ; ;置第置第2 2次寫次寫8 8個(gè)數(shù)據(jù)原存放區(qū)首址個(gè)數(shù)據(jù)原存放區(qū)首址 MOV R1,#31H MOV R1,#31H ; ;置第置第2 2次寫次寫8 8個(gè)數(shù)據(jù)串行發(fā)送存放區(qū)首址個(gè)數(shù)據(jù)串行發(fā)送存放區(qū)首址 MOV R2,#8 MOV R2,#8 ; ;置第置第2 2次寫數(shù)據(jù)個(gè)數(shù)次寫數(shù)據(jù)個(gè)數(shù)MOVLP2:MOV A,R0 MOVLP2:MOV A,R0 ; ;將第將第2 2次寫次寫8 8個(gè)數(shù)據(jù)依次移入個(gè)數(shù)據(jù)依次移入3131H H38H38H MOV R1,A MOV R1,A ; ; INC R0 INC R0 ; ; INC R1 INC R1 ; ; DJNZ R2,MOVLP2 DJNZ R2,MOVLP2 ; ; LCALL WRNB LCALL WRNB ; ;第第2 2次寫次寫AT24C02AT24C02 RET RET ; ;解:解:AT24W3:MOV SLA,#10100000BAT24W3:MOV SLA,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 輕鋼結(jié)構(gòu)彩鋼房施工工藝與安全方案
- 電子數(shù)據(jù)采集使用合規(guī)性承諾書4篇
- 卓越人才培養(yǎng)方案承諾書范文5篇
- 醫(yī)院急救流程及急診技能操作規(guī)范
- 工作提升目標(biāo)承諾書4篇范文
- 一場(chǎng)想象的大冒險(xiǎn)之旅作文9篇
- 我們一起走過(guò)的日子回憶性話題作文9篇
- 產(chǎn)品設(shè)計(jì)評(píng)審標(biāo)準(zhǔn)化流程產(chǎn)品開(kāi)發(fā)關(guān)鍵環(huán)節(jié)
- 自動(dòng)焊接機(jī)裝置設(shè)計(jì)與仿真報(bào)告
- 員工退休訃告寫作范本全集
- 復(fù)方蒲公英注射液在銀屑病中的應(yīng)用研究
- 2023屆高考語(yǔ)文二輪復(fù)習(xí):小說(shuō)標(biāo)題的含義與作用 練習(xí)題(含答案)
- 網(wǎng)絡(luò)直播創(chuàng)業(yè)計(jì)劃書
- 大學(xué)任課老師教學(xué)工作總結(jié)(3篇)
- 3D打印增材制造技術(shù) 課件 【ch01】增材制造中的三維模型及數(shù)據(jù)處理
- 醫(yī)院保潔應(yīng)急預(yù)案
- 化工設(shè)備培訓(xùn)
- 鋼結(jié)構(gòu)安裝施工專項(xiàng)方案
- 高三體育生收心主題班會(huì)課件
- FZ/T 90086-1995紡織機(jī)械與附件下羅拉軸承和有關(guān)尺寸
- 登桿培訓(xùn)材料課件
評(píng)論
0/150
提交評(píng)論