(完整版)基于单片机出租车计价器课题设计(c语言编写)
基于C语言的出租车计价器程序设计

目录1 前言 (3)2 系统设计方案 (4)2.1 系统的设计需求 (4)2.2 系统的工作原理 (4)3 系统硬件设计 (5)3.1 单片机介绍 (5)3.2 硬件组成 (8)4 系统软件设计 (12)5 仿真调试 (14)6 结论 (16)7 参考文献 (178)8 心得体会及致谢 (20)附录A 设计总图 (224)附录B 源程序 (235)1 前言随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注[1]。
相对于公共汽车拥挤与缓慢以及私家车高昂的费用,出租车无疑是一种低价高质的出行交通工具。
近年来越来越多的人为了出行方便舒适愿意选择使用出租车,出租车行业得以快速发展[2]。
出租车计价器是出租车营运收费的专用智能化仪表,随着电子技术的发展,出租车计价器的技术在不断进步和提高[3]。
最初的计价器计费模式较为单一,不便于在不同的运营环境下选取不同的计费模式。
考虑到出租车行驶可能会出现从市区行驶到郊区或者行驶到偏僻地区,郊区或偏僻区打车的人少的现象,司机空车行驶返回成本较高,这时需要乘客为空车返回的路程承担一定的费用,这就需要区分单程/往返不同计价模式。
“单程”模式是指目的地在郊区或者比较偏僻的地方,到达目的地后打车的人比较少,需要乘客乘客承担一定的空车返回的费用;“往返”模式是指目的地在市区,到达目的地后还会有乘客乘车返回,这种情况下司机不需要空车返回,乘客不需要承担回程费用。
考虑到夜晚时出租车的灯光需要消耗能源以及司机夜间服务比白天较为辛苦,所以一般夜晚出租车的价格需要比白天高一点。
早期的出租车计价器均采用模拟电路和数字电路设计。
计价器整体电路的规模较大,需要器件多,容易出故障,难调试。
和模拟电路和数字电路设计相比而言,基于单片机进行设计的计价器,用较少的硬件和适当的软件相互配合就可以很容易的实现设计需求,硬件电路简单,稳定性好,灵活性强[4],通过软件编程就可以实现计费模式的切换。
(完整版)基于单片机的出租车计价器的设计

本科毕业论文题目基于单片机的出租车计价器的设计学院信息科学技术学院专业电子信息工程毕业届别2015届姓名董胜斌指导教师王钧职称讲师目录摘要 (3)关键字 (3)Abstract (4)Keyword (4)1.绪论 (5)1.1研究背景: (5)1.2研究意义 (5)1.3研究内容 (6)1.3.1 系统的主要功能 (6)1.3.2 方案论证与比较 (6)2.系统总体设计 (8)2.1硬件设计 (8)2.2软件设计 (8)3.硬件设计 (9)3.1 STC89C52单片机介绍 (9)3.2 单片机各引脚功能说明 (9)3.3 振荡电路设计 (11)3.4 复位电路设计 (12)3.5 键盘接口电路设计 (12)3.6 显示电路设计 (13)3.6.1 1602LCD的基本参数及引脚功能 (13)3.6.2 显示模块采用1602液晶显示接口电路 (15)4.软件设计 (16)4.1 单片机资源使用 (16)4.2 单片机软件模块设计 (16)4.2.1 中断子函数 (16)4.2.2 判键子函数 (16)4.2.3 显示子程序 (17)4.3 总程序流程框图 (18)4.4. 使用软件proteus的介绍 (19)5.系统测试 (21)5.1 计价器模式测试 (21)5.2 计价器计价参数测试 (22)5.3 计价器稳定性测试 (22)6.总结 (23)参考文献 (24)致谢 (25)附录1 元件清单 (26)附录2 原理图 (27)附录3 单片机程序 (28)基于单片机的出租车计价器的设计董胜斌(甘肃农业大学信息科学技术学院电子信息工程董胜斌甘肃-兰州730070)摘要:随着经济的发展,以及城市的发展,带动了出租车行业的快速发展,使出租车成为我们日常生活中不可缺少的交通工具,了解和研究出租车上应用的计费原理及计费系统,对我们日常生活也有帮助。
而使用单片机实现出租车计价系统,是学习和深化单片机应用的较好途径。
C语言出租车计价器课程设计

里程计算是通过安装在车轮上的霍尔传感器检测到的脉冲信号,送到单片机产生中断,单片机再根据程序设定,计算出里程。其原理如图4所示。
图4传感器测距示意图
本系统选择了将A44E的脉冲输出口接到P3.3口外部中断1作为信号的输入端(这样可以减少程序设计的麻烦),车轮每转一圈(设车轮的周长是1米),霍尔开关就检测并输出信号,引起单片机的中断,对脉冲计数,当计数达到1000次时,即1公里,单片机就控制将金额自动增加,如图5。
图2单片机最小系统图
AT89S52的复位端是一个史密特触发输入,高电平有效。RST端若由低电平上升到高电平并持续2个周期,系统将实现一次复位操作。在复位电路中,按一下复位开关就使在RST端出现一段时间的高电平,外接11.0592M晶振和两个30pF电容组成系统的内部时钟电路。
2.2 A44E霍尔传感器检测单元
A44E属于开关型的霍尔器件,其工作电压范围比较宽(4.5~18V),其输出的信号符合TTL电平标,可以直接接到单片机的IO端口上,而且其最高检测频率可达到1MHZ。
A44E集成霍耳开关由稳压器A、霍耳电势发生器(即硅霍耳片)B、差分放大器C、施密特触发器D和OC门输出E五个基本部分组成。
在输入端输入电压Vcc,经稳压器稳压后加在霍尔电势发生器的两端,根据霍尔效应原理,当霍尔片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍尔电势差VH输出,该VH信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC门输出。当施加的磁场达到工作点(即Bop)时,触发器输出高电压(相对于地电位),使三极管导通,此时OC门输出端输出低电压,三极管截止,使OC门输出高电压,这种状态为关。这样两次电压变换,使霍尔开关完成了一次开关动作。A44E霍尔传感器原理如图3所示。
基于单片机的出租车计价器设计设计

