當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]1 引言    I2C總線是Philips公司推出的芯片間串行傳輸總線。它僅用串行數(shù)據(jù)線(SDA)和串行時(shí)鐘線(SCL)兩根連線便實(shí)現(xiàn)了完善的全雙工同步數(shù)據(jù)傳送,并可很方便地構(gòu)成多機(jī)系統(tǒng)和外圍器件擴(kuò)展系統(tǒng)。   

1 引言
   I2C總線是Philips公司推出的芯片間串行傳輸總線。它僅用串行數(shù)據(jù)線(SDA)和串行時(shí)鐘線(SCL)兩根連線便實(shí)現(xiàn)了完善的全雙工同步數(shù)據(jù)傳送,并可很方便地構(gòu)成多機(jī)系統(tǒng)和外圍器件擴(kuò)展系統(tǒng)。
  
     本文介紹在P87LPC764單片機(jī)中利用I2C總線系統(tǒng)中典型的LCD驅(qū)動(dòng)控制器件PCF8577C來(lái)擴(kuò)展256段靜態(tài)LCD的電路設(shè)計(jì)方法。

2 硬件電路設(shè)計(jì)
2.1 P87LPC764單片機(jī)的I2C總線接口
   P87LPC764是Philips公司生產(chǎn)的一種小封裝、低成本、高性能的單片機(jī)(具體內(nèi)容見(jiàn)參考文獻(xiàn)2)。它采用80C51加速處理器結(jié)構(gòu),片內(nèi)帶有支持I2C總線的硬件接口。當(dāng)激活I(lǐng)2C總線時(shí),P87LPC764端口1中的P1.2與P1.3可分別用作SCL和SDA總線功能。其I2C總線由3個(gè)特殊功能寄存器控制,即I2C控制寄存器I2CON、I2C配置寄存器I2CFG、I2C數(shù)據(jù)寄存器I2DAT。各寄存器格式及位含義如下。
 

a.I2CON寄存器
   I2CON寄存器各位的含義在進(jìn)行讀寫操作時(shí)完全不同。下面分別介紹其讀、寫操作格式。

      

各位功能如下:
   
RDAT:數(shù)據(jù)接收位。在SCL線的上升沿時(shí)由SDA線上獲取。讀RDAT位時(shí)不清除DRDY,也不釋放SCL線。
   
ATN:當(dāng)DRDY、ARL、STR或STP中任意一個(gè)為1時(shí),ATN置1。通過(guò)測(cè)試ATN位可判斷總線上是否發(fā)生某類事件。
   
DRDY:數(shù)據(jù)準(zhǔn)備好標(biāo)志位。在SCL上升沿時(shí)置位,讀寫I2DAT寄存器或向CDR寫入1時(shí)清0。 ARL:總線仲裁失敗標(biāo)志位。

STR:?jiǎn)?dòng)標(biāo)志位。當(dāng)檢測(cè)到啟動(dòng)條件時(shí)置1。

STP:停止標(biāo)志位。當(dāng)檢測(cè)到停止條件時(shí)置1。 MASTER:當(dāng)本器件成為I2C總線主控器時(shí)置1。

     

其中:

CXA:寫入1,清除數(shù)據(jù)發(fā)送狀態(tài)。
   
IDLE:寫入1,則被控制要檢測(cè)到下一位啟動(dòng)位時(shí)才接收總線信息。

CDR:寫入1,清除DRDY。

CARL:寫入1,清除ARL。

CSTR:寫入1,清除STR。

CSTP:寫入1,清除STP。
   
XSTR:當(dāng)裝置為主控制器時(shí),向XSTR和CDR寫入1,使I2C總線發(fā)送重復(fù)啟動(dòng)位。
   
XSTP:當(dāng)裝置為主控制器時(shí),向XSTP和CDR寫入1,使I2C總線發(fā)送停止位。

     
b.I2CFG寄存器
 SLA:寫入1,本裝置成為I2C總線被控器。
   
 MASTRQ:寫入1,本裝置成為I2C總線主控器。

 CTI:寫入1,清除定時(shí)器1溢出標(biāo)志。
   
 TIRUN:寫入1,定時(shí)器1開始運(yùn)行;寫入0,停止定時(shí)器1運(yùn)行并將定時(shí)器清0。
   
       CT1和CT0用來(lái)決定SCL線上高低電平的最小時(shí)間。

c.I2DAT寄存器

  I2DAT寄存器的讀、寫格式是不同的。

    

     其中RDAT為數(shù)據(jù)接收位。在SCL線的上升沿時(shí)從SDA中獲取。在從I2DAT的RDAT中讀數(shù)據(jù)的同時(shí),可清除DRDY和設(shè)置發(fā)送激活狀態(tài)。

     

     其中XDAT為數(shù)據(jù)發(fā)送位。下一個(gè)要發(fā)送的數(shù)據(jù)寫入此位。寫XDAT時(shí),應(yīng)清除DRDY和設(shè)置發(fā)送激活狀態(tài)。

2.2 I2C總線顯示器件PCF8577C

 a.引腳功能
   
       PCF8577C是I2C總線系統(tǒng)中典型的LCD驅(qū)動(dòng)控制器件,在靜態(tài)方式時(shí)可驅(qū)動(dòng)32段LCD;在雙級(jí)方式時(shí)可驅(qū)動(dòng)64段LCD。若采用多片級(jí)聯(lián),則最大可構(gòu)成256段LCD顯示系統(tǒng)。另外,PCF8577C還具有顯示數(shù)據(jù)自動(dòng)增量寫入功能,而且編程十分簡(jiǎn)單。PCF8577的引腳排列如圖1所示。各引腳功能如下:

       S32~S1:段輸出端口。

                                           

BP1:背極輸出。級(jí)聯(lián)時(shí)可作為同步輸入端,接第一級(jí)的BP1信號(hào)作為同步信號(hào)。
   
A2/BP2:在靜態(tài)驅(qū)動(dòng)方式下,該端作為硬件地址線A2,用于設(shè)定8577C的硬件子地址。在雙級(jí)驅(qū)動(dòng)方式下,該腳用作第二背極輸出BP2。級(jí)聯(lián)時(shí)則作為同步輸入端,接第一級(jí)的BP2信號(hào)作為同步信號(hào)。在雙極方式下,其硬件子地址僅由A1和A0來(lái)決定。

A1:硬件地址線。片內(nèi)無(wú)下拉電路,不可懸空。
   
A0/OSC:該腳需外接電阻電容來(lái)構(gòu)成振蕩器,此時(shí)A0被規(guī)定為邏輯0,用作硬件地址線。級(jí)聯(lián)時(shí),除第一級(jí)之外,其它各級(jí)均不外接電阻電容構(gòu)成的振蕩器,而應(yīng)接VDD或VSS來(lái)設(shè)置器件子地址。

VDD和VSS:分別為電源正、負(fù)極。

SCL和SDA:分別為I2C總線的時(shí)鐘和數(shù)據(jù)線。

b.?dāng)?shù)據(jù)操作格式
   
     8577C有九個(gè)寄存器,其操作格式如圖2所示。下面就控制寄存器和段字節(jié)寄存器加以說(shuō)明。

●控制寄存器
     控制寄存器用于在微處理機(jī)對(duì)8577C的一次數(shù)據(jù)傳送過(guò)程中裝入第二字節(jié)(控制字節(jié))??刂谱指魑缓x如下:

 MODE:驅(qū)動(dòng)方式選擇位,“0”為選擇靜態(tài)驅(qū)動(dòng)方式;“1”為選擇雙極驅(qū)動(dòng)方式。
   
 BANK:數(shù)據(jù)選擇位,“0”為選擇顯示A體數(shù)據(jù),“1”為選擇顯示B體數(shù)據(jù)。
   
 V5V4V3:這三位與硬件子地址相對(duì)應(yīng)。若器件的從地址與I2C總線上的從地址相符,且V5V4V3=A2A1A0,則該器件被選中,此時(shí)即可接收總線上送來(lái)的數(shù)據(jù),并將其裝入段字節(jié)寄存器,否則不予理睬。在雙極驅(qū)動(dòng)方式下,由于A2作BP2,故V5無(wú)效。
   
