串行總線擴(kuò)展技術(shù)_第1頁
串行總線擴(kuò)展技術(shù)_第2頁
串行總線擴(kuò)展技術(shù)_第3頁
串行總線擴(kuò)展技術(shù)_第4頁
串行總線擴(kuò)展技術(shù)_第5頁
已閱讀5頁,還剩91頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、110 串行總線擴(kuò)展技術(shù) 本章內(nèi)容簡(jiǎn)介: (1)I2C總線擴(kuò)展技術(shù): I2C總線、 I2C總線的數(shù)據(jù)傳輸、 I2C總線的尋址、MCS-51單片機(jī)模擬I2C總線、 I2C總線的應(yīng)用。 (2)SPI總線擴(kuò)展技術(shù):SPI總線、 MCS-51單片機(jī)模擬SPI總線及其應(yīng)用。210 串行總線擴(kuò)展技術(shù) 采用串行總線擴(kuò)展技術(shù)可以使系統(tǒng)的硬件設(shè)計(jì)簡(jiǎn)化,系統(tǒng)的體積減小,同時(shí),系統(tǒng)的更改和擴(kuò)充更為容易。串行擴(kuò)展總線的應(yīng)用是單片機(jī)目前發(fā)展的一種趨勢(shì) 常用的串行擴(kuò)展總線有:I2C(Inter IC BUS)總線、SPI(Serial Peripheral Interface)總線、Microwire 總線及單總線(1-

2、Wire BUS)。 MCS-51單片機(jī)沒有串行總線接口,利用其自身的通用并行線可以模擬多種串行總線時(shí)序信號(hào),因此可以充分利用各種串行接口芯片資源。 310.1 I2C總線擴(kuò)展技術(shù) I2C總線是Philips公司開發(fā)的一種雙向兩線串行總線,以實(shí)現(xiàn)集成電路之間的有效控制,這種總線也稱為Inter IC 總線。目前,Philips及其它半導(dǎo)體廠商提供了大量的含有I2C總線的外圍接口芯片,I2C總線已成為廣泛應(yīng)用的工業(yè)標(biāo)準(zhǔn)之一。 標(biāo)準(zhǔn)模式下,基本的I2C總線規(guī)范的規(guī)定的數(shù)據(jù)傳輸速率為100kb/s??焖倌J较?,數(shù)據(jù)傳輸速率為400KB/s。高速模式下,數(shù)據(jù)傳輸速率為3.4Mb/s。I2C總線始終和先

3、進(jìn)技術(shù)保持同步,并保持其向下兼容性。 410.1.1 I2C總線 (1)I2C總線采用二線制傳輸,一根是數(shù)據(jù)線SDA(Serial Data Line),另一根是時(shí)鐘線SCL(serial clock line),所有I2C器件都連接在SDA和SCL上,每一個(gè)器件具有一個(gè)唯一的地址。 (2)I2C總線是一個(gè)多主機(jī)總線,總線上可以有一個(gè)或多個(gè)主機(jī)(或稱主控制器件),總線運(yùn)行由主機(jī)控制。 主機(jī)是指啟動(dòng)數(shù)據(jù)的傳送(發(fā)起始信號(hào))、發(fā)出時(shí)主機(jī)是指啟動(dòng)數(shù)據(jù)的傳送(發(fā)起始信號(hào))、發(fā)出時(shí)鐘信號(hào)、發(fā)出終止信號(hào)的器件。通常,主機(jī)由單片機(jī)鐘信號(hào)、發(fā)出終止信號(hào)的器件。通常,主機(jī)由單片機(jī)或其它微處理器擔(dān)任。或其它微處理

4、器擔(dān)任。 被主機(jī)訪問的器件叫從機(jī)(或稱從器件),它可被主機(jī)訪問的器件叫從機(jī)(或稱從器件),它可以是其它單片機(jī),或者其他外圍芯片,如:以是其它單片機(jī),或者其他外圍芯片,如:A/D、D/A、LED或或LCD驅(qū)動(dòng)、串行存儲(chǔ)器芯片。驅(qū)動(dòng)、串行存儲(chǔ)器芯片。 510.1.1 I2C總線 (3)I2C總線支持多主(multi-mastering)和主從(master-slave)兩種工作方式。 多主方式下,多主方式下,I2C總線上可以有多個(gè)主機(jī)??偩€上可以有多個(gè)主機(jī)。I2C總總線需通過硬件和軟件仲裁來確定主機(jī)對(duì)總線的控制權(quán)。線需通過硬件和軟件仲裁來確定主機(jī)對(duì)總線的控制權(quán)。 主從工作方式時(shí),系統(tǒng)中只有一個(gè)主機(jī)

5、,總線上主從工作方式時(shí),系統(tǒng)中只有一個(gè)主機(jī),總線上的其它器件均為從機(jī)(具有的其它器件均為從機(jī)(具有I2C總線接口),只有主機(jī)總線接口),只有主機(jī)能對(duì)從機(jī)進(jìn)行讀寫訪問,因此,不存在總線的競(jìng)爭(zhēng)等能對(duì)從機(jī)進(jìn)行讀寫訪問,因此,不存在總線的競(jìng)爭(zhēng)等問題。在主從方式下,問題。在主從方式下,I2C總線的時(shí)序可以模擬總線的時(shí)序可以模擬 ,I2C總線的使用不受主機(jī)是否具有總線的使用不受主機(jī)是否具有I2C總線接口的制約??偩€接口的制約。 MCS-51系列單片機(jī)本身不具有系列單片機(jī)本身不具有I2C總線接口,可總線接口,可以用其以用其I/O口線模擬口線模擬I2C總線總線 610.1.1 I2C總線圖10.1 單主機(jī)系統(tǒng)