基于单片机的出租车计价器设计设计出租车计价器是一种基于单片机的设备,用于计算乘客乘坐出租车的费用。
在设计出租车计价器时,需要考虑到计价规则、硬件设计和软件编程等因素。
首先,我们需要确定计价规则。
一般来说,出租车的计价规则包括起步价、里程费和时间费。
起步价是乘客上车时需要支付的固定费用,里程费是根据乘客的行驶里程来计算的变动费用,时间费是在乘客等待或者拥堵时计算的费用。
接下来,我们需要进行硬件设计。
出租车计价器的硬件设计包括显示屏、键盘、车速传感器和单片机等组成部分。
显示屏用于显示计价器的计费结果和其他信息,键盘用于输入乘客的上下车信息和计价规则,车速传感器用于检测出租车的速度,单片机用于控制计价器的计费过程和显示信息。
然后,我们需要进行软件编程。
软件编程主要是为了控制单片机的工作流程和计费逻辑。
在软件编程中,我们需要设计计费算法,根据乘客的上下车信息、里程和时间等数据来计算费用。
同时,我们还需要设计按钮和操作界面,以便乘客和司机能够操作和使用计价器。
此外,出租车计价器还可以增加一些额外功能,如记录行驶轨迹和生成行驶报告等。
行驶轨迹可以用于监控出租车的行驶情况,而行驶报告可以提供给乘客或者出租车公司,以便进行事后结算和分析。
最后,我们还需要考虑出租车计价器的安全性和可靠性。
安全性是指计价器应具备防止数据篡改和信息泄露的能力,可靠性是指计价器应具备稳定工作和数据准确性的能力。
综上所述,基于单片机的出租车计价器设计需要考虑计价规则、硬件
设计和软件编程等因素。
通过合理的设计和规划,可以实现一个功能完善,安全可靠的出租车计价器。
出租车计价器(单片机c语言)

分类号编号毕业设计题目:基于单片机的出租车计价器的设计——电子设计系别信息工程学院专业电子信息工程姓名学号2010年6月1 日学院毕业设计任务书设计题目:基于单片机的出租车计价器的设计——硬件部分专业:电子信息工程班级学号:姓名:指导教师:设计期限:2011年3月1日开始2011年6月1日结束院、系:北京信息工程学院2011年3 月1 日一、设计目的通过毕业设计使学生了解和掌握单片机应用技术;了解和掌握C语言的程序设计同硬件电路的结合;熟练运用proteus,keilC等软件的操作;了解和掌握单片机硬件电路的焊接和调试;了解和掌握掉电存储芯片AT24C02、霍尔传感器A44E、数码管、驱动芯片74LS245等外部接口芯片器件的应用。
二、主要设计内容实现出租车行驶里程和总金额的显示,预设起步价和起步公里数;实现清零、复位和掉电保护功能;实现对单价的调整。
三、重点研究问题(1)按下启动按键,显示起步里程与起步价。
(2)按模拟传感器信号的按键,显示行驶里程与总金额。
(3)按键控制清零、复位、掉电保护、调整预设单价。
(4)在软件中实现起步价,单价。
四、主要技术指标(1)数码管显示起步里程、单价,总里程、总金额。
(2)用按键控制清零、复位、掉电保护、调整预设单价。
五、设计成果要求(1)源程序通过编译、运行(2)软件烧录单片机硬件进行调试,运行(3)实现所述功能(4)电路板焊接、检测(5)最终提交软硬件、设计说明书、外文翻译、毕业设计说明书等六、其它参考文献:[1] 谭浩强.C程序设计(第二版).清华大学出版社.2003[2]潘永雄.新编单片机原理与应用.西安电子科技大学出版社.2003设计开题报告2011年3 月15日摘要现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展已成定局。
而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是十分有潜力的。
基于单片机的出租车计价器的设计

基于单片机的出租车计价器的设计一、引言在现代化社会,出租车成为了人们出行的一种必要工具,而出租车的计价器是出租车行业的重要组成部分,它不仅能够准确的计算乘车费用,还可以提供一些其他服务项目、实时收费等功能。
本课题旨在设计一款基于单片机的出租车计价器,具有准确的实时的计价功能、节能以及模块化结构等优点。
二、总体设计(1)系统功能该系统由以下主要功能组成:(1)实时显示乘车价格。
(2)可以调整价格,也可以根据距离计算价格。
(3)可以根据计价需要灵活设置费率及参数。
(4)具有实时计费功能,可以自动计算乘车总价格。
(5)可以利用GPS定位功能,计算出距离目的地的距离及费用,以及发射警报等。
(2)系统结构该系统包括以下几个部分:(1)单片机控制器:采用嵌入式单片机系统,控制计价器的各项功能。
(2)距离传感器:采用光电开关或者其他机械开关,通过计数信号,来计算出行车车辆的行驶距离。
(3)GPS模块:用于定位车辆位置,以及计算出距离目的地的距离及费用。
(4)用户接口:采用按键开关或者触摸屏,实现用户与系统的交互功能。
(5)显示屏:用于显示乘车价格及时间等信息。
(6)节能模块:用于节约计价器的能耗,提高计价器的使用寿命。
三、实现方式(1)单片机系统的设计单片机系统是本系统的核心部分,由数据处理器、存储器、定时器、显示器等部分构成。
数据处理器负责计算距离和费用,根据计算结果控制显示;存储器用来存储相关参数;定时器可以用来判断行驶的时间;而显示器用于显示实时费用等信息。
(2)距离传感器的设计距离传感器是计算行驶距离的重要组成部分,一般采用光电开关或者其他机械开关,用于计数车轮的旋转,以此来计算出行驶距离。
(3)GPS定位模块的设计GPS定位模块可以用来接收GPS定位信号,较准确的计算出出租车的行驶距离及费用,还可以用来实现实时跟踪车辆的位置。
(4)用户接口的设计用户接口一般采用按键开关或者触摸屏,实现用户与系统的交互功能,使用户可以设置参数或者查看历史数据等。
基于单片机多功能出租车计价器设计论文

基于单片机多功能出租车计价器设计引言本次课程设计利用单片机技术来实现一台多功能出租车计价器,具有性能可靠、电路简单、成本低等特点。
1.1 出租车计价器概述计价器显示的营运金额是营运里程与价格的函数(等候时间一般折算成一定比例的里程来计算)。
出租车计价器通过传感器与行驶车辆连接。
出租汽车的实际里程通过传感器的脉冲信号在计价器里折算成一定的计价营运里程。
目前市场上出租车计价器功能主要有具有数据的复位功能、白天/晚上转换功能、数据输出功能、计时计价功能等等,但能够进行语音播报数据信息的出租车计价器还是比较少见的,针对这一点我们来设计一款多功能出租车计价器,在原有功能的基础上增加单价输出、单价调整、路程输出、显示当前的系统时间、语音播报数据信息等功能。
1.2本设计任务1.2.1设计任务设计一款基于AT89S51单片机的出租车计价器。
1.2.2 设计要求1.基本要求(1)不同情况具有不同的收费标准。
● 白天● 晚上● 途中等待(>10min 开始收费)(2)能进行手动修改单价。
(3)具有数据的复位功能。
(4)IO 口分配的简易要求。
● 距离检测使用霍尔开关A44E● 白天/晚上收费标准的转换开关● 数据的清零开关● 单价的调整(最好使用+和-按键)(5)数据输出(采用LCM103)。
● 单价输出 2 位● 路程输出 2 位● 总金额输出3 位(6)按键。
● 启动计时开关● 数据复位(清零)● 白天/晚上转换2.发挥部分(1)能够在掉电的情况下存储单价等数据。
(2)能够显示当前的系统时间。
(3)语音播报数据信息。
1.3 系统主要功能本课程设计所设计的出租车计价器的主要功能有:数据的复位、白天/晚上转换、数据输出、计时计价、单价输出及调整、路程输出、语音播报数据信息、实现在系统掉电的时候保存单价和系统时间等信息等功能。
输出采用8 段数码显示管。
本电路设计的计价器不但能实现基本的计价,而且还能根据白天、黑夜、中途等待来调节单价,同时在不计价的时候还能作为时钟为司机同志提供方便。
小度写范文基于单片机的出租车计价器设计(毕业设计) 出租车计价器设计原理模板

