91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 9KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-06-10
  • 語言: 其他
  • 標(biāo)簽: msp430f149??電子羅盤??

資源簡介

電子羅盤HMC5883L基于msp430f149,可用

資源截圖

代碼片段和文件信息

#include?
#include?

#define?CPU_F?((double)8000000)?
#define?delay_us(x)?__delay_cycles((long)(CPU_F*(double)x/1000000.0))?
#define?delay_ms(x)?__delay_cycles((long)(CPU_F*(double)x/1000.0))?

#define?uchar?unsigned?char
#define?uint??unsigned?int
#define?ulong?unsigned?long

#define?P55?5
#define?P56?6
#define?P57?7

#define?RS_CLR P5OUT?&=?~(1?<#define?RS_SET P5OUT?|=?(1?<
#define?RW_CLR P5OUT?&=?~(1?<#define?RW_SET P5OUT?|=?(1?<
#define?EN_CLR P5OUT?&=?~(1?<#define?EN_SET P5OUT?|=?(1?<
#define?DataPort??????P4OUT?????????????????//P4口為數(shù)據(jù)口

#define?HMC5883L_DIR???P1DIR
#define?HMC5883L_IN????P1IN
#define?HMC5883L_OUT???P1OUT
#define?SCL??BIT0?????//IIC時鐘引腳定義
#define?SDA??BIT1?????//IIC數(shù)據(jù)引腳定義???
??????????????????????//DRDY?不接?
#define?SCL_H??(HMC5883L_DIR|=SCLHMC5883L_OUT|=SCL)
#define?SCL_L??(HMC5883L_DIR|=SCLHMC5883L_OUT&=~SCL)
#define?SDA_H??(HMC5883L_DIR|=SDAHMC5883L_OUT|=SDA)
#define?SDA_L??(HMC5883L_DIR|=SDAHMC5883L_OUT&=~SDA)
#define?SlaveAddress??0x3c??????????//定義器件在IIC總線中的從地址
uchar?Rec_Data[6];
int?xyz;
double?Angle;
uint?Acr;
uint?qian=0bai=0shi=0ge=0;????????????????//設(shè)置顯示參數(shù)
/*延時函數(shù)*/
void?Delay(uint?t)
{
while(t--);
}

/*起始信號*/
void?IIC_Start(void)
{
????SDA_H;
????SCL_H;
????Delay(50);
????SDA_L;
????Delay(50);
????SCL_L;
}

/*停止信號*/
void?IIC_Stop(void)
{
????SDA_L;
????SCL_H;
????Delay(50);
????SDA_H;
????Delay(50);
}

/*發(fā)送應(yīng)答信號*/
void?IIC_SendAck(char?Ack)
{???
????if(Ack)??????//ack?(0:ACK?1:NACK)
????SDA_H;
????else?SDA_L;
????SCL_H;
????Delay(50);
????SCL_L;
????Delay(50);
}

/*接收應(yīng)答信號*/
char?IIC_RecAck(void)
{???
????char?CY;
????HMC5883L_DIR&=~SDA;
????SCL_H;
????Delay(50);
????if(HMC5883L_DIR&SDA)
??????CY=1;
????else?CY=0;
????SCL_L;
????Delay(50);
????return?CY;
}

/*向IIC總線發(fā)送一個字節(jié)數(shù)據(jù)*/
void?HMC5883_Send_Byte(uchar?Dat)
{
????uchar?i;
????for(i=0;i<8;i++)
????{
????????if(Dat&BIT7)
????????SDA_H;
????????else?SDA_L;
????????SCL_H;
????????Delay(50);
????????SCL_L;
????????Delay(50);
????????Dat<<=1;
????}
????IIC_RecAck();
}

/*從IIC總線接收一個字節(jié)數(shù)據(jù)*/
uchar?HMC5883_Rec_Byte(void)
{
????uchar?iDat=0;
????SDA_H;
????HMC5883L_DIR&=~SDA;
????for(i=0;i<8;i++)
????{
????????Dat<<=1;
????????SCL_H;
????????Delay(50);
????????
????????if((HMC5883L_IN&SDA)==SDA)
????????Dat|=BIT0;
????????
????????SCL_L;
????????Delay(50);
????}
????return?Dat;
}

/*單字節(jié)寫HMC5883*/
void?Single_Write_HMC5883(uchar?Addressuchar?Dat)
{
????IIC_Start();
????HMC5883_Send_Byte(SlaveAddress);
????HMC5883_Send_Byte(Address);
????HMC5883_Send_Byte(Dat);
????IIC_Stop();
}

/*單字節(jié)讀HMC5883*/
uchar?Single_Read_HMC5883(uchar?Addr)
{
????uchar?Value;
????IIC_Start();
????HMC5883_Send_Byte(SlaveAddress);
????HMC5883_Send_Byte(Addr);
????IIC_Start();
????HMC5883_Send_Byt

評論

共有 條評論