一.硬件方案
本设计基于STC89C52单片机、1302时钟芯片准确计时、LCD1602液晶显示、24c02芯片可以掉电存储数据、3v直流电机模拟发动机工作。当无乘客时液晶可以显示时间(年月日时分秒),时间可以按键设置,此时电机不工作;当有乘客时电机工作,可以通过按键开始计费系统工作,有清零键,收费可以修改(包括起价费、超过起价费每公里或分钟收费、白天和夜晚收费标准),可以切换白天和夜晚收费标准,可以按照分钟或公里收费切换。
主要由51单片机最小系统、DS1302时钟芯片准确计时、LCD1602液晶显示、24c02芯片可以掉电存储数据、3v直流电机模拟发动机工作;如图:
二.设计功能
(1)当无乘客时液晶可以显示时间(年月日时分秒),时间可以按键设置,此时电机不工作;当有乘客时电机工作,可以通过按键开始计费系统工作;
(2)有清零键,收费可以修改(包括起价费、超过起价费每公里或分钟收费、白天和夜晚收费标准);
(3)可以切换白天和夜晚收费标准;
(4)可以按照分钟或公里收费切换。
三.设计原理图
(1)原理图主要采用AD软件进行设计,如图:
(2)Protues仿真图如下:
(3)PCB图如下:
四.软件设计
主程序源码
//初始化函数
void InitTimer0();
//写初值
void SETS();
//读初值
void READS();
//主函数
void main()
{
//初始化
Ds1302_Init();
Init_LCD();
initeeprom();
//SETS();
//读取初始参数
READS();
//定时器初始化
InitTimer0();
//循环
while(1)
{
//时钟模式
if(Mode==0)
{
//读时间
if(Wei==0)
{
Ds1302_Read_Time();
//显示时间
display_NYR(time_buf1,Wei,0);
}
}
else if(Mode==1)
{
//显示计价器信息
display_S(Day,Night,DanJia,ZJ,GL,Time,GT,DN);
}
//时间调整
if(K8==0)
{
delay(20);
//调时
if(K8==0)
{
if(Mode==0)
{
Wei++;
if(Wei==1)
{
SS=1;
}
//闪烁
display_NYR(time_buf1,Wei,SS);
if(Wei==7)
{
Wei=0;
//保存时间
Ds1302_Write_Time();
Init_LCD();
}
}
//调节白天/黑夜起价
else if(Mode==1)
{
if(DN==0)
{
DN=1;
}
else
{
DN=0;
}
}
while(K8==0);
}
}
.........
}
}
上一篇:基于51单片机的教室智能照明控制系统
下一篇:基于51单片机的语音万年历设计
设计资源 培训 开发板 精华推荐
- 三星 Exynos 2600 芯片前景堪忧:良率挑战严峻,有被取消量产风险
- 苹果搁置反垄断报告的请求遭印度监管机构拒绝,案件将继续推进
- 2024年Automechanika Shanghai海量同期活动刷新历届记录,汇聚行业智慧,共谋未来发展
- 企业文化分享 如何培养稀缺的硅IP专业人员?SmartDV开启的个人成长与团队协作之旅
- 恩智浦发布首个超宽带无线电池管理系统解决方案
- 北交大本科生探秘泰克先进半导体开放实验室,亲历前沿高科技魅力
- 新帅上任:杜德森博士(Dr. Torsten Derr)将于2025年1月1日出任肖特集团首席执行官
- 边缘 AI 如何提升日常体验
- 苹果要首发!台积电宣布2nm已准备就绪
- AMD有望用上全新芯片堆叠技术:延迟大幅减少、性能显著提升