基于单片机的出租车计价器设计(毕业设计) 出租车计价器设计原理毕业设计课题基于单片机的出租车计价器设计学生姓名院部专业班级指导教师二○ 一四年五月杨凯:基于单片机的出租车计价器设计目录插图清单表格清单摘要Abstract第1章引言................................................................................................................................... - 1 -1.1概述......................................................................................................................................... - 1 -第2章计价器设计系统的方案选择........................................................................................ - 2 -2.1计价器系统的相关要求......................................................................................................... - 2 -2.1.1计价器系统的基本功能.............................................................................................. - 2 - 2.1.2计价器系统的技术要求.............................................................................................. - 2 - 2.2方案论证与比较..................................................................................................................... - 2 -第3章计价器设计系统的硬件设计...................................................................................... - 4 - 3.1硬件设计总述......................................................................................................................... - 4 -3.2里程计算模块的设计............................................................................................................. - 5 -3.3显示模块设计......................................................................................................................... - 7 -3.4语音模块设计......................................................................................................................... - 8 -3.5按键电路的设计..................................................................................................................... - 9 -3.6掉电存储电路的设计........................................................................................................... - 10 -3.7时钟电路的设计 ................................................................................................................... - 11 -第4章计价器设计系统的软件设计...................................................................................... - 12 -4.1模块介绍............................................................................................................................... - 12 -4.2主程序模块........................................................................................................................... - 12-4.3里程计数中断程序............................................................................................................... - 13 -4.4定时中断服务程序............................................................................................................... - 13 -4.5中途等待服务程序............................................................................................................... - 14 -4.6显示服务子程序................................................................................................................... - 14 -4.7键盘服务子程序................................................................................................................... - 15 -第5章系统调试.......................................................................................................................... - 17 -5.1 利用仿真软件Proteus进行仿真调试................................................................................ - 17 -5.2里程计价测试....................................................................................................................... - 18 -5.3掉电存储测试....................................................................................................................... - 19 -5.4 硬件电路.............................................................................................................................. - 19 -5.4.1 电路元器件检测....................................................................................................... - 19 - 5.4.2 元器件的焊接方法 ................................................................................................... - 19 - 5.5硬件检测............................................................................................................................... - 20 -5.6可行性分析........................................................................................................................... - 20 -第6章结束语 ............................................................................................................................... - 22 -6.1工作结果............................................................................................................................... - 22 -6.2心得体会............................................................................................................................... - 22 - 参考文献.......................................................................................................................................... - 23 - 致谢 .......................................................................................................................................... - 24 - 附录.......................................................................................................................................... - 25 -铜陵学院毕业设计插图清单图2-1 基于定时芯片的计价器………………………………………………………3 图2-2 基于单片机的计价器…………………………………………………………3 图3-1 系统电路图……………………………………………………………………4 图3-2 霍尔传感器工况图图…………………………………………………………6 图3-3 霍尔传感器外形及接线………………………………………………………6 图3-4 霍尔传感器测里程原理图图.........................................................6 图3-5 显示电路.................................................................................8 图3-6 语音播报电路...........................................................................9 图3-7 按键电路.................................................................................9 图3-8 掉电存储电路...........................................................................11 图3-9 时钟电路.................................................................................11 图4-1 主程序流程图...........................................................................12 图4-2 里程计数中断程序流程图............................................................13 图4-3 定时中断程序流程图..................................................................14 图4-4 中途等待服务程序流程图............................................................14 图4-5 显示服务程序流程图..................................................................15 图4-6 键盘服务程序流程图..................................................................16 图5-1 系统调试流程...........................................................................17 图5-2 系统仿真图 (18)杨凯:基于单片机的出租车计价器设计表格清单表3-1 LCD1602基本参数说明...............................................................7 表3-2 LCD1602引脚说明.....................................................................7 表3-3 AT24C02管脚功能.....................................................................10 表5-1 白天单价测试...........................................................................18 表5-2 晚上单价测试...........................................................................19 表5-3 中途等待价格测试.....................................................................19 表5-4 掉电存储测试 (19)铜陵学院毕业设计基于单片机的出租车计价器设计摘要随着城市改革开放的进一步深化,出租车行业发展迅猛,而仪表计价器的市场需求也日益扩大。
基于单片机控制的出租车计价器设计

基于单片机控制的出租车计价器设计任务书一.设计要求(一)基本功能1.显示:可以显示单价、里程、总金额2.停车计费功能:中途因故停车超过5分钟后每分钟按当时单价的50%收费3. 自动分时计费功能:白天和夜间应能自动更换单价(二)性能里程误差小于2%(三)扩展功能1.可增加时钟功能2.可增加数据掉电保护功能二.计划完成时间三周1.第一周完成软件和硬件的整体设计,同时按要求上交设计报告一份。
2.第二周完成软件的具体设计和硬件的制作。
3.第三周完成软件和硬件的联合调试。
基于单片机控制的出租车计价器设计摘要:随着出租车行业的发展,出租车行业已经是城市交通的重要组成部分,以单片机为核心的智能出租车计价系统的开发就显得尤其重要。
本设计采用89S51单片机为主控器,以FJ2E-D10NK霍尔传感器测距,实现对出租车的多功能的计价设计,并采用AT24C02实现在系统掉电的时候保存单价和系统时间等信息,输出采用8段数码显示管。
本电路设计的计价器不但能实现基本的计价,而且还能根据白天,黑夜,中途等待来调节单价,但同时在不计价的时候还能作为时钟为司机同志提供方便。
关键词:AT89S51,霍尔传感器,AT24C02,数码显示管,定时器/计数器目录1引言 (1)2总体设计方案 (1)2.1方案论证与比较 (1)2.2主要元器件的介绍 (2)2.3设计方框图 (3)3电路设计原理分析 (4)3.1里程计算、计价单元的设计 (4)3.2数据显示单元设计 (4)3.3掉电存储单元的设计 (6)3.4按键单元的设计 (6)3.5主程序设计 (6)4总结与体会 (8)参考文献 (8)附录 (9)1 引言本次课程设计利用单片机技术来实现一台多功能出租车计价器,具有性能可靠、电路简单、成本低等特点。
2 总体设计方案2.1方案论证与比较方案一:采用数字电路控制。
其原理方框图如图2-1 所示。
采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,但是考虑到这种电路过于简单,性能不够稳定,而且不能调节单价,也不能根据天气调节计费标准,电路不够实用。
基于单片机的出租车计价器的设计

