第8章80C51的串行總線擴(kuò)展_第1頁
第8章80C51的串行總線擴(kuò)展_第2頁
第8章80C51的串行總線擴(kuò)展_第3頁
第8章80C51的串行總線擴(kuò)展_第4頁
第8章80C51的串行總線擴(kuò)展_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

2023/2/51第8章80C51的串行總線擴(kuò)展I2C總線及其擴(kuò)展8.1SPI總線接口及其擴(kuò)展8.2串行時(shí)鐘日歷芯片DS1302及其接口8.38.0單總線及其擴(kuò)展8.0單總線及擴(kuò)展單總線接口簡介單總線(1-Wirebus)是由DALLAS公司推出的外圍串行擴(kuò)展總線。它只有一條數(shù)據(jù)輸入/輸出線DQ,總線上的所有器件都掛在DQ上,電源也通過這條信號(hào)線供給,這種使用一條信號(hào)線的串行擴(kuò)展技術(shù),稱為單總線技術(shù)。各種器件,由DALLAS公司提供的專用芯片實(shí)現(xiàn)。每個(gè)芯片都有64位ROM,廠家對(duì)每一個(gè)芯片用激光燒寫編碼,其中存有16位十進(jìn)制編碼序列號(hào),它是器件的地址編號(hào),確保它掛在總線上后,可以唯一被確定。除了器件的地址編碼外,芯片內(nèi)還包含收發(fā)控制和電源存儲(chǔ)電路,如圖所示。2023/2/538.1

I2C總線接口及其擴(kuò)展有兩根雙向信號(hào)線:數(shù)據(jù)線SDA和時(shí)鐘線SCL

I2C總線架構(gòu)8.1.1I2C總線基礎(chǔ)2023/2/54

I2C總線的特點(diǎn)采用2線制

器件引腳少,器件間連接簡單,電路板體積減小,可靠性提高。

傳輸速率高標(biāo)準(zhǔn)模式:100Kb/s,快速模式:400Kb/s,高速模式:3.4Mb/s。支持主/從和多主兩種工作方式標(biāo)準(zhǔn)型80C51沒有I2C總線接口,只能工作于單主方式(擴(kuò)展外圍從器件)。

它可以使具有I2C總線的單片機(jī)(如PHILIPS公司的8xC552)直接與具有I2C總線接口的各種擴(kuò)展器件(如存儲(chǔ)器、I/O口、A/D、D/A、鍵盤、顯示器、日歷/時(shí)鐘)連接。對(duì)不帶有I2C接口的單片機(jī)(如89C51)可采用普通的I/O口結(jié)合軟件模擬I2C串行接口總線時(shí)序的方法,完成I2C總線的串行接口功能。I2C的運(yùn)行由主器件控制,主器件是指啟動(dòng)數(shù)據(jù)的發(fā)送(發(fā)出起始信號(hào))、發(fā)出時(shí)鐘信號(hào)、傳送結(jié)束時(shí)發(fā)出終止信號(hào)的器件。主器件可以具有I2C總線接口,也可以不帶I2C總線接口。從器件可以是存儲(chǔ)器、LED或LCD驅(qū)動(dòng)器、A/D或D/A轉(zhuǎn)換器、時(shí)鐘/日歷器件等,從器件必須帶有I2C總線接口。I2C串行總線的SDA和SCL是雙向的,帶有I2C總線接口的器件的輸出端為漏級(jí)開路,故必須通過上拉電阻接正電源??偩€空閑時(shí),兩條線均為高電平。由于連接到總線上的器件的輸出級(jí)必須是漏級(jí)或集電極開路的,只要有一個(gè)器件輸出低電平,都將使總線上的信號(hào)變低。SCL線上的時(shí)鐘信號(hào)對(duì)SDA線上的各器件間的數(shù)據(jù)傳輸起同步控制作用。SDA線上的數(shù)據(jù)起始、終止及數(shù)據(jù)的有效性均要根據(jù)SDA線上的時(shí)鐘信號(hào)來判斷。2023/2/56

I2C總線的數(shù)據(jù)傳輸傳輸時(shí)序圖

起始信號(hào)S終止信號(hào)P2023/2/57字節(jié)傳送與應(yīng)答

尋址字節(jié)

