1、 1 摘要摘要 出租车已经是城市交通的重要组成部分, 从加强行业管理以及减少司机与乘 客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。 而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多, 造成故障率高,难调试。而采用单片机进行的设计,相对来说功能强大,用较少 的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通 过软件编程来完成更多的附加功能。 本设计采用 AT89S52 单片机为主控器,附加 U18949 霍尔传感器测距,实现 对出租车计价统计输出采用 8 段数码显示管。 本电路设计的计价器不但能实现基 本的计价,而且还能根据单程,
2、双程来调节单价。出租车计价器用于记录里程与 价格的关系,它能有效地避免司机与乘客的矛盾,保证双方的利益。 使用单片机来完成设计要求。单片机功能强大,用较少的硬件和适当的软件 相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更 多的附加功能。针对计费模式的切换,通过软件编程就可以轻容易的实现。避免 了机械开关带来的不稳定因素。 2 目录目录 1 概述概述. 3 1.1 功能简述. 3 1.2 设计任务及要求. 3 1.3 方案论证及比较. 3 2 系统总体方案及硬件设计系统总体方案及硬件设计 . 5 2.1 单片机各引脚功能说明 5 2.2 单片机最小系统单元 6 2.3 按
3、键电路 8 2.4 U18949 霍尔传感器检测单元 8 3 软件设计软件设计. 10 3.1 系统主程序 10 3.2 中断程序 11 3.3 计算程序 11 3.4 显示程序 12 3.5 键盘程序 12 4 实验仿真实验仿真 13 4.1 调试与测试 13 4.2 里程计价测试. 13 5 课程设计体会课程设计体会. 14 参考文献参考文献 15 附附 1:源程序代码:源程序代码 16 附附 2:系统原理图:系统原理图 23 3 1 1 概述概述 1.1 功能简述 出租车计价器用于记录里程与价格的关系, 它能有效地避免司机与乘客的矛 盾,保证双方的利益。 1.2 设计任务及要求 (1)能
4、显示里程,单位为公里,最后一位为小数位。 (2)能显示金额数,单位为元,最后一位为小数位。 (3)可设定单程价格和往返价格,单程价格为 2 元/公里,往返价格为 1.5 元/公里。 (4) 车速9999) temp=9999; qianwei=temp/1000; baiwei=temp/100%10; shiwei=temp%100/10; gewei=temp%10; /延时约 1ms,数码管显示时使用 void diplay_delay(void) uint i; for(i=0;i0;i-) for(j=340;j0;j-); /键盘的扫描 20 void keyscan() if(key1=0) / 按键消抖并判断按下去的次数为基数还是偶数 delay(5); if(key1=0) key1_flag=!key1_flag; while(!key1)led_show(); delay(5); while(!key1)led_show(); if(key0=0) / 清零