资料清单:C程序+仿真+设计报告+使用说明+元件清单+操作视频
1.??简介
? ? 本文提出了一种基于51单片机的出租车计价器设计。该设计以MCS51单片机为核心处理器,通过采集车速信号传感器产生的脉冲信号,进行信号处理及变换,计算出出租车的行驶里程,根据计费标准计算金额,并且通过LCD12864液晶显示里程、单价、总价等相关信息。并且可以通过按键选择白天和黑夜状态,实现开始、暂停、清零等操作。
2.??主要功能
a.通过滑动变阻器模拟采集车速信号的传感器,并将数据传输到单片机处理。
b.通过电机模拟车辆运行状态。
c.通过LCD12864液晶显示里程、单价、总价等相关信息。
d.通过按键选择白天和黑夜状态,以及实现开始、暂停、清零等操作。
3.??源程序(Keil5)
? ? 本设计采用keil5 C51软件(内附安装包)实现程序设计。如需用keil4打开程序,可自行通过.c和.h文件新建工程即可。
#include <reg51.h>
#include <LCD12864.H>
#include <key.h>
#include <timer.h>
#include <interrupt.h>
int i;
extern int flag_mode;
extern int flag_state;
extern int flag_base;
extern int flag_price;
extern int time;
extern int s_s;
extern int s_g;
extern int f_s;
extern int f_g;
extern int m_s;
extern int m_g;
extern int flag_run;
extern int flag_sum;
int sum=0;
void init_LCD()
{
InitLCD(); //初始化LCD12864
ClearScreen(0);
ShowChina(0,16*0+0,0+10);
ShowChina(0,16*1+0,1+10); //模式
ShowChina(0,16*2+8,2+10);
ShowChina(0,16*3+8,3+10);
ShowChina(0,16*4+8,4+10);//起步价
ShowChina(0,16*5+16,5+10);
ShowChina(0,16*6+16,6+10);//单价
ShowChina(4,16*0+0,17);
ShowChina(4,16*1+0,18); //状态
ShowNumber(4,35,13); //:
ShowChina(6,16*0+0,19);
ShowChina(6,16*1+0,20); //时间
ShowNumber(6,35,13); //:
ShowNumber(6,64,13); //:
ShowNumber(6,88,13); //:
}
void main(void)
{ init_LCD();
init_timer();
init_int0();
init_int1();
while(1)
{
keyscan();
if(flag_run==1&&flag_sum==0)
{
if(flag_mode==1){
ShowChina(2,16*0+0,0);
ShowChina(2,16*1+0,1); //白天
} else{
ShowChina(2,16*0+0,2);
ShowChina(2,16*1+0,3); //晚上
}
if(flag_state==1){
for(i=0;i<2;i++) ShowChina(4,16*i+16*4,i+4);//运行
TR0=1;
} else{
for(i=0;i<2;i++) ShowChina(4,16*i+16*4,i+6);//暂停
TR0=0;
}
ShowNumber(2,16*4-8,flag_base); //显示显示起步价
ShowNumber(2,16*6+8,flag_price); //显示单价
ShowNumber(6,48,s_s); //0
ShowNumber(6,56,s_g); //0
ShowNumber(6,72,f_s); //0
ShowNumber(6,80,f_g); //0
ShowNumber(6,96,m_s); //0
ShowNumber(6,104,m_g); //0
}
if(flag_sum==1)
{
TR0=0;
ShowChina(4,16*0+0,21);
ShowChina(4,16*1+0,22); //总价
sum= flag_base+flag_price*time;
ShowNumber(4,35,13); //:
ShowNumber(4,8*0+16*4,sum/100);//
ShowNumber(4,8*1+16*4,sum%100/10);//
ShowNumber(4,8*2+16*4,sum%100%10);//
ShowChina(4,8*3+16*4,23);
ShowChina(4,8*5+16*4,24); //总价
}
}
4.??仿真proteus8.6
? ? 本设计采用proteus8.6软件(内附安装包)实现仿真设计,如下图所示。proteus软件一般存在高低版本兼容问题,该仿真是通过proteus8.6导出的,所以请尽量使用proteus8.6打开文件,低于proteus8.6的版本不能够正常使用,高于proteus8.6的版本除了proteus8.8/8.9理论上可以正常使用。
黑夜:
5.??设计报告
6.??资料清单
? ? 设计资料主要包括C程序+仿真+设计报告+使用说明+元件清单+操作视频等。
7.??资料获取链接
百度网盘下载链接:【A02】百度网盘下载链接
更多单片机仿真设计合集:单片机仿真设计合集
1628