



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、/=頭文件加載=#include /加載52系列單片機(jī)頭文件/=端口聲明=sbit CLK=P36; /74hc574時(shí)鐘信號(hào)線sbit G=P24; /74hc574使能sbit IIC_SDA=P26; /聲明IIC總線的數(shù)據(jù)線接在單片機(jī)的P2.5端口。sbit IIC_SCL=P25; /聲明IIC總線的時(shí)鐘線接在單片機(jī)的P2.7端口。unsigned char tabl=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x0BF,0x8C;/0,1,2,3,4,5,6,7,8,9,-,P/=函數(shù)聲明=void display(unsi
2、gned char aa);void delay(unsigned int t);void delay_IIC(void);void IIC_Init(void);void IIC_start(void);void IIC_stop(void);bit IIC_Tack(void);void IIC_single_byte_write(unsigned char Daddr,unsigned char Waddr,unsigned char Data);unsigned char IIC_single_byte_read(unsigned char Daddr,unsigned char Wa
3、ddr);void IIC_write_byte(unsigned char Data);unsigned char IIC_read_byte(void);/=主函數(shù)=void main() /主函數(shù)unsigned char Data=2,addr=0x01; /-系統(tǒng)初始化- IIC_Init();/初始化IIC總線。 /P1=0x7f;/LED8先亮。 while(1) /死循環(huán) IIC_single_byte_write(0xa0,0x02,Data);/保存LED的狀態(tài) delay(50000);/延時(shí)約0.5S Data=IIC_single_byte_read(0xa0,0x0
4、2);/讀出LED的狀態(tài)if(Data10)Data+;elseData=0;display(Data);delay(50000);/延時(shí)約0.5S /=功能子函數(shù)=void delay(unsigned int t)/延時(shí)函數(shù) while(t)t-; /延時(shí)循環(huán)計(jì)數(shù)/-void delay_IIC(void) /IIC總線限速延時(shí)函數(shù)。/該函數(shù)是空函數(shù),延時(shí)4個(gè)機(jī)器周期。;/-void IIC_Init(void)/IIC總線初始化函數(shù) IIC_SDA=1;/釋放IIC總線的數(shù)據(jù)線。 IIC_SCL=1;/釋放IIC總線的時(shí)鐘線。/-void IIC_start(void)/IIC總線產(chǎn)生起
5、始信號(hào)函數(shù) IIC_SDA=1;/拉高數(shù)據(jù)線 IIC_SCL=1;/拉高時(shí)鐘線 delay_IIC(); IIC_SDA=0;/在時(shí)鐘線為高電平時(shí),拉低數(shù)據(jù)線,產(chǎn)生起始信號(hào)。 delay_IIC(); IIC_SCL=0;/拉低時(shí)鐘線/-void IIC_stop(void) /IIC總線產(chǎn)生停止信號(hào)函數(shù) IIC_SDA=0;/拉低數(shù)據(jù)線 delay_IIC(); IIC_SCL=1;/拉高時(shí)鐘線。 delay_IIC(); IIC_SDA=1;/時(shí)鐘時(shí)線為高電平時(shí),拉高數(shù)據(jù)線,產(chǎn)生停止信號(hào)。 delay_IIC();/-bit IIC_Tack(void)/接收應(yīng)答信號(hào)函數(shù) bit ack;
6、/定義一個(gè)位變量,來暫存應(yīng)答狀態(tài)。 IIC_SDA=1;/釋放數(shù)據(jù)總線,準(zhǔn)備接收應(yīng)答信號(hào)。 delay_IIC(); IIC_SCL=1;/拉高時(shí)鐘線。 delay_IIC(); ack=IIC_SDA;/讀取應(yīng)答信號(hào)的狀態(tài)。 delay_IIC(); IIC_SCL=0;/拉低時(shí)鐘線。 delay_IIC(); return ack;/返回應(yīng)答信號(hào)的狀態(tài),0表示應(yīng)答,1表示非應(yīng)答。/-void IIC_write_byte(unsigned char Data)/向IIC總線寫入一個(gè)字節(jié)的數(shù)據(jù)函數(shù) unsigned char i; for(i=0;i8;i+)/有8位數(shù)據(jù) IIC_SDA=D
7、ata&0x80;/寫最高位的數(shù)據(jù) delay_IIC(); IIC_SCL=1; /拉高時(shí)鐘線,將數(shù)寫入到設(shè)備中。 delay_IIC(); IIC_SCL=0;/拉低時(shí)鐘線,允許改變數(shù)據(jù)線的狀態(tài) delay_IIC(); Data=Data1;/數(shù)據(jù)左移一位,把次高位放在最高位,為寫入次高位做準(zhǔn)備 /-unsigned char IIC_read_byte()/從IIC總線讀取一個(gè)字節(jié)的數(shù)據(jù)函數(shù) unsigned char i; unsigned char Data; /定義一個(gè)緩沖寄存器。 for(i=0;i8;i+)/有8位數(shù)據(jù) IIC_SCL=1;/拉高時(shí)鐘線,為讀取下一位數(shù)據(jù)做準(zhǔn)備
8、。 delay_IIC(); Data=Data1;/將緩沖字節(jié)的數(shù)據(jù)左移一位,準(zhǔn)備讀取數(shù)據(jù)。 delay_IIC(); if(IIC_SDA)/如果數(shù)據(jù)線為高平電平。 Data=Data|0x1;/則給緩沖字節(jié)的最低位寫1。 IIC_SCL=0;/拉低時(shí)鐘線,為讀取下一位數(shù)據(jù)做準(zhǔn)備。 delay_IIC(); return Data;/返回讀取的一個(gè)字節(jié)數(shù)據(jù)。/-void IIC_single_byte_write(unsigned char Daddr,unsigned char Waddr,unsigned char Data)/向任意地址寫入一個(gè)字節(jié)數(shù)據(jù)函數(shù) IIC_start();/
9、產(chǎn)生起始信號(hào) IIC_write_byte(Daddr);/寫入設(shè)備地址(寫) IIC_Tack();/等待設(shè)備的應(yīng)答 IIC_write_byte(Waddr);/寫入要操作的單元地址。 IIC_Tack();/等待設(shè)備的應(yīng)答。 IIC_write_byte(Data);/寫入數(shù)據(jù)。 IIC_Tack();/等待設(shè)備的應(yīng)答。 IIC_stop();/產(chǎn)生停止符號(hào)。/-unsigned char IIC_single_byte_read(unsigned char Daddr,unsigned char Waddr)/從任意地址讀取一個(gè)字節(jié)數(shù)據(jù)函數(shù) unsigned char Data;/定義一個(gè)緩沖寄存器。 IIC_start();/產(chǎn)生起始信號(hào) IIC_write_byte(Daddr);/寫入設(shè)備地址(寫) IIC_Tack();/等待設(shè)備的應(yīng)答 IIC_write_byte(Waddr);/寫入要操作的單元地址。 IIC_Tack();/等待設(shè)備的應(yīng)答。 IIC_start();/產(chǎn)生起始信號(hào) IIC_write_byte(Daddr+1);/寫入設(shè)備地址(讀)。 IIC_Tack();/等待設(shè)備的應(yīng)答。 Data=IIC_read_byte();/寫入數(shù)據(jù)。 IIC_sto
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 以貸還貸面試題及答案
- 抗菌纖維的環(huán)保性能研究考核試卷
- 醫(yī)生考研試題及答案
- 沖突解決中的心理安全感營(yíng)造考核試卷
- 北港集團(tuán)面試題及答案
- java面試題及答案內(nèi)置對(duì)象
- 中考試題及答案安徽
- 文科幾何試題及答案
- 《推銷實(shí)務(wù)》課件 項(xiàng)目2 認(rèn)識(shí)崗位-描繪推銷職業(yè)畫像
- 流通環(huán)節(jié)標(biāo)準(zhǔn)化建設(shè)要點(diǎn)
- 用工情況說明格式及范文
- JCT587-2012 玻璃纖維纏繞增強(qiáng)熱固性樹脂耐腐蝕立式貯罐
- 網(wǎng)絡(luò)安全策略優(yōu)化
- 《飛機(jī)電子顯示器顯示符號(hào)》
- 國(guó)開大學(xué)2023年01月11282《社會(huì)學(xué)概論(本)》期末考試答案
- 中特第五講社會(huì)建設(shè)天津大學(xué)
- 密封條范文模板(A4打印版)
- 施工現(xiàn)場(chǎng)安全交底15篇
- 急救醫(yī)學(xué)模擬中心建設(shè)方案
- 三維激光掃描技術(shù)與應(yīng)用實(shí)例-PPT課件
- 農(nóng)用地評(píng)價(jià)方法
評(píng)論
0/150
提交評(píng)論