位:D7D6D5D4D3D2D1D0器件地址R/W注:傳送8位數(shù)據(jù)先高后低,外加一位應(yīng)答位。2023/2/58器件地址表器件型號(hào)字節(jié)容量尋址字節(jié)內(nèi)部地址字節(jié)數(shù)頁面寫字節(jié)數(shù)最多可掛器件數(shù)固定標(biāo)識(shí)片選R/WAT24C01A1281010A2A1A01/0188AT24C02256A2A1A01/088AT24C04512A2A1P01/0164AT24C08A1KA2P1P01/0162AT24C16A2KP2P1P01/0161AT24C32A4KA2A1A01/02328AT24C64A8KA2A1A01/0328AT24C128B16KA2A1A01/0648AT24C256B32KA2A1A01/0648AT24C512B64KA2A1A01/012882023/2/59

I2C總線典型信號(hào)時(shí)序模擬8.1.280C51的I2C總線時(shí)序模擬2023/2/510

I2C總線典型信號(hào)模擬子程序

起始信號(hào)STA:SETBSDASETBSCLNOPNOPCLRSDANOPNOPCLRSCLRET

終止信號(hào)STP:CLRSDASETBSCLNOPNOPSETBSDANOPNOPCLRSDARET發(fā)應(yīng)答位“0”ASK:CLRSDASETBSCLNOPNOPCLRSCLSETBSDARET發(fā)非應(yīng)答位“1”NAS:SETBSDASETBSCLNOPNOPCLRSCLCLRSDARET2023/2/5118.1.380C51與AT24C02的接口AT24C02為串行E2PROM存儲(chǔ)器。體積小、功耗低、占用I/O口線少,性能價(jià)格比高。WP:寫保護(hù)控制端,接地時(shí)允許寫入。2023/2/512寫操作過程單片機(jī)發(fā)送起始信號(hào)S單片機(jī)發(fā)送控制字節(jié),釋放SDA線(并在SCL線上產(chǎn)生第9個(gè)時(shí)鐘信號(hào))

被選中的器件確認(rèn)是自己的地址后,在SDA線產(chǎn)生應(yīng)答信號(hào)單片機(jī)發(fā)送1字節(jié)預(yù)寫入存儲(chǔ)區(qū)首地址被選中器件產(chǎn)生應(yīng)答---單片機(jī)發(fā)出停止信號(hào)P被選中器件進(jìn)入寫周期(10ms內(nèi)結(jié)束)2023/2/513讀操作過程單片機(jī)發(fā)送起始信號(hào)S單片機(jī)發(fā)送控制字節(jié)(偽寫),釋放SDA線(并在SCL線上產(chǎn)生第9個(gè)時(shí)鐘信號(hào))

被選中的器件確認(rèn)是自己的地址后,在SDA線產(chǎn)生應(yīng)答信號(hào)單片機(jī)發(fā)送1字節(jié)預(yù)讀出存儲(chǔ)區(qū)首地址被選中器件產(chǎn)生應(yīng)答單片機(jī)再發(fā)一次起始信號(hào)S和讀控制字節(jié)被選中器件產(chǎn)生應(yīng)答

單片機(jī)讀數(shù)據(jù)、恢復(fù)應(yīng)答

最后字節(jié)讀完、發(fā)非應(yīng)答、發(fā)停止信號(hào)P2023/2/514基本操作子程序1.應(yīng)答位檢查(正常操作時(shí)F0標(biāo)志為“0”,否則為“1”)ASKC:SETBSDASETBSCLCLRF0;預(yù)設(shè)F0=0MOVC,SDAJNCEXIT;應(yīng)答正常SETBF0;應(yīng)答不正常EXIT:CLRSCLRET2.發(fā)送一個(gè)字節(jié)(先將欲發(fā)送的數(shù)據(jù)送入A中)WRB:MOVR0,#8;8位數(shù)據(jù)長度送R0中WLP:RLCA;A左移,發(fā)送位進(jìn)入C中MOVSDA,C;將發(fā)送位送入SDASETBSCL;設(shè)置SCL,使SDA上數(shù)據(jù)有效NOPNOPCLRSCLDJNZR0,WLPRET

2023/2/5153.讀一個(gè)字節(jié)(由E2PROM)讀取的一個(gè)字節(jié)數(shù)據(jù)存于R2或A中RDB:MOVR0,#8;8位數(shù)據(jù)長度送R0RLP:SETBSDA;設(shè)SDA為輸入方式SETBSCL;使SDA有效MOVC,SDA;讀入SDA引腳狀態(tài)MOVA,R2RLCAMOVR2,ACLRSCLDJNZR0,RLP