基于单片机的出租车计价器的设计一、设计目标:设计一个基于单片机的出租车计价器,能够准确计算乘客的乘车距离和费用,并能显示当前的计价信息。
二、设计原理:1. 距离测量:使用速度传感器和车轮直径来测量出租车行驶的距离。
2. 费用计算:根据距离和预设的计价规则,使用单片机进行费用计算。
3. 显示:使用LCD显示屏显示当前的计价信息和距离。
三、硬件设计:1. 单片机:选择合适的单片机,如ATmega8,作为主控制器。
2. 速度传感器:选择合适的速度传感器,如霍尔传感器,用于测量车轮转速。
3. LCD显示屏:选择合适的LCD显示屏,如16x2字符LCD,用于显示计价信息和距离。
4. 按键开关:设计合适的按键开关,用于启动计价器和调整设置。
四、软件设计:1. 初始化设置:在计价器启动时,进行LCD显示屏和速度传感器的初始化设置。
2. 距离测量:通过速度传感器读取车轮转速,根据车轮直径计算出租车行驶的距离。
3. 费用计算:根据距离和预设的计价规则,使用单片机进行费用计算,并将计算结果显示在LCD上。
4. 设置调整:设计按键开关用于调整计价规则和费率设置。
5. 实时显示:将计价信息和距离实时显示在LCD上,方便乘客查看。
五、测试和验证:进行功能测试和实地验证,确保计价器的准确性和稳定性。
包括距离测量的准确性、费用计算的准确性以及LCD显示的正确性。
六、优化和改进:根据测试结果和用户反馈,对计价器进行优化和改进,提高其性能和用户体验。
总结:基于单片机的出租车计价器是一个实用的设计,能够帮助出租车司机和乘客准确计算乘车距离和费用。
通过合理的硬件设计和软件编程,可以实现距离测量、费用计算和实时显示等功能。
在实际使用中,需要进行充分的测试和验证,以确保计价器的准确性和稳定性。
通过不断优化和改进,可以提高计价器的性能和用户体验,满足用户的需求。
基于单片机出租车计价器课题设计(c语言编写)

单片机系统课程设计报告完成日期:2010年12月28日系:电子信息工程系专业:通信工程班级:071班设计题目:出租车计价器学生姓名:谢明七王勉指导教师:董玉华、许爽目录一、设计任务和性能指标 (2)1.1设计任务 (2)1.2性能指标 (2)二、设计方案 (3)2.1任务分析 (3)2.2系统设计 (4)三系统硬件设计 (6)3.1电源电路 (6)3.2单片机的最小系统 (7)3.3 DS1302时钟电路 (8)3.4显示电路的设计 (9)3.5按键控制的设计 (10)3.7复位电路 (12)四、系统软件设计 (13)4.1主程序设计 (13)4.2 子程序设计 (14)4.2.1 DS1302子程序 (14)4.2.1 DS1302子程序流程图 (14)4.2.2 显示子程序 (16)4.2.2 显示子程序流程图 (18)4.3 修改时间子程序 (19)五、调试及性能分析 (20)5.1调试步骤 (20)5.1.1硬件调试 (20)5.1.2软件调试: (20)5.2性能分析 (20)六、心得体会 (22)七、参考文献 (23)八、附录 (24)附录1、程序清单 (24)附录2 系统硬件电路图 (34)一、设计任务和性能指标1.1设计任务出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。
它关系着交易双方的利益。
具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。
出租车计价器的主要功能是计价显示、时钟显示、根据白天、黑夜、途中等待来调节营运参数、计量数据查询等。
要求用Protel 画出系统的电路原理图(要求以最少组件,实现系统设计所要求的功能),印刷电路板(要求布局合理,线路清晰),绘出程序流程图,并给出程序清单(要求思路清晰,尽量简洁,主程序和子程序分开,使程序有较强的可读性)。
1.2性能指标1.不同情况具有不同收费标准:白天、晚上、途中等待(>10min开始收费);2.数据输出:单价输出、路程输出、总金额输出;3.按键:启动计时开关、数据显示切换、白天/晚上切换、复位;4.能手动进行修改单价,但单价设定需密码进入。
基于单片机的出租车计费(c语言)

基于单片机的出租车计费(c语言)基于proteus仿真一.设计要求:1.用单片机AT89c51实现出租车计费器的设计。
2.出租车起步开始计程和计费,计程系统按实际公里数计程,计费系统首先显示起步价(如5.0),车行驶2km以内,只收起步价5元。
3.出租车行驶超过2km后,按每公里1.8元在5.0元的基础上增加。
4.出租车达到目的地后,(用一个按钮)计程和计费数据清零,为下一次计费开始。
5.出租车行驶仿真:把信号发生器的输出接到单片机外部中断上,设置信号发生器不同的频率输出,分别表示速度的快慢。
6.每一个脉冲表示轮胎转一圈,目前出租车轮胎周长为1.83米。
8.运行时间显示(时、分、秒),每一次起步时清零9.出租车行驶超过10km后(或超过20元路费),每公里加收50%的车费,即车费变为每公里2.7元。
10.行驶速度计算11.参数设置:可以修改轮胎周长,修改起步价,修改每公里单价等。
二.设计仿真proteus三.设计程序#include<reg51.h>unsignedchar d[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf};//段选unsigned char f=0x00,y=0x00,k=0x00,m=0x00,z=0x00,q=0x00,w=0x00,s=0x00;//定义变量注意其范围(不然容易出现乱码)unsigned int x=0;#define uint unsigned int#define uchar unsigned charvoid delay(unsigned int i)//延时1ms{unsigned char j;while(i--){for(j=0;j<125;j++){;}}}void div2()//显示{ P2=0x80;P1=d[s/10];//计时小时P0=d[y/100];//计费百位delay(5);P2=0x40;P1=d[s%10];//小时个位P0=d[y%100/10];//计费十位delay(5);P2=0x20;P1=d[10];//显示“-”P0=d[y%10]&0x7f;//计费个位delay(5);P2=0x10;P1=d[f/10];//分钟P0=d[x*2/10000];//路程万位delay(5);P2=0x08;P1=d[f%10];P0=d[x*2%10000/1000];//路程千位delay(5);P2=0x04;P1=d[10];P0=d[x*2%1000/100];delay(5);P2=0x02;P1=d[w/10];//秒P0=d[x*2%100/10];delay(5);P2=0x01;P1=d[w%10];P0=d[x*2%10];delay(5);}void tt()//总费用函数{if(x*2<2000){y=5;}else if(x*2>2000){y=5+(x*2-2000)/1000*2;}else if(x*2>10000){y=21+(x*2-10000)/1000*3;}}void main()//开3个中断端{EX0=1;//开启外部中断源IT0=1;EX1=1;IT1=1;TH0=(65535-50000)/256;TL0=(65535-50000)%256;TMOD=0X01;ET0=1;TR0=1;//开启定时中断 EA=1;//开中断源while(1){div2();tt();}}void int1(void) interrupt 0 //信号中断服务程序{x++;}void int2() interrupt 2 //清零中断{w=0;f=0;s=0;x=0;y=0;EX0=0;ET0=0;}void int0() interrupt 1//计时中断服务程序{ ET0=0;TR0=0;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TR0=1;q++;if(q==20)//计数20恰好为1秒{q=0;w++;if(w==60)//秒到60{w=0;f++;if(f==60)//分到60{f=0;s++;if(s==12){s=0;}}}}ET0=1;}四.设计结果。
出租车计价器(单片机c语言)doc资料

