聚丰项目 > 无线供电声控LED小闹钟
拥有一个无线供电的底座,放在底座上即可工作,简单方便。利用手工焊接的蓝色LED灯作为数码管显示时间,造型美观。采用纽扣电池和计时芯片计时,即使断电后时间不会改变。可以用声音控制LED灯的亮灭以实现时间的显示和熄灭。(本项目采用的是IDT 3W无线充电开发套件)
绿萝晨梦
分享绿萝晨梦
团队成员
罗伟 软件工程师
MCU采用MSP430G2553
显示驱动芯片选用SN74HC595N
时间芯片采用DS1302。
无线供电采用IDT的3W模块。
IO对应关系如下:
VCC GND
P1.0--声控输入 XIN
P1.1--时间CLK XOUT
P1.2--时间DAT TEST
P1.3--数码管DATA RST
P1.4--数码管SCLK P1.7
P1.5--数码管RCLK P1.6--闹钟输出
P2.0--COM0点 P2.5--时间RST
P2.1--COM1 P2.4--COM4
P2.2--COM2 P2.3--COM3
软件开发环境采用CCS6.0
部分代码如下:
void main(void)
{
unsigned char i=0,j=0,dat=0,com=1;
unsigned char s=0,s1=0,s_change=0;
unsigned char voice=0,voice1=0,state=0,get_en=1;
unsigned int t=0,l_time=0;
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
BCSCTL1 = CALBC1_1MHZ;
DCOCTL = CALDCO_1MHZ;
BCSCTL3 |= LFXT1S_2;
IFG1 &= ~OFIFG;
//P1.0是闹钟输出
P1DIR |= BIT0 ;//P1.0配置为输出
P1OUT &= ~BIT0;//P1.0输出低电平
//P1.6是声音传感器输入
P1REN |= BIT6;//P1.6输入
P1OUT |= BIT6;//上拉
P1DIR |= BIT1 + BIT3 + BIT4 + BIT5;//DATA,SCK,RCK输出
P1OUT &=~(BIT1 + BIT3 + BIT4 + BIT5);//DATA,SCK,RCK=0
P2DIR |= BIT0 + BIT1 + BIT2 + BIT3 + BIT4 + BIT5;//COM1,2,3,4输出
P2OUT |= BIT0 + BIT1 + BIT2 + BIT3 + BIT4;
P2OUT &= ~BIT5;
//Set_RTC(init);//设置初始时间
while(1)
{
Read_RTC(time);
if(get_en)
{
if(!(P1IN&BIT6)) voice=1;
else voice=0;
}
else
{
t++;
if(t==50) {t=0;get_en=1;}
}
if(voice1==0 && voice==1)
{
if(state)state=0;
else {state=1;l_time=0;}
get_en=0;
}
voice1=voice;
P2OUT |= BIT1 + BIT2 + BIT3 + BIT4;//COM0,1,2,3,4=1,全灭
if(state==1)//满足显示条件
{
l_time++;
if(l_time==5000){l_time=0;state=0;}
//显示
s=time[0];
if(s!=s1) s_change=1;
s1=s;
i++;
if(i==5)i=1;
if(s_change==1) {s_change=0;P2OUT &= ~BIT0;j=0;}
j++;
if(j==95) P2OUT |= BIT0;
switch(i)
{
case 1:send_sum(sum_code[(time[2]&0xF0)>>4]&0xff);P2OUT &= ~BIT1;break;
case 2:send_sum(sum_code[time[2]&0x0F]&0xfe);P2OUT &= ~BIT2;break;
case 3:send_sum(sum_code[(time[1]&0xF0)>>4]&0xfe);P2OUT &= ~BIT3;break;
case 4:send_sum(sum_code[time[1]&0x0F]&0xfe);P2OUT &= ~BIT4;break;
default:break;
}
}//显示结束
else P2OUT |= BIT0;
if(time[2]==0x07 && time[1]==0x00) P1OUT |= BIT0;//开闹钟
else P1OUT &= ~BIT0;//关闹钟
}
}
动心忍性1234: 您好我是无线电杂志的编辑,我们对您的项目十分感兴趣,请问您有兴趣投稿吗?成为我们的作者除稿费外还有其他优厚条件。敬请参与。投稿请联系QQ260534978.
回复
erictan: 我有类似的项目需要开发,可否与我联系?谢谢。QQ:1014637381
回复