當前位置:首頁 > 單片機 > 單片機
[導讀]I2C總線是Philips公司推出的芯片間串行傳輸總線。

摘要:I2C總線是Philips公司推出的芯片間串行傳輸總線。目前,已有不少大電氣公司半導體廠商推出了不少帶有I2C總線接口的單片機。本文介紹一種利用Philips公司生產(chǎn)的P87LPC764單片機作為I2C總線控制器與I2C總線顯示器件SAA1064構(gòu)成的I2C顯示電路,并給出相應的程序清單。

    關(guān)鍵詞:I2C總線 P87LPC764單片機 SAA1064 顯示電路

I2C總線是Philips公司推出的芯片間串行傳輸總線。它以串行數(shù)據(jù)線(SDA)和串行時鐘線(SCL)2根連線實現(xiàn)了完善的全雙工同步數(shù)據(jù)傳送,可以極方便地構(gòu)成多機系統(tǒng)和外圍器件擴展系統(tǒng)。關(guān)于I2C總線的結(jié)構(gòu)和工作原理詳見參考文獻1。

一、P87LPC764單片機I2C總線接口

P87LPC764是Philips公司生產(chǎn)的一種小封裝、低成本、高性能的單片機(有關(guān)它的詳細介紹見參考文獻2)。它采用80C51加速處理器結(jié)構(gòu),片內(nèi)帶有支持I2C總線的硬件接口。當激活I(lǐng)2C總線時,P87LPC764端口1中的P1.2與P1.3分別作為SCL和SDA行使I2C總線功能。其I2C總線由3個特殊功能寄存器控制,這3個寄存器為I2C控制寄存器I2CON、I2C配置寄存器I2CFG和I2C數(shù)據(jù)寄存器I2DAT。各寄存器格式和位含義參見本刊第5期第36頁。

二、I2C總線顯示器件SAA1064

1.引腳功能

SAA1064是I2C總線系統(tǒng)中典型的LED驅(qū)動控制器件,為雙極型集成電路,有2×8位輸出驅(qū)動接口,可靜態(tài)驅(qū)動2位或動態(tài)驅(qū)動4位8段LED顯示器。SAA1064的器件地址為0111,其引腳地址端ADR按輸入電平大小將A1A0編為4個不同的從地址,故在1個I2C總線系統(tǒng)中最多可以掛接4片SAA1064,實現(xiàn)16位LED顯示。SAA1064為24腳雙列直插封裝,其引腳排列如圖1所示。

    ADR 尋址端,SAA1064通過對該腳輸入不同的模擬電壓,以確定其不同的地址。SAA1064規(guī)定輸入該腳的電壓值為VEE、(3/8)Vcc、(5/8)Vcc及Vcc時,分別對應十六地地址70H、72H、74H、76H(寫操作)或71H、73H、75H、77H(讀操作)。

CEXT 時鐘振蕩器的外接電容,典型值為2.7nF。

P1~P8 段驅(qū)動輸出端口1。P1為最低位,P8為最高位。

P9~P16 段驅(qū)動輸出端口2。P9為最低位,P16為最高位。

MX1、MX2 動態(tài)顯示方式時的公共極驅(qū)動信號輸出端,用以切換兩對數(shù)碼管輪流顯示。

SDA、SCL I2C總線的數(shù)據(jù)線和時鐘線。

2.數(shù)據(jù)操作格式

SAA1064除了與LED驅(qū)動控制相關(guān)的寫操作外,還有能反映系統(tǒng)上電標志的讀操作。SAA1064的讀操作狀態(tài)字節(jié)的讀出操作,其狀態(tài)字節(jié)僅最高位有意義,定義為PR。上電后PR為"1",在對其進行讀狀態(tài)字節(jié)操作后清零。因此,PR=1表示從上次讀狀態(tài)后出現(xiàn)過掉電和加電。利用這一功能,在系統(tǒng)中可作為冷熱啟動標志。

(1)數(shù)據(jù)的輸入操作

SAA1064的顯示驅(qū)動控制只需要I2C總線對其進行寫入操作,即按照子地址(SUBADR)寫入控制命令字節(jié)及顯示器的段碼數(shù)據(jù)即可,其數(shù)據(jù)操作格式如下:

S SLAW A SUBADR A COM A
data1 A data2 A data3 A data4 A P

SLAW為SAA1064的地址。

SUBADR為SAA1064片內(nèi)地址單元首址。

COM為SAA1064的控制命令。

data1~data4為動態(tài)顯示方式的4個LED顯示器的共陰極段選碼。

(2)子地址單元

SAA1064片內(nèi)有5個地址單元,占用了3位地址位(SC、SB、SA),分別用于裝入控制字節(jié)和4個顯示段碼,具體地址分配如表1所列。由于SAA1064寫操作具有地址自動加1功能,故在數(shù)據(jù)操作格式的寫入順序中,SUBADR應為00H。

