基于单片机at89c51的出租车计费系统设计内容摘要:

序设 计 16 单片机汇编语言源程序 20 显示及按键控制系统 35 LED 数码管 35 数据显示电路的设计 36 4 系统检测及分析 56 系统仿真 /硬件验证 56 系统的调试方法 56 系统的硬件验证 56 设计技巧分析 57 结 论 59 附录 A: FPGA 芯片引脚 60 附录 B:总体电路图 61 参考文献 62 致 谢 63 1. 系统设计 系统组成 以 CPLD/FPGA 为主体,设计 并制作一台出租车计费系统,系统的方框图如图 所示。 图 出租车计费系统方框图 计费及显示 (1) 里程,即汽车行驶里程,用四位数字显示,显示方式为“ ”,单位为 km,精确到 km。 (2) 单价,即里程单价,用三位数字显示,显示方式为“ ”,单价为元 /km,根据每天不同的时间段有两种情况:当时间段为 06:00~ 23:00 时单价为 元/km,其他时间段内单价为 元 /km。 (3) 等候时间,用四位数字显示分钟和秒,显示方式为“ XX:XX”,等候的定义是:当汽车行驶速度小于或等于 12 km/h时为“等候”。 (4) 等候单价,等候单价有两种情况:在等候时间小于 1 小时的情况下,等候单价为 1 元每 5 分钟;在等候时间大于 1 小时的情况下,等候单价为 20 元每小时。 (5) 费用的计算,出租车的起价为 元,当里程小于 2 km时,按起价计算费用;当里程大于 2 km 时按下式计算费用: 费用 =里程╳里程单价 +等候时间╳等候单价 (6) 费用的显示,用五位数字显示,显示方式为“ ”,单价为元。 时钟及显示 当出租车在常运状态下,应能显示当前的时间。 在汽车熄火的情况下,时钟必须正常运行,但是可以不显示时钟。 计费开始提示 当出租车载上乘客并起步后,将空车指示牌扳倒时,空车指示牌里的指示灯熄灭,并有语音或灯光提示信号。 系统设计方案 系统总体设计方案 本 系统拟采用单片机和 FPGA 的结合进行系统的主体设计,系统原理框图如图 所示。 图 出租车计费系统总体原理框图 测控 FPGA 的 VHDL程序设计 根据系统的设计要求,我们可将整个测控 FPGA 系统 CZJFXT 分为七个模块,它们分别是:分频器模块 FPQ,等待判别模块 DDPB,里程计算模块 LCJS,里程计费模块 LCJF,等待计时模块 DDJS,等待计费模块 DDJF,输出数据选择模块 SCXZ。 其内部组成原理图如图 所示。 分频器模块 FPQ:将外部时钟信号 SCLK(设计时假设为 200 Hz)经过适当分频后,产生 1 Hz的系统工作用基准时钟信号 CLK1HZ,供系统中的有关模块计时用。 等待判别模块 DDPB:根据速度传感器脉冲信号 WCLK 和分频器产生的基准时钟信号 CLK1HZ,计算单位时间里 WCLK 的脉冲个数 (每 km 产生 1000 个脉冲信号,即每米产生 1 个脉冲信号 ),亦即出租车行驶速度,从而判别出租车是否处于等待状态,发出等待标志信号 DDBZ。 里程计算模块 LCJS:根据速度传感器脉冲信号 WCLK 和等待标志 DDBZ,对出租车行驶的 里程数 XSLC 进行计算,同时发出里程标志信号 LCBZ 和里程计费标志信号 JFBZ。 里程计费模块 LCJF:在计费标志信号 JFBZ、等待标志信号 DDBZ、里程标志信号 LCBZ和时段标志信号 XDBZ等信号的控制下,计算行驶里程超过 2 km 以上里程的费用 LCFY。 等待计时模块 DDJS:在等待标志信号 DDBZ 和基准时钟信号 CLK1HZ 的控制下,进行等待时间 DDSJ 的计算,其中 DDSJ 的低 8 位表示等待时间的秒数, DDSJ 的高 8 位表示等待时间的分钟数,同时根据等待时间的长短发出一个熄灯标志信号 XDBZ。 等待计费模块 DDJF:在等待标志信号 DDBZ和熄灯标志信号 XDBZ 控制下,进行等待费用 DDFY 的计费操作。 输出数据选择模块 SCXZ :根据单片机发出的数据传输选择控制信号 SEL,选择有关计算处理结果传输给单片机。 SEL与被传送数据的具体关系如表。 表 SEL与被传送数据的关系列表 单片机控制程序设计 单片机模块包括单片机 AT89C51 及其控制的显示和键盘系统,控制口如图 (略 )所示。 AT89C51 对 FPGA 的数据进行运算,计算出用车总费用并送显示系统显示,同时它接收键盘信息并处理显示切换。 系统采用。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。