資源簡介
while(1) //循環
{
Multiple_Read_HMC5883();
x=BUF[0] << 8 | BUF[1];
z=BUF[2] << 8 | BUF[3];
y=BUF[4] << 8 | BUF[5];
a=pow((double)x,2)+pow((double)y,2)+pow((double)z,2);

代碼片段和文件信息
//***************************************
//?HMC5883?IIC測試程序
//?使用單片機STC89C52?
//?晶振:12M
//?顯示:串口輸出,波特率4800?
//?編譯環境?Keil?uVision2
//?時間:2015年4月8日
//****************************************
?
#include??
?
#include??????//Keil?library??
?
#include?????//Keil?library
?
#include??
?
#define???uchar?unsigned?char
?
#define???uint?unsigned?int
?
?
sbit?SCL=P1^0;??????//IIC時鐘引腳定義
?
sbit?SDA=P1^1;??????//IIC數據引腳定義
?
#define?SlaveAddress??0x3C?//定義器件在IIC總線中的從地址
?
typedef?unsigned?char?BYTE;
?
typedef?unsigned?short?WORD;
?
BYTE?BUF[8];?????????????????????????//接收數據緩存區??????
?
uchar?geshibaiqianwan;???????????//顯示變量
?
int??dis_data;???????????????????????//變量
?
?
?
void?delay(unsigned?int?k);
?
void?Init_HMC5883(void);????????????//初始化5883
void?conversion(uint?temp_data);
?
void??Single_Write_HMC5883(uchar?REG_Addressuchar?REG_data);???//單個寫入數據
?
uchar?Single_Read_HMC5883(uchar?REG_Address);???????????????????//單個讀取內部寄存器數據
?
void??Multiple_Read_HMC5883();??????????????????????????????????//連續的讀取內部寄存器數據
?
//以下是模擬iic使用函數-------------
?
void?Delay5us();
?
void?Delay5ms();
?
void?HMC5883_Start();
?
void?HMC5883_Stop();
?
void?HMC5883_SendACK(bit?ack);
?
bit??HMC5883_RecvACK();
?
void?HMC5883_SendByte(BYTE?dat);
?
BYTE?HMC5883_RecvByte();
?
void?HMC5883_ReadPage();
?
void?HMC5883_WritePage();
?
//-----------------------------------
?
?
?
//*********************************************************
?
void?conversion(uint?temp_data)??
?
{??
?
????wan=temp_data/10000+0x30?;
?
????temp_data=temp_data%10000;???//取余運算
?
????qian=temp_data/1000+0x30?;
?
????temp_data=temp_data%1000;????//取余運算
?
????bai=temp_data/100+0x30???;
?
????temp_data=temp_data%100;?????//取余運算
?
????shi=temp_data/10+0x30????;
?
????temp_data=temp_data%10;??????//取余運算
?
????ge=temp_data+0x30;?
}
?
?
?
/*******************************/
?
void?delay(unsigned?int?k)
?
{
?
???unsigned?int?ij;
?
???for(i=0;i ?
??{
?
????????for(j=0;j<121;j++)
?
?????{;}???}
?
}
?
?
?
/**************************************
?
延時5微秒(STC90C52RC@12M)
?
不同的工作環境需要調整此函數,注意時鐘過快時需要修改
?
當改用1T的MCU時請調整此延時函數
?
**************************************/
?
void?Delay5us()
?
{
?
????_nop_();_nop_();_nop_();_nop_();
?
????_nop_();_nop_();_nop_();_nop_();
?
????_nop_();_nop_();_nop_();_nop_();
?
????_nop_();_nop_();_nop_();_nop_();
?
????_nop_();_nop_();_nop_();_nop_();
?
????_nop_();_nop_();_nop_();_nop_();
?
????_nop_();_nop_();_nop_();_nop_();
?
????_nop_();_nop_();_nop_();_nop_();
?
????_nop_();_nop_();_nop_();_nop_();
??
????_nop_();_nop_();_nop_();_nop_();
?
????_nop_();_nop_();_nop_();_nop_();
?
????_nop_();_nop_();_nop_();_nop_();
?
????_nop_();_nop_();_nop_();_nop_();
???
????_nop_();_nop_();_nop_();_nop_();
?
????_nop_();_nop_();_nop_();_nop_();
?
????_nop_();_nop_();_nop_();_nop_();
?
????_nop_();_nop_();
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????7375??2015-04-15?20:52??5833地磁強度測量\HMC5883
?????文件??????10606??2015-04-15?21:08??5833地磁強度測量\HMC5883.c
?????文件???????8256??2015-04-15?20:52??5833地磁強度測量\HMC5883.hex
?????文件?????????46??2015-04-15?20:52??5833地磁強度測量\HMC5883.lnp
?????文件??????21082??2015-04-15?20:52??5833地磁強度測量\HMC5883.LST
?????文件??????22620??2015-04-15?20:52??5833地磁強度測量\HMC5883.M51
?????文件???????7243??2015-04-15?20:52??5833地磁強度測量\HMC5883.OBJ
?????文件???????1055??2015-04-16?16:30??5833地磁強度測量\HMC5883.Opt
?????文件??????????0??2015-04-16?16:29??5833地磁強度測量\HMC5883.plg
?????文件???????1654??2015-04-09?22:22??5833地磁強度測量\HMC5883.Uv2
?????文件??????67532??2015-04-08?15:38??5833地磁強度測量\hmc5883.uvopt
?????文件????????580??2015-04-08?15:38??5833地磁強度測量\hmc5883.uvproj
?????文件???????1055??2015-04-16?16:12??5833地磁強度測量\HMC5883_Opt.Bak
?????文件???????1654??2015-04-09?22:01??5833地磁強度測量\HMC5883_Uv2.Bak
?????文件??????????0??2015-04-08?15:35??5833地磁強度測量\hmc5883_uvproj.bak
?????文件???????8858??2015-04-08?15:51??5833地磁強度測量\Text1
?????目錄??????????0??2015-06-21?21:57??5833地磁強度測量
-----------?---------??----------?-----??----
???????????????159616????????????????????17
- 上一篇:consul 指南
- 下一篇:HMC5883L 模塊的源代碼和電路圖
評論
共有 條評論