0 0 0 0 SA SB SC 單元地址 功    能
0 0 0 0 0 0 0 00H 控制寄存器
0 0 1 01H 數(shù)字位1
0 1 0 02H 數(shù)字位2
0 1 1 03H 數(shù)字位3
1 0 0 04H 數(shù)字位4
1 0 1 05H 保留不用
1 1 0 06H 保留不用
1 1 1 07H 保留不用

(3)控制命令COM格式

SAA1064具有較強的控制功能,能實現(xiàn)亮度控制,顯示器測試,動、靜態(tài)及位亮、暗顯示。這些控制命令集中設(shè)置在控制寄存器中??刂泼睿–OM)格式如下:

- C6 C5 C4 C3 C2 C1 C0

C0 動態(tài)、靜態(tài)顯示選擇,C0=1動態(tài)顯示。

C1 數(shù)碼管1、3亮滅選擇,C1=1選擇亮。

C2 數(shù)碼管2、4亮滅選擇,C2=1選擇亮。

C3 測試位,C3=1時所有段點亮,正常工作時該位為0。

C4、C5、C6 輸出電流控制位,為1時分別對應3mA、6mA、12mA。皆為1時輸出電流最大為21mA。

三、顯示電路實例

圖2是P87LPC764與SAA1064的接口電路實例。P87LPC764單片機采用6MHz的內(nèi)部RC振蕩器,訪問4片SAA1064,驅(qū)動16只數(shù)碼管顯示,每片SAA1064的接線如圖2所示。

    該應用電路是一個單主的I2C總線系統(tǒng),不會出現(xiàn)總線競爭問題,而且數(shù)據(jù)傳送操作只有主發(fā)送方式,因此,在編程過程中沒有檢測總線錯誤。在數(shù)據(jù)發(fā)送過程中,每發(fā)送1個字節(jié),都檢測應答信號,如無應答信號,建立標志位F0,程序重新開始發(fā)送數(shù)據(jù)。

以下是該I2C總線顯示電路的程序清單,顯示緩沖區(qū)為30H到3FH單元。

START:MOV R0,#30H ;顯示緩沖區(qū)首地址

MOV R1,#17H ;SAA1064控制碼

MOV R2,#70H ;SAA1064(1)的地址

MOV R3,#04H ;4片SAA1064

LOOP:ACALL DISP

JB F0,START ;無應答信號重新開始

INC R2 ;

INC R2 ;

DJNZ R3,LOOP ;

以下是顯示子程序

DISP:CLR F0 ;清除無應答標志

MOV I2CFG,#30H ;請求成為I2C總線主機

JNB MASTER,$ ;等待成為I2C總線主機

MOV I2CON,#1CH ;清除起動條件

MOV A,R2 ;取從設(shè)備地址

ACALL SEND ;發(fā)送從設(shè)備地址

JB F0,DISP2 ;無應答信號轉(zhuǎn)移

MOV A,#0 ;SAA1064子地址

ACALL SEND ;發(fā)送子地址

JB F0,DISP2 ;無應答信號轉(zhuǎn)移

MOV A,R1 ;取SAA1064控制碼

ACALL SEND ;發(fā)送控制碼

JB F0,DISP2 ;無應答信號轉(zhuǎn)移

MOV R4,#04H ;四只數(shù)碼管

DISP1:MOV A,@R0 ;取字形代碼

ACALL SEND ;發(fā)送字形代碼

JB F0,DISP2 ;無應答信號轉(zhuǎn)移

INC R0 ;修正顯示單元地址

DJNZ R4,DISP1 ;

DISP2:ACALL SSTP ;發(fā)送停止位

RET ;

;發(fā)送1個字節(jié)

SEND:MOV R4,#8H ;設(shè)置數(shù)據(jù)格式為8位

SENDB:MOV I2DAT,A ;發(fā)送數(shù)據(jù)位

RL A ;取下一個數(shù)據(jù)位

JNB DRDY,$ ;等待數(shù)據(jù)準備好

DJNZ R4,SENDB ;

MOV I2CON,#0A0H ;轉(zhuǎn)換為接收模式

JNB ATN,$ ;等待應答信號

JNB RDAT,SENDE ;是應答位嗎?

SETB F0 ;建立無應答信號標志

SENDE:RET ;

;發(fā)送停止位

SSTP:CLR MASTRQ ;取消主機位置

MOV I2CON,#21H ;產(chǎn)生總線停止條件

JNB ATN,$ ;等待

MOV I2CON,#20H ;清除數(shù)據(jù)準備好標志

JNB ATN,$ ;等待發(fā)送停止條件

MOV I2C0N,#91H ;釋放I2C總線

CLR TIRUN ;停止定時器I的運行

RET

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

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

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

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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