RETJBF0,WRNBINCR1DJNZSNUM,WLPACALLSTPRET4.發(fā)送n個(gè)字節(jié)(向E2PROM)入口條件:R1發(fā)送緩沖區(qū)首址SNUM發(fā)送字節(jié)數(shù)SLAW寫尋址字節(jié)WRNB:ACALLSTAMOVA,SLAWACALLWRBACALLASKCJBF0,WRNBWLP:MOVA,@R1ACALLWRBACALLASKC

2023/2/5165.讀取n個(gè)字節(jié)(由E2PROM)入口條件:R1發(fā)送緩沖區(qū)首址RNUM接收字節(jié)數(shù)SLAR讀尋址字節(jié)RDNB:ACALLSTAMOVA,SLARACALLWRBACALLASKCJBF0,RDNBRNLP:ACALLRDB;MOV@R1,ADJNZRNUM,FASK

ACALLNASACALLSTPRETFASK:ACALLASKINCR1SJMPRNLP2023/2/517【例8-1】接口電路如前圖所示。編程實(shí)現(xiàn)向AT24C02的50H-57H單元寫入00H,11H,…,77H共8個(gè)數(shù)據(jù)。SDAEQUP1.7SCLEQUP1.6SNUMEQU40HSLAWEQU41HORG0000HAJMPMAINORG0040HMAIN:MOVSP,#5FH

ACALLLDATA;數(shù)據(jù)初始化MOVSLAW,#0A0H

MOVSNUM,#9MOVR1,#50HACALLWRNBSJMP$LDATA:MOVR0,#30HMOV@R0,#50H

INCR0MOV@R0,#00HINCR0MOV@R0,#11HINCR0MOV@R0,#22H應(yīng)用程序示例INCR0MOV@R0,#33HINCR0MOV@R0,#44HINCR0MOV@R0,#55HINCR0MOV@R0,#66HINCR0MOV@R0,#77HINCR0RETEND2023/2/518【例8-2】接口電路如前圖所示。編程實(shí)現(xiàn)從AT24C02的50H-57H單元讀出8個(gè)字節(jié)數(shù)據(jù),并將其存入內(nèi)部RAM的40H-47H單元。SDAEQUP1.7SCLEQUP1.6SNUMEQU4AHSLAWEQU4BHRNUMEQU4CHSLAREQU4DHORG0000HAJMPMAINORG0040HMAIN:MOVSP,#5FHMOVR1,#50HMOVSLAW#0A0HMOVSNUM,#1

ACALLWRNB;偽寫MOVSLAR,#0A1H;設(shè)控制字MOVRNUM,#8MOVR1,#40HACALLRDNBSJMP$END2023/2/5198.2

SPI總線接口及其擴(kuò)展8.2.1單片機(jī)擴(kuò)展SPI總線的系統(tǒng)結(jié)構(gòu)用于E2PROM、A/D、D/A、實(shí)時(shí)時(shí)鐘等。單片機(jī)可模擬SPI時(shí)序。對(duì)于80C51,常采用“主MCU+多個(gè)從器件”的主從模式。

4個(gè)引腳2023/2/5208.2.2單片機(jī)SPI總線的時(shí)序模擬單片機(jī)讀(從器件輸出)時(shí),在選通有效的情況下,SCK的下降沿時(shí)從器件將數(shù)據(jù)放在MISO線上,單片機(jī)延時(shí)并采樣MISO線,將數(shù)據(jù)位讀入。然后將SCK置為高電平形成上升沿,數(shù)據(jù)被鎖存。單片機(jī)寫(從器件輸入)操作類似。2023/2/521【例8-3】單片機(jī)與具有SPI總線接口的E2PROM器件X25F008的接口電路如圖所示。定義單片機(jī)引腳如下:MOSIEQUP1.0SCKEQUP1.1SSEQUP1.2MISOEQUP1.3單片機(jī)讀子程序(讀取字節(jié)在R0中)SPIRD:SETBSCKCLRSSMOVR1,#8RLP:CLRSCKNOPNOPMOVC,MISORLCASETBSCKDJNZR1,RLPMOVR0,ARET2023/2/522單片機(jī)寫子程序(發(fā)送字節(jié)在R0中)SPIWR:SETBSCKCLRSSMOVR1,#8MOVA,R0WLP:CLRSCKNOPNOPRLCAMOVMOSI,CSETBSCKDJNZR1,WLPRET2023/2/523主要性能8.3串行時(shí)鐘日歷芯片DS1302及其接口DS1302,含有實(shí)時(shí)時(shí)鐘/日歷和31字節(jié)靜態(tài)RAM