6、I2C總線擴(kuò)展示意圖 710.1.1 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ì)影響總線和其他器件的工作,便于系統(tǒng)功能的改進(jìn)和升級(jí)。(3)集成在器件中的尋址和數(shù)據(jù)傳輸協(xié)議可以使系統(tǒng)完全由軟件來定義。 810.1.2 I2C總線的數(shù)據(jù)傳輸 圖10.2 標(biāo)準(zhǔn)模式和快速模式下器件連接到I2C總線的形式 雙向510k負(fù)載能力為400pf 910.1.2 I2C總線的數(shù)據(jù)傳輸(一)數(shù)據(jù)位的傳送I2C總線上主機(jī)與從機(jī)之

7、間一次傳送的數(shù)據(jù)稱為一幀。由啟動(dòng)信號(hào)、若干個(gè)數(shù)據(jù)字節(jié)、應(yīng)答位和停止信號(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)榈碗娖綍r(shí),數(shù)據(jù)線SDA的狀態(tài)才能改變。 1010.1.2 I2C總線的數(shù)據(jù)傳輸(二)啟始和停止?fàn)顟B(tài)。 起始(START)狀態(tài):I2C總線傳輸過程中,當(dāng)時(shí)鐘線SCL為高電平時(shí),數(shù)據(jù)線SDA出現(xiàn)高電平到低電平跳變時(shí),標(biāo)志I2C總線傳輸數(shù)據(jù)開始。 停止(STOP)狀態(tài):I2C總線傳輸過程中,當(dāng)時(shí)鐘線SCL為高電平時(shí),數(shù)據(jù)線SDA出現(xiàn)低電平到高電平跳變時(shí),標(biāo)志著I2C總線傳輸

8、數(shù)據(jù)結(jié)束。起始和停止?fàn)顟B(tài)是由主機(jī)發(fā)出 1110.1.2 I2C總線的數(shù)據(jù)傳輸(三)傳輸數(shù)據(jù) 傳輸?shù)綌?shù)據(jù)線SDA上的每個(gè)字節(jié)必須為8位 每次傳輸?shù)淖止?jié)數(shù)不受限制。每個(gè)字節(jié)后必須跟一個(gè)應(yīng)答(acknowledge)位。數(shù)據(jù)傳輸時(shí),首先傳送最高位,如圖10.5所示,如果從機(jī)暫時(shí)不能接收下一個(gè)字節(jié)數(shù)據(jù),如從機(jī)響應(yīng)內(nèi)部中斷,那么,可以使時(shí)鐘線SCL保持為低電平,迫使主機(jī)處于等待狀態(tài);當(dāng)從機(jī)準(zhǔn)備就緒后,再釋放時(shí)鐘線SCL,使數(shù)據(jù)傳輸繼續(xù)進(jìn)行。 1210.1.2 I2C總線的數(shù)據(jù)傳輸(四)應(yīng)答I2C協(xié)議規(guī)定,在每個(gè)字節(jié)傳送完畢后,必須有一個(gè)應(yīng)答位。應(yīng)答位的時(shí)鐘脈沖由主機(jī)產(chǎn)生。在應(yīng)答時(shí)鐘有效期間,發(fā)送設(shè)備把數(shù)

9、據(jù)線SDA置為高電平;接收設(shè)備必須把數(shù)據(jù)線SDA置為低電平,并且在此期間保持低電平狀態(tài),以便產(chǎn)生有效的應(yīng)答信號(hào)。1310.1.2 I2C總線的數(shù)據(jù)傳輸(五)數(shù)據(jù)傳輸格式 在起始狀態(tài)S之后,先發(fā)送一個(gè)7位從機(jī)地址,接著第8位是數(shù)據(jù)方向位, 0表示發(fā)送(寫), 1表示請(qǐng)求數(shù)據(jù)(讀)。一次數(shù)據(jù)傳輸總是由主機(jī)產(chǎn)生停止?fàn)顟B(tài)P而結(jié)束。但是,如果主機(jī)還希望在總線上傳輸數(shù)據(jù),那么,它可以產(chǎn)生另一個(gè)起始狀態(tài)和尋址另一個(gè)從機(jī),不需要先產(chǎn)生一個(gè)停止?fàn)顟B(tài)。在這種傳輸方式中,就可能有讀寫方式的組合。 WR/WR/1410.1.2 I2C總線的數(shù)據(jù)傳輸 在I2C總線啟動(dòng)或應(yīng)答信號(hào)后的第18個(gè)時(shí)鐘脈沖,對(duì)應(yīng)一個(gè)字節(jié)的8位數(shù)

10、據(jù)傳送。高電平期間,數(shù)據(jù)串行傳送;低電平期間為數(shù)據(jù)準(zhǔn)備,允許總線上數(shù)據(jù)電平變化。一旦I2C總線啟動(dòng),傳送的字節(jié)數(shù)沒有限制,只要求每傳送一個(gè)字節(jié)后,對(duì)方回應(yīng)一個(gè)應(yīng)答位。發(fā)送時(shí),最先發(fā)送的是數(shù)據(jù)的最高位。每次傳送開始有起始信號(hào),結(jié)束時(shí)有停止信號(hào)。傳送完一個(gè)字節(jié),可以通過對(duì)時(shí)鐘線的控制使傳送暫停。(五)數(shù)據(jù)傳輸格式1510.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ù)姆较虿蛔兓?。不變化?1610.1.2 I2C總線的數(shù)據(jù)傳輸(2 2)在第一個(gè)字節(jié)后主機(jī)立即讀從機(jī)。)

11、在第一個(gè)字節(jié)后主機(jī)立即讀從機(jī)。 在I2C總線上,傳輸數(shù)據(jù)可能的數(shù)據(jù)格式:(五)數(shù)據(jù)傳輸格式1710.1.2 I2C總線的數(shù)據(jù)傳輸(3 3)組合格式)組合格式 在I2C總線上,傳輸數(shù)據(jù)可能的數(shù)據(jù)格式:(五)數(shù)據(jù)傳輸格式1810.1.3 I2C總線的尋址 每個(gè)連接在I2C總線的器件,都具有一個(gè)唯一確定的地址。在任何時(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í)起始狀態(tài)S之后第1個(gè)字節(jié)。 A6A5A4A3A2A1A0D7D6D5D4D3D2D1D0WR/ 從機(jī)地址由固定位和可編程位組成。固定位由器件

