一.硬件方案
本设计的硬件主要由51单片机+最小系统+LCD1602液晶显示模块+霍尔测速模块+电机模块+电位器调速模块+蜂鸣器模块+LED指示灯模块+按键模块+时钟模块+AT24C02存储芯片:
二.设计功能
(1)采用霍尔传感器非接触式测电机转速;
(2)电机(3v直流小电机)的速度可通过电位器调节速度,来模拟自行车速度快慢;
(3)采用DS1302时钟芯片准确计时,AT24C02掉电存储设置的数据;
(4)采用LCD1602液晶显示,年月日、时分、星期、总里程、当前速度;
(5)按键可以设置时间、轮胎半径和超速报警值;
(6)四个按键功能:设置时间、加、减、设置半径,加减键同时按下可清零里程。
所有资料:
三.设计原理图
(1)原理图主要采用AD软件进行设计,如图:
(2)Protues仿真图如下:
(3)PCB图如下:
四.软件设计
主程序源码
void main()
{
//初始化
Ds1302_Init();
lcd_init();
initeeprom();
//读取初始参数
READS();
//定时器初始化
// InitTimer0();
init();
lcd_init();
before_sec=time_buf1[6];
while(1)
{
if(Mode==0&&bike_set==0)
{
display();
BJ_SAFE();
}
KEY();
}
}
void EXINT0() interrupt 0
{
count++;
}
void time0() interrupt 1
{
uchar m,n;
TH0=0x3c;
TL0=0xb0; //50ms
m++;
if(LED_SEC==1)
{
n++;
if(n>=10)
{
n=0;
LED_SEC=0;
}
}
if(m>=10)
{
m=0;
Mileage=Mileage+10*(Velocity/3.6)/2; //里程m=里程+速度km/h/3.6/2
Velocity=count *2*3.14*RADIUS /100000*2*3600 /40;//将500ms的距离经过运算得到km/h,将速度/100,方便显示
count=0;
}
}
全套资料下载链接: