赞
踩
本项目使用Proteus8仿真51单片机控制器,使用LCD1604显示模块、按键模块、蜂鸣器模块、DS1302时钟、速度检测模块、
直流电机驱动,票据打印等。
主要功能:
系统运行后,LCD1604显示当然日期时间,白天/夜晚状态,行驶距离,等待时间,计费及行驶状态;
首先选择处于白天还是夜晚计费模式,即控制S2开关是否闭合,闭合是夜晚,反之白天;
当S1开关闭合时,计费开始,小车开始行驶,根据所选模式计费,显示当前行驶距离和费用,可调节电位器模拟小车行驶速度变化,行驶距离及计费时间长短也将随之变化,当S3开关闭合时,小车进入等待状态,如超出起步价距离,则开始计算等待时间计费,等待时间开始计时,当S3开关断开,小车继续行驶;当S1开关断开,表示行驶结束,蜂鸣器发出提示音,停止计费;可闭合S4开关打印发票,串口显示当然行驶距离和费用。
/* 作者:嗨小易(QQ:3443792007) */ //系统功能控制 void sys_fun_ctrl(void) { static u8 oneflag=0; //运行开始 if(sys_ctrl.run==1) { oneflag=0; motor_fr_run(); TR0=1;//打开定时器 //如果是晚上 if(sys_ctrl.daynight==1) { sys_ctrl.price_s=10;//起步价10 sys_ctrl.perkil=2.5;//每公里价格 } //如果是白天 else { sys_ctrl.price_s=8;//起步价8 sys_ctrl.perkil=2.0;//每公里价格 } //如果小于2.5公里 if(sys_ctrl.dis<2.5)sys_ctrl.runprice=sys_ctrl.price_s; //如果大于2.5公里 else //行驶总价=起步价+公里数*每公里价格 sys_ctrl.runprice=sys_ctrl.price_s+(sys_ctrl.dis-2.5)*sys_ctrl.perkil; } //运行暂停 else if(sys_ctrl.run==2) { motor_stop(); //如果大于2.5公里 if(sys_ctrl.dis>=2.5) //等待总价=等待时间*20/每小时 sys_ctrl.witeprice=((float)(sys_ctrl.min*60+sys_ctrl.sec)*20/3600); } //停止 else if(sys_ctrl.run==0) { motor_stop(); TR0=0;//关闭定时器 if(sys_ctrl.totprice>0)//代表行驶结束 { if(oneflag==0)//仅蜂鸣1次 { oneflag=1; beep_alarm(4,50000);//蜂鸣器提示 } } } //总价=行驶总价+等待总价 sys_ctrl.totprice=sys_ctrl.runprice+sys_ctrl.witeprice; } //应用控制系统 void appdemo_show(void) { sys_parm_init();//系统参数初始化 lcd1604_init(); // ds1302_init(); time0_init();//定时器初始化 UART_Init();//串口初始化9600 sys_open_show();//系统开机界面显示 while(1) { sys_data_get();//系统数据获取 sys_data_show();//系统数据显示 sys_data_set();//系统数据设置 sys_fun_ctrl();//系统功能控制 } } //定时器0中断函数 void time0() interrupt 1 { static u8 i=0; TH0=0xDC; TL0=0x00; i++; if(i>=100)//1S到 { i=0; if(sys_ctrl.run==1)//运行 { sys_ctrl.dis+=(float)sys_ctrl.speed*1/3600;//公里/S } else if(sys_ctrl.run==2)//等待 { sys_ctrl.sec++; if(sys_ctrl.sec>=60)//1分到 { sys_ctrl.sec=0; sys_ctrl.min++; if(sys_ctrl.min>=60)//1小时到 { sys_ctrl.min=0; sys_ctrl.hour++; if(sys_ctrl.hour>=24)//到达最大计时 { sys_ctrl.hour=0; } } } } } }
B站演示视频:https://space.bilibili.com/444388619
专注于51单片机、STM32、国产32、DSP、Proteus、ardunio、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。