12、出廠時(shí)給定,用戶不能自行設(shè)置,它是器件的標(biāo)識(shí)碼。1910.1.3 I2C總線的尋址WR/WR/當(dāng)主機(jī)發(fā)送了第1個(gè)字節(jié)后,系統(tǒng)中的每個(gè)從機(jī)(器件)都在起始狀態(tài)S之后把高7位與本機(jī)的地址比較,如果與本機(jī)地址一樣,則該從機(jī)被主機(jī)選中,是接收數(shù)據(jù)還是發(fā)送數(shù)據(jù)由 確定。 從機(jī)地址由固定位和可編程位組成。固定位由器件出廠時(shí)給定,用戶不能自行設(shè)置,它是器件的標(biāo)識(shí)碼。當(dāng)系統(tǒng)中使用了多個(gè)相同器件時(shí),從機(jī)地址中的可編程位,可使這些器件具有不同的地址;這些可編程位也規(guī)定了I2C總線上同類芯片的最大個(gè)數(shù)。 2010.1.3 I2C總線的尋址表10.1常見I2C器件的標(biāo)識(shí)碼類別型號(hào)A6A3靜態(tài)RAMPCF8570/71

13、1010PCF8570C1011E2PROMPCF85821010AT24C021010AT24C041010AT24C081010AT24C161010I/O口PCF85740100PCF8574A0111LED/LCD驅(qū)動(dòng)控制器SAA10640111PCF85760111PCF8578/790111ADC/DACPCF89511001日歷時(shí)鐘PCF858310102110.1.4 單片機(jī)主從系統(tǒng)I2C總線模擬程序MCS-51單片機(jī)沒有I2C總線接口,只能采用虛擬I2C總線方式,并且只能用于主從系統(tǒng)。虛擬I2C總線接口利用MCS-51單片機(jī)的I/O口線作為數(shù)據(jù)線SDA和時(shí)鐘線SCL,通過軟件

14、延時(shí)實(shí)現(xiàn)I2C總線傳輸數(shù)據(jù)的時(shí)序要求。(1 1)起始信號(hào)()起始信號(hào)(S S) 四種典型信號(hào)的時(shí)序 (2 2) 停止信號(hào)(停止信號(hào)(P P) 22(3 3)應(yīng)答信號(hào)()應(yīng)答信號(hào)( )A (4 4)無應(yīng)答信號(hào)()無應(yīng)答信號(hào)(A A) 10.1.4 單片機(jī)主從系統(tǒng)I2C總線模擬程序MCS-51單片機(jī)沒有I2C總線接口,只能采用虛擬I2C總線方式,并且只能用于主從系統(tǒng)。虛擬I2C總線接口利用MCS-51單片機(jī)的I/O口線作為數(shù)據(jù)線SDA和時(shí)鐘線SCL,通過軟件延時(shí)實(shí)現(xiàn)I2C總線傳輸數(shù)據(jù)的時(shí)序要求。四種典型信號(hào)的時(shí)序 2310.1.5 I2C總線應(yīng)用 (一) I2C總線擴(kuò)展I/O口 PCF8574是一

15、個(gè)帶有中斷輸出的8位準(zhǔn)雙向I/O口的I2C總線擴(kuò)展I/O口芯片。 PCF8574VDDSDASCLP7INTP6P5P4VSSA1A2P0P2P1P3A012345678161514131211109A2A0:地址引腳;P0P7:8位準(zhǔn)雙向I/O口;SDA、SCL: I2C總線接口; :中斷請(qǐng)求輸出,低電平有效,漏極開路輸出。輸入端P0P7電平狀態(tài)改變時(shí),中斷請(qǐng)求輸出端出現(xiàn)低電平。對(duì)PCF8574進(jìn)行一次讀/寫操作后,撤銷中斷請(qǐng)求,復(fù)位為高電平 。 VDD:電源,+5V;VSS:地INT2410.1.5 I2C總線應(yīng)用(一) I2C總線擴(kuò)展I/O口 PCF8574數(shù)據(jù)輸入/輸出操作格式 (1)

16、輸出操作AASSLAWI/O DATAP輸出時(shí),R/ =0,SLAW為0100(A2A1A0)0。W(2)輸入操作AAPSSLARI/O DATAP輸入時(shí),R/ =1,SLAW為0100(A2A1A0)1。W2510.1.5 I2C總線應(yīng)用例:采用PCF8574擴(kuò)展的4個(gè)按鍵、4個(gè)LED應(yīng)用電路,其中P0P3作為按鍵輸入端,P4P7作為L(zhǎng)ED控制信號(hào)的輸出端。按鍵K1控制L1,依此類推,當(dāng)鍵按后,相應(yīng)LED被點(diǎn)亮 。(一) I2C總線擴(kuò)展I/O口 2610.1.5 I2C總線應(yīng)用AT24CXX系列串行E2PROM是Atme1公司生產(chǎn)的I2C總線接口功能的串行E2PROM器件,具有掉電保護(hù)功能

17、,AT24C02容量為256字節(jié)。AT24CXX系列的寫入時(shí)間一般需要510ms。(二)I2C總線擴(kuò)展E2PROM VCCSDASCLGNDA1A2A0WPAT240C212346578SDA、SCL: I2C總線接口;A2A0:地址引腳;WP:寫保護(hù)。當(dāng)接低電平時(shí),可進(jìn)行正常讀/寫操作;接高電平時(shí),只能讀取數(shù)據(jù)。 2710.1.5 I2C總線應(yīng)用數(shù)據(jù)讀/寫操作格式 (二)I2C總線擴(kuò)展E2PROM (1)輸出操作(SADR為AT24C02片內(nèi)地址) SSLAWASADRAData1Adata2AdataNAPSLAW為1010(A2A1A0)0 (2)輸入操作SSLARASADRAPSSLA

18、RAdata1Adata2AdataNPSLAW為1010(A2A1A0)1 2810.1.5 I2C總線應(yīng)用MCS-51單片機(jī)與AT24C02 的連接電路 (二)I2C總線擴(kuò)展E2PROM AT24C02與80C51接口 例1:把單片機(jī)內(nèi)部RAM 10H單元開始的8個(gè)字節(jié)數(shù)據(jù)寫入AT24C02的50H57H單元中。例2 把AT24C02的50H57H中的8個(gè)數(shù)據(jù)讀出,存入單片機(jī)內(nèi)部的RAM的20H27H。 2910.2 SPI總線擴(kuò)展技術(shù) SPI(Serial Peripheral Interface)總線是Motorola公司提出的一種同步串行外設(shè)接口, 它可以使微控制器(MCU)與各種外

19、圍設(shè)備以串行方式進(jìn)行通信以交換信息。外圍設(shè)備包括FLASHRAM、網(wǎng)絡(luò)控制器、LCD顯示驅(qū)動(dòng)器、A/ D 轉(zhuǎn)換器和微控制器等。 SPI總線使用同步協(xié)議傳送數(shù)據(jù),接收或發(fā)送數(shù)據(jù)時(shí)由主機(jī)產(chǎn)生的時(shí)鐘信號(hào)控制。SPI接口可以連接多個(gè)SPI芯片或裝置,主機(jī)通過選擇它們的片選來分時(shí)訪問不同的芯片。 3010.2.1 SPI總線 (一)SPI總線構(gòu)成MOSI(Master Out Slave In):主機(jī)發(fā)送從機(jī)接收。 MISO(Master In Slave Out):主機(jī)接收從機(jī)發(fā)送 SCLK或SCK(Serial Clock):串行時(shí)鐘 CSSS (Chip Select for the periph

20、eral):外圍器件的片選。有的微控制器設(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ī)芯片或裝置。 3110.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/ O設(shè)備構(gòu)成的系統(tǒng)等。3210.2.1 SPI總線(三)主從方式SPI總線接口系統(tǒng)的典型結(jié)構(gòu)(1)在大多數(shù)應(yīng)用場(chǎng)合,可使用1個(gè)微控制

21、器作為主控機(jī)來控制數(shù)據(jù)傳送,并向1個(gè)或幾個(gè)外圍器件傳送數(shù)據(jù)。從機(jī)只有在主機(jī)發(fā)命令時(shí)才能接收或發(fā)送數(shù)據(jù) 。 (2)當(dāng)一個(gè)主機(jī)通過SPI與多個(gè)芯片相連時(shí),必須使用每個(gè)芯片的片選,這可通過MCU的I/O端口輸出線來實(shí)現(xiàn)。 MCUIC1IC2IC3SCKSISOCSCSCSSCKMOSIMISOSCKSISOSCKSISOIO1IO2IO33310.2.2 SPI總線鍵盤顯示器芯片HD 7279A 一 HD7279A功能RESETRCCLKODIG7DIG6DIG5DIG4DIG3DIG2DIG1DIG0DPSASBVDDVDDNCVSSNCCSCLKDATASGKEYSFSESDSC12345678

22、910111213142827262524232221201918171615HD7279A是一種管理鍵盤和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í)別按鍵代碼的功能。3410.2.2 SPI總線鍵盤顯示器芯片HD 7279A(1)工作電源VDD(引腳1、2)+5V電源VSS(引腳4)電源地(2)片選及控制CS(引腳6)片選信號(hào)輸入端。低電平時(shí),可向HD7279A發(fā)送指令及讀取鍵盤數(shù)據(jù)。CLK(引腳7)數(shù)據(jù)串行傳送的同步時(shí)鐘輸入端。向HD7279A發(fā)送數(shù)據(jù)和讀取鍵盤數(shù)據(jù)時(shí),C

