《---出租车计费系统.doc》由会员分享,可在线阅读,更多相关《---出租车计费系统.doc(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、出租车计费系统计科151李帅国学号:201508020114(一)绪论: 一.单片机是种可通过编程和控制的微处理器,虽然其自身不能够单独用在某项工程或产品上,但当其与外围数字器件和模拟器件结合时便可发挥强大的功能。 二.单片机区别和应用如下: 1. 工业自动化。如数据采集、测控技术。2. 智能仪器仪表。如数字示波器、数字信号源、感应电流表等。3. 消费类电子产品。如空调机、微波炉、IC卡、汽车电子设备等。 4. 通信方面。如调制解调器、程控交换技术等。5. 武器装备。如飞机、军舰、导弹、鱼雷制导、智能武器等。 三.我们作为与自动化技术和电子密切相关的理工科学生,掌握单片机是最简单也最基础的要求
2、。为了进一步丰富和巩固单片机知识,也为了能更好的联系实际应用,本次课程设计选择了基于单片机AT89S52控制的出租车计费器,并力求能做出实物。 鉴于电子技术、计算机技术以及各种更先进的仿真软件的出现,使用高级语言如C代替汇编语言进行编程和控制已成为现实,也成为一种发展趋势。单片机C语言编程相对于MC51汇编语言编程有如下优点: 1. 对单片机的指令系统不需要有很深的理解就可以编程操作单片机。 2. 寄存器分配、不同存储器的寻址及数据类型等细节完全由编辑器自动处理。 3. 程序有规范的结构,可分为不同的函数,可使程序结构化。 4. 库中包括许多标准子程序,具有较强的处理能力,使用方便。 5. 具
3、有方便的模块化编程技术,使已编好的程序便于移植,可极大缩短开发时间,增加程序的可读性和可维护性。 四单片机最小系统单元 主控机系统采用STC公司生产的 STC89C52单片机,它含有512 字节数据存储器RAM,内置8K 的电可擦除FLASH ROM,可重复编程,大小满足主控机软件系统设计,所以不必再扩展程序存储器。芯片外围电路最高可接入40MHZ的晶振(AT单片机数值一般为24MHZ)。复位电路和晶振电路,以及P0口接入的10K的上拉电阻便构成了STC89C52 单片机工作所需的最简外围电路电路. (二)需求分析: 一.功能要求 : 1. 设计一个出租车计费器,并利用霍尔传感器和单片机内集成
4、的计数器测试出出租车运行里程。 2. 要求单价可调,里程精确到0.1公里,并要求对等待时间进行计时。 3. 利用I2C总线通过EEPROM对存储空间进行扩展,使其具备掉电存储功能。 二.目的: 1.事实上,当今许多硬件的开发都已开始用C语言编程,如各种单片机、DSP、ARM等,用C语言进行工业控制也已成为一种趋势,为了更好的适应当今社会形势,为了更好的面对挑战、把握机遇,此次毕业设计决定尝试用C语言编程完成。也希望能在进一步熟悉单片机控制的同时,对数字电子技术、模拟电子技术、计算控制技术以及常用外围芯片有更深层次的了解,提高自己的综合能力。 综上:基于单片机AT89S52设计的出租车计费器不仅
5、可方便的用软件代替硬件,降低成本,具备一般计费器的计算里程和显示总金额的功能,还具备了掉电保持,白天、夜晚单价切换,并且还可很方便的扩展为速度测试仪,具有很好市场前景。 (三)硬件设计:1.系统工作原理 1.1功能要求 出租车计费器是根据乘客乘坐汽车行驶距离和等候时间的多少进行计费的,并在行驶中同步显示本次消费、运行里程、运行单价以及等待时间等信息。从起步开始,当汽车行驶里程未满3公里时,均按起步价计算。超过3公里后,实现每1公里单价收费,中间遇到暂停时,计程数不再增加,开始计时收费,计程收费和计时收费的和便构成了一位乘客的车费。同时,白天和夜晚价格不同,可以进行切换。白天单价、夜晚单价、等待
6、单价和起步价格都可通过独立键盘进行调节。(默认起步价为5元/3公里,里程单价白天为2.5元/公里,夜晚为3.5元/公里,等待计时单价为1元/1分钟) 为提高计时、计费精度,确保乘客对自己消费的知情权,出租车计费器应做到里程数精确到0.1公里,同时为减少司机朋友来回调整单价以及停车后需重设单价的麻烦,计费器应具有掉电保持功能,即当重新启动后维持原有数值(包括总金额、等待时间、行驶里程、单价)不变,直至强制按下清零键,计费器显示起步价(刚起步时对应总金额)、运行单价,为下一次计费做准备。 1.2基本原理 计费器系统主要由五部分组成:分别为基于霍尔传感器A44E的里程检测单元、STC89C52单片机
7、、外扩串行EEPROM-AT24C02、独立键盘和LED显示。 霍尔传感器主要用于检测汽车行使的里程数,出租车车轮每旋转一周,霍尔传感器A44E便产生一相应的脉冲输出,并把该脉冲交由单片机进行处理,单片机则根据程序设定,通过计算脉冲个数换算出已行驶里程(里程=脉冲个数*出租车车轮周长),然后再根据从EEPROM-AT24C02中读取的单价等相关数据进行总的消费金额的。计算:当里程小于3公里时,总金额=起步价+等待时间*等待单价;当里程大于3公里时,总金额=起步价+(里程-3)*运行单价+等待时间*等待单价;计算好的金额、等待时间、里程和单价等数据信息都可实时地显示在数码管上。其中,等待时间可根
8、据霍尔传感器A44E是否有脉冲输出加以判断,如可设定等待时基为5s,即假如A44E在5s后仍无脉冲输出便认为进入等待时间,并由单片机STC89C52内部计时器对其进行计时。(四) .软件设计:1. 系统主程序 在主程序模块中,需要完成对各参量和接口的初始化、出租车起步价和单价的初始化以及中断、计算、循环等工作。另外,在主程序模块中还需要设置启动/清除标志寄存器、里程寄存器和价格寄存器,并对它们进行初始化。然后,主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计费等不同的操作。 当出租车运行后,就启动计费器,根据里程寄存器中的内容计算和判断行驶里程是否已超过起步价公里数。若已超过,则根
9、据里程值、每公里的单价值和起步价来计算出当前的总金额,并将结果存于总金额寄存器中;中途等待时,无脉冲输入,不产生中断,当时间超过等待设定值时,开始进行计时,并把等待金额加到总金额里,然后将总金额、里程、等待时间和单价送数码管显示出来。程序流程如图所示。2.计算程序 15 序中,里程变量加1,总金额根据此时所设单价做出相应的变化。里程中断子程序如图3-2所示。 INT0 计数达到500? 增加1公里 调用价格子程序 达到最大里程?返回 N N Y 开始 Y 图3-2 里程中断服务子程序 3.3 中途等待中断程序 在中途等待中断程序中,定时器1每50ms计一次数,每计够100次(5sec),便将当
10、前里程值送入某个缓存变量,与前一个5秒的值进行比较,如果两者相同,则表明霍尔传感器没有输出信号,认为出租车停了下来,进入等待计时,计时中间变量dd自加1,计够12次为一分钟,dd自清零,同时根据所设的等待单价刷新总金额。计数初值可有以下公式获得: X=(65536-t)*11.0592*106/12; TH=X/256; TL=X%256; 其中:X表示计数初值,TH、TL分别为16位计数器高8位和低8位应装入的初值。3. 显示程序: 由于8位数码管所有段选皆有8位的P0口进行控制,因此,在每一瞬间,8位LED会显示同一个数字。要想每位显示不同的字符,就必须采用动态扫描的方法轮流点亮各位LED
11、,即在每一时刻只使某一位显示字符。在此瞬间,段选控制I/O口输出相应字符段选码(字符码),而位选则控制I/O口在该显示的位送入选通电平,以保证该位显示显示相应字符。如此循环操作,使每位分时显示该位应该显示的字符 7 。 在本次设计中显示程序利用延时程序,每隔5ms刷新一次,相应的数码管点亮,显示一位数据,利用主函数内的循环,实现动态扫描显示,同时根据数码管余辉和人眼暂留现象,给人看上去每个数码管总是在亮,以实现动态显示。2016年6月10 示显实亮总数每人象暂和余码根显描现循数主据一显点的,新 ,用程显次在 字示应示时,操循符相示该以通选示该/控位)字选段相 /段瞬在字一某一即 各点方描态必,
12、同示位字一显 位,每,制行 有选所位由 序值的装低 数位为 、初示: ; = ;/ ;/ 0 - ( 获公有初金新待的根,自,分次够 变计时等进停车,出没传霍,相两较进 前量缓入程当将 0够数一 每器,断等中程待中. 程断 - 开 返?最达格调里增?到数 所-如断。化应价所根金加程, 程算示图流。示码价和待里、将然金额待,行开,设超时断不输无待等中额总结并金前计步值的里、根过若数公超是里断算的器里,计启行租 作同等程除动完,的存各将主然始行对,寄器程器志清动要中模在外。循、中及初和价出始口接对完,块在 序程主计设件时行对时 片由时入为输 假 时定如断出输否 器传根时,其数示实都据价程时、金好;
13、待待+行)里+起总里于里价待间+起=,公程:。的的进据价单中 从再)轮租*个里里行换个算过序据片,处片冲该,冲相生 器尔霍一车出数使车于用传 。 盘键 串外 元检里 霍为别分五统费 本. 备计次价单、应步刚起显计键按直不价里驶待额总值原后新能能掉应计麻的重车以整友司减,里.精到应车,知消自客度计时提 钟/单计里/ 为公/为白程公元价起(节盘过通价起待价夜天换行以不价天,车乘了构的计收,时开增数,暂间,单公现里公算价均时 里行,开。信间及价程行费次步驶,计少的候距驶乘据器车租要功 理统计设)。好有试速扩方还且价夜白持了具,金示里算器备本降硬替软方器车的设 片基 力合己高了层片围用技控计电、子数,
14、的片熟一在也程言 定业次机握战的更,今当更为种为制工行用等、 机各,语始已开多当上.的.能功电具展进储对 过总 。行等要里公到里,单要 运车试数的片器尔利器费个: 功一析分需(路路围最所片单 成阻拉0的口以路和位。 为一数 振 接最电片储展扩以计统控足小复可 可 置, 据字 有机 的司公用系 单系最四 性性和的序,发短,植程编使程化模有。使理强有程标许库。程可的不分构规 。动器完节据址的同不器。片作以就的很统令 点如程编汇 对语 单展为,实制控进言代言级用的软进更各术计技于 实做力计出制 机基择程次应系的了也知固和步为要基单是单握学的切子技自作我 。能制、导舰如备等技换器调调方.。备车、 波机。子类等等感、数波数表仪智术技、采化动 用别区二 能功强发合器件字外但上或工用够自虽理微控过种机. 论论 0 帅