标题: 自制基于MSP430单片机的低功耗光传感器资料,含电路原理图,PCB图,程序 [打印本页]

作者: 狐狸哟    时间: 2019-1-27 20:07
标题: 自制基于MSP430单片机的低功耗光传感器资料,含电路原理图,PCB图,程序
简单的高灵敏度光探测器,在黑暗中保持约10uA左右的功耗电流;收光线后,唤醒单片机,控制音乐芯片工作播放音频,同时点亮指示灯;图中的430单片机是MSP430G2553,换用更小的F201X系列也能满足使用要求。光敏器件使用的是5539;可以换用光敏器件与分压电阻大小调整灵敏度。

Altium Designer画的原理图和PCB图如下:(51hei附件中可下载工程文件)


单片机源程序如下:
  1. /*********************************************************
  2. 功能:光敏电阻变化,检测比较器电平,驱动喇叭发音及LED灯发光
  3. 器件:MSP430G2553单片机
  4. P1.6为输入,上升沿触发中断;
  5. P1.0与P1.1输出高电平;
  6. *********************************************************/
  7. #include "msp430g2553.h"
  8. void delay5s(void)   //误差 -0.5us,测试时用,可直接用430自带的delay_cycles函数准确延时
  9. {
  10.     unsigned char a,b,c;
  11.     for(c=231;c>0;c--)
  12.         for(b=229;b>0;b--)
  13.             for(a=150;a>0;a--);
  14. }



  15. void main(void)
  16. {
  17.   WDTCTL = WDTPW+WDTHOLD; //关闭看门狗定时器  
  18.    if (CALBC1_8MHZ ==0xFF || CALDCO_8MHZ == 0xFF)
  19.   {
  20.     while(1);//挂起
  21.   }
  22.     BCSCTL1 = CALBC1_12MHZ;
  23.     DCOCTL  = CALDCO_12MHZ;
  24.     BCSCTL2 |= 0;  //MCLK AND SMCLK == DCO, DIVIDER == 1不分频
  25.     P1DIR=BIT0|BIT1;        //P1.5准备输出脉冲波
  26.     P1OUT=0;
  27.     P1IE|=BIT6;
  28.     P1IES&=~BIT6;      //P1.0上升沿触发进中断
  29.     P1IFG=0;
  30.    _EINT();
  31.   LPM3;                //进入低功耗模式
  32. }

  33. #pragma vector = PORT1_VECTOR
  34. __interrupt void PORT1_ISR(void)
  35. {  
  36.   P1IE=0;
  37.   if(P1IFG & BIT6)
  38.   {
  39.    P1OUT=BIT0|BIT1;
  40.   delay5s();
  41.    P1OUT=0;
  42.   }
  43.   P1IFG=0;
  44.   P1IE|=BIT6;
  45. }  
复制代码

所有资料51hei提供下载:
光感应探测装置.zip (721.64 KB, 下载次数: 49)



作者: z6531069    时间: 2019-2-2 14:43
学习了
作者: 叶樱    时间: 2019-4-27 22:04
请问这个如何实现的低功耗和无阻塞的?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1