23、LK時(shí)鐘的上升沿表示數(shù)據(jù)有效。 一 HD7279A功能3510.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ù)位端。低電平有效。由低電平變成高電平并保持25ms即可實(shí)現(xiàn)HD7279A的復(fù)位。 KEY(引腳9)按鍵有效輸出端,在無鍵按下時(shí)為高電平;當(dāng)有鍵按下時(shí),變?yōu)榈碗娖讲⑶乙恢北3值芥I釋放為止。 一 HD7279A功能3610.2.2 SPI總線鍵盤顯示器芯片HD

24、 7279A(3)鍵盤和LED數(shù)碼管連接引腳 DIG0DIG7(引腳1825)LED數(shù)碼管顯示位置驅(qū)動(dòng)控制端,與LED數(shù)碼管的公共端相接,也作為鍵盤的列掃描線。 SASG(引腳1016)LED數(shù)碼管的A段G段的驅(qū)動(dòng)輸出端。 DP(引腳17)LED數(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功能3710.2.2 SPI總線鍵盤顯示器芯片HD 7279A(4)RC振蕩器振蕩輸入和

25、輸出RC(引腳27)RC電路的輸入端,連接HD7279A的外接振蕩元件,其典型值為R=1.5k, C=15pF。CLKO(引腳26)振蕩電路的輸出端。另外,引腳3和引腳5沒有定義,應(yīng)用時(shí)必須懸空。 一 HD7279A功能3810.2.2 SPI總線鍵盤顯示器芯片HD 7279A二 HD7279A的控制命令HD7279A有6條不帶數(shù)據(jù)的命令、7條帶數(shù)據(jù)命令和1條讀鍵盤命令。(一)不帶數(shù)據(jù)的命令(1) 復(fù)位命令復(fù)位命令的代碼為0A4H。當(dāng)HD7279A接收到該命令后,把所有的顯示清除,包括字符消隱屬性和閃爍屬性,芯片的狀態(tài)與系統(tǒng)上電后的狀態(tài)相同。(2) 測(cè)試命令測(cè)試命令的代碼為0BFH。當(dāng)HD72

26、79A接收到該命 令后,把所有的LED點(diǎn)亮并閃爍,主要用于測(cè)試和自檢。3910.2.2 SPI總線鍵盤顯示器芯片HD 7279A(3) 左移命令左移命令的代碼為0A1H。當(dāng)HD7279A接收到該命令后,把所有的顯示左移1位,移位后,最右位空(無顯示),該命令不改變各位所設(shè)置的消隱和閃爍屬性。(4) 右移命令右移命令的代碼為0A0H,右移命令功能與左移指令相似,只是方向相反。當(dāng)HD7279A接收到該命令后,把所有的顯示右移1位,移位后,最左位空(無顯示),該命令不改變消隱和閃爍屬性。二 HD7279A的控制命令4010.2.2 SPI總線鍵盤顯示器芯片HD 7279A(5) 循環(huán)左移命令循環(huán)左移

27、命令的代碼為0A3H。當(dāng)HD7279A接收到該命令后,把所有的顯示循環(huán)左移1位。移位后,最左位LD7內(nèi)容移至最右位LD1,如圖10.23所示。該命令不改變各個(gè)顯示位的消隱和閃爍屬性。(6) 循環(huán)右移命令循環(huán)右移命令的代碼為0A2H。循環(huán)右移命令的功能與循環(huán)左移命令相似,只是方向相反。二 HD7279A的控制命令4110.2.2 SPI總線鍵盤顯示器芯片HD 7279A(二) 帶數(shù)據(jù)命令(1) 按方式0譯碼的下載命令 二 HD7279A的控制命令D710000a2a1a0DPd3d2d1d0D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0a2、a1、a0用來指出顯示位,顯示位LD7為

28、最高位。第2字節(jié)為顯示內(nèi)容,其中DP為小數(shù)點(diǎn)控制位,當(dāng)DP1,顯示小數(shù)點(diǎn);當(dāng)DP0,不顯示小數(shù)點(diǎn)。d3d2d1d0用來指出顯示數(shù)據(jù)。 LD2LD3LD0LD1LD6LD7LD4LD542表 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

29、 0CH 1 1 0 1 0DH 1 1 1 0 0EH 0 1 1 1 0FH 空(不顯示) 4310.2.2 SPI總線鍵盤顯示器芯片HD 7279A二 HD7279A的控制命令(二) 帶數(shù)據(jù)命令(2)按方式1譯碼的下載命令 D711001a2a1a0DPd3d2d1d0D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0該命令和按方式0譯碼下載命令的含義基本相同。 HD7279A收到該命令后,把d3d2d1d0按方式1譯碼并顯示。 44表 10.4 數(shù)據(jù) d3d2d1d0 的方式 1 譯碼真值表 d3 d2 d1 d0 十六進(jìn)制 七段數(shù)碼管顯示 0 0 0 0 00H 0 0 0

30、 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 1 1 1 0 0EH 0 1 1 1 0FH 4510.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ù)位為

31、1時(shí),該段點(diǎn)亮;若數(shù)據(jù)位為0時(shí),該段不顯示。 D710010a2a1a0dpabcdefgD6D5D4D3D2D1D0D7D6D5D4D3D2D1D04610.2.2 SPI總線鍵盤顯示器芯片HD 7279A(二) 帶數(shù)據(jù)命令(4)閃爍控制命令 二 HD7279A的控制命令D710001000D7D6D5D4D3D2D1D0D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0閃爍控制命令規(guī)定了每個(gè)數(shù)碼管的閃爍屬性。D0D7別對(duì)應(yīng)LD0LD7數(shù)碼管。如果Di=1,則數(shù)碼管閃爍,如果Di=0 ,則數(shù)碼管不閃爍。系統(tǒng)上電后,缺省狀態(tài)為所有數(shù)碼管均不閃爍。 4710.2.2 SPI總線鍵盤顯示

32、器芯片HD 7279A消隱控制命令控制各個(gè)數(shù)碼管的消隱屬性,D7D0分別對(duì)應(yīng)數(shù)碼管LD7LD0, Di=0 ,則數(shù)碼管被消隱,如果Di=1 ,則數(shù)碼管顯示。當(dāng)某一位被賦予消隱屬性后,HD7279A在掃描時(shí)將跳過該位。 (二) 帶數(shù)據(jù)命令(5)消隱控制命令 二 HD7279A的控制命令D710011000D7D6D5D4D3D2D1D0D6D5D4D3D2D1D0D7D6D5D4D3D2D1D04810.2.2 SPI總線鍵盤顯示器芯片HD 7279A段點(diǎn)亮命令的功能是點(diǎn)亮數(shù)碼管中的某一指定的段、或LED發(fā)光管矩陣中的某一指定的LED。命令中D5D0為數(shù)碼管顯示段的編號(hào),范圍為:00H3FH。

33、(二) 帶數(shù)據(jù)命令(6) 顯示段點(diǎn)亮命令 二 HD7279A的控制命令D711100000D5D4D3D2D1D0D6D5D4D3D2D1D0D7D6D5D4D3D2D1D049表 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

34、 33 31 32 33 34 35 36 37 LD7 38 39 3A 3B 3C 3D 3E 3F 段 編號(hào) 數(shù)碼管 5010.2.2 SPI總線鍵盤顯示器芯片HD 7279A顯示段關(guān)閉命令的作用是關(guān)閉(熄滅)某個(gè)數(shù)碼管中的某一段。 (二) 帶數(shù)據(jù)命令(7) 顯示段關(guān)閉命令 二 HD7279A的控制命令D711000000D5D4D3D2D1D0D6D5D4D3D2D1D0D7D6D5D4D3D2D1D05110.2.2 SPI總線鍵盤顯示器芯片HD 7279A讀取鍵盤命令的作用是讀取當(dāng)前的鍵盤代碼。與其他帶數(shù)據(jù)的指令不同,該命令的第一個(gè)字節(jié)00010101是單片機(jī)傳送到HD7279A的

35、命令,而第二個(gè)字節(jié)D7D0是HD7279A返回的按鍵代碼。HD7279A的DIG0DIG7作為鍵盤的行掃描,SASA和DP作為列掃描線,可以構(gòu)成一個(gè)88的矩陣鍵盤。當(dāng)有鍵按下時(shí)其范圍是00H3FH;而無鍵按下時(shí)代碼是FFH。 (三)讀取鍵盤數(shù)據(jù)命令 二 HD7279A的控制命令D700010101D7D6D5D4D3D2D1D0D6D5D4D3D2D1D0D7D6D5D4D3D2D1D052表 10.6 按鍵代碼的定義 5310.2.2 SPI總線鍵盤顯示器芯片HD 7279A三 HD7279A的時(shí)序 HD7279A采用串行方式與微處理器通信,串行數(shù)據(jù)從DATA引腳送入芯片,由CLK引腳輸入的

36、同步時(shí)鐘同步。在DATA引腳上的數(shù)據(jù)在CLK的上升沿被寫入HD7279A的緩沖加寄存器。不帶數(shù)據(jù)的命令的寬度為8個(gè)位,即微處理器需要發(fā)送8個(gè)CLK脈沖;帶數(shù)據(jù)的命令的寬度為16個(gè)位,即需要發(fā)送8個(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)檩敵鰻顟B(tài),在第16個(gè)CLK脈沖的下降沿恢復(fù)為輸入狀態(tài),等待接收下一條命令。 54(2)帶數(shù)據(jù)的命令時(shí)序(1)不帶數(shù)據(jù)的命令時(shí)序55(3)讀取鍵盤數(shù)據(jù)命令5610.2.2 SPI總線鍵盤

37、顯示器芯片HD 7279ALD2LD3LD0LD1LD6LD4LD5CLKODIG7DIG6DIG5DIG4DIG3DIG2DIG1DIG0DPSASBVDDVDDCSCLKDATAKEYSGSFSESDSCRESETRC3F3E3D3C3B3A393837363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A191817161514131211100F0E0D0C0B0A09080706050403020100LD7dpabgfedc+5V+5VVSSMCURCRP1RP21.5k15pF200100k88RP210k8 HD72

38、79AHD7279A的典型應(yīng)用電路的典型應(yīng)用電路 四 HD7279A與MCS-51單片機(jī)的接口5710.2.3 SPI總線多通道串行輸出A/D芯片 TLC2543及接口TLC2543為12位開關(guān)電容逐次逼近的CMOS A/D轉(zhuǎn)換器,它是TI公司生產(chǎn)的一種串行A/D轉(zhuǎn)換器,它具有輸入通道多,精度高,速度高,使用靈活和體積小的優(yōu)點(diǎn)。5810.2.3 SPI總線多通道串行輸出A/D芯片 TLC2543及接口 由通道選擇器、數(shù)據(jù)(地址和命令字)輸入寄由通道選擇器、數(shù)據(jù)(地址和命令字)輸入寄存器、采樣存器、采樣/ /保持電路、保持電路、1212位的模位的模/ /數(shù)轉(zhuǎn)換器,輸出數(shù)轉(zhuǎn)換器,輸出寄存器、并行寄

39、存器、并行/ /串行轉(zhuǎn)換器以及控制邏輯電路等部分串行轉(zhuǎn)換器以及控制邏輯電路等部分組成。通道選擇器根據(jù)輸入地址寄存器中存放的模組成。通道選擇器根據(jù)輸入地址寄存器中存放的模擬輸入通道地址,選擇輸入通道,并將該輸入通道擬輸入通道地址,選擇輸入通道,并將該輸入通道中的模擬信號(hào)送到采樣中的模擬信號(hào)送到采樣/ /保持電路中;然后,在保持電路中;然后,在1212位位模模/ /數(shù)轉(zhuǎn)換器中,把采樣的模擬量進(jìn)行量化編碼,轉(zhuǎn)數(shù)轉(zhuǎn)換器中,把采樣的模擬量進(jìn)行量化編碼,轉(zhuǎn)換成數(shù)字量并存放到輸出寄存器中。轉(zhuǎn)換結(jié)果經(jīng)過換成數(shù)字量并存放到輸出寄存器中。轉(zhuǎn)換結(jié)果經(jīng)過并行并行/ /串行轉(zhuǎn)換器轉(zhuǎn)換成串行數(shù)據(jù),從串行轉(zhuǎn)換器轉(zhuǎn)換成串行數(shù)

40、據(jù),從DOUTDOUT引腳輸引腳輸出。出。 5910.2.3 SPI總線多通道串行輸出A/D芯片 TLC2543及接口TLC2543VCCEOCI/O CLOCKDINDOUTREF+REF+AIN7AIN1AIN2AIN3AIN5AIN4AIN6AIN0AIN8GNDAIN10AIN9CS6578123491011151614132019181712(一) TLC2543的引腳功能 (1)AIN0AIN10(引腳19,引腳11、引腳12):輸入,模擬量輸入通道,在使用4.1MHz的I/O時(shí)鐘時(shí),外部輸入設(shè)備的輸出阻抗應(yīng)小于或等于30。(2) (引腳15):輸入,片選。引腳出現(xiàn)一個(gè)從高到低的變

41、化可以使芯片內(nèi)部寄存器復(fù)位,同時(shí)使能DIN DOUT和I/O時(shí)鐘輸入。當(dāng)引腳出現(xiàn)一個(gè)從低到高的變化時(shí),數(shù)據(jù)輸入、數(shù)據(jù)輸出和I/O時(shí)鐘輸入無效。 CS6010.2.3 SPI總線多通道串行輸出A/D芯片 TLC2543及接口(3)DIN(引腳17):輸入,串行數(shù)據(jù)輸入端。最先輸入的4位用來選擇模擬量輸入通道。數(shù)據(jù)傳送時(shí)最高位在前,每一個(gè)I/O時(shí)鐘的上升沿送入一位數(shù)據(jù),最先4位數(shù)據(jù)輸入到地址寄存器后,接下來的4位用來設(shè)置TLC2543的工作方式。 (4)DOUT(引腳16):輸出,串行數(shù)據(jù)輸出端,輸出的數(shù)據(jù)有3種長(zhǎng)度可供選擇:8位、12位和16位,數(shù)據(jù)輸出的順序可以在TLC2543的工作方式中設(shè)定

42、。數(shù)據(jù)輸出引腳DOUT在為高時(shí)呈高阻狀態(tài),在為低電平時(shí),DOUT引腳輸出有效。 (一) TLC2543的引腳功能 6110.2.3 SPI總線多通道串行輸出A/D芯片 TLC2543及接口(5)EOC(引腳19):輸出,A/D轉(zhuǎn)換結(jié)束信號(hào),在命令的最后一個(gè)I/O時(shí)鐘的下降沿變低,A/D轉(zhuǎn)換結(jié)束后,由EOC由低電平變?yōu)楦唠娖?。?)I/O CLOCK(引腳18):輸入,輸入/輸出同步時(shí)鐘,它有4種功能:1 1)在)在I/O CLOCKI/O CLOCK的前的前8 8個(gè)上升沿,把命令字輸入到的數(shù)據(jù)輸入個(gè)上升沿,把命令字輸入到的數(shù)據(jù)輸入寄存器,其中前寄存器,其中前4 4個(gè)是輸入通道地址選擇。個(gè)是輸入

43、通道地址選擇。2 2)在)在I/O CLOCKI/O CLOCK的第的第4 4個(gè)個(gè)I/OI/O時(shí)鐘的下降沿,選中通道的模擬信時(shí)鐘的下降沿,選中通道的模擬信號(hào)對(duì)芯片中電容陣列進(jìn)行充電,直到最后一個(gè)號(hào)對(duì)芯片中電容陣列進(jìn)行充電,直到最后一個(gè)I/OI/O時(shí)鐘結(jié)束。時(shí)鐘結(jié)束。3 3)I/OI/O時(shí)鐘把上次轉(zhuǎn)換結(jié)果輸出,在最后一個(gè)數(shù)據(jù)輸出完后,時(shí)鐘把上次轉(zhuǎn)換結(jié)果輸出,在最后一個(gè)數(shù)據(jù)輸出完后,開始下一次轉(zhuǎn)換。開始下一次轉(zhuǎn)換。4 4)在最后一個(gè))在最后一個(gè)I/OI/O時(shí)鐘的下降沿,把時(shí)鐘的下降沿,把EOCEOC變?yōu)榈碗娖?。變?yōu)榈碗娖健?一) TLC2543的引腳功能 6210.2.3 SPI總線多通道串行輸出

44、A/D芯片 TLC2543及接口(7)參考電源REF 引腳14,正參考電壓。REF 引腳13,負(fù)參考電壓。最大的輸入電壓取決于正參考電壓與負(fù)參考電壓的差值。(8)芯片工作電源Vcc引腳20,電源正極,5V。GND引腳10,電源地。 (一) TLC2543的引腳功能 6310.2.3 SPI總線多通道串行輸出A/D芯片 TLC2543及接口(二) TLC2543的時(shí)序圖10.31 使用片選信號(hào)高位在前的時(shí)序CS6410.2.3 SPI總線多通道串行輸出A/D芯片 TLC2543及接口(二) TLC2543的時(shí)序圖10.32 不使用片選信號(hào)高位在前的時(shí)序CS6510.2.3 SPI總線多通道串行輸

45、出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ù)的極性。 6610.2.3 SPI總線多通道串行輸出A/D芯片 TLC2543及接口(1)高4位(D7D4)設(shè)置,可以實(shí)現(xiàn)從11個(gè)模擬量輸入通道中選擇1個(gè)通道進(jìn)行轉(zhuǎn)換;或從3個(gè)內(nèi)部自測(cè)電壓中選擇一

