<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > I2C總線(xiàn)的程序設計

I2C總線(xiàn)的程序設計

作者: 時(shí)間:2011-07-20 來(lái)源:網(wǎng)絡(luò ) 收藏
  采用I2C總線(xiàn)工作方式驅動(dòng)MAX518芯片時(shí),MSSP模塊在產(chǎn)生啟動(dòng)條件的基礎上,連續發(fā)送3個(gè)字節信息,分別為地址字節、命令字節及所需轉換的數椐字節,3個(gè)宇節發(fā)送完畢后,MSSP模塊產(chǎn)停止條件,MAX518才開(kāi)始進(jìn)行模/數轉換.

因為MAX518的地址字節為58H,所以只有向其發(fā)送58H地址時(shí),才能選通它。命令字節可以為00H或01H 當為00H時(shí),選擇OUT0通逍輸出模擬量:當為01H時(shí),選擇OUT1通道輸出模擬量。

本程序中的命令字節為01H,即選擇D/A1通道輸出正弦波信號.待輸出的數據量根掂需耍在00H~FFH間變化。MSSP模塊產(chǎn)生啟動(dòng)條件后,地址字節、命令字節、待轉換的數據發(fā)送成功,且產(chǎn)生停止條件時(shí),SSIFG都會(huì )被置1。

因此在編寫(xiě)程序時(shí),可以通過(guò)查詢(xún)該標志位來(lái)判斷相應的步驟是否完成。若該步驟沒(méi)有完成,則繼續等待查詢(xún);若已完成,則清除SSIFG標志位,繼續進(jìn)行下一步操作。本設計的程序流程如圖1和圖2所示。

  

圖1 I2C的初始化程序流程   圖2 主程序流程及I2C發(fā)送數據子程序流程   

實(shí)現代碼如下。

(1)首先定義數據組存放正弦表,通過(guò)在數組名前加const標識,把該數組存放到ROM中.   

(2)初始化I2C模塊,設置SCL為輸入口、SDA為輸出口,通過(guò)設HSSP7ADD寄存器來(lái)確定I2C的工作頻率,最后使能I2C。   

(3)該字函數通過(guò)5個(gè)do-while語(yǔ)句成I2C的啟動(dòng)、發(fā)送地址字節、發(fā)送命令字節、發(fā)送數據字節和產(chǎn)生停止條件的功能,最后通過(guò)對SSPIF清0,清楚發(fā)送標志。   

(4)主函數3完成各個(gè)子函數的調用功能,在while循環(huán)中調用I2C總線(xiàn)輸出數據子函數。  

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>