如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
一,功能介绍:本系统主要用于安装在自行车上测量自行车的运行速度和行驶距离。然后将速度和距离信息显示在显示在LCD显示屏上。(1)处理器选用的是TI的MSP430G2553单片机(2)测速装置选用的是霍尔器件,在车圈上固定一个磁铁,然后430连接霍尔器件,通过输入捕获功能测量车轮的转动输出的脉冲的周期在加上事先计算出车轮的直径就可计算出车子的运行速度和行驶距离(3)显示屏选用的是NOKIA5110LCD的显示屏,此显示屏的成本比较低,可以满足我的显示要求。(4)整个系统有两个按键,一个是距离清零按键,按下该按键可以将显示的距离清零,这样方便测量起始地和目的地的距离,另外一个按键是用于打开LCD的背光的,用于夜晚使用。当夜晚光线比较暗时,按下该按键LCD的背光打开,方便看清楚显示的东西。在按一下背光熄灭。(5)整个系统的供电的用到2节7号电池供电,当平常车子没有运行的时候,430处于低功耗状态。耗电比较少,现在测速系统已将安装在我车子上正常工作3个月了二,系统框图图1是整个系统的框图.LCD显示屏和MSP430G2553的连接采用的SPI接口,霍尔传感器和按键和430之间是IO口连接。三,系统原理图图2是整个系统的原理图四,程序代码//******************************************************************************#include#include#include#includeunsignedcharCount,First_Time;unsignedintREdge1,REdge2,FEdge;unsignedcharMST_Data,SLV_Data;#defineDCP2OUT=P2OUT|(1<<5)#defineSCEP2OUT=P2OUT|(1<<4)#defineCLK_HP1OUT=P1OUT|(1<<5)#defineCLK_LP1OUT=P1OUT&(~(1<<5))#defineData_HP1OUT=P1OUT|((1<<7))#defineData_LP1OUT=P1OUT&(~(1<<7))#defineu8unsignedchar#defineu16unsignedinttypedefstruct{u8x;u8y;}point;/*------5110屏幕尺寸和功能宏定义------*/#defineDATA1//数据#defineCMD0//命令#defineLCD_X84//液晶屏横坐标宽度#defineLCD_ROWLCD_X//液晶屏列宽度voidLCD_write_byte(unsignedchardat,unsignedcharcommand);voidLCD_init(void);voidLCD_init(void);voidLCD_set_XY(unsignedcharX,unsignedcharY);voidLCD_clear(void);voidLCD_write_char(unsignedcharc);voidLCD_write_String(unsignedcharX,unsignedcharY,unsignedchar*s);voidLCD_write_byte(unsignedchardat,unsignedcharcommand){unsignedinti;//LCD_SCE=0;//5110片选有效,允许输入数据P2OUT&=~BIT4;if(command==0)//写命令//LCD_DC=0;P2OUT&=~BIT5;else//LCD_DC=1;P2OUT|=BIT5;//写数据for(i=0;i<8;i++){CLK_L;//spi_clk=0;if((dat&0x80)==0x80){Data_H;}else{Data_L;}CLK_H;//spi_clk=1;dat=(dat<<1);}P2OUT|=BIT4;}voidLCD_init(void){P2OUT&=~BIT4;P1OUT&=~BIT4;P1OUT|=BIT4;LCD_write_byte(0x21,0);//LCD模式设置:芯片活动,水平寻址,使用扩展指令LCD_write_byte(0xc8,0);//设置液晶偏置电压LCD_write_byte(0x06,0);//温度校正LCD_write_byte(0x13,0);//1:48LCD_write_byte(0x20,0);//使用基本命令,V=0,水平寻址LCD_clear();//清屏LCD_wr