46、個(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 2/ )(REFREFVV 1 1 0 0 REFV 1 1 0 1 REFV 軟件掉電選擇 1 1 1 0 軟件

47、掉電 6710.2.3 SPI總線多通道串行輸出A/D芯片 TLC2543及接口(2)D3D2位選擇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 位 6810.2.3 SPI總線多通道串行輸出A/D芯片 TLC2543及接口(3)D1位選擇輸出數(shù)據(jù)的傳送方式,即下一個(gè)I/O周期,A

48、/D轉(zhuǎn)換結(jié)果的數(shù)據(jù)以低位在前或高位在前的方式串行輸出。當(dāng)D1位為0時(shí),A/D轉(zhuǎn)換結(jié)果以高位在前的方式從DOUT腳輸出;當(dāng)D1位為1時(shí),則以低位在前的方式從DOUT腳輸出。(4)D0位是設(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的命令字 6910.2.3 SPI總線多通道串行輸出A/D芯片 TLC2543及接口(四)TLC2543 與MCS-51單片機(jī)的接口程序設(shè)計(jì) CSIO CLKDINDOUTP1.3P1.0P1.1P1.2MCS-51TLC25437010.2.3

49、 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 ;將命令字的一位經(jīng)DIN移入 SETB P1.0 ;產(chǎn)生一個(gè)時(shí)鐘脈沖 NO

50、P CLR P1.0 DJNZ R5,LOOP MOV R2,A ;A/D轉(zhuǎn)換的數(shù)據(jù)存于R2中 RET7110.2.4串行輸入D/A芯片TLC5615接口技術(shù) TLC5615是具有SPI串行接口的數(shù)模(D/A)轉(zhuǎn)換器,其輸出為電壓型,最大輸出電壓是基準(zhǔn)電壓值的2倍。TLC5615有以下特點(diǎn):(1)10位CMOS電壓輸出;(2)單一5V直流電源供電;(3)與CPU三線串行接口; (4)最大輸出電壓可達(dá)基準(zhǔn)電壓的2倍;(5)輸出電壓具有和基準(zhǔn)電壓相同極性;(6)建立時(shí)間12.5s;(7)內(nèi)部上電復(fù)位,可以把DAC寄存器復(fù)位至全零狀態(tài)。(8)低功耗,最大僅1.75mW。7210.2.4串行輸入D/A

51、芯片TLC5615接口技術(shù)(一)TLC5615的片內(nèi)結(jié)構(gòu)和引腳功能7310.2.4串行輸入D/A芯片TLC5615接口技術(shù)(一)TLC5615的片內(nèi)結(jié)構(gòu)和引腳功能VDDAGNDREFINDOUTSCLKDINOUTTLC5615CS12346578CS(1)DIN(引腳1):輸入,串行數(shù)據(jù)輸入; (2)SCLK(引腳2):輸入,串行時(shí)鐘輸入;(3) (引腳3):輸入,芯片選擇,低電平有效;(4)DOUT(引腳4):輸出,用于多個(gè)芯片級(jí)聯(lián)時(shí)的串行數(shù)據(jù)輸出;(5)AGND(引腳5):模擬地; (6)REFIN(引腳6):參考電壓輸入; (7)OUT(引腳7):輸出,模擬電壓輸出;(8)VDD(引腳

52、8):電源。7410.2.4串行輸入D/A芯片TLC5615接口技術(shù)(二)TLC5615的時(shí)序 7510.2.4串行輸入D/A芯片TLC5615接口技術(shù)(三)TLC5615與MCS-51單片機(jī)的接口及程序設(shè)計(jì) DINSCLKDOUTAGNDREFIN80C51+5Vk2P3.2P3.1P3.0TLC5615CSVDD2.5VRDOUT7610.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)為0000XXX

53、XSWAP A ; LCALL WRdata;由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 7710.2.5 SPI串行編程E2P

54、ROMX5045 X5045是Xicor公司生產(chǎn)的具有SPI總線接口的E2PROM芯片,它是早期產(chǎn)品X25045的替代品。X5045把集成了4種功能:上電復(fù)位控制、看門狗定時(shí)器、電源監(jiān)督以及具有塊保護(hù)功能的串行E2PROM存儲(chǔ)器。另一款芯片X5043與X5045功能相同,二者區(qū)別僅在于輸出的復(fù)位信號(hào)的電平不同,前者為低電平,后者為高電平。 7810.2.5 SPI串行編程E2PROMX5045(一)X5045的內(nèi)部結(jié)構(gòu)和引腳包括上電復(fù)位和低電壓檢測(cè)及控制電路、看門狗定時(shí)器、數(shù)據(jù)寄存器、命令解碼與控制邏輯電路、E2PROM存儲(chǔ)器陣列、塊保護(hù)邏輯電路、電源閾值復(fù)位邏輯電路等部分組成。 7910.2

55、.5 SPI串行編程E2PROMX5045(一)X5045的內(nèi)部結(jié)構(gòu)和引腳VCCSISCKVSSSORESETX5045WP12346578/WDICS(1)CS/WDI(引腳1):輸入,芯片選擇/看門狗輸入。當(dāng)為高電平時(shí),芯片未選中,此時(shí),引腳SO為高阻態(tài)。在高電平時(shí),X5045處于標(biāo)準(zhǔn)的功耗模式時(shí),寫周期開始把拉為低電平,將使X5045處于選中狀態(tài),器件將工作于工作功耗狀態(tài)。在上電后,任何操作之前必須要有一個(gè)高電平變低電平的過程。作為看門狗輸入時(shí),在看門狗定時(shí)器超時(shí)并產(chǎn)生復(fù)位之前,在WDI引腳上的高電平到低電平的跳變,將復(fù)位看門狗定時(shí)器。8010.2.5 SPI串行編程E2PROMX504

56、5(2)SO(引腳2):輸出,串行數(shù)據(jù)輸出。SO是一個(gè)推/拉串行數(shù)據(jù)輸出引腳,在讀數(shù)據(jù)時(shí),數(shù)據(jù)在SCK脈沖的下降沿,由SO引腳送出。 (一)X5045的內(nèi)部結(jié)構(gòu)和引腳(3)WP(引腳3): 輸入,寫保護(hù)。當(dāng)引腳為低電平時(shí),向X5045中寫的操作被禁止,但是其它的功能正常。當(dāng)引腳是高電平時(shí),所有操作正常,包括寫操作。如果在CS是低電平時(shí),WP變?yōu)榈碗娖?,則會(huì)中止向X5045的寫操作。但是如果內(nèi)部寫周期已經(jīng)初始化,WP變?yōu)榈碗娖綍r(shí)對(duì)寫操作無任何影響。 8110.2.5 SPI串行編程E2PROMX5045(4)VSS(引腳4):地。(5) SI(引腳5):輸入,串行數(shù)據(jù)輸入。SI是串行數(shù)據(jù)的輸入,

57、命令碼、地址、數(shù)據(jù)都是通過SI引腳輸入的。數(shù)據(jù)輸入在SCK的上升沿進(jìn)行,傳送時(shí)高位在前。(6)SCK(引腳6):輸入,串行時(shí)鐘。在串行時(shí)鐘SCK的上升沿,通過SI引腳進(jìn)行數(shù)據(jù)的輸入;在SCK下降沿,通過SO引腳進(jìn)行數(shù)據(jù)的輸出。(一)X5045的內(nèi)部結(jié)構(gòu)和引腳8210.2.5 SPI串行編程E2PROMX5045(7)RESET(引腳7):輸出,復(fù)位輸出。只要電源Vcc電壓下降到小于Vcc最小值時(shí),RESET變?yōu)楦唠娖?。RESET會(huì)一直保持高電平,直到電壓值上升到超過Vcc最小值的時(shí)間大于200ms時(shí),RESET才會(huì)變?yōu)榈碗娖?。另外,RESET也受看門狗定時(shí)器的控制。(8)VCC(引腳8),電源

58、。(一)X5045的內(nèi)部結(jié)構(gòu)和引腳8310.2.5 SPI串行編程E2PROMX5045(1)X5045的命令集表 10.10 X5045 命令及其功能 命令名稱 命令格式 操作 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的命令集和狀態(tài)寄存器 8410.2.5 SPI串行編程E2PROMX5045(2)X5045的狀態(tài)寄存器(二)X5045的命令集和狀態(tài)寄存器 狀態(tài)寄存器由4個(gè)斷電不丟失的控制位和2個(gè)斷電消失的狀態(tài)位組成,用于設(shè)置看門狗定時(shí)器的溢出時(shí)間和存儲(chǔ)器區(qū)鎖定(BlockLock)保護(hù)。 D700WD1WD0BL1BL

溫馨提示

  • 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)論