基于msp430自行车测速装置系统是实时测试车速并显示当前时间,主要由超低功耗单片机MSP430F5419、霍尔传感器、DS1302、段式液晶等组成。以通用MSP430单片机为处理核心,用传感器将车轮的转数转换为电脉冲,进行处理后送入单片机。通过MSP430的定时/计数器测出总的脉冲数和每转一圈的时间,再经过单片机的计算得出,将其自行车测速结果通过段式液晶显示出来。
基于msp430自行车测速装置指标:
(1) 利用霍尔传感器检测车圈转动圈数输出脉冲信号;
(2) 利用单片机的捕获功能对霍尔传感器脉冲信号进行计数;
(3) 对数据进行处理,用段式液晶显示即时速度;
(4) 能够设置车圈周长,适用于大小不同的车轮进行测速;
(5) 超速警示(蜂鸣器报警、指示灯闪烁);
(6) DS1302时钟电路显示当前时间。
#define BIAS 0X52
#define RC256K 0X30
#define WDTDIS1 0X0A
#define TIMERDIS 0X08
#define SYSEN 0X02
#define SYSDIS 0X00
#define LCDONN 0X06
#define LCDOFF 0X04
#define TONEON 0X12
#define TONEOFF 0X10
#define DATA_1 P3OUT |= BIT5
#define DATA_0 P3OUT &=~BIT5
#define WRC_1 P3OUT|=BIT4
#define WRC_0 P3OUT&=~BIT4
#define CS_1 P3OUT |= BIT3
#define CS_0 P3OUT &=~BIT3
#define uchar unsigned char
#define uint unsigned int
uint l=100.0;
uchar h2[10];
uchar times[7];
unsigned char frq;
#define keyin (P6IN & 0xF0)
uchar shuzi[] = {0xbe,0x06,0x7c,0x5e,0xc6,0xda,0xfa,0x0e,0xfe,0xde};
// 0 1 2 3 4 5 6 7 8 9
void delay_aj(void)//用于消抖
{
uint tmp;
// for(tmp = 12000;tmp > 0;tmp--);
for(tmp = 9000;tmp > 0;tmp--);
}
uchar PP = 0;
//是否处于修改状态标志,1--是,0--否
unsigned int new_cap=0;
unsigned int old_cap=0,cap_diff1;
float cap_diff=0;