HMC5883 IIC测试程序

发布者:baiyuguoji最新更新时间:2015-07-14 来源: 51hei关键字:HMC5883  IIC  测试程序 手机看文章 扫描二维码
随时随地手机看文章
//***************************************
// HMC5883 IIC测试程序
// 使用单片机STC89C51 
// 晶振:11.0592M
// 显示:LCD1602
// 编译环境 Keil uVision2
// 参考宏晶网站24c04通信程序
// 时间:2011年3月1日
//****************************************
#include   
#include      //Keil library  
#include     //Keil library 
#include  
#define   uchar unsigned char
#define   uint unsigned int 
//使用的端口,请按照以下接线
#define   DataPort P0 //LCD1602数据端口
sbit SCL=P1^0;      //IIC时钟引脚定义
sbit SDA=P1^1;      //IIC数据引脚定义
sbit    LCM_RS=P2^0;   //LCD1602命令端口  
sbit    LCM_RW=P2^1;   //LCD1602命令端口  
sbit    LCM_EN=P2^2;   //LCD1602命令端口 
#define SlaveAddress   0x3C   //定义器件在IIC总线中的从地址
typedef unsigned char BYTE;
typedef unsigned short WORD;
BYTE BUF[8];                         //接收数据缓存区       
uchar ge,shi,bai,qian,wan;           //显示变量
int  dis_data;                       //变量
void delay(unsigned int k);
void InitLcd();
void Init_HMC5883(void);            //初始化5883
void WriteDataLCM(uchar dataW);
void WriteCommandLCM(uchar CMD,uchar Attribc);
void DisplayOneChar(uchar X,uchar Y,uchar DData);
void conversion(uint temp_data);
void  Single_Write_HMC5883(uchar REG_Address,uchar 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 i,j;    
for(i=0;i
				   
关键字:HMC5883  IIC  测试程序 引用地址:HMC5883 IIC测试程序

上一篇:HMC5883 51串口测试程序
下一篇:51单片机语音+温度控制的源码

推荐阅读最新更新时间:2024-03-16 14:25

ATMega8 PWM 功能(T/C 1)测试程序
#include avr/io.h #include avr/delay.h #define uchar unsigned char #define uint unsigned int  #define FREQ 4 //延时 void DelayMs(uint ms) {      uint i;      for(i=0;i ms;i++)         _delay_loop_2(FREQ * 250); } int main (void) {      uchar direction=1;      uchar  PWM =0;            //      8位 相位 修正PWM模式      //  
[单片机]
51单片机之IIC&EEPROM的驱动程序
#include reg52.h #include ./delay/delay.h sbit SCL = P2^0; sbit SDA = P2^1; bit ack = 0; unsigned char flag = 1; #define LCDPORT P0 #define LCD_WRITE_DATA 1 #define LCD_WRITE_COM 0 sbit RS = P2^4; sbit RW = P2^5; sbit E = P2^6; #define SUCC 0 #define ERR 1 void iic_start() { SDA = 1; //先操作SDA,在操作SCL SCL =
[单片机]
Em78p458/9 比较器功能测试程序
;***********************************************************************; ;title: Em78p458/9 comparator test program ; ;Description:比较器结果由Port60输出,当R3的bit7为1时,输出high pulse,当R3的 ; ; bit7为0时,输出low pulse.比较器输出由port57输出与port60一样的 ; ;     波形。 ; ;Company: ELAN MICROELECTRONIC
[单片机]
MSP430 IIC通信
#include msp430f149.h #define OP_READ 0xa1 //器件地址读 #define OP_WRITE 0xa0 //器件地址写 #define uchar unsigned char #define uint unsigned int #define SDA_OUT P1DIR |= BIT3 #define SDA_IN P1DIR &= ~BIT3 #define SCL_OUT P1DIR |= BIT2 #define SCL_IN P1DIR &= ~BIT2 #define SDA_H P1OUT |= BIT3 #define SDA_
[单片机]
IR将在IIC展示最新电源管理方案
IR将参加2008年3月3日至4日在深圳举行的国际集成电路研讨会暨展览会 (IIC-China) 。IR的工程及应用工程师将于2D01展位展示先进的电源管理方案,并将参与以下各项活动: 3月4日(星期二),下午2时至2时30分在深圳会展中心1楼展厅举行的厂商技术讲座中,IR的沈亭忠(Richard Shen)将介绍SupIRBuck产品技术。 此外,IR的许逵炜将出席“高峰论坛:下一代音视频技术与产品设计”。这项活动将于3月4日上午10时30分至中午12时在深圳会展中心5楼牡丹厅举行。 IR也将在会上展出多种适用于照明、音频和电器应用的创新产品和平台,其中包括用于调速电机驱动的iMOTION集成式设
[手机便携]
单片机:IIC总线通信
一、IIC总线通信 1、简介: IIC 即Inter-Integrated Circuit(集成电路总线),I2C总线是PHLIPS公司推出的一种串行总线, I2C总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。 每个接到I2C总线上的器件都有唯一的地址。主机与其它器件间的数据传送可以是由主机发送数据到其它器件,这时主机即为发送器。由总线上接收数据的器件则为接收器。 2、常用的串行扩展总线有: (1)、I2C (Inter IC BUS)总线 (2)、单总线(1-WIRE BUS) (3)、SPI(Serial Peripheral Interface)总线等。 3、IIC总线电路接法 I2C总线通过上
[单片机]
msp430频率测试程序
基于msp430f5529用内部ADC12进行方波频率测试 main.c include include “LCD12864.H” define key1 !(P3IN&BIT1) int l = 0; unsigned int zhq,check; double hzddd,f; int Cycle ; //unsigned char tab ={ }; unsigned char tab ={” “}; unsigned char pl ={“pinlv: hz”}; int i; unsigned int a ={0}; int max,value; int key(); void find
[单片机]
IIC-China 2011春季展前专访:北京美科芯科技有限公司
IIC-China 2011 将于今年2月份在深圳(2月24-26日)开展 。本网站在开展前期对众多参展商做了问卷采访,以了解各参展商的参展情况、参展新产品、新技术以及新年期待。下面是采访详情。 公司简介: 公司紧扣建设低碳经济,加大节能减排,创造绿色生活的时代主题展开全部工作。通过对核心 计量芯片 的掌握和运作,真正支持国家和社会节能减排行动,尤其针对国家统一坚强智能电网的建设,和分户供热计量改革,全面做好芯片的技术支持和供应。 目前,公司专业致力于 智能电表 、电力仪表、超声波热表、通讯、衡器电子称等相关计量仪器仪表领域的芯片供应和技术服务。公司在2010年正式与美国ICCI(艾萨半导体)签署代
[工业控制]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved