




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、10 串行總線擴(kuò)展技術(shù) 本章內(nèi)容簡(jiǎn)介: 1I2C總線擴(kuò)展技術(shù): I2C總線、 I2C總線的數(shù)據(jù)傳輸、 I2C總線的尋址、MCS-51單片機(jī)模擬I2C總線、 I2C總線的運(yùn)用。 2SPI總線擴(kuò)展技術(shù):SPI總線、 MCS-51單片機(jī)模擬SPI總線及其運(yùn)用。10 串行總線擴(kuò)展技術(shù) 采用串行總線擴(kuò)展技術(shù)可以使系統(tǒng)的硬件設(shè)計(jì)簡(jiǎn)化,系統(tǒng)的體積減小,同時(shí),系統(tǒng)的更改和擴(kuò)展更為容易。串行擴(kuò)展總線的運(yùn)用是單片機(jī)目前開展的一種趨勢(shì) 常用的串行擴(kuò)展總線有:I2CInter IC BUS總線、SPISerial Peripheral Interface總線、Microwire 總線及單總線1-Wire BUS。 M
2、CS-51單片機(jī)沒有串行總線接口,利用其本身的通用并行線可以模擬多種串行總線時(shí)序信號(hào),因此可以充分利用各種串行接口芯片資源。 10.1 I2C總線擴(kuò)展技術(shù) I2C總線是Philips公司開發(fā)的一種雙向兩線串行總線,以實(shí)現(xiàn)集成電路之間的有效控制,這種總線也稱為Inter IC 總線。目前,Philips及其它半導(dǎo)體廠商提供了大量的含有I2C總線的外圍接口芯片,I2C總線已成為廣泛運(yùn)用的工業(yè)規(guī)范之一。 規(guī)范方式下,根本的I2C總線規(guī)范的規(guī)定的數(shù)據(jù)傳輸速率為100kb/s??焖俜绞较?,數(shù)據(jù)傳輸速率為400KB/s。高速方式下,數(shù)據(jù)傳輸速率為3.4Mb/s。I2C總線一直和先進(jìn)技術(shù)堅(jiān)持同步,并堅(jiān)持其向
3、下兼容性。 10.1.1 I2C總線 1I2C總線采用二線制傳輸,一根是數(shù)據(jù)線SDASerial Data Line,另一根是時(shí)鐘線SCLserial clock line,一切I2C器件都銜接在SDA和SCL上,每一個(gè)器件具有一個(gè)獨(dú)一的地址。 2I2C總線是一個(gè)多主機(jī)總線,總線上可以有一個(gè)或多個(gè)主機(jī)或稱主控制器件,總線運(yùn)轉(zhuǎn)由主機(jī)控制。 主機(jī)是指啟動(dòng)數(shù)據(jù)的傳送發(fā)起始信號(hào)、發(fā)出時(shí)鐘信號(hào)、發(fā)出終止信號(hào)的器件。通常,主機(jī)由單片機(jī)或其它微處置器擔(dān)任。 被主機(jī)訪問的器件叫從機(jī)或稱從器件,它可以是其它單片機(jī),或者其他外圍芯片,如:A/D、D/A、LED或LCD驅(qū)動(dòng)、串行存儲(chǔ)器芯片。 10.1.1 I2C總
4、線 3I2C總線支持多主multi-mastering和主從master-slave兩種任務(wù)方式。 多主方式下,I2C總線上可以有多個(gè)主機(jī)。I2C總線需經(jīng)過硬件和軟件仲裁來確定主機(jī)對(duì)總線的控制權(quán)。 主從任務(wù)方式時(shí),系統(tǒng)中只需一個(gè)主機(jī),總線上的其它器件均為從機(jī)具有I2C總線接口,只需主機(jī)能對(duì)從機(jī)進(jìn)展讀寫訪問,因此,不存在總線的競(jìng)爭(zhēng)等問題。在主從方式下,I2C總線的時(shí)序可以模擬 ,I2C總線的運(yùn)用不受主機(jī)能否具有I2C總線接口的制約。 MCS-51系列單片機(jī)本身不具有I2C總線接口,可以用其I/O口線模擬I2C總線 10.1.1 I2C總線圖10.1 單主機(jī)系統(tǒng)I2C總線擴(kuò)展現(xiàn)意圖 10.1.1
5、I2C總線 采用I2C總線設(shè)計(jì)系統(tǒng)的優(yōu)點(diǎn):1功能框圖中的功能模塊與實(shí)踐的外圍器件對(duì)應(yīng),可以使系統(tǒng)設(shè)計(jì)直接由功能框圖快速地過渡到系統(tǒng)樣機(jī)。 2外圍器件直接“掛在I2C總線上,不需設(shè)計(jì)總線接口;添加和刪減系統(tǒng)中的外圍器件,不會(huì)影響總線和其他器件的任務(wù),便于系統(tǒng)功能的改良和晉級(jí)。3集成在器件中的尋址和數(shù)據(jù)傳輸協(xié)議可以使系統(tǒng)完全由軟件來定義。 10.1.2 I2C總線的數(shù)據(jù)傳輸 圖10.2 規(guī)范方式和快速方式下器件銜接到I2C總線的方式 雙向510k負(fù)載才干為400pf 10.1.2 I2C總線的數(shù)據(jù)傳輸一數(shù)據(jù)位的傳送I2C總線上主機(jī)與從機(jī)之間一次傳送的數(shù)據(jù)稱為一幀。由啟動(dòng)信號(hào)、假設(shè)干個(gè)數(shù)據(jù)字節(jié)、應(yīng)對(duì)
6、位和停頓信號(hào)組成。數(shù)據(jù)傳送的根本單元為一位數(shù)據(jù)。 時(shí)鐘線SCL的一個(gè)時(shí)鐘周期只能傳輸一位數(shù)據(jù)。在SCL時(shí)鐘線為高電平期間內(nèi),數(shù)據(jù)線SDA上的數(shù)據(jù)必需穩(wěn)定。當(dāng)SCL時(shí)鐘線變?yōu)榈碗娖匠?,?shù)據(jù)線SDA的形狀才干改動(dòng)。 10.1.2 I2C總線的數(shù)據(jù)傳輸二啟始和停頓形狀。 起始START形狀:I2C總線傳輸過程中,當(dāng)時(shí)鐘線SCL為高電平常,數(shù)據(jù)線SDA出現(xiàn)高電平到低電平跳變時(shí),標(biāo)志I2C總線傳輸數(shù)據(jù)開場(chǎng)。 停頓STOP形狀:I2C總線傳輸過程中,當(dāng)時(shí)鐘線SCL為高電平常,數(shù)據(jù)線SDA出現(xiàn)低電平到高電平跳變時(shí),標(biāo)志著I2C總線傳輸數(shù)據(jù)終了。起始和停頓形狀是由主機(jī)發(fā)出 10.1.2 I2C總線的數(shù)據(jù)傳輸三
7、傳輸數(shù)據(jù) 傳輸?shù)綌?shù)據(jù)線SDA上的每個(gè)字節(jié)必需為8位 每次傳輸?shù)淖止?jié)數(shù)不受限制。每個(gè)字節(jié)后必需跟一個(gè)應(yīng)對(duì)acknowledge位。數(shù)據(jù)傳輸時(shí),首先傳送最高位,如圖10.5所示,假設(shè)從機(jī)暫時(shí)不能接納下一個(gè)字節(jié)數(shù)據(jù),如從機(jī)呼應(yīng)內(nèi)部中斷,那么,可以使時(shí)鐘線SCL堅(jiān)持為低電平,迫使主機(jī)處于等待形狀;當(dāng)從機(jī)預(yù)備就緒后,再釋放時(shí)鐘線SCL,使數(shù)據(jù)傳輸繼續(xù)進(jìn)展。 10.1.2 I2C總線的數(shù)據(jù)傳輸四應(yīng)對(duì)I2C協(xié)議規(guī)定,在每個(gè)字節(jié)傳送終了后,必需有一個(gè)應(yīng)對(duì)位。應(yīng)對(duì)位的時(shí)鐘脈沖由主機(jī)產(chǎn)生。在應(yīng)對(duì)時(shí)鐘有效期間,發(fā)送設(shè)備把數(shù)據(jù)線SDA置為高電平;接納設(shè)備必需把數(shù)據(jù)線SDA置為低電平,并且在此期間堅(jiān)持低電平形狀,以便產(chǎn)
8、生有效的應(yīng)對(duì)信號(hào)。10.1.2 I2C總線的數(shù)據(jù)傳輸五數(shù)據(jù)傳輸格式 在起始形狀S之后,先發(fā)送一個(gè)7位從機(jī)地址,接著第8位是數(shù)據(jù)方向位, 0表示發(fā)送(寫), 1表示懇求數(shù)據(jù)(讀)。一次數(shù)據(jù)傳輸總是由主機(jī)產(chǎn)生停頓形狀P而終了。但是,假設(shè)主機(jī)還希望在總線上傳輸數(shù)據(jù),那么,它可以產(chǎn)生另一個(gè)起始形狀和尋址另一個(gè)從機(jī),不需求先產(chǎn)生一個(gè)停頓形狀。在這種傳輸方式中,就能夠有讀寫方式的組合。 WR/WR/10.1.2 I2C總線的數(shù)據(jù)傳輸 在I2C總線啟動(dòng)或應(yīng)對(duì)信號(hào)后的第18個(gè)時(shí)鐘脈沖,對(duì)應(yīng)一個(gè)字節(jié)的8位數(shù)據(jù)傳送。高電平期間,數(shù)據(jù)串行傳送;低電平期間為數(shù)據(jù)預(yù)備,允許總線上數(shù)據(jù)電平變化。一旦I2C總線啟動(dòng),傳送的
9、字節(jié)數(shù)沒有限制,只需求每傳送一個(gè)字節(jié)后,對(duì)方回應(yīng)一個(gè)應(yīng)對(duì)位。發(fā)送時(shí),最先發(fā)送的是數(shù)據(jù)的最高位。每次傳送開場(chǎng)有起始信號(hào),終了時(shí)有停頓信號(hào)。傳送完一個(gè)字節(jié),可以經(jīng)過對(duì)時(shí)鐘線的控制使傳送暫停。五數(shù)據(jù)傳輸格式10.1.2 I2C總線的數(shù)據(jù)傳輸在I2C總線上,傳輸數(shù)據(jù)能夠的數(shù)據(jù)格式:五數(shù)據(jù)傳輸格式1 1主機(jī)發(fā)送器發(fā)送到從機(jī)接納器。數(shù)據(jù)傳輸?shù)姆较蛑鳈C(jī)發(fā)送器發(fā)送到從機(jī)接納器。數(shù)據(jù)傳輸?shù)姆较虿蛔兓?。不變化?10.1.2 I2C總線的數(shù)據(jù)傳輸2 2在第一個(gè)字節(jié)后主機(jī)立刻讀從機(jī)。在第一個(gè)字節(jié)后主機(jī)立刻讀從機(jī)。 在I2C總線上,傳輸數(shù)據(jù)能夠的數(shù)據(jù)格式:五數(shù)據(jù)傳輸格式10.1.2 I2C總線的數(shù)據(jù)傳輸3 3組合格式
10、組合格式 在I2C總線上,傳輸數(shù)據(jù)能夠的數(shù)據(jù)格式:五數(shù)據(jù)傳輸格式10.1.3 I2C總線的尋址 每個(gè)銜接在I2C總線的器件,都具有一個(gè)獨(dú)一確定的地址。在任何時(shí)辰,I2C總線上只能有一個(gè)主機(jī)對(duì)總線實(shí)行控制權(quán),分時(shí)地實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的數(shù)據(jù)傳送。器件從機(jī)的地址由7位組成,它與1位方向位構(gòu)成了I2C總線數(shù)據(jù)傳輸時(shí)起始形狀S之后第1個(gè)字節(jié)。 A6A5A4A3A2A1A0D7D6D5D4D3D2D1D0WR/ 從機(jī)地址由固定位和可編程位組成。固定位由器件出廠時(shí)給定,用戶不能自行設(shè)置,它是器件的標(biāo)識(shí)碼。10.1.3 I2C總線的尋址WR/WR/當(dāng)主機(jī)發(fā)送了第1個(gè)字節(jié)后,系統(tǒng)中的每個(gè)從機(jī)器件都在起始形狀S之后把高7
11、位與本機(jī)的地址比較,假設(shè)與本機(jī)地址一樣,那么該從機(jī)被主機(jī)選中,是接納數(shù)據(jù)還是發(fā)送數(shù)據(jù)由 確定。 從機(jī)地址由固定位和可編程位組成。固定位由器件出廠時(shí)給定,用戶不能自行設(shè)置,它是器件的標(biāo)識(shí)碼。當(dāng)系統(tǒng)中運(yùn)用了多個(gè)一樣器件時(shí),從機(jī)地址中的可編程位,可使這些器件具有不同的地址;這些可編程位也規(guī)定了I2C總線上同類芯片的最大個(gè)數(shù)。 10.1.3 I2C總線的尋址表10.1常見I2C器件的標(biāo)識(shí)碼類別型號(hào)A6A3靜態(tài)RAMPCF8570/711010PCF8570C1011E2PROMPCF85821010AT24C021010AT24C041010AT24C081010AT24C161010I/O口PCF8
12、5740100PCF8574A0111LED/LCD驅(qū)動(dòng)控制器SAA10640111PCF85760111PCF8578/790111ADC/DACPCF89511001日歷時(shí)鐘PCF8583101010.1.4 單片機(jī)主從系統(tǒng)I2C總線模擬程序MCS-51單片機(jī)沒有I2C總線接口,只能采用虛擬I2C總線方式,并且只能用于主從系統(tǒng)。虛擬I2C總線接口利用MCS-51單片機(jī)的I/O口線作為數(shù)據(jù)線SDA和時(shí)鐘線SCL,經(jīng)過軟件延時(shí)實(shí)現(xiàn)I2C總線傳輸數(shù)據(jù)的時(shí)序要求。四種典型信號(hào)的時(shí)序 二、典型信號(hào)模擬子程序二、典型信號(hào)模擬子程序1起始信號(hào)起始信號(hào)void XAZD_I2C_Start(void) S
13、DA=1; NOP; SCL=1; NOP; NOP; NOP; NOP; NOP; SDA=0; NOP; NOP; NOP; NOP; SCL=0; NOP;二、典型信號(hào)模擬子程序二、典型信號(hào)模擬子程序2終止信號(hào)終止信號(hào)void XAZD_I2C_Stop(void) SDA=0; NOP; NOP; SCL=1; NOP; NOP; NOP; NOP; NOP; SDA=1; NOP; NOP; NOP; NOP; NOP;二、典型信號(hào)模擬子程序二、典型信號(hào)模擬子程序(3)發(fā)送應(yīng)對(duì)位發(fā)送應(yīng)對(duì)位0void XAZD_I2C_Ack() SDA=0; NOP; NOP; NOP; SCL=1
14、; NOP; NOP; NOP; NOP; NOP; SCL=0; NOP; NOP;二、典型信號(hào)模擬子程序二、典型信號(hào)模擬子程序(4)發(fā)送非應(yīng)對(duì)位發(fā)送非應(yīng)對(duì)位1void XAZD_I2C_Ack() SDA=1; NOP; NOP; NOP; SCL=1; NOP; NOP; NOP; NOP; NOP; SCL=0; NOP; NOP;10.1.5 I2C總線運(yùn)用 一、串行一、串行E2PROM的擴(kuò)展的擴(kuò)展 1串行串行E2PROM典型產(chǎn)品典型產(chǎn)品 AT24C01:128字節(jié)1288位; AT24C02:256字節(jié)2568位;AT24C04:512字節(jié)5128位AT24C08:1K字節(jié)1K8位
15、;AT24C16:2K字節(jié)2K8位; ATMEL公司的公司的AT24C系列:系列: 10.1.5 I2C總線運(yùn)用MCS-51單片機(jī)與AT24C02 的銜接電路 二I2C總線擴(kuò)展E2PROM AT24C02與80C51接口 10.1.5 I2C總線運(yùn)用 2寫入過程寫入過程 AT24C系列系列E2PROM芯片地址的固定部分為芯片地址的固定部分為1010,A2、A1、A0引腳接高、引腳接高、低電平后得到確定的低電平后得到確定的3位編碼。構(gòu)成的位編碼。構(gòu)成的7位編碼即為該器件的地址碼。位編碼即為該器件的地址碼。 單片機(jī)進(jìn)展寫操作時(shí),首先發(fā)送該器件的單片機(jī)進(jìn)展寫操作時(shí),首先發(fā)送該器件的7位地址碼和寫方向
16、位位地址碼和寫方向位“0共共8位,即一個(gè)字節(jié),發(fā)送完后釋放位,即一個(gè)字節(jié),發(fā)送完后釋放SDA線并在線并在SCL線上產(chǎn)生第線上產(chǎn)生第9個(gè)個(gè)時(shí)鐘信號(hào)。被選中的存儲(chǔ)器器件在確認(rèn)是本人的地址后,在時(shí)鐘信號(hào)。被選中的存儲(chǔ)器器件在確認(rèn)是本人的地址后,在SDA線上產(chǎn)線上產(chǎn)生一個(gè)應(yīng)對(duì)信號(hào)作為相應(yīng),單片機(jī)收到應(yīng)對(duì)后就可以傳送數(shù)據(jù)了。生一個(gè)應(yīng)對(duì)信號(hào)作為相應(yīng),單片機(jī)收到應(yīng)對(duì)后就可以傳送數(shù)據(jù)了。10.1.5 I2C總線運(yùn)用 傳送數(shù)據(jù)時(shí),單片機(jī)首先發(fā)送一個(gè)字節(jié)的被寫入器件的存儲(chǔ)區(qū)的首地傳送數(shù)據(jù)時(shí),單片機(jī)首先發(fā)送一個(gè)字節(jié)的被寫入器件的存儲(chǔ)區(qū)的首地址,收到存儲(chǔ)器器件的應(yīng)對(duì)后,單片機(jī)就逐個(gè)發(fā)送各數(shù)據(jù)字節(jié),但每發(fā)址,收到存儲(chǔ)器
17、器件的應(yīng)對(duì)后,單片機(jī)就逐個(gè)發(fā)送各數(shù)據(jù)字節(jié),但每發(fā)送一個(gè)字節(jié)后都要等待應(yīng)對(duì)。送一個(gè)字節(jié)后都要等待應(yīng)對(duì)。 AT24C系列器件片內(nèi)地址在接納到每一個(gè)數(shù)據(jù)字節(jié)地址后自動(dòng)加系列器件片內(nèi)地址在接納到每一個(gè)數(shù)據(jù)字節(jié)地址后自動(dòng)加1,在芯片的在芯片的“一次裝載字節(jié)數(shù)不同芯片字節(jié)數(shù)不同限制內(nèi),只需輸入一次裝載字節(jié)數(shù)不同芯片字節(jié)數(shù)不同限制內(nèi),只需輸入首地址。裝載字節(jié)數(shù)超越芯片的首地址。裝載字節(jié)數(shù)超越芯片的“一次裝載字節(jié)數(shù)時(shí),數(shù)據(jù)地址將一次裝載字節(jié)數(shù)時(shí),數(shù)據(jù)地址將“上卷上卷,前面的數(shù)據(jù)將被覆蓋。,前面的數(shù)據(jù)將被覆蓋。 當(dāng)要寫入的數(shù)據(jù)傳送完后,單片機(jī)應(yīng)發(fā)出終止信號(hào)以終了寫入操作。寫入當(dāng)要寫入的數(shù)據(jù)傳送完后,單片機(jī)應(yīng)發(fā)出
18、終止信號(hào)以終了寫入操作。寫入n個(gè)個(gè)字節(jié)的數(shù)據(jù)格式字節(jié)的數(shù)據(jù)格式 :10.1.5 I2C總線運(yùn)用 3讀出過程讀出過程 單片機(jī)先發(fā)送該器件的單片機(jī)先發(fā)送該器件的7位地址碼和寫方向位位地址碼和寫方向位“0“偽寫,發(fā)送完后釋放偽寫,發(fā)送完后釋放SDA線并在線并在SCL線上線上產(chǎn)生第產(chǎn)生第9個(gè)時(shí)鐘信號(hào)。被選中的存儲(chǔ)器器件在確認(rèn)是個(gè)時(shí)鐘信號(hào)。被選中的存儲(chǔ)器器件在確認(rèn)是本人的地址后,在本人的地址后,在SDA線上產(chǎn)生一個(gè)應(yīng)對(duì)信號(hào)作為線上產(chǎn)生一個(gè)應(yīng)對(duì)信號(hào)作為相應(yīng)。相應(yīng)。 然后,再發(fā)一個(gè)字節(jié)的要讀出器件的存儲(chǔ)區(qū)的首地址,收到應(yīng)對(duì)后,單片機(jī)要然后,再發(fā)一個(gè)字節(jié)的要讀出器件的存儲(chǔ)區(qū)的首地址,收到應(yīng)對(duì)后,單片機(jī)要反復(fù)一
19、次起始信號(hào)并發(fā)出器件地址和讀方向位反復(fù)一次起始信號(hào)并發(fā)出器件地址和讀方向位“1,收到器件應(yīng)對(duì)后就可以,收到器件應(yīng)對(duì)后就可以讀出數(shù)據(jù)字節(jié),每讀出一個(gè)字節(jié),單片機(jī)都要回復(fù)應(yīng)對(duì)信號(hào)。當(dāng)最后一個(gè)字節(jié)數(shù)讀出數(shù)據(jù)字節(jié),每讀出一個(gè)字節(jié),單片機(jī)都要回復(fù)應(yīng)對(duì)信號(hào)。當(dāng)最后一個(gè)字節(jié)數(shù)據(jù)讀完后,單片機(jī)應(yīng)前往以據(jù)讀完后,單片機(jī)應(yīng)前往以“非應(yīng)對(duì)高電平,并發(fā)出終止信號(hào)以終了讀出操非應(yīng)對(duì)高電平,并發(fā)出終止信號(hào)以終了讀出操作。作。 10.1.5 I2C總線運(yùn)用例:編程實(shí)現(xiàn)向24C02C的30H開場(chǎng)的16個(gè)單元寫入00H到0FH共16個(gè)數(shù)據(jù),然后從24C02C中讀數(shù)據(jù),數(shù)據(jù)送AT89c51中40H開場(chǎng)的16個(gè)單元。10.2 SP
20、I總線擴(kuò)展技術(shù) SPISerial Peripheral Interface總線是Motorola公司提出的一種同步串行外設(shè)接口, 它可以使微控制器MCU與各種外圍設(shè)備以串行方式進(jìn)展通訊以交換信息。外圍設(shè)備包括FLASHRAM、網(wǎng)絡(luò)控制器、LCD顯示驅(qū)動(dòng)器、A/ D 轉(zhuǎn)換器和微控制器等。 SPI總線運(yùn)用同步協(xié)議傳送數(shù)據(jù),接納或發(fā)送數(shù)據(jù)時(shí)由主機(jī)產(chǎn)生的時(shí)鐘信號(hào)控制。SPI接口可以銜接多個(gè)SPI芯片或安裝,主機(jī)經(jīng)過選擇它們的片選來分時(shí)訪問不同的芯片。 10.2.1 SPI總線 一SPI總線構(gòu)成MOSIMaster Out Slave In:主機(jī)發(fā)送從機(jī)接納。 MISOMaster In Slave
21、Out:主機(jī)接納從機(jī)發(fā)送 SCLK或SCKSerial Clock:串行時(shí)鐘 CSSS (Chip Select for the peripheral):外圍器件的片選。有的微控制器設(shè)有公用的SPI接口的片許,稱為從機(jī)選擇 。 MOSI (SI或SDI)信號(hào)由主機(jī)產(chǎn)生,接納者為從機(jī);ISO (SO或SDO)信號(hào)由從機(jī)發(fā)出;CLK或SCK由主機(jī)發(fā)出,用來同步數(shù)據(jù)傳送;片選信號(hào)也由主機(jī)產(chǎn)生,用來選擇從機(jī)芯片或安裝。 10.2.1 SPI總線二SPI總線信號(hào)線根本銜接關(guān)系: SPI 總線系統(tǒng)有以下幾種方式:1個(gè)主機(jī)和多個(gè)從機(jī)、多個(gè)從機(jī)相互銜接構(gòu)成多主機(jī)系統(tǒng)(分布式系統(tǒng)) 、1個(gè)主機(jī)與1個(gè)或幾個(gè)I/
22、O設(shè)備構(gòu)成的系統(tǒng)等。10.2.1 SPI總線三主從方式SPI總線接口系統(tǒng)的典型構(gòu)造1在大多數(shù)運(yùn)用場(chǎng)所,可運(yùn)用1個(gè)微控制器作為主控機(jī)來控制數(shù)據(jù)傳送,并向1個(gè)或幾個(gè)外圍器件傳送數(shù)據(jù)。從機(jī)只需在主機(jī)發(fā)命令時(shí)才干接納或發(fā)送數(shù)據(jù) 。 2當(dāng)一個(gè)主機(jī)經(jīng)過SPI與多個(gè)芯片相連時(shí),必需運(yùn)用每個(gè)芯片的片選,這可經(jīng)過MCU的I/O端口輸出線來實(shí)現(xiàn)。 MCUIC1IC2IC3SCKSISOCSCSCSSCKMOSIMISOSCKSISOSCKSISOIO1IO2IO310.2.2 SPI總線鍵盤顯示器芯片HD 7279A 一 HD7279A功能RESETRCCLKODIG7DIG6DIG5DIG4DIG3DIG2DI
23、G1DIG0DPSASBVDDVDDNCVSSNCCSCLKDATASGKEYSFSESDSC12345678910111213142827262524232221201918171615HD7279A是一種管理鍵盤和LED顯示器的公用智能控制芯片。能對(duì)8位共陰極LED顯示器或64個(gè)LED發(fā)光管進(jìn)展管理和驅(qū)動(dòng),同時(shí)能對(duì)多達(dá)88的鍵盤矩陣的按鍵情況進(jìn)展監(jiān)視,具有自動(dòng)消除鍵抖動(dòng)和識(shí)別按鍵代碼的功能。10.2.2 SPI總線鍵盤顯示器芯片HD 7279A1任務(wù)電源VDD引腳1、2+5V電源VSS引腳4電源地2片選及控制CS(引腳6)片選信號(hào)輸入端。低電平常,可向HD7279A發(fā)送指令及讀取鍵盤數(shù)據(jù)。
24、CLK引腳7數(shù)據(jù)串行傳送的同步時(shí)鐘輸入端。向HD7279A發(fā)送數(shù)據(jù)和讀取鍵盤數(shù)據(jù)時(shí),CLK時(shí)鐘的上升沿表示數(shù)據(jù)有效。 一 HD7279A功能10.2.2 SPI總線鍵盤顯示器芯片HD 7279ADATA引腳8為串行數(shù)據(jù)輸入/輸出端,當(dāng)HD7279A接納命令時(shí),DATA為輸入;當(dāng)讀取鍵盤數(shù)據(jù)時(shí),DATA引腳在“讀命令的最后一個(gè)時(shí)鐘的下降沿變?yōu)檩敵?。?dāng)向HD7279A發(fā)送數(shù)據(jù)時(shí),DATA為輸出端;RESET引腳28復(fù)位端。低電平有效。由低電平變成高電平并堅(jiān)持25ms即可實(shí)現(xiàn)HD7279A的復(fù)位。 KEY引腳9按鍵有效輸出端,在無鍵按下時(shí)為高電平;當(dāng)有鍵按下時(shí),變?yōu)榈碗娖讲⑶也粩鄨?jiān)持到鍵釋放為止。
25、一 HD7279A功能10.2.2 SPI總線鍵盤顯示器芯片HD 7279A3鍵盤和LED數(shù)碼管銜接引腳 DIG0DIG7引腳1825LED數(shù)碼管顯示位置驅(qū)動(dòng)控制端,與LED數(shù)碼管的公共端相接,也作為鍵盤的列掃描線。 SASG引腳1016LED數(shù)碼管的A段G段的驅(qū)動(dòng)輸出端。 DP引腳17LED數(shù)碼管的小數(shù)點(diǎn)的驅(qū)動(dòng)輸出端。 SASG和DP可以作為鍵盤的行掃描線。HD7279A的芯片內(nèi)具有驅(qū)動(dòng)電路,可以直接驅(qū)動(dòng)1英吋及以下的LED數(shù)碼管。DIG0DIG7和SASG及DP還可作為鍵盤的列掃描線和行掃描線,完成對(duì)鍵盤的監(jiān)視、譯碼和鍵碼的識(shí)別。 一 HD7279A功能10.2.2 SPI總線鍵盤顯示器芯
26、片HD 7279A4RC振蕩器振蕩輸入和輸出RC引腳27RC電路的輸入端,銜接HD7279A的外接振蕩元件,其典型值為R=1.5k, C=15pF。CLKO引腳26振蕩電路的輸出端。另外,引腳3和引腳5沒有定義,運(yùn)用時(shí)必需懸空。 一 HD7279A功能10.2.2 SPI總線鍵盤顯示器芯片HD 7279A二 HD7279A的控制命令HD7279A有6條不帶數(shù)據(jù)的命令、7條帶數(shù)據(jù)命令和1條讀鍵盤命令。一不帶數(shù)據(jù)的命令1 復(fù)位命令復(fù)位命令的代碼為0A4H。當(dāng)HD7279A接納到該命令后,把一切的顯示去除,包括字符消隱屬性和閃爍屬性,芯片的形狀與系統(tǒng)上電后的形狀一樣。2 測(cè)試命令測(cè)試命令的代碼為0B
27、FH。當(dāng)HD7279A接納到該命 令后,把一切的LED點(diǎn)亮并閃爍,主要用于測(cè)試和自檢。10.2.2 SPI總線鍵盤顯示器芯片HD 7279A3 左移命令左移命令的代碼為0A1H。當(dāng)HD7279A接納到該命令后,把一切的顯示左移1位,移位后,最右位空無顯示,該命令不改動(dòng)各位所設(shè)置的消隱和閃爍屬性。4 右移命令右移命令的代碼為0A0H,右移命令功能與左移指令類似,只是方向相反。當(dāng)HD7279A接納到該命令后,把一切的顯示右移1位,移位后,最左位空無顯示,該命令不改動(dòng)消隱和閃爍屬性。二 HD7279A的控制命令10.2.2 SPI總線鍵盤顯示器芯片HD 7279A5 循環(huán)左移命令循環(huán)左移命令的代碼為
28、0A3H。當(dāng)HD7279A接納到該命令后,把一切的顯示循環(huán)左移1位。移位后,最左位LD7內(nèi)容移至最右位LD1,如圖10.23所示。該命令不改動(dòng)各個(gè)顯示位的消隱和閃爍屬性。6 循環(huán)右移命令循環(huán)右移命令的代碼為0A2H。循環(huán)右移命令的功能與循環(huán)左移命令類似,只是方向相反。二 HD7279A的控制命令10.2.2 SPI總線鍵盤顯示器芯片HD 7279A二 帶數(shù)據(jù)命令1 按方式0譯碼的下載命令 二 HD7279A的控制命令D710000a2a1a0DPd3d2d1d0D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0a2、a1、a0用來指出顯示位,顯示位LD7為最高位。第2字節(jié)為顯示內(nèi)容,
29、其中DP為小數(shù)點(diǎn)控制位,當(dāng)DP1,顯示小數(shù)點(diǎn);當(dāng)DP0,不顯示小數(shù)點(diǎn)。d3d2d1d0用來指出顯示數(shù)據(jù)。 LD2LD3LD0LD1LD6LD7LD4LD5表 10.3 數(shù)據(jù) d3d2d1d0 的方式 0 譯碼真值表 d3 d2 d1 d0 十六進(jìn)制 七段數(shù)碼管顯示 0 0 0 0 00H 0 0 0 1 01H 0 0 1 0 02H 0 0 1 1 03H 0 1 0 0 04H 0 1 0 1 05H 0 1 1 0 06H 0 1 1 1 07H 1 0 0 0 08H 1 0 0 1 09H 1 0 1 0 0AH 1 0 1 1 0BH 1 1 0 0 0CH 1 1 0 1 0DH
30、 1 1 1 0 0EH 0 1 1 1 0FH 空(不顯示) 10.2.2 SPI總線鍵盤顯示器芯片HD 7279A二 HD7279A的控制命令二 帶數(shù)據(jù)命令2按方式1譯碼的下載命令 D711001a2a1a0DPd3d2d1d0D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0該命令和按方式0譯碼下載命令的含義根本一樣。 HD7279A收到該命令后,把d3d2d1d0按方式1譯碼并顯示。 表 10.4 數(shù)據(jù) d3d2d1d0 的方式 1 譯碼真值表 d3 d2 d1 d0 十六進(jìn)制 七段數(shù)碼管顯示 0 0 0 0 00H 0 0 0 1 01H 0 0 1 0 02H 0 0 1
31、 1 03H 0 1 0 0 04H 0 1 0 1 05H 0 1 1 0 06H 0 1 1 1 07H 1 0 0 0 08H 1 0 0 1 09H 1 0 1 0 0AH 1 0 1 1 0BH 1 1 0 0 0CH 1 1 0 1 0DH 1 1 1 0 0EH 0 1 1 1 0FH 10.2.2 SPI總線鍵盤顯示器芯片HD 7279A二 帶數(shù)據(jù)命令3不譯碼的下載命令 二 HD7279A的控制命令a2 a1 a0用來指出顯示位,第2字節(jié)為顯示內(nèi)容,其中dp和ag分別代表小數(shù)點(diǎn)和LED數(shù)碼管顯示器的7個(gè)顯示段,數(shù)據(jù)位為1時(shí),該段點(diǎn)亮;假設(shè)數(shù)據(jù)位為0時(shí),該段不顯示。 D71001
32、0a2a1a0dpabcdefgD6D5D4D3D2D1D0D7D6D5D4D3D2D1D010.2.2 SPI總線鍵盤顯示器芯片HD 7279A二 帶數(shù)據(jù)命令4閃爍控制命令 二 HD7279A的控制命令D710001000D7D6D5D4D3D2D1D0D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0閃爍控制命令規(guī)定了每個(gè)數(shù)碼管的閃爍屬性。D0D7別對(duì)應(yīng)LD0LD7數(shù)碼管。假設(shè)Di=1,那么數(shù)碼管閃爍,假設(shè)Di=0 ,那么數(shù)碼管不閃爍。系統(tǒng)上電后,缺省形狀為一切數(shù)碼管均不閃爍。 10.2.2 SPI總線鍵盤顯示器芯片HD 7279A消隱控制命令控制各個(gè)數(shù)碼管的消隱屬性,D7D0分
33、別對(duì)應(yīng)數(shù)碼管LD7LD0, Di=0 ,那么數(shù)碼管被消隱,假設(shè)Di=1 ,那么數(shù)碼管顯示。當(dāng)某一位被賦予消隱屬性后,HD7279A在掃描時(shí)將跳過該位。 二 帶數(shù)據(jù)命令5消隱控制命令 二 HD7279A的控制命令D710011000D7D6D5D4D3D2D1D0D6D5D4D3D2D1D0D7D6D5D4D3D2D1D010.2.2 SPI總線鍵盤顯示器芯片HD 7279A段點(diǎn)亮命令的功能是點(diǎn)亮數(shù)碼管中的某一指定的段、或LED發(fā)光管矩陣中的某一指定的LED。命令中D5D0為數(shù)碼管顯示段的編號(hào),范圍為:00H3FH。 二 帶數(shù)據(jù)命令6 顯示段點(diǎn)亮命令 二 HD7279A的控制命令D7111000
34、00D5D4D3D2D1D0D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0表 10.5 顯示段編號(hào)與顯示段的對(duì)應(yīng)關(guān)系。 g f e d c b a dp LD0 00 01 02 03 04 05 06 07 LD1 08 09 0A 0B 0C 0D 0E 0F LD2 10 11 12 13 14 15 16 17 LD3 18 19 1A 1B 1C 1D 1E 1F LD4 20 21 22 23 24 25 26 27 LD5 28 29 2A 2B 2C 2D 2E 2F LD6 33 31 32 33 34 35 36 37 LD7 38 39 3A 3B 3C 3
35、D 3E 3F 段 編號(hào) 數(shù)碼管 10.2.2 SPI總線鍵盤顯示器芯片HD 7279A顯示段封鎖命令的作用是封鎖熄滅某個(gè)數(shù)碼管中的某一段。 二 帶數(shù)據(jù)命令7 顯示段封鎖命令 二 HD7279A的控制命令D711000000D5D4D3D2D1D0D6D5D4D3D2D1D0D7D6D5D4D3D2D1D010.2.2 SPI總線鍵盤顯示器芯片HD 7279A讀取鍵盤命令的作用是讀取當(dāng)前的鍵盤代碼。與其他帶數(shù)據(jù)的指令不同,該命令的第一個(gè)字節(jié)00010101是單片機(jī)傳送到HD7279A的命令,而第二個(gè)字節(jié)D7D0是HD7279A前往的按鍵代碼。HD7279A的DIG0DIG7作為鍵盤的行掃描,S
36、ASG和DP作為列掃描線,可以構(gòu)成一個(gè)88的矩陣鍵盤。當(dāng)有鍵按下時(shí)其范圍是00H3FH;而無鍵按下時(shí)代碼是FFH。 三讀取鍵盤數(shù)據(jù)命令 二 HD7279A的控制命令D700010101D7D6D5D4D3D2D1D0D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0表 10.6 按鍵代碼的定義 10.2.2 SPI總線鍵盤顯示器芯片HD 7279A三 HD7279A的時(shí)序 HD7279A采用串行方式與微處置器通訊,串行數(shù)據(jù)從DATA引腳送入芯片,由CLK引腳輸入的同步時(shí)鐘同步。在DATA引腳上的數(shù)據(jù)在CLK的上升沿被寫入HD7279A的存放器。不帶數(shù)據(jù)的命令的寬度為8個(gè)位,即微處置器
37、需求發(fā)送8個(gè)CLK脈沖;帶數(shù)據(jù)的命令的寬度為16個(gè)位,即需求發(fā)送16個(gè)CLK脈沖;讀取鍵盤數(shù)據(jù)命令的寬度為16個(gè)位,前8個(gè)位為微處置器發(fā)送到HD7279A的命令,后8個(gè)位是HD7279A前往的鍵盤代碼數(shù)據(jù)。在HD7279A執(zhí)行讀取鍵盤數(shù)據(jù)命令時(shí),DATA引腳在第9個(gè)CLK脈沖的上升沿時(shí)變?yōu)檩敵鲂螤?,在?6個(gè)CLK脈沖的下降沿恢復(fù)為輸入形狀,等待接納下一條命令。 2帶數(shù)據(jù)的命令時(shí)序1不帶數(shù)據(jù)的命令時(shí)序3讀取鍵盤數(shù)據(jù)命令10.2.2 SPI總線鍵盤顯示器芯片HD 7279ALD2LD3LD0LD1LD6LD4LD5CLKODIG7DIG6DIG5DIG4DIG3DIG2DIG1DIG0DPSAS
38、BVDDVDDCSCLKDATAKEYSGSFSESDSCRESETRC3F3E3D3C3B3A393837363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A191817161514131211100F0E0D0C0B0A09080706050403020100LD7dpabgfedc+5V+5VVSSMCURCRP1RP21.5k15pF200100k88RP210k8 HD7279A的典型運(yùn)用電路的典型運(yùn)用電路 四 HD7279A與MCS-51單片機(jī)的接口10.2.3 SPI總線多通道串行輸出A/D芯片 TLC2543及接口
39、TLC2543為12位開關(guān)電容逐次逼近的CMOS A/D轉(zhuǎn)換器,它是TI公司消費(fèi)的一種串行A/D轉(zhuǎn)換器,它具有輸入通道多,精度高,速度高,運(yùn)用靈敏和體積小的優(yōu)點(diǎn)。10.2.3 SPI總線多通道串行輸出A/D芯片 TLC2543及接口 由通道選擇器、數(shù)據(jù)地址和命令字輸入存放器、采樣/堅(jiān)持電路、12位的模/數(shù)轉(zhuǎn)換器,輸出存放器、并行/串行轉(zhuǎn)換器以及控制邏輯電路等部分組成。通道選擇器根據(jù)輸入地址存放器中存放的模擬輸入通道地址,選擇輸入通道,并將該輸入通道中的模擬信號(hào)送到采樣/堅(jiān)持電路中;然后,在12位模/數(shù)轉(zhuǎn)換器中,把采樣的模擬量進(jìn)展量化編碼,轉(zhuǎn)換成數(shù)字量并存放到輸出存放器中。轉(zhuǎn)換結(jié)果經(jīng)過并行/串行
40、轉(zhuǎn)換器轉(zhuǎn)換成串行數(shù)據(jù),從DOUT引腳輸出。 10.2.3 SPI總線多通道串行輸出A/D芯片 TLC2543及接口TLC2543VCCEOCI/O CLOCKDINDOUTREF+REF+AIN7AIN1AIN2AIN3AIN5AIN4AIN6AIN0AIN8GNDAIN10AIN9CS6578123491011151614132019181712(一) TLC2543的引腳功能 1AIN0AIN10引腳19,引腳11、引腳12:輸入,模擬量輸入通道,在運(yùn)用4.1MHz的I/O時(shí)鐘時(shí),外部輸入設(shè)備的輸出阻抗應(yīng)小于或等于30。2 引腳15:輸入,片選。引腳出現(xiàn)一個(gè)從高到低的變化可以使芯片內(nèi)部存放
41、器復(fù)位,同時(shí)使能DIN DOUT和I/O時(shí)鐘輸入。當(dāng)引腳出現(xiàn)一個(gè)從低到高的變化時(shí),數(shù)據(jù)輸入、數(shù)據(jù)輸出和I/O時(shí)鐘輸入無效。 CS10.2.3 SPI總線多通道串行輸出A/D芯片 TLC2543及接口3DIN引腳17:輸入,串行數(shù)據(jù)輸入端。最先輸入的4位用來選擇模擬量輸入通道。數(shù)據(jù)傳送時(shí)最高位在前,每一個(gè)I/O時(shí)鐘的上升沿送入一位數(shù)據(jù),最先4位數(shù)據(jù)輸入到地址存放器后,接下來的4位用來設(shè)置TLC2543的任務(wù)方式。 4DOUT引腳16:輸出,串行數(shù)據(jù)輸出端,輸出的數(shù)據(jù)有3種長(zhǎng)度可供選擇:8位、12位和16位,數(shù)據(jù)輸出的順序可以在TLC2543的任務(wù)方式中設(shè)定。數(shù)據(jù)輸出引腳DOUT在為高時(shí)呈高阻形狀
42、,在為低電平常,DOUT引腳輸出有效。 (一) TLC2543的引腳功能 10.2.3 SPI總線多通道串行輸出A/D芯片 TLC2543及接口5EOC引腳19:輸出,A/D轉(zhuǎn)換終了信號(hào),在命令的最后一個(gè)I/O時(shí)鐘的下降沿變低,A/D轉(zhuǎn)換終了后,由EOC由低電平變?yōu)楦唠娖健?I/O CLOCK引腳18:輸入,輸入/輸出同步時(shí)鐘,它有4種功能:1在I/O CLOCK的前8個(gè)上升沿,把命令字輸入到的數(shù)據(jù)輸入存放器,其中前4個(gè)是輸入通道地址選擇。2在I/O CLOCK的第4個(gè)I/O時(shí)鐘的下降沿,選中通道的模擬信號(hào)對(duì)芯片中電容陣列進(jìn)展充電,直到最后一個(gè)I/O時(shí)鐘終了。3I/O時(shí)鐘把上次轉(zhuǎn)換結(jié)果輸出,在
43、最后一個(gè)數(shù)據(jù)輸出完后,開場(chǎng)下一次轉(zhuǎn)換。4在最后一個(gè)I/O時(shí)鐘的下降沿,把EOC變?yōu)榈碗娖健?一) TLC2543的引腳功能 10.2.3 SPI總線多通道串行輸出A/D芯片 TLC2543及接口7參考電源REF 引腳14,正參考電壓。REF 引腳13,負(fù)參考電壓。最大的輸入電壓取決于正參考電壓與負(fù)參考電壓的差值。8芯片任務(wù)電源Vcc引腳20,電源正極,5V。GND引腳10,電源地。 (一) TLC2543的引腳功能 10.2.3 SPI總線多通道串行輸出A/D芯片 TLC2543及接口二 TLC2543的時(shí)序圖10.31 運(yùn)用片選信號(hào)高位在前的時(shí)序CS10.2.3 SPI總線多通道串行輸出A/
44、D芯片 TLC2543及接口二 TLC2543的時(shí)序圖10.32 不運(yùn)用片選信號(hào)高位在前的時(shí)序CS10.2.3 SPI總線多通道串行輸出A/D芯片 TLC2543及接口TCL2543的每次轉(zhuǎn)換都必需給其寫入命令字,以便確定下一次轉(zhuǎn)換用哪個(gè)通道,下次轉(zhuǎn)換結(jié)果用多少位輸出,轉(zhuǎn)換結(jié)果輸出是低位在前還是高位在前。 三 TCL2543的命令字 D7D6D5D4D3D2D1D0其中,高4位D7D6D5D4用于選擇模擬量輸入通道,D3D2用于選擇輸出數(shù)據(jù)的位數(shù),D1用于設(shè)定輸出數(shù)據(jù)的位輸出順序是高位在前還是低位在前,最低位D0用于選擇輸出數(shù)據(jù)的極性。 10.2.3 SPI總線多通道串行輸出A/D芯片 TLC
45、2543及接口1高4位D7D4設(shè)置,可以實(shí)現(xiàn)從11個(gè)模擬量輸入通道中選擇1個(gè)通道進(jìn)展轉(zhuǎn)換;或從3個(gè)內(nèi)部自測(cè)電壓中選擇一個(gè),以對(duì)轉(zhuǎn)換器進(jìn)展校準(zhǔn);或者選擇軟件掉電方式。 三 TCL2543的命令字 表 10.7 命令字高 4 位設(shè)置 模擬量通道選擇 D7 D6 D5 D4 模擬量通道 0 0 0 0 AIN0 0 0 0 1 AIN1 0 0 1 0 AIN2 0 0 1 1 AIN3 0 1 0 0 AIN4 0 1 0 1 AIN5 0 1 1 0 AIN6 0 1 1 1 AIN7 1 0 0 0 AIN8 1 0 0 1 AIN9 1 0 1 0 AIN10 校準(zhǔn)電壓選擇 1 0 1 1
46、2/ )(REFREFVV 1 1 0 0 REFV 1 1 0 1 REFV 軟件掉電選擇 1 1 1 0 軟件掉電 10.2.3 SPI總線多通道串行輸出A/D芯片 TLC2543及接口2D3D2位選擇A/D轉(zhuǎn)換結(jié)果的數(shù)據(jù)輸出位數(shù)。 轉(zhuǎn)換器的分辨率為12位,內(nèi)部轉(zhuǎn)換結(jié)果總是12位長(zhǎng),選擇l2位數(shù)據(jù)長(zhǎng)度時(shí),一切的位都被輸出。選擇8位數(shù)據(jù)長(zhǎng)度時(shí),低4位被截去。選擇l6位時(shí),在轉(zhuǎn)換結(jié)果的低位添加了4個(gè)被置為0的填充位。 三 TCL2543的命令字 表 10.8 A/D 轉(zhuǎn)換結(jié)果輸出位數(shù)的設(shè)置 D3 D2 輸出數(shù)據(jù)位數(shù) 0 12 位 0 1 8 位 1 1 16 位 10.2.3 SPI總線多通道
47、串行輸出A/D芯片 TLC2543及接口3D1位選擇輸出數(shù)據(jù)的傳送方式,即下一個(gè)I/O周期,A/D轉(zhuǎn)換結(jié)果的數(shù)據(jù)以低位在前或高位在前的方式串行輸出。當(dāng)D1位為0時(shí),A/D轉(zhuǎn)換結(jié)果以高位在前的方式從DOUT腳輸出;當(dāng)D1位為1時(shí),那么以低位在前的方式從DOUT腳輸出。4D0位是設(shè)置A/D轉(zhuǎn)換結(jié)果是以單極性還是雙極性二進(jìn)制數(shù)補(bǔ)碼表示。當(dāng)D0位為0時(shí),A/D轉(zhuǎn)換結(jié)果以二進(jìn)制數(shù)方式表示;當(dāng)D0位為1時(shí),那么以二進(jìn)制數(shù)補(bǔ)碼方式表示 三 TCL2543的命令字 10.2.3 SPI總線多通道串行輸出A/D芯片 TLC2543及接口四TLC2543 與MCS-51單片機(jī)的接口程序設(shè)計(jì) CSIO CLKDIN
48、DOUTP1.3P1.0P1.1P1.2MCS-51TLC254310.2.3 SPI總線多通道串行輸出A/D芯片 TLC2543及接口TLC2543 的8位A/D轉(zhuǎn)換及數(shù)據(jù)傳送程序(結(jié)果在R2中)TLC_8AD: MOV R4,#04H ;命令字,AIN0,8位數(shù)據(jù),高位在前MOV A,R4 ;A中為命令字 CLR P1.3 ;片選有效,選中TLC2543MSB: MOV R5,#08H ;發(fā)送命令字,接納8位結(jié)果LOOP: MOV P1,#04H ;置P1.2為輸入 MOV C,P1.2 ;讀P1.2,把DOUT位數(shù)據(jù)讀入 RLC A ;結(jié)果移入A,同時(shí)寫命令字 MOV P1.1,C ;將
49、命令字的一位經(jīng)DIN移入 SETB P1.0 ;產(chǎn)生一個(gè)時(shí)鐘脈沖 NOP CLR P1.0 DJNZ R5,LOOP MOV R2,A ;A/D轉(zhuǎn)換的數(shù)據(jù)存于R2中 RET10.2.4串行輸入D/A芯片TLC5615接口技術(shù) TLC5615是具有SPI串行接口的數(shù)模D/A轉(zhuǎn)換器,其輸出為電壓型,最大輸出電壓是基準(zhǔn)電壓值的2倍。TLC5615有以下特點(diǎn):110位CMOS電壓輸出;2單一5V直流電源供電;3與CPU三線串行接口; 4最大輸出電壓可達(dá)基準(zhǔn)電壓的2倍;5輸出電壓具有和基準(zhǔn)電壓一樣極性;6建立時(shí)間12.5s;7內(nèi)部上電復(fù)位,可以把DAC存放器復(fù)位至全零形狀。8低功耗,最大僅1.75mW。
50、10.2.4串行輸入D/A芯片TLC5615接口技術(shù)一TLC5615的片內(nèi)構(gòu)造和引腳功能10.2.4串行輸入D/A芯片TLC5615接口技術(shù)一TLC5615的片內(nèi)構(gòu)造和引腳功能VDDAGNDREFINDOUTSCLKDINOUTTLC5615CS12346578CS1DIN(引腳1):輸入,串行數(shù)據(jù)輸入; 2SCLK(引腳2):輸入,串行時(shí)鐘輸入;3 (引腳3):輸入,芯片選擇,低電平有效;4DOUT(引腳4):輸出,用于多個(gè)芯片級(jí)聯(lián)時(shí)的串行數(shù)據(jù)輸出;5AGND(引腳5):模擬地; 6REFIN(引腳6):參考電壓輸入; 7OUT(引腳7):輸出,模擬電壓輸出;8VDD(引腳8):電源。10.
51、2.4串行輸入D/A芯片TLC5615接口技術(shù)二TLC5615的時(shí)序 10.2.4串行輸入D/A芯片TLC5615接口技術(shù)三TLC5615與MCS-51單片機(jī)的接口及程序設(shè)計(jì) DINSCLKDOUTAGNDREFIN80C51+5Vk2P3.2P3.1P3.0TLC5615CSVDD2.5VRDOUT10.2.4串行輸入D/A芯片TLC5615接口技術(shù) 把待轉(zhuǎn)換的12位數(shù)據(jù)存放在存放器R6和R7中,R6存放高4位,R7存放低8位 TLC_DA: CLR P3.0 ;片選有效MOV R2,#04 ;前4位數(shù)據(jù)位數(shù) MOV A, R6;R6為0000XXXXSWAP A ; LCALL WRdat
52、a;由DIN輸入前4位MOV R2,#08 ;送入的后8位MOV A, R7 ;取低8位數(shù)據(jù)LCALL WRdata ;由DIN輸入低8位CLR P3.1 ;時(shí)鐘SCLK為低電平 SETB P3.0 ;片選高電平,輸入的12位數(shù)據(jù)有效 RET 單片機(jī)發(fā)送數(shù)據(jù)到TLC5615的子程序如下:WRdata: NOP LOOP:CLR P3.1 ;SCLK為低電平RLC A;數(shù)據(jù)送入進(jìn)位Cy MOV P3.2,C ;數(shù)據(jù)移入TLC5615的DIN SETB P3.1; SCLK為高電平 DJNZ R2, LOOP RET 10.2.5 SPI串行編程E2PROMX5045 X5045是Xicor公司消
53、費(fèi)的具有SPI總線接口的E2PROM芯片,它是早期產(chǎn)品X25045的替代品。X5045把集成了4種功能:上電復(fù)位控制、看門狗定時(shí)器、電源監(jiān)視以及具有塊維護(hù)功能的串行E2PROM存儲(chǔ)器。另一款芯片X5043與X5045功能一樣,二者區(qū)別僅在于輸出的復(fù)位信號(hào)的電平不同,前者為低電平,后者為高電平。 10.2.5 SPI串行編程E2PROMX5045一X5045的內(nèi)部構(gòu)造和引腳包括上電復(fù)位和低電壓檢測(cè)及控制電路、看門狗定時(shí)器、數(shù)據(jù)存放器、命令解碼與控制邏輯電路、E2PROM存儲(chǔ)器陣列、塊維護(hù)邏輯電路、電源閾值復(fù)位邏輯電路等部分組成。 10.2.5 SPI串行編程E2PROMX5045一X5045的內(nèi)
54、部構(gòu)造和引腳VCCSISCKVSSSORESETX5045WP12346578/WDICS1CS/WDI引腳1:輸入,芯片選擇/看門狗輸入。當(dāng)為高電平常,芯片未選中,此時(shí),引腳SO為高阻態(tài)。在高電平常,X5045處于規(guī)范的功耗方式時(shí),寫周期開場(chǎng)把拉為低電平,將使X5045處于選中形狀,器件將任務(wù)于任務(wù)功耗形狀。在上電后,任何操作之前必需求有一個(gè)高電平變低電平的過程。作為看門狗輸入時(shí),在看門狗定時(shí)器超時(shí)并產(chǎn)生復(fù)位之前,在WDI引腳上的高電平到低電平的跳變,將復(fù)位看門狗定時(shí)器。10.2.5 SPI串行編程E2PROMX50452SO引腳2:輸出,串行數(shù)據(jù)輸出。SO是一個(gè)推/拉串行數(shù)據(jù)輸出引腳,在讀
55、數(shù)據(jù)時(shí),數(shù)據(jù)在SCK脈沖的下降沿,由SO引腳送出。 一X5045的內(nèi)部構(gòu)造和引腳3WP引腳3: 輸入,寫維護(hù)。當(dāng)引腳為低電平常,向X5045中寫的操作被制止,但是其它的功能正常。當(dāng)引腳是高電平常,一切操作正常,包括寫操作。假設(shè)在CS是低電平常,WP變?yōu)榈碗娖?,那么?huì)中止向X5045的寫操作。但是假設(shè)內(nèi)部寫周期曾經(jīng)初始化,WP變?yōu)榈碗娖匠?duì)寫操作無任何影響。 10.2.5 SPI串行編程E2PROMX50454VSS引腳4:地。5 SI引腳5:輸入,串行數(shù)據(jù)輸入。SI是串行數(shù)據(jù)的輸入,命令碼、地址、數(shù)據(jù)都是經(jīng)過SI引腳輸入的。數(shù)據(jù)輸入在SCK的上升沿進(jìn)展,傳送時(shí)高位在前。6SCK引腳6:輸入,串
56、行時(shí)鐘。在串行時(shí)鐘SCK的上升沿,經(jīng)過SI引腳進(jìn)展數(shù)據(jù)的輸入;在SCK下降沿,經(jīng)過SO引腳進(jìn)展數(shù)據(jù)的輸出。一X5045的內(nèi)部構(gòu)造和引腳10.2.5 SPI串行編程E2PROMX50457RESET引腳7:輸出,復(fù)位輸出。只需電源Vcc電壓下降到小于Vcc最小值時(shí),RESET變?yōu)楦唠娖?。RESET會(huì)不斷堅(jiān)持高電平,直到電壓值上升到超越Vcc最小值的時(shí)間大于200ms時(shí),RESET才會(huì)變?yōu)榈碗娖?。另外,RESET也受看門狗定時(shí)器的控制。8VCC引腳8,電源。一X5045的內(nèi)部構(gòu)造和引腳10.2.5 SPI串行編程E2PROMX50451X5045的命令集表 10.10 X5045 命令及其功能 命
57、令名稱 命令格式 操作 WREN 0000 0110 允許寫操作,置寫允許鎖存器 WRDI 0000 0100 禁止寫操作,復(fù)位寫允許鎖存器 RSDR 0000 0101 讀狀態(tài)寄存器 WRSR 0000 0001 寫狀態(tài)寄存器(看門狗和塊所 BlockLock) READ 0000 A8011 由給定的單元地址開始從存儲(chǔ)器中讀數(shù)據(jù) WRITE 0000 A8010 由給定的單元地址開始向存儲(chǔ)器中寫數(shù)據(jù)(116 個(gè)字節(jié)) 二X5045的命令集和形狀存放器 10.2.5 SPI串行編程E2PROMX50452X5045的形狀存放器二X5045的命令集和形狀存放器 形狀存放器由4個(gè)斷電不喪失的控制位和2個(gè)斷電消逝的形狀位組成,用于設(shè)置看門狗定時(shí)器的溢出時(shí)間和存儲(chǔ)器區(qū)鎖定BlockLock維護(hù)。
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電商行業(yè)2025年售后服務(wù)品牌建設(shè)策略研究報(bào)告
- 咖啡連鎖品牌擴(kuò)張戰(zhàn)略布局報(bào)告:2025年市場(chǎng)拓展與品牌差異化競(jìng)爭(zhēng)
- 北師大版初中九年級(jí)下冊(cè)數(shù)學(xué)2.4二次函數(shù)的應(yīng)用(1)課件
- 2023-2024學(xué)年貴州省畢節(jié)市威寧縣九年級(jí)上學(xué)期物理期末試題及答案
- 樹類型題目及答案
- 數(shù)據(jù)結(jié)構(gòu)期末考試試題及答案
- 數(shù)學(xué)化簡(jiǎn)題目及答案
- 孫權(quán)勸學(xué) 題目及答案
- 陶淵明飲酒題目及答案
- 養(yǎng)狗管理辦法重慶
- 學(xué)校2025-2026學(xué)年度第一學(xué)期工作計(jì)劃
- 干貨 - 高中歷史全套思維導(dǎo)圖100張
- 屋面光伏工程施工組織設(shè)計(jì)
- 2025年永誠財(cái)產(chǎn)保險(xiǎn)股份有限公司招聘筆試參考題庫含答案解析
- 組織架構(gòu)重構(gòu):數(shù)智生態(tài)賦能主流媒體系統(tǒng)性變革的關(guān)鍵維度
- 農(nóng)民金融知識(shí)培訓(xùn)課件
- 2025年中鐵水務(wù)集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 基孔肯雅熱的健康宣教
- 云南省煙花爆竹經(jīng)營(yíng)單位主要負(fù)責(zé)人考試練習(xí)題1(100題)附答案
- 夏季預(yù)防空調(diào)病宣傳
- 科技園區(qū)火災(zāi)應(yīng)急預(yù)案
評(píng)論
0/150
提交評(píng)論