芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

飞芯科技-芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

芯片解密BH1750FVI传感器蓝牙单片机通讯

芯片解密单片机采集光照的数据,芯片解密通过蓝牙串口通信,芯片解密向手机app发送采集到的数据
  1. //***************************************
  2. // BH1750FVI IIC测试程序
  3. // 使用单片机STC89C51
  4. // 晶振:11.0592M
  5. // 显示:LCD1602
  6. // 编译环境 Keil uVision2
  7. // 参考宏晶网站24c04通信程序
  8. // 时间:2011年4月20日
  9. //****************************************
  10. #include  <REG51.H>        
  11. #include  <math.h>    //Keil library  
  12. #include  <stdio.h>   //Keil library        
  13. #include  <INTRINS.H>
  14. #define   uchar unsigned char
  15. #define   uint unsigned int        


  16. #define FOSC 11059200L      //System frequency
  17. #define BAUD 9600           //UART baudrate


  18. sbit          SCL=P2^0;      //IIC时钟引脚定义
  19. sbit            SDA=P2^1;      //IIC数据引脚定义


  20. #define          SlaveAddress   0x46 //定义器件在IIC总线中的从地址,根据ALT  ADDRESS地址引脚不同修改
  21.                               //ALT  ADDRESS引脚接地时地址为0xA6,接电源时地址为0x3A
  22. typedef   unsigned char BYTE;
  23. typedef   unsigned short WORD;

  24. BYTE    BUF[8];                         //接收数据缓存区              
  25. uchar   ge,shi,bai,qian,wan;            //显示变量
  26. int     dis_data;                       //变量

  27. void delay_nms(unsigned int k);
  28. void Init_BH1750(void);



  29. void  Single_Write_BH1750(uchar REG_Address);               //单个写入数据
  30. uchar Single_Read_BH1750(uchar REG_Address);                //单个读取内部寄存器数据
  31. void  Multiple_Read_BH1750();                               //连续的读取内部寄存器数据
  32. //------------------------------------
  33. void Delay5us();
  34. void Delay5ms();
  35. void BH1750_Start();                    //起始信号
  36. void BH1750_Stop();                     //停止信号
  37. void BH1750_SendACK(bit ack);           //应答ACK
  38. bit  BH1750_RecvACK();                  //读ack
  39. void BH1750_SendByte(BYTE dat);         //IIC单个字节写
  40. BYTE BH1750_RecvByte();                 //IIC单个字节读
  41. void SendByte(unsigned char dat);
  42. //-----------------------------------

  43. //*********************************************************
  44. void conversion(uint temp_data)  //  数据转换出 个,十,百,千,万
  45. {  
  46.     wan=temp_data/10000+0x30 ;
  47.     temp_data=temp_data%10000;   //取余运算
  48.         qian=temp_data/1000+0x30 ;
  49.     temp_data=temp_data%1000;    //取余运算
  50.     bai=temp_data/100+0x30   ;
  51.     temp_data=temp_data%100;     //取余运算
  52.     shi=temp_data/10+0x30    ;
  53.     temp_data=temp_data%10;      //取余运算
  54.     ge=temp_data+0x30;         
  55. }

  56. //毫秒延时**************************
  57. void delay_nms(unsigned int k)        
  58. {                                                
  59. unsigned int i,j;                                
  60. for(i=0;i<k;i++)
  61. {                        
  62. for(j=0;j<121;j++)                        
  63. {;}}                                                
  64. }


  65. /**************************************
  66. 延时5微秒(STC90C52RC@12M)
  67. 不同的工作环境,需要调整此函数,注意时钟过快时需要修改
  68. 当改用1T的MCU时,请调整此延时函数
  69. **************************************/
  70. void Delay5us()
  71. {
  72.     _nop_();_nop_();_nop_();_nop_();
  73.     _nop_();_nop_();_nop_();_nop_();
  74.         _nop_();_nop_();_nop_();_nop_();
  75.         _nop_();_nop_();_nop_();_nop_();
  76. }

  77. /**************************************
  78. 延时5毫秒(STC90C52RC@12M)
  79. 不同的工作环境,需要调整此函数
  80. 当改用1T的MCU时,请调整此延时函数
  81. **************************************/
  82. void Delay5ms()
  83. {
  84.     WORD n = 560;

  85.     while (n--);
  86. }

  87. /**************************************
  88. 起始信号
  89. **************************************/
  90. void BH1750_Start()
  91. {
  92.     SDA = 1;                    //拉高数据线
  93.     SCL = 1;                    //拉高时钟线
  94.     Delay5us();                 //延时
  95.     SDA = 0;                    //产生下降沿
  96.     Delay5us();                 //延时
  97.     SCL = 0;                    //拉低时钟线
  98. }



联系方式

地址:石家庄市新华区民族路77号华强广场D座2009
电话:0311-88816616/87087811
手机:13315190088
传真:0311-67901001
联系人:张工
网址:www.feixindz.com
邮箱:feixindz@163.com
微信:xinpianjiemi
QQ:527263666/568069805

在线客服
热线电话

企业微信