8.3.1DS1302的性能與引腳計(jì)算2100年之前的秒、分、時(shí)、日、星期、月和年,能進(jìn)行閏年調(diào)整;31字節(jié)數(shù)據(jù)RAM;引腳與TTL兼容;工作電流小于300nA,有備份電源和涓流充電能力。2023/2/524引腳定義

I/O:數(shù)據(jù)輸入/輸出引腳

SCLK:串行時(shí)鐘輸入引腳

RST復(fù)位引腳

GND:接地引腳

Vcc1、Vcc2:工作電源、備份電源引腳

X1、X2:晶振接入管腳。晶振頻率為32.768KHz。2023/2/525命令字格式8.3.2DS1302的操作位:D7D6D5D4D3D2D1D01R/CA4A3A2A1A0R/W

D7位:固定為1R/C位:為0時(shí)選擇操作時(shí)鐘,為1時(shí)選擇操作RAM

A4A3A2A1A0:操作地址

R/W位:為0時(shí)進(jìn)行寫操作,為1時(shí)進(jìn)行讀操作2023/2/526單字節(jié)操作寫操作

讀操作

2023/2/527多字節(jié)操作(突發(fā)模式)

每次寫入或讀出8個(gè)字節(jié)時(shí)鐘日歷數(shù)據(jù)或31個(gè)字節(jié)RAM數(shù)據(jù)。與單字節(jié)時(shí)相似,僅需將A0~A4換成“11111”。2023/2/5288.3.3DS1302的寄存器及RAM日歷時(shí)鐘相關(guān)寄存器寄存器名命令字節(jié)范圍位內(nèi)容讀寫D7D6D5D4D3D2D1D0秒80H81H00~59CH秒的十位秒的個(gè)位分82H83H00~590分的十位分的個(gè)位時(shí)84H85H01~12或00~2312/240A/PHR小時(shí)個(gè)位日86H87H01~3100日的十位日的個(gè)位月88H89H01~120000/1月的個(gè)位星期8AH8BH01~0700000星期幾年8CH8DH00~99年的十位年的個(gè)位2023/2/529注意:1、秒寄存器的CH位:置1,時(shí)鐘停振,進(jìn)入低功耗態(tài);置0,時(shí)鐘工作。2、小時(shí)寄存器的D7位:置1,12小時(shí)制(D5置1表示上午,置0表示下午);置0,24小時(shí)制(此時(shí)D5、D4組成小時(shí)的十位)。2023/2/530其它寄存器及RAM

寄存器名命令字節(jié)范圍位內(nèi)容讀寫D7D6D5D4D3D2D1D0寫保護(hù)8EH8FH00H~80HWP0涓流充電90H91H-TCSDSRS時(shí)鐘突發(fā)BEHBFH--RAM突發(fā)FEHFFH--RAM0C0HC1H00H~FFHRAM數(shù)據(jù)…

……00H~FFHRAM30FCHFDH00H~FFH2023/2/531注意:1、WP:寫保護(hù)位:置為1時(shí),寫保護(hù);置為0時(shí),未寫保護(hù)。2、TCS:1010時(shí)慢充電;DS為01,選一個(gè)二極管,為10,選2個(gè)二極管;11或00,禁止充電。3、RS:與二極管串聯(lián)電阻選擇。00,不充電;01,2KΩ電阻;10,4KΩ電阻;11,8KΩ電阻。2023/2/5328.3.4DS1302與單片機(jī)的接口接口電路2023/2/533驅(qū)動(dòng)程序如下:SCLKEQUP1.0SIOEQUP1.1RSTEQUP1.2ORG0000HAJMPMAINORG0040HMAIN:MOV30H,#00HMOV31H,#08HMOV32H,#00HMOV33H,#08HMOV34H,#08HMOV35H,#01HMOV36H,#08HACALLINITSJMP$驅(qū)動(dòng)程序2023/2/534寫入字節(jié)子程序(寫入內(nèi)容在B中):WRB:MOV40H,#8LPW:MOVA,BRRCAMOVB,AMOVSIO,CSETBSCLKCLRSCLKDJNZ40H,LPWRET字節(jié)讀出子程序(讀出內(nèi)容在A中):RDB:MO

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論