版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、知識(shí)就堤力量/*= HMC5883L測(cè)試程序=* 3-軸數(shù)字羅盤(pán)*協(xié)議:IIC詳細(xì)讀寫(xiě)協(xié)議,請(qǐng)參考相關(guān)資料* 時(shí)間:201222* Author:Keliwe n*/#in clude #in clude #i nclude #in clude vintrin s.htypedef un sig ned char uchar;typedef un sig ned int uint;/*12232液晶引腳定義*/sbit CS=P0A2;sbit SID=P0A1;sbit SCLK=P0A0;sbit SCL=P1A0;/IIC時(shí)鐘引腳定義sbit SDA=P1A1;/IIC數(shù)據(jù)引腳定義#de
2、fine SlaveAddress 0x3c定義器件在IIC總線中的從地址uchar Rec_Data 6;/*延時(shí)函數(shù)*/void Delay(ui nt t)while(t-)/*LCD顯示函數(shù)*/*寫(xiě)入一個(gè)數(shù)據(jù)或指令*/void Se nd_DATA(uchar Data,uchar A)uchar i,Dat;CS=0;switch(A)case 0 : Dat=0xf8; break;/ 寫(xiě)指令知識(shí)就堤力量case 1 : Dat=Oxfa; break;/ 寫(xiě)數(shù)據(jù) default : break;SCLK=O;CS=1;for(i=0;i8;i+)SID=Dat&0x80;SCLK
3、=0;SCLK=1;Dat=1;Dat=Data&OxfO;for(i=0;i8;i+)SID=Dat&0x80;SCLK=0;SCLK=1;Dat=1;Dat=(Data4);for(i=0;i8;i+)SID=Dat&0x80;SCLK=0;SCLK=1;Dat=1;CS=0;Delay(20);/*12232液晶初始化*/void LCD_I nit(void)Delay(60000);Se nd_DATA(0x02,0);Se nd_DATA(0x0c,0);Se nd_DATA(0x30,0);Se nd_DATA(0x06,0);Se nd_DATA(0x01,0);Delay(3
4、000);/*顯示字符串*/void Dis_str(uchar Addr,uchar *str)知識(shí)就堤力量Sen d_DATA(Addr,O);Delay(10);while(*str!=O)Se nd_DATA(*str,1);str+;Delay(10);/*起始信號(hào)*/void IIC_Start(void)SDA=1;SCL=1;Delay(5);SDA=0;Delay(5);SCL=0;/*停止信號(hào)*/void IIC_Stop(void)SDA=0;SCL=1;Delay(5);SDA=1;Delay(5);/*發(fā)送應(yīng)答信號(hào)*/void IIC_Se ndAck(bit Ack
5、)SDA=Ack;/ack (0:ACK 1:NACK)SCL=1;Delay(5);SCL=0;Delay(5);/*接收應(yīng)答信號(hào)*/bit IIC_RecAck(void)SCL=1;Delay(5);CY=SDA;知識(shí)就堤力量SCL=O;Delay(5);return CY;/*向IIC總線發(fā)送一個(gè)字節(jié)數(shù)據(jù)*/void HMC5883_Se nd_Byte(uchar Dat)uchar i;for(i=0;i8;i+)Dat=1;SDA=CY;SCL=1;Delay(5);SCL=0;Delay(5);IIC_RecAck();/*從IIC總線接收一個(gè)字節(jié)數(shù)據(jù)*/uchar HMC58
6、83_Rec_Byte(void)uchar i,Dat=0;SDA=1;for(i=0;i8;i+)Dat=1;SCL=1;Delay(5);Dat |=SD A;SCL=0;Delay(5);return Dat;/*單字節(jié)寫(xiě)HMC5833*/void Sin gle_Write_HMC5883(uchar Address,uchar Dat) IIC_Start();HMC5883_Se nd_Byte(SlaveAddress);HMC5883_Se nd_Byte(Address);HMC5883_Se nd_Byte(Dat);IIC_Stop();/*單字節(jié)讀HMC5833*/*
7、uchar Si ngle_Read_HMC5883(uchar Addr)uchar Value;IIC_Start();HMC5883_Se nd_Byte(SlaveAddress);HMC5883_Se nd_Byte(Addr);IIC_Start();HMC5883_Se nd_Byte(SlaveAddress+1);Value=HMC5883_Rec_Byte();IIC_Se ndAck(1);IIC_Stop();return Value;*/*多字節(jié)讀HMC5833*/void Multiple_Read_HMC5883(void)uchar i; 連續(xù)讀出HMC5883
8、內(nèi)部角度數(shù)據(jù),地址范圍0x30x5IIC_Start();HMC5883_Se nd_Byte(SlaveAddress);HMC5883_Send_Byte(0x03);發(fā)送存儲(chǔ)單元地址,從0x03開(kāi)始IIC_Start();HMC5883_Se nd_Byte(SlaveAddress+1); for(i=0;i6;i+) /連續(xù)讀取 6個(gè)地址數(shù)據(jù),存儲(chǔ)在 Rec_DataRec_Datai=HMC5883_Rec_Byte();if(i=5)IIC_SendAck(1); /最后一個(gè)數(shù)據(jù)需要回NOACKelseIIC_SendAck(0); / 回應(yīng) ACKIIC_Stop();Dela
9、y(100);/初始化HMC5883,根據(jù)需要請(qǐng)參考 pdf進(jìn)行修改*void HMC5883_I nit(void)Si ngle_Write_HMC5883(0x02,0x00);/*主函數(shù)*/void mai n(void)int X,Y,Z;double An gle;uint Acr;LCDnit();/LCD12232 液晶初始化Dis_str(0x80,3 軸數(shù)字羅盤(pán));HMC5883ni t();/HMC5883 初始化doMultiple_Read_HMC5883(); 連續(xù)讀出數(shù)據(jù),存儲(chǔ)在Rec_Data中X=Rec_Data08 | Rec_Data1;/Combi ne
10、 MSB and LSB of X Data output register Z=Rec_Data28 | Rec_Data3;/Comb ine MSB and LSB of Z Data output register Y=Rec_Data48 | Rec_Data5;/Combi ne MSB and LSB of Y Data output register Angle= atan2(double)Y ,(double)X)*(180/3.14159265)+180; 單位:角度 (0360) An gle*=10;Acr=(ui nt)A ngle;Sen d_DATA(0x92,0);Sen d_DATA(Acr%10000/1000+0x30,1);Sen d_DATA(Acr%1000/100+0
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)計(jì)專業(yè)實(shí)習(xí)日記集合7篇
- 書(shū)本《背影》讀后感
- DB12T 444.1-2011 公共場(chǎng)所集中空調(diào)通風(fēng)系統(tǒng)清洗消毒操作規(guī)程 第1部分:清洗
- 人生大事觀后感范文
- 個(gè)人打印收入證明(6篇)
- 高等數(shù)學(xué)教程 上冊(cè) 第4版 測(cè)試題及答案 -測(cè)試一-答案
- 黔西南州高二下學(xué)期語(yǔ)文期末考試試卷
- 九年級(jí)上學(xué)期語(yǔ)文期中測(cè)試模擬試卷(三)(1-4單元)
- 二年級(jí)數(shù)學(xué)計(jì)算題專項(xiàng)練習(xí)集錦
- 繼承工齡用工協(xié)議書(shū)(2篇)
- 中南大學(xué)RFID實(shí)驗(yàn)報(bào)告講解
- 國(guó)開(kāi)(電大)《巖土力學(xué)》形考任務(wù)1-12參考答案
- 監(jiān)護(hù)儀常規(guī)操作流程
- 物業(yè)公司消防維保質(zhì)量檢查內(nèi)容及考核評(píng)分表
- 電動(dòng)自行車火災(zāi)的勘查檢驗(yàn)技術(shù)及案例分析
- 螺栓檢測(cè)報(bào)告
- 腐蝕測(cè)量及技術(shù)
- 家庭醫(yī)生簽約服務(wù)在實(shí)施老年高血壓患者社區(qū)護(hù)理管理中應(yīng)用
- 氯化鈉與氯化銨分離解析
- 關(guān)注青少年心理健康孩子的人格培養(yǎng)與家庭教育
- 個(gè)案面談技巧(2016.6.15)
評(píng)論
0/150
提交評(píng)論