出租车计价器(单片机c语言)摘要本电路以AT89S51单片机为中心,附加A44E霍尔传感器测距(本电路中用模拟开关替代),实现对出租车计价,采用AT24C02 实现在系统掉电的时候保存单价,输出采用8段数码显示管,显示行驶总里程和总金额。
模拟出租车计价器设计:进行里程显示,预设起步价和起步公里数;行程按全程收费,有复位功能和启动功能,启动后,开始计价。
我们采用单片机进行设计,可以用较少的硬件和适当的软件相互配合来实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能,应用前景广阔。
关键字:出租车计价器; AT89S51单片机; A44E霍尔传感器; 断电保存; 8段数码显示管.目录第 1章绪论 01.1 课题背景 01.2 主要设计内容及基本要求 0第2章系统硬件设计 (1)2.1硬件设计说明 (1)2.2 AT89S51单片机简介 (1)2.3 硬件电路设计 (2)2.4 硬件组成 (3)2.4.1 驱动电路 (3)2.4.2 显示电路 (4)2.4.3 复位电路 (5)2.4.4 掉电保护电路 (5)2.4.5 时钟电路 (6)2.4.6 按键电路 (6)第3章系统调试 (7)3.1 单片机仿真软件在线调试—PROTEUS (7)3.2 电路元件检测 (8)3.3 硬件检测 (8)附录1程序源代码 (12)附录2电路仿真图 (18)总结 (19)第 1章绪论1.1 课题背景我们知道,只要乘坐的出租车启动,随着行驶里程的增加,就会看到司机旁边的计价器里程数字显示的读数从零逐渐增大,而当行驶到某一值时(如2KM)计费数字显示开始从起步价(如4元)增加。
当乘客到站时,按下停止按键,计费数字显示总里程和总金额,它可以很直观的反映用户使用情况。
1.2 主要设计内容及基本要求利用AT89S51单片机,设计简单的出租车计价器。
在出租车计价器的总体设计中,我主要负责出租车计价器硬件设计。
其中主要的外围功能电路有:驱动电路,按键控制电路,掉电保护电路,时钟部分,数码管显示电路等。
基于单片机的出租车计价器设计

基于单片机的出租车计价器设计《基于单片机的出租车计价器设计》这个题目引起了我的兴趣。
出租车计价器是一种用于计算出租车旅客收费到终点所需要的路程和收费的机器,它可以帮助出租车司机以及乘客有效地完成收费过程,从而提升出租车行业的效率和服务质量。
本文首先介绍了出租车计价器的基本要素,并介绍了基于单片机的出租车计价器的系统设计。
将会讨论基于单片机的出租车计价器的硬件设计和软件设计。
此外,本文还将详细介绍基于单片机的出租车计价器的测试方法和结果。
一、出租车计价器的基本要素出租车计价器的基本要素包括:显示屏、路程传感器、光学接收器和键盘。
显示屏用于显示当前路程距离和费用;路程传感器用于测量当前出租车行驶的距离;光学接收器用于接收外部事件信号;键盘用于输入相关信息。
二、基于单片机的出租车计价器系统设计基于单片机的出租车计价器系统设计是一种将单片机、存储器、显示屏、路程传感器、光学接收器、键盘等部件组成的一个完整的系统,这个系统是由一个中央处理器(CPU)控制的,它能够对来自外部的信号进行读取和处理,并将处理后的信号转换成计价器中显示屏上按照约定好的格式显示出来。
三、基于单片机的出租车计价器的硬件设计基于单片机的出租车计价器的硬件设计包括单片机的选择、存储器的类型、显示屏的尺寸和解析度、路程传感器的类型、光学接收器的功能和键盘的类型。
1.片机的选择在这次的出租车计价器的硬件设计中,我们选用的是AT89C51单片机。
AT89C51单片机具有低功耗、低成本和高性能特点,能够满足出租车计价器在可靠性、负荷能力以及精度方面的要求。
2.储器的类型为了满足出租车计价器的需要,我们在这次的硬件设计中选用了ROM和RAM双类存储器。
ROM用于储存程序,而RAM则用于储存数据和参数。
3.示屏的尺寸和解析度为了满足出租车计价器的要求,我们选用的显示屏的尺寸是32*32的屏幕,其解析度为1024*768。
4.程传感器的类型为了能够有效测量出租车行驶的距离,我们在这次的硬件设计中选用了一种能够测量出租车行驶距离的传感器。
基于单片机的出租车计价器设计

基于单片机的出租车计价器设计一、项目背景出租车计价器是出租车行业中一项关键的设备,用于计算乘客乘车费用。
传统的出租车计价器通常采用机械式计价方式,计价精度较低、可靠性差,且经常需要维护和修理。
现代化电子技术的发展和普及,为出租车计价器的升级换代提供了技术支持。
本设计旨在基于单片机技术,实现一款数字化的出租车计价器。
二、设计思路本设计采用单片机(AT89S52)作为主控芯片,通过计算车程距离、时间、里程表数等因素,实现乘客费用的计算和打印等功能。
具体设计思路如下:1.硬件系统设计本系统的硬件主要包括输入设备、输出设备和主控芯片等组成部分。
输入设备:(1)计价器按钮:用于开始和结束计价,并进行一些功能设置操作;(2)里程表信号输入:通过传感器实现里程表数自动识别和读取;(3)GPS模块:获取当前车辆位置信息和车速信息。
输出设备:(1)VFD液晶显示屏:用于显示当前计价信息、费用总额、车费等;(2)打印机:用于打印计价信息单。
主控芯片:本设计采用AT89S52芯片作为主控芯片,具有较高的计算能力和稳定性。
2.软件功能设计本系统的软件主要包括实时计价程序、计价单打印程序和功能设置程序等。
实时计价程序:通过读取输入设备的信号和计算得到的车程距离、时间、速度等参数,实时计算出乘客费用的总额,并在VFD液晶显示屏上显示;同时根据需要进行语音播报提醒。
计价单打印程序:在乘客结束乘车并付款后,系统自动将计价信息打印在计价单上。
同时,系统将计价信息保存在EEPROM中,方便后续查询和管理。
功能设置程序:实现计价器的一些基本设置,例如车型设置、费用标准设置、打印格式设置等。
三、设计优势1.精确计算:本系统通过GPS等多种手段自动获取车程距离、时间、速度等信息,保证了计费的精确性;2.快速打印:系统将计价信息保存在EEPROM中,用户结束乘车后,系统自动打印计价单,节约了时间和人力成本;3.智能提醒:系统通过语音播报可以提醒乘客付款和司机结束计价,减少误操作和纠纷的发生;4.灵活可扩展:本系统可以根据需要进行各种费用标准和车型的设置,方便用户应对不同的计价情况。
【完整版】基于51单片机的出租车计价器设计毕业论文设计

第一章绪论1.1出租车计价器的研究背景及意义1.1.1研究背景当今社会,随着生活水平的日益提高,衣食住的享受已不能满足人们的需求,出行的舒适度已受到越来越多人的关注。
于是,出租车行业以低价高质的服务给人们带来了出行的享受,所以越来越受到广大群众的欢迎。
我国在70年代开始出现出租车,但那时的计费系统大都是国外进口不但不够准确,价格还十分昂贵。
重庆市起重机厂是我国的第一家生产计价器企业,最早的计价器全部采用机械齿轮结构,只能完成简单的计程功能。
可以这么说,早期的计价器就是一个里程表,并且,总存在着买卖纠纷等各种问题困扰着行业的发展。
而改良出租车计价器是在出租车行业中解决这一矛盾的最好方法,用更加精良的计价器来为乘客提供更加优质的服务。
随着改革开放日益深入,出租车行业的迅猛发展,国内各机械厂家纷纷推出国产计价器。
出租车计价器的功能从刚开始的只显示路程(需要司机自己定价,计算后四舍五入),到能够自主计费,以及现在的能够打发票和语音提示、按时间自主变动单价等功能。
出租车行业已成为象征着城市文明的窗口,现在各大中城市出租车行业都已普及自动计价器,计价器技术的发展已成定局,所以未来汽车计价器的市场还是十分有潜力的。
1.1.2 研究意义凡乘过出租车的人都知道,只要汽车开动,随着行驶里程的增加,就会看到汽车前面的计价器里程数字显示的读数从零逐渐增大,而当行驶到某一值时(如3KM)计费数字显示开始从起步价(如7元)增加。
当出租车到达某地需要在那里等候时,司机只要按一下“计时”键,每等候一定时间,计费显示就增加一个该收的等候费用。
汽车继续行驶时,停止计算等候费,继续增加里程计费。
到达目的地,便可按显示的数字收费。
出租车计价的的原理简单的概括为以下几个方面:●里程传感器:采集车速信号,(也可以自己做车速传感器,采用霍尔效应做),车速信号为脉冲信号,采集脉冲信号的频率就可以得到车速,可以用到芯片的定时器捕获。
如果车速大于一定的值,采用公里数计算价格,如果车速小于这个值,就可以用时间计算。
(完整版)单片机毕业课程设计出租车计价器

《单片机原理与接口技术》课程设计题目:基于单片机的出租车计价器的设计学院:管理科学与工程学院专业:电子信息工程学号:姓名:夏念念初始条件:1.运用所学的单片机原理与接口技术知识和数字电路知识;2.52单片机应用开发系统一套;3.PC机及相关应用软件。
要求完成的主要任务:以目前生活中正在使用的出租车计价器为原型进行设计,要求具有按时间和里程综合计算车价的功能,能显示时间、里程、单价、总车价等相关信息。
1.完成出租车计价器的设计和调试。
2.撰写课程设计说明书,说明书使用A4打印纸计算机打印,用Proteus等绘图软件绘制电子线路图纸。
基于52单片机原理出租车计价器的设计摘要本设计的是一个基于单片机AT89C52的出租车自动计费设计,附有复位电路,时钟电路,键盘电路等。
复位电路是单片机的初始化操作,除了正常的初始化外,为摆脱困境,通过复位电路可以重新开始。
时钟电路采用12MHz的晶振,作为系统的时钟源,具有较高的准确性。
在上电时字符型液晶1602显示最初的起步价,里程收费,等待时间收费三种收费,通过按键可以调整起步价,里程收费,等待时间收费。
通过按键模拟出租车的运行,暂停,停止。
在1602液晶上可以显示运行的时间,运行时暂停的时间,通过计算可以得出总共的费用和总的路程。
在这里主要是以AT89C52单片机为核心控制器,P0口接1602液晶显示模块,P1口接按键的,通过按键输入。
关键词:单片机AT89C52;1602液晶;出租车计费器;目录前言 (1)第一章出租车计价系统的设计要求与设计方案 (2)1.1出租车计价器设计要求 (2)1.2系统主要功能 (2)1.3方案论证与比较 (2)第二章出租车计价系统的硬件设计 (4)2.1振荡电路 (4)2.2复位电路设计 (4)2.3键盘接口电路 (5)2.4显示电路 (5)2.5路程测量部分 (6)2.6单片机各引脚功能说明 (6)2.71602液晶的简介 (8)第三章出租车计价系统的软件设计 (10)3.1单片机资源使用 (10)3.2中断子函数 (10)3.3判键子函数 (11)3.4显示子程序 (11)3.5总程序流程框图 (13)第四章PROTEUS的简介 (14)4.1P ROTEUS介绍 (14)第五章设计体会与小结 (15)参考文献 (15)附录 (16)一.源程序 (16)二.设计总图 (2)前言出租车计价器是出租车营运收费的专用智能化仪表,随着电子技术的发展,出租车计价器技术也在不断进步和提高。
基于单片机的出租车计价器设计20240525

基于单片机的出租车计价器设计20240525出租车计价器是一种用于计算乘客乘坐出租车所需支付费用的设备。
它可以根据时间和里程计算车费,并显示在计价器上供乘客查看。
本文将介绍基于单片机的出租车计价器的设计。
首先,我们需要使用一个单片机来控制计价器的运行。
单片机是一种集成电路,可以通过程序控制其输入和输出。
我们可以使用一些常见的单片机,如ATmega328P或PIC16F877A。
接下来,我们需要一些外部组件来实现计价器的功能。
这些组件包括LCD显示屏、按键、蜂鸣器和电子记忆器。
LCD显示屏用于显示车费、时间和里程等信息;按键用于设置起步价和每公里价格;蜂鸣器用于发出提醒声音;电子记忆器用于存储车费、时间和里程等信息,以便在断电后恢复运行。
计价器的设计包括以下几个部分:1.硬件设计:将LCD显示屏、按键、蜂鸣器和电子记忆器与单片机连接起来。
LCD显示屏通过并口或串口与单片机连接,按键通过输入引脚与单片机连接,蜂鸣器通过输出引脚与单片机连接,电子记忆器通过SPI或I2C总线与单片机连接。
2.软件设计:编写单片机的程序来实现计价器的功能。
程序应包括以下几个功能:-设置起步价和每公里价格:乘客可以通过按键设置起步价和每公里价格。
单片机将读取按键的状态,并将设置的值保存在RAM中。
-计算车费:根据时间和里程计算车费。
单片机将读取时间和里程,并使用保存在RAM中的起步价和每公里价格进行计算。
-显示车费:使用LCD显示屏显示计算得到的车费。
-提示声音:当计价器开始计费、结束计费或车费超过一定额度时,蜂鸣器将发出提醒声音。
-存储数据:将计费时间和里程等数据存储在电子记忆器中,以便在断电后恢复运行。
3.测试和调试:在设计完成后,需要对计价器进行测试和调试,确保其正常运行。
可以通过模拟输入数据并观察输出结果来进行测试。
通过以上的设计和实现,我们可以得到一个基于单片机的出租车计价器。
它可以准确计算乘客所需支付的车费,并通过LCD显示屏显示出来。
基于单片机的出租车计价器的设计