V2V1V0:段字節(jié)寄存器SBR的地址位,用來(lái)決定將段數(shù)據(jù)寫入哪一個(gè)SBR。

      用V5~V0可組成段字節(jié)向量SBV,它具有自動(dòng)增量功能。若需一次傳送多個(gè)段字節(jié)數(shù)據(jù),可在每裝入一個(gè)段字節(jié)數(shù)據(jù)后便SBV自動(dòng)加2(靜態(tài)方式)或加1(雙級(jí)方式),以便裝入下一個(gè)數(shù)據(jù);級(jí)聯(lián)時(shí),當(dāng)一片8577C裝滿后,SBV自動(dòng)增量,并指向硬件子地址與之相鄰的下一個(gè)8577C的SBR。SBV的值可以在111111~000000之間循環(huán)滾動(dòng)。

                                 

●段字節(jié)寄存器SBR
   
       八個(gè)SBR可分成兩組,地址為偶數(shù)的一組稱為A體,奇數(shù)組稱為B體。在靜態(tài)方式下,要么顯示A體數(shù)據(jù),要么顯示B體數(shù)據(jù)??梢酝ㄟ^(guò)改變BANK位的值來(lái)切換顯示內(nèi)容。在雙極方式下,八個(gè)SBR將同時(shí)使用,這時(shí)BANK為不關(guān)心碼,A體對(duì)應(yīng)于BP1,B體對(duì)應(yīng)于BP2。

c.總線操作
   
       PCF8577C的總線操作包括從地址和硬件子地址,其中從地址固定為0111010,共七位,是I2C總線委員會(huì)分配的。此外,還有三位硬件子地址(A2A1A0)待設(shè)定。若應(yīng)用系統(tǒng)中有多片8577C,則需分別設(shè)定不同的硬件子地址來(lái)加以區(qū)別。選中8577C指的是它的從地址和硬件子地址都被選中。

      

       其中:起始信號(hào)S之后的第一個(gè)字節(jié)中的最低位是方向位,因8577C只能接收數(shù)據(jù),所以該位必須為0;其余七位是從地址。若系統(tǒng)含多片8577C,則每片都會(huì)對(duì)第一和第二字節(jié)作出應(yīng)答;而段數(shù)據(jù)字節(jié)后的應(yīng)答信號(hào)僅由被選中的芯片產(chǎn)生。數(shù)據(jù)字節(jié)可連續(xù)多個(gè)。如果僅改變BANK值,而不改變SBR中的內(nèi)容,則應(yīng)在控制字節(jié)的應(yīng)答位之后發(fā)送停止信號(hào)P,這時(shí)被選中的芯片將更新BANK。

2.3 顯示電路設(shè)計(jì)
   
       利用P87LPC764擴(kuò)展LCD的接口電路如圖3所示。該電路采用靜態(tài)驅(qū)動(dòng)方式,由P87LPC764單片機(jī)訪問(wèn)8片8577C以組成最大級(jí)聯(lián)系統(tǒng)。每片8577C可驅(qū)動(dòng)32段LCD,因此,共可擴(kuò)展256段LCD。而在級(jí)聯(lián)應(yīng)用時(shí),只由第一級(jí)構(gòu)成振蕩器,以輸出背極信號(hào),并對(duì)后級(jí)進(jìn)行同步。

3 軟件設(shè)計(jì)
   
       該應(yīng)用電路是一個(gè)單主I2C總線系統(tǒng),數(shù)據(jù)傳送操作只有主發(fā)送方式,因而在編程過(guò)程中沒(méi)有檢測(cè)總線錯(cuò)誤。數(shù)據(jù)發(fā)送時(shí),每發(fā)送1個(gè)字節(jié),都應(yīng)檢測(cè)應(yīng)答信號(hào),如無(wú)應(yīng)答信號(hào),建立標(biāo)志位F0以重發(fā)數(shù)據(jù)。該電路采用靜態(tài)方式,顯示為A體數(shù)據(jù)。
           
如果程序中的顯示緩沖區(qū)30H到7FH單元用來(lái)存放字形碼,則該I2C總線顯示電路的程序清單如下:

      
 

4 結(jié)束語(yǔ)
   
       本文介紹了I2C總線系統(tǒng)中利用典型的LCD驅(qū)動(dòng)控制器件PCF8577C擴(kuò)展LCD顯示器的電路及程序設(shè)計(jì)。參考本文思路,也可實(shí)現(xiàn)動(dòng)態(tài)LCD顯示器的擴(kuò)展。該方法在I2C總線系統(tǒng)中進(jìn)行人機(jī)接口電路設(shè)計(jì)時(shí)具有較好的參考價(jià)值。
 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