首页
会员中心
到顶部
到尾部
51单片机

出租车计价器课程设计任务书013

时间:2020/10/14 10:49:40  作者:  来源:  查看:0  评论:0
内容摘要: 课题:出租车计价器一、预备知识(1)SPCE061A 端口设置方法(2)SPCE061A 定时器使用方法(3)SPCE061A 内部Flash 的读写方法(4)凌阳单片机汇编语言或C 语言编写基础(5)LED 数码管的显示原理(6)微型打印机的使用方法二、课程设计目的单片...
课题:出租车计价器
一、预备知识
(1)SPCE061A 端口设置方法
(2)SPCE061A 定时器使用方法
(3)SPCE061A 内部Flash 的读写方法
(4)凌阳单片机汇编语言或C 语言编写基础
(5)LED 数码管的显示原理
(6)微型打印机的使用方法
二、课程设计目的
单片机学习不仅仅需要掌握单片机本身的用法,其外围器件:显示界面如LED 数码管,发光二极管、液晶等,控制器件如键盘等都是需要掌握和灵活应用的。在计程器设计题目中还涉及到了微型打印机设备。
本课程设计以凌阳单片机系统板-61 板为基础进行设计开发,其基本要求是:
1.熟悉单片机系统板基本构成;
2.掌握LED 数码管显示原理及使用方法;
3.掌握单片机系统板的使用方法;
4.初步掌握单片机汇编语言一般编程技巧;
5.初步掌握单片机系统调试的一般步骤及方法;
6.掌握微型打印机的控制方法。
三、课程设计任务
设计要求:
利用SPCE061A单片机配合SPLC501液晶模组,实现基本的出租车计价器功能。具体规格如下:
        1. 里程计量
        a) 单片机对传感器脉冲进行计数(传感器脉冲使用SPCE061A内部PWM输出模拟),并将脉冲数换算成公里数;
        b) 每公里对应的脉冲数PulsePerKM可以调整。
        2. 费用计算
        a) 费用计算包括两部分:行驶费用和低速等待费用;
        b) 行驶费用计算如下:白天行驶里程不足StartMilege(三公里)时,费用按照起步价StartPrice(¥10.0元)计算;当超出StartMilege时,行驶费用=StartPrice+(行驶里程 - StartMilege)×每公里的单价;夜晚行驶里程不足StartMilege时,费用按照起步价NightStartPrice(¥11.0元)计算;当超出StartMilege时,行驶费用=NightStartPrice+(行驶里程-StartMilete)×每公里的单价;
        c) 每公里的单价根据时间区分为白天和黑夜两种价格。白天每公里价格为PricePerKM(¥2.0元),晚上每公里价格为NightPricePerKM(¥2.4元);
        d) 依靠时间判断白天和黑夜,晚上NightTime1(23点)之后,认为进入夜行状态,早上NightTime2(5点)之后,认为离开夜行状态,进入昼行状态;
        e) 如果行驶里程超过LongWayLimit(十三公里),则超出的里程的单价上涨为原单价的LongWayPrice(1.5)倍,做为空返费用。
        f) 上面提到的StartMilege、StartPrice、NightStartPrice、PricePerKM、NightPricePerKM、LongWayLimit、LongWayPrice、NightTime1、NightTime2等参数要求可以在程序中调整;
        g) 低速等待费用计算如下:
        i. 低速等待时间的计时方法为:当车速低于WaitSpeed1(五公里/时)时开始计时,车速超过WaitSpeed2(十公里/时)时终止计时;
        ii. 如果行驶过程中多次发生低速等待,则等待时间累加;
        iii. 总的等待时间不超过FirstWaitTimeLimit(五分钟),则不计算费用;
        iv. 总的等待时间超过FirstWaitTimeLimit(五分钟),增加WaitPrice(¥2.0)元,同时, 超出的时间按照每WaitTimeLimit(三分钟)增加WaitPrice(¥2.0)元计算,不足WaitTimeLimit(三分钟)的部分不增加费用。即, iceWaitmitWaitTimeLiimeLimitFirstWaitTiceWaitPrPr×−+=等待时间等待费用 ;
        v. 上面提到的WaitSpeed1、WaitSpeed2、FirstWaitTimeLimit、WaitTimeLimit、WaitPrice等参数要求可以在程序中调整;
        h) 要求系统可以在行驶期间实时检测并计算总的费用(包括行驶费用和等待费用)。
        3. 用户操作
        a) 用户通过三个按键进行操作,并通过液晶显示器显示当前的行驶状态、行驶公里、时间、费用等信息,参考显示界面如图 1.1所示
        b) 空车状态下,液晶显示器可以显示日期、时间等信息;
        c) 按下61板上的Key3键时,进入行驶状态,启动里程计量,并播报欢迎语提示音;
        d) 行驶状态下,液晶显示器显示“行驶”以指示当前出租车的状态,并可以实时显示当前的单价、行驶里程、低速等待时间、总的费用等信息;
        e) 行驶状态下,再次按下Key3时停止里程计量,并播报当前行驶里程及总的费用,此时,液晶显示器保持单价、里程、低速时间、金额等信息,此后,按下Key1键可以将显示信息归零;
        f) 在空车状态下,按下Key2键可以进入日期时间设定状态,通过Key2键切换设置项,Key3和Key1增/减数值,从而实现对日期时间的设定;
硬件框图 系统以SPCE061A为核心,外扩SPLC501液晶模组,使用PWM模拟传感器脉冲输入,实现里程计量,并按照现行出租车计价系统计算行驶费用。
硬件连接图:
系统软件设计
本系统软件中包括下面程序模块:
主 程 序:初始化系统涉及到的硬件模块,扫描键盘,根据按键启动/停止里程测量,并调用用户界面程序定时更新日期时间显示,实时更新单价、里程、低速时间、费用等信息显示;
液晶驱动程序:LCD显示驱动程序,实现文本、图形显示等功能。
按键扫描程序:扫描按键,返回扫描结果。
语音播放程序:播放提示音,行驶里程、费用等。
计价管理程序:完成传感器脉冲计量,然后转换为公里数,并根据规则计算对应的费用,同时,监测行驶速度,统计低速时间,计算低速等待费用,提供液晶显示更新函数,以便主函数可以控制更新用户界面以及行驶里程、费用等信息的显示。该模块包括PWM管理程序、里程计量程序、时间管理程序、费用管理程序、用户界面控制程序等部分。
 
3.1 主程序
主程序流程如图 3.1:程序运行后首先初始化各个硬件部件,同时打开1KHz和2Hz时基中断,为键盘扫描和时间管理模块服务。然后,程序进入主循环,不断进行按键扫描,并根据按键启动/停止里程计量,或进入系统设置模式。在主循环中同时还对时间显示进行更新。
  


相关评论
本类推荐
    广告联系QQ:45157718 点击这里给我发消息 电话:13516821613 杭州余杭东港路118号雷恩国际科技创新园  网站技术支持:黄菊华互联网工作室 浙ICP备06056032号