基于单片机的出租车计价器的设计
随着城市化进程的加速,出租车已经成为人们出行的重要方式之一。
而出租车计价器则是出租车行业中不可或缺的一部分。
本文将介绍一种基于单片机的出租车计价器的设计。
我们需要了解出租车计价器的基本原理。
出租车计价器主要是通过计算车辆行驶的里程数和时间来计算乘客需要支付的费用。
因此,我们需要使用传感器来测量车辆行驶的里程数和时间。
在本设计中,我们使用了两个传感器:一个是用于测量车辆行驶里程数的速度传感器,另一个是用于测量时间的时钟芯片。
速度传感器通过检测车轮的转速来计算车辆行驶的里程数,而时钟芯片则可以精确地测量时间。
接下来,我们需要将传感器的数据输入到单片机中进行处理。
在本设计中,我们使用了AT89C51单片机。
单片机通过读取传感器的数据来计算车辆行驶的里程数和时间,并根据计算结果来计算乘客需要支付的费用。
我们需要将计算结果显示在计价器的显示屏上。
在本设计中,我们使用了LCD显示屏。
单片机将计算结果发送到LCD显示屏上,乘客可以通过显示屏来了解自己需要支付的费用。
基于单片机的出租车计价器设计可以实现精确计算乘客需要支付的费用,并且具有可靠性高、成本低等优点。
随着科技的不断发展,
出租车计价器的设计也将不断更新,为人们出行提供更加便捷、高效的服务。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机系统课程设计报告完成日期:2010年12月28日系:电子信息工程系专业:通信工程班级:071班设计题目:出租车计价器学生姓名:谢明七王勉指导教师:董玉华、许爽目录一、设计任务和性能指标 (2)1.1设计任务 (2)1.2性能指标 (2)二、设计方案 (3)2.1任务分析 (3)2.2系统设计 (4)三系统硬件设计 (6)3.1电源电路 (6)3.2单片机的最小系统 (7)3.3 DS1302时钟电路 (8)3.4显示电路的设计 (9)3.5按键控制的设计 (10)3.7复位电路 (12)四、系统软件设计 (13)4.1主程序设计 (13)4.2 子程序设计 (14)4.2.1 DS1302子程序 (14)4.2.1 DS1302子程序流程图 (14)4.2.2 显示子程序 (16)4.2.2 显示子程序流程图 (18)4.3 修改时间子程序 (19)五、调试及性能分析 (20)5.1调试步骤 (20)5.1.1硬件调试 (20)5.1.2软件调试: (20)5.2性能分析 (20)六、心得体会 (22)七、参考文献 (23)八、附录 (24)附录1、程序清单 (24)附录2 系统硬件电路图 (34)一、设计任务和性能指标1.1设计任务出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。
它关系着交易双方的利益。
具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。
出租车计价器的主要功能是计价显示、时钟显示、根据白天、黑夜、途中等待来调节营运参数、计量数据查询等。
要求用Protel 画出系统的电路原理图(要求以最少组件,实现系统设计所要求的功能),印刷电路板(要求布局合理,线路清晰),绘出程序流程图,并给出程序清单(要求思路清晰,尽量简洁,主程序和子程序分开,使程序有较强的可读性)。
1.2性能指标1.不同情况具有不同收费标准:白天、晚上、途中等待(>10min开始收费);2.数据输出:单价输出、路程输出、总金额输出;3.按键:启动计时开关、数据显示切换、白天/晚上切换、复位;4.能手动进行修改单价,但单价设定需密码进入。
二、设计方案2.1任务分析出租车计价器基本功能部分是根据里程数来完成总金额的输出。
实现方法有两种。
方案一:采用数字电路控制。
其原理方框图如图2.1所示。
采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,但是考虑到这种电路过于简单,性能不够稳定,而且不能调节单价,也不能根据天气调节计费标准,电路不够实用。
移位寄存器电路里程传感器金额显示单价显示电源电路及保护电路图2.1 数字电路实现框图方案二:采用单片机控制。
利用单片机丰富的IO 端口,及其控制的灵活性,实现基本的里程计价功能和价格调节、时钟显示功能。
本方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。
2.2系统设计图2.1电路系统构成框图主控芯片使用51系列AT89C52单片机,采用高性能的静态80C51设计,由先进工艺制造,并带有非易失性Flash程序存储器。
它是一种高性能、低功耗的8位COMS微处理芯片,市场应用最多。
时钟芯片使用美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片DS1302。
采用DS1302作为主要计时芯片、可以做到计时准确。
更重要的是,DS1302可以在很小的电流的后备电源(2.5~5.5V电源,在2.5V时耗电小于300nA)下继续计时,并可编程选择多种充电电流对后备电源进行慢速充电,可以保证后备电源基本不耗电。
采用串行数据传输,与单片机硬件连接简单,如果使用时钟芯片DS12887,将采用并行数据传输,占用更多的硬件资源。
因此为节省单片机端口,时钟芯片采用DS1302。
它们可以检测磁场及其变化,可在各种与磁场有关的场合中使用。
霍尔器件以霍尔效应为其工作基础。
霍尔器件具有许多优点,它们的结构牢固,体积小,重量轻,寿命长,安装方便,功耗小,频率高(可达1MHZ),耐振动,不怕灰尘、油污、水汽及盐雾等的污染或腐蚀。
活儿现行器件的精度高、线性度好;霍尔开关器件无触点、无磨损、输出波形清晰、无抖动、无回跳、无知重复精度高(可达Im级)。
采用了各种步长和保护措施的霍尔器件的工作温度范围宽,可达-55摄氏度~150摄氏度。
数据显示模块采用的是LED数码管显示,LCD虽然也能实现显示功能,但在距屏幕1米之外就无法看清数据,不能满足要求,而且在白天其对比度也不能满足要求,因此建议采用LED数码管显示。
数码管总共用了12个,其中第一行显示小时和分钟,第二行第一个显示单价,后面3个显示里程数,最后一行显示总价。
按键控制模块使用了3个脉冲开关,其中一个开关负责换位,另一个负责改数,第三个按键负责切换至等待时间。
三系统硬件设计3.1电源电路因为出租车上的电压时12V,而芯片所需供电电压是5V,所以选择LM7805的经典电路电源电路完成12V转5V的目的。
电源电路图如下图3.1所示:图3.1电源电路图3.2单片机的最小系统单片机最小系统采用的是STC89C54芯片,STC89C54是一种低功耗、高新能CMOS 8为微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51铲平指令和引脚完全兼容。
偏上FLASH允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有平桥的8为CPU何在系统可编程Flash,使得STC89C54为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
STC89C54具有以下标准功能:8K字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16为定时器/计数器,一个6向量2级终端结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0HZ 静态逻辑操作,支持2中软件可选择节点模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、终端继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
单片机最小系统电路图如下图3.2所示:图3.2单片机最小系统电路图3.3 DS1302时钟电路若采用单片机计时,一方面需要采用计数器,占用阴间资源,另一方面需要设置终端、查询等,同样耗费单片机的资源,并且使用单片机的时钟误差比较大,当长时间使用后会,会出现很大错误,而在系统中采用DS1302则能很好的解决这个问题。
DS1302时钟电路图如图3.3所示:图3.3 DS1302时钟电路图3.4显示电路的设计在显示模块需要对时间、单价、总价、路程、等待时间进行显示,采用的是LED数码管,数码管总共用了12个,其中第一行显示小时和分钟,第二行第一个显示单价,后面3个显示里程数,最后一行显示总价。
显示电路图(一个数码管)如下图3.4所示:图3.4 显示电路图3.5按键控制的设计按键的设置是为了能够手动更改时间和单价,还有就是手动切换到等待时间的地方,按键采用的是脉冲按键。
按键设置电路图如图3.5所示:图3.5按键控制电路图3.6掉电保护掉电存储单元的作用是在电源断开的时候,存储当前设定的单价信息。
掉电保护的芯片较多,如AT24C02 是ATMEL 公司的2KB 字节的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以到2.5V,额定电流为1mA,静态电流10Ua(5.5V),芯片内的资料可以在断电的情况下保存40年以上,而且采用8 脚的DIP 封装,使用方便。
掉电保护电路图如下图3.6所示:图3.6 掉电保护电路图3.7复位电路复位功能采用的是MAX813L芯片。
MAX813L是具有监控电路的微处理芯片,它具有4个功能:1具有独立的看门狗计时器,如果看门狗输入在1.6秒内无变化,就会产生看门狗输出;2掉电或电源电压低于1.25V时,产生掉电输出;3上电时能自动产生200ms宽的复位脉冲;4具有人工复位功能,当人工复位端输入低电平时,产生复位信号输出。
复位电路如图3.7所示:图3.7复位电路图四、系统软件设计4.1主程序设计程序的难度主要就是在数码管的显示和外部脉冲的采集部分,分别采用74LS273芯片对数码管进行段选,使数码管显示对应的数,另外使用74LS154对数码管进行位选,选择哪个数码管亮,采用的是动态显示。
还有外部脉冲的收集,需要对里程数进行显示,所以必须要先进行脉冲的采集。
程序流程图如图4.1所示:图4.1程序流程图4.2 子程序设计4.2.1 DS1302子程序4.2.1 DS1302子程序流程图显示单价、总价、路程、时间等数据,循环扫描进行显示。
(如果在一分钟内没有脉冲,开启终端,显示秒分子程序。
DS1302子程序流程图如4.2.1所示:图4.2.1 DS1302子程序流程图4.2.2 显示子程序void sett() //显示等待时间及单价、总价、路程子程序{TAB[0]=Read1302(0x83)/10;TAB[1]=Read1302(0x83)%10;TAB[7]=Read1302(0x81)/10;TAB[6]=Read1302(0x81)%10;TAB[8]=3;TAB[2]=Coo/100;TAB[3]=Coo/10%10;TAB[4]=Coo%10;if(TAB[4]<=3&&TAB[2]==0&&TAB[3]==0){TAB[11]=8;}else{TAB[11]=(8+(Coo-3)*TAB[8])%10;}TAB[5]=TAB[2]*TAB[8]/10;TAB[9]=Coo/100*TAB[8]+Coo%100*TAB[8]/100;TAB[10]=(Coo/10*TAB[8]+Coo%10*TAB[8]/10)%10;}void mmm() //显示时间子程序{ TAB[0]=Read1302(0x85)/10;TAB[1]=Read1302(0x85)%10;TAB[7]=Read1302(0x83)/10;TAB[6]=Read1302(0x83)%10;TAB[8]=3;}TAB[11]=(8+(Coo-3)*TAB[8])%10;}TAB[5]=TAB[2]*TAB[8]/10;TAB[9]=Coo/100*TAB[8]+Coo%100*TAB[8]/100;TAB[10]=(Coo/10*TAB[8]+Coo%10*TAB[8]/10)%10;}void mm() //非计价时的显示时间{TAB[0]=Read1302(0x85)/10;TAB[1]=Read1302(0x85)%10;TAB[7]=Read1302(0x83)/10;TAB[6]=Read1302(0x83)%10;TAB[8]=3;TAB[2]=Coo/100;TAB[3]=Coo/10%10;TAB[4]=Coo%10;if(TAB[4]<=3&&TAB[2]==0&&TAB[3]==0){TAB[11]=8;}else{TAB[11]=(8+(Coo-3)*TAB[8])%10;}TAB[5]=TAB[2]*TAB[8]/10;TAB[9]=Coo/100*TAB[8]+Coo%100*TAB[8]/100; TAB[10]=(Coo/10*TAB[8]+Coo%10*TAB[8]/10)%10;}4.2.2 显示子程序流程图显示子程序流程图如图4.2.2所示:图4.2.2 显示子程序流程图4.3 修改时间子程序修改TAB数组里的前5位数据,分别为小时、分钟、单价.五、调试及性能分析5.1 调试步骤5.1.1硬件调试错误1:LM7805封装时2脚和3脚弄混解决办法:1、将LM78052脚和3脚手工矫正2、利用飞线重新手工焊接错误2:进行原理图设计时,电源网络标号不一致(74LS14、74HC154电源网络标号与其他的不一致)解决办法:利用飞线,将错误的网络标号和正确的网络标号进行手工焊接。