单片机课程设计出租车计价器设计_第1页
单片机课程设计出租车计价器设计_第2页
单片机课程设计出租车计价器设计_第3页
单片机课程设计出租车计价器设计_第4页
单片机课程设计出租车计价器设计_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、辽辽 宁宁 工工 业业 大大 学学 单片机原理及接口技术单片机原理及接口技术课程设计(论文)课程设计(论文) 题目:题目: 出租车计价器设计出租车计价器设计 院(系):院(系): 电气工程学院电气工程学院 专业班级:专业班级: 学学 号:号: 学生姓名:学生姓名: 指导教师:指导教师: (签字) 起止时间:起止时间: 辽 宁 工 业 大 学 课 程 设 计 说 明 书 (论文) 本科生课程设计(论文) iv 课程设计(论文)任务及评语课程设计(论文)任务及评语 院(系):电气工程学院 教研室: 学 号学生姓名专业班级 课程设计 (论文)题 目 出租车计价器设计 课程设计(论文)任务 课题完成的

2、功能、设计任务及要求、技术参数课题完成的功能、设计任务及要求、技术参数 实现功能实现功能 设计一款出租车计价器,该计价器根据不同情况具有不同的收费标准,具有单程和 往复转换开关,能够在掉电的情况下存储单价等数据,具有等待计费功能。硬件设计包 括 cpu 选型、最小系统电路、里程计量电路、按键显示、时钟电路等。软件采用汇编 语言或 c 语言实现。 设计任务及要求设计任务及要求 1、确定设计方案,画出方案框图。 2、进行硬件电路的设计,包括元器件选择。 3、绘制原理图。 4、绘出程序流程图,并编写里程采集程序、计费程序及显示程序。 5、要求认真独立完成所规定的全部内容;所设计的内容要求正确、合理。

3、 6、按学校规定的格式,撰写、打印设计说明书一份;设计说明书应在4000字以上。 技术参数技术参数 1、白天:1.2 元/公里,晚上 2 元/公里; 2、里程计量精度:2%。 进度计划 1、布置任务,查阅资料,确定系统设计方案(2 天) 2、系统硬件设计及模块选择(3 天) 3、系统软件设计及编写功能程序及调试(3 天) 4、撰写、打印设计说明书(1 天) 5、验收及答辩。 (1 天) 指导教师评语及成绩 平时: 论文质量: 答辩: 总成绩: 指导教师签字: 年 月 日 本科生课程设计(论文) v 注:成绩:平时20% 论文质量60% 答辩20% 以百分制计算 本科生课程设计(论文) vi 摘

4、 要 现在各个城市出租车行业都已普及,因此出租车计价器的技术已经成熟,但 是出租车计价器的市场还具有广阔的前景。随着城市建设的日益完善,关乎城市 面貌的出租车行业也将迅速发展,出租车计价器的的大批量需求也是毫无疑问的, 所以未来出租车计价器的市场还是有相当大的潜力的。 本设计是以 at89s52 单片机为核心,以 a44e 霍尔传感器为信号采集传感器, 采用 at24c02 作为存储芯片,加上各种外围电路构成的出租车计价器。本设计 采用霍尔传感器对轮胎转数进行计数,并将采集到的脉冲信号传输给单片机,单 片机通过内部定时器对一定时间内的转动圈数进行一次统计,经计算实现对出租 车速度、里程、应付金

5、额等状态信息的测量。本设计采用了寄存器芯片 at24c02,实现系统对单价、里程、等待时间等信息的存储,采用时钟芯片 ds1302 在正常及掉电的时候来显示时间和在系统需要时进行计时。本设计设置 5 个按键为输入控制方式,分别控制查询、功能、单双成切换、暂停(结账)以 及清零,输出显示采用了 8 段数码管实现对时间、金额、里程的显示,设置了四 个 led 灯,分别为空车指示灯、等待查询指示灯、单双程指示灯。 汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志, 是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无 论是对广大出租车司机朋友还是乘客来说都是很必要

6、的。因此,汽车计价器的研 究也是有一定的应用价值的 关键词:单片机;霍尔传感器;出租车计价器;时钟 本科生课程设计(论文) vii 目 录 第 1 章 绪论 .1 第 2 章 课程设计的方案 .2 2.1 概述 .2 2.2 系统组成总体结构 .2 2.2.1 设计要求 .2 2.2.2 设计的主要功能 .3 2.2.3 方案的选取 .3 第 3 章 硬件设计 .5 3.1 at89s52 单片机及最小系统设计 .5 3.2 测距单元 .7 3.3 按键单元 .9 3.4 时钟单元 .9 3.5 显示单元 .10 3.6 储存单元 .11 3.7 总体电路图 .12 第 4 章 软件设计 .1

7、3 4.1 系统主程序 .13 4.2 数据处理子程序 .14 4.3 等待时间计时子程序 .15 4.4 键盘扫描子程序 .16 第 5 章 课程设计总结 .17 参考文献 .18 附录 .19 附录 .20 本科生课程设计(论文) 27 第 1 章 绪论 随着经济的不断发展,人们的收入得到很大提高。人们便越来越追求生活的 舒适与方便,而出行方式便是关切到人们生活质量的一个重要方面。在物价上涨 的今天,相对于自己购买私家车,更多的人倾向于乘坐出租车出行。虽然现在有 部分小城市尚未普及出租车,但随着城市建设日益加快,象征着城市面貌的出租 车行业也将加速发展。汽车计价器作为乘客与司机双方的交易准

8、则,它是出租车 行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具 有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。 因此,汽车计价器的研究也是十分有一个应用价值的。 我国在 70 年代开始出现出租车,但那时的计费系统大都是国外进口不但不 够准确,价格还十分昂贵。随着改革开放日益深入,出租车行业的发展势头已十 分突出,国内各机械厂家纷纷推出国产计价器。出租车计价器的功能从刚开始的 只显示路程(需要司机自己定价,计算后四舍五入) ,到能够自主计费,以及现 在的能够打一发票和语音提示、按时间自主变动单价等功能。随着城市旅游业的 发展,出租车行业已成为城市的

9、窗口,象征着一个城市的文明程度。 本次设计的目的在于现在各大中城市出租车行业都已普及自动计价器,所以 计价器技术的发展已成定局。采用模拟电路和数字电路设计的计价器整体电路的 规模较大,用到的器件多,造成故障率高,难调试。而采用单片机进行的设计, 相对来说功能强大,是深化单片机应用的良好途径,用较少的硬件和适当的软件 相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更 多的附加功能。 本科生课程设计(论文) 27 第 2 章 课程设计的方案 本次设计是使用单片机技术来实现一个出租车的数字计价器,利用单片机丰 富的io端口,及其控制的灵活性,实现基本的里程计价功能和单双程价格调

10、整、 时钟显示功能等等。具有性能可靠,电路简单、成本低、扩展空间大等特点。 2.1 概述 本次设计主要是综合应用所学知识,设计出租车计价器,并在实践的基本技 能方面进行一次系统的训练。能够较全面地巩固和应用“单片机”课程中所学的 基本理论和基本方法,并初步掌握小型单片机系统设计的基本方法。 应用场合: 应用于出租车计价器 ,出租车计价器有一个脉冲测速传感器,通 过脉冲计数可以显示出租车行驶里程和计费。控制器由 12v 蓄电池供电。 系统功能介绍: 计价器显示的营运金额是营运里程与价格的函数。出租车计 价器通过传感器与行驶车辆连接,实现基本的里程计价功能和价格调节、时钟显 示功能。 2.2 系统

11、组成总体结构 2.2.1 设计要求 (1)能显示里程,单位为公里,最后一位为小数位。 (2)能显示金额数,单位为元,最后一位为小数位。 (3)可设定单程价格和往返价格,单程价格为2元/公里,往返价格为1.5元/ 公里。 (4)车速5公里/小时的时间累积为总等待时间,每5分钟等待时间相当于里 程数增加1公里。 (5)起步公里数为3公里,价格为5元,若实际距离大于3公里,按规则3计 算价格。 (6)按暂停键,计价器可暂停计价,按查询键,可显示总等待时间。 (7)增加了空车指示功能,当无客人时,按下功能切换按键,空车指示灯 亮。 (8)增加实时时间显示,无论计价器工作或者空车,都能显示实时时间, 便

12、于时间提醒。 本科生课程设计(论文) 27 (9)增加信息储存功能。可以储存等待时间,里程和金额。 2.2.2 设计的主要功能 本设计所设计的出租车数字计价器的主要功能有:金额输出、路程输出、数 据复位、计时计价、空车显示等。输出采用2个4位8段共阳数码管,车辆行走时 前4位显示路程,后4位显示金额。车辆候车时,前4位显示等待时间,后4位显示 等待金额。空车时显示实时时间。储存等待时间,里程和金额。 2.2.3 方案的选取 本设计是由软件设计和硬件设计两部分组成的。软件设计要进行程序的编写 和软件仿真;硬件设计要设计电路、硬件仿真和制作电路板。 本系统的硬件设计主要包括单片机at89s52、数

13、据显示部件、u18霍尔传感 器电路、里程计算及计价单元的设计。在硬件设计过程中,充分利用各部件的功 能,实现多功能的出租车计价器设计。 计价器的单片机系统框图如图1所示。它由以下几个部件组成:霍尔传感器 单元、at89s52单片机、金额显示、里程显示、电源。利用单片机丰富的io端口, 及其控制的灵活性,实现基本的里程和价格的计算及显示功能。 at89s52 电源电路按键电路传感电路 led数码管显示灯 图 2.1 结构框图 本设计程序的采取c语言进行编写,使用visio编译和protel软件进行绘制。其 中的里程计算和费用计算方案如下。 (1)里程计算 1)霍尔传感器对车轮进行信号检测,产生并

14、输出脉冲信号到单片机; 本科生课程设计(论文) 27 2)单片机对传感器输出的脉冲信号进行计数,并进行km计算:每一个信号代 表轮胎旋转一周,设轮胎的周长为1.57m ;每km产生的信号数为n ,里程显示 为n 1.57m = 1.57n(km) (2)费用计算 1)出租车的起步费为5元,并且3km内不需额外计价; 2)出租车行驶3km后,单程2元/km,双程1.5元/km。 3)等待收费的标准为5分钟算一公里; 4)暂停时计价器暂停计价,不收费用。 本科生课程设计(论文) 27 第 3 章 硬件设计 3.1 at89s52 单片机及最小系统设计 at89s52具有如下特点:40个引脚,4k

15、bytes flash片内程序存储器, 128 bytes的随机存取数据存储器(ram) ,32个外部双向输入/输出(i/o)口,5个中 断优先级2层中断嵌套,2个16位可编程定时计数器,2个全双工串行通信口,看门 狗(wdt)电路,片内时钟振荡器。 p0口有二个功能: (1)外部扩展存储器时,当做数据/地址总线。 (2)不扩展时,可做一般的i/o使用,但内部无上拉电阻,作为输入或输出时 应在外部接上拉电阻。 p1口只做i/o口使用:其内部有上拉电阻。 p2口有两个功能: (1)扩展外部存储器时,当作地址总线使用。 (2)做一般i/o口使用,其内部有上拉电阻。 p3口有两个功能:除了作为i/o

16、使用外(其内部有上拉电阻) ,还有一些特殊 功能,由特殊寄存器来设置。 设计中用到的单片机各管脚功能以及与其它模块连接介绍如下: vcc:接+5v电源。 vss:接地。 时钟引脚:xtal1和xtal2两端接晶振和30pf的电容,构成时钟电路。 它可以使单片机稳定可靠的运行。 rst:复位信号输入端,高电平有效。当在此引脚加两个机器周期的高电平 时,就可以完成复位操作。 p1.0:接功能按键。 p1.1:接切换键,表示单双程切换。 p1.2:接查询(上次金额)键。 p1.3:接清零键。 p1.4:接空车指示灯。 p1.5:接查询指示灯。 本科生课程设计(论文) 27 p1.6:接开始计时指示灯

17、。 p1.7:接双程指示灯。 p3.0:接查询/确认键。 p0口接数码管段选端, p2口接数码管位选端。 p3.2:接霍尔传感器的输出口。 p3.3:接存储器的scl口。 p3.4:接储存器的sda口。 p3.5:接时钟电路ds1302的rst口。 p3.6:接ds1302的sclk口。 p3.7:接ds1302的i/o口。 复位电路和晶振电路是单片机 at89s52 工作时所需的最简外围电路。 单片机最小系统电路图如图 3.1 所示。 xtal1 19 xtal2 18 rst 9 psen 29 ale 30 ea 31 p1.0 1 p1.2 3 p1.3 4 p1.5 6 p1.4 5

18、 p1.6 7 p1.7 8 p1.1 2 p0.0/ad0 39 p0.1/ad1 38 p0.2/ad2 37 p0.3/ad3 36 p0.4/ad4 35 p0.5/ad5 34 p0.6/ad6 33 p0.7/ad7 32 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p2.3/a11 24 p2.4/a12 25 p2.5/a13 26 p2.6/a14 27 p2.7/a15 28 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.5/t1 15 p3.6/wr 16 p3.7/

19、rd 17 at89s52 c1 30pf c2 30pf x1 12mhz c3 10f gnd r1 10k s0 gnd rst sclk io 图3.1 单片机最小系统 at89s52的复位端是一个史密特触发输入,高电平有效。rst端若由低电平 上升到高电平并持续2个周期,系统将实现一次复位操作。 在复位电路中,按一下复位开关就使在rst端出现一段时间的高电平,外接 11.0592m 晶振和两个30pf 电容组成系统的内部时钟电路。 本科生课程设计(论文) 27 3.2 测距单元 本次设计我们选取了霍尔传感器来进行里程测量。 霍尔器件是一种磁传感器。用它们可以检测磁场及其变化,可在各种

20、与磁场 有关的场合中使用。霍尔器件以霍尔效应为其工作基础。 霍尔器件具有许多优点,它们的结构牢固,体积小,重量轻,寿命长,安装 方便,功耗小,频率高,耐震动,不怕灰尘、油污、水汽及盐雾等的污染或腐蚀。 霍尔器件分为:霍尔组件和霍尔集成电路两大类,前者是一个简单的霍尔片, 使用时常常需要将获得的霍尔电压进行放大。后者将霍尔片和它的信号处理电路 集成在同一个芯片上。本次设计选取了霍尔集成电路来测量里程。 里程测量是通过将霍尔传感器的集成电路安装在车轮上方的铁板上,将磁铁 安装在车轮上,旋转的车轮将磁铁对准集成电路时,霍尔传感器会输出一个脉冲 信号,送到单片机,经过单片机的计算处理,将行驶的里程送到

21、显示单元并显示 出来。 其原理示意图 3.2 如下。 霍尔传感器 车轮 小磁铁 单 片 机 图3.2 传感器测距示意图 a44e是一种利用霍尔效应做成的半导体集成电路器件,它被设计在交变磁 场中运行,特别是能在低电源电压和长时间运行温度范围可达到125。这种霍 尔ic可用作各种类型的传感器(速度传感器、位移传感器、转速传感器等等) , 接触开关以及相类似的应用场合。其工作电压比较宽(2.520v) ,可运行在较 大的温度范围内(-20125), 其输出的信号符合ttl电平标准,可以直接接 本科生课程设计(论文) 27 到单片机的io 端口上,而且其最高检测频率可达到1mhz。 图3.3 a44

22、e霍尔传感器输出特性 霍尔传感器的特性如图3.3所示,其中bop为工作点“开”的磁感应强度, brp为释放点“关”的磁感应强度。当外加的磁感应强度超过动作点bop时,传 感器输出低电平,当磁感应强度降到动作点bop以下时,传感器输出电平不变, 一直要降到释放点brp时,传感器才由低电平跃变为高电平。bop与brp之间的 滞后使开关动作更为可靠。 u18集成霍耳开关由稳压器a、霍耳电势发生器(即硅霍耳片)b、差分放大器 c、施密特触发器d和oc门输出e五个基本部分组成。 在输入端输入电压vcc,经稳压器稳压后加在霍尔电势发生器的两端,根据 霍尔效应原理,当霍尔片处在磁场中时,在垂直于磁场的方向通

23、以电流,则与这 二者相垂直的方向上将会产生霍尔电势差vh输出,该vh信号经放大器放大后送 至施密特触发器整形,使其成为方波输送到oc门输出。当施加的磁场达到工作点 (即bop)时,触发器输出高电压(相对于地电位) ,使三极管导通,此时oc门 输出端输出低电压,三极管截止,使oc门输出高电压,这种状态为关。这样两次 电压变换,使霍尔开关完成了一次开关动作。 a44e霍尔传感器有3个外接口,2个是电源的正负极接口,最后一个是脉冲信 号输出口,只要将霍尔传感器的信号输出端接到单片机的端口上便可以实现距离 检测。其中,单片机的p3.2(int0)引脚作为信号的输入端,采用外部中断0进 行计数。车轮每转

24、一圈,霍尔传感器就产生一个脉冲信号,根据霍尔效应原理, 当霍尔片处在磁场中时,霍尔传感器的输出端输出低电平。当车轮转动一圈时小 磁铁提供一个磁场,则霍尔传感器输出一次低电平完成一次数据采集,从而产生 本科生课程设计(论文) 27 信号。霍尔传感器检测并输出信号到单片机的int0或int1计算脉冲输入端,引起 单片机的中断,对脉冲计数,当计数达到特定的次数时,里程就会增加,单片机 对里程进行计算后,通过接口电路将计算好的结果传送到数码管并显示出来。 3.3 按键单元 本设计的按键单元电路(如图 3.4)有 5 个按键,功能分别是:s1 是空车时 查询上次金额和里程以及等待时间,结账时查询本次金额

25、和里程以及等待时间;s2 功能键,不按时空车指示灯亮而且数码管显示实时时间,按下时可设置单双程, 此时再按 s3 可进行单程和双程之间切换,再按 s1 可确认单双程,双程时双程指 示灯亮并开始计价;按下 s4 可对本次金额、里程以及等待时间进行查询;s5 为 清零键,按下时清零之前数据消除以及存储本次信息。 s1 s2 s3 s4 s5 p3.0 gnd p1.0 p1.1 p1.2 p1.3 图 3.4 按键单元电路 3.4 时钟单元 本设计采用基于ds1302的时钟电路(如图3.5)对时间进行实时显示,单片 机掉电对其没有影响。用数码管表现出来,当出租车空车时就显示时间,给人时 间提示。

26、v cc1 8 v cc2 1 rst 5 sclk 7 i/o 6 x 1 2 x 2 3 u 2 d s1302 c5 33pf c4 33pf x 2 32769 g nd rst sclk io 本科生课程设计(论文) 27 图 3.5 时钟单元电路 3.5 显示单元 本设计显示单元包括两部分:数码管显示(图3-7)和二极管指示显示(图 3-8) 。数码管显示部分使用两个四位一体的led数码管,led显示器是由led发光 二极管发展过来的一种显示器件,是发光二极管的改型。led是发光二极管的简 称,是一种将电能转换成光能的设备。本身也是一种光源。led显示器是由发光 二极管排列组成的显

27、示器件。它采用低电压扫描驱动,具有:耗电少、使用寿命 长、成本低、故障少、视角大、可视距离远等特点。此外,它的响应时间短(一 般不超过0.1us) ,亮度也比较高。它的缺点是工作电流比较大,每一段的工作电 流在10ma左右。 其中每位数码管是由8个发光二极管演变而来,其中7个发光二极管构成7笔 字形,另一个构成小数点,称为8段led。8段led数码管是利用7个led(发光二极 管)外加一个小数点的led组合而成的显示设备,可以显示09等10个数字和小 数点,使用非常广泛。 这类数码管可以分为共阳极(8个发光二极管的阳极接在起)与共阴极(8个 发光二极管阴极连在一起)两种,共阳极就是把所有led

28、的阳极连接到共同接点, 而每个led的阴极分别为a、b、c、d、e、f、g及dp(小数点) ;共阴极则是把所 有led的阴极连接到共同接点,而每个led的阳极分别为a、b、c、d、e、f、g及 dp(小数点) ,如图3.6所示。 本科生课程设计(论文) 27 图 3.6 共阳和共阴数码管结构 通过控制这个公共端,可使该位亮或暗。如共阴极端接地或共阳极接高电平, 则该位显示器有效,反之无效。本设计采用共阴led数码管。 数码管有静态显示和动态显示两种,这里采用动态显示。它具有低功耗、接 口少等特点。如图3.7两个四位一体数码管接p0口作为段选,接p2口作为位选。空 车时显示时间,开始计价时前四位

29、显示路程,后四位显示价钱。当查询等待时间 时显示为等待时间。 a b c d e f g dp 1 2 3 4 a b c d e f g dp 1 2 3 4 9 8 7 6 5 4 3 2 1 rp1 respa ck-8 图 3.7 显示单元(数码管显示部分) 二极管指示部分包括空车指示灯、等待时间查询指示、开始计时指示和双程 指示如图3.8。 r2 100 r6 100 r5 100 r7 100 d1 d2 d3 d4 p1.4 p1.5 p1.6 p1.7 图 3.8 显示单元(二极管指示部分) 这些指示灯能对出租车的每一种状态进行指示,空车时空车指示灯亮,查询 本科生课程设计(论

30、文) 27 等待时间时等待时间查询指示灯亮,当汽车速度小于5km/h时开始计时,计时指 示灯亮。计价前如果按下双程键双程指示灯亮,表示为双程。 3.6 储存单元 存储单元的作用是储存上一次的里程、金额和等待时间。at24c02 是atmel 公司的1kb的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低 可以到2.5v,额定电流为1ma,静态电流10ua(5.5v),芯片内的资料可以在断电 的情况下保存40年以上,而且采用8脚的dip封装,使用方便。 scl 6 sda 5 wp 7 a1 2 u3 at24c1024 r4 10k r3 10k +5v p3.3 p3.4 图3.9

31、 储存单元电路 图3.9中r3、r4是上拉电阻,其作用是减少at24c02的静态功耗。由于 at24c02的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根 线scl(时钟脉冲)和sda(数据/地址)与单片机p3.3和p3.4口连接,进行传送 数据。 3.7 总体电路图 总体电路图设计见附录。 本科生课程设计(论文) 27 第 4 章 软件设计 4.1 系统主程序 本设计中,软件设计采用模块化操作,利用各个模块之间的相互联系,在设 计中采用主程序调用各个子程序的方法,使程序通俗易懂,我们设计了整体程序 流程图。 在main函数编写开始,要进行初始化,包括对系统初始化和对硬件设备进行

32、 初始化,并使硬件处于就绪状态。 在主程序模块中,需要完成对各接口芯片的初始化、出租车起价和单价的初 始化、中断向量的设计以及开中断、循环等待等工作。系统流程图如下图4.1。 开始 结束 初始化 数据处理 键盘扫描 图 4.1 系统主程序流程图 本科生课程设计(论文) 27 4.2 数据处理子程序 每当霍尔传感器输出一个低电平信号就使单片机中断一次,在计数中断服务 程序,里程和金额都相应变化,当然等待时间也换算成里程(当速度小于5km/h 时5分钟想当于1公里) 。计算程序根据里程数分别进入不同的计算公式。如果里 程大于3公里,则执行公式:金额=(里程-3)*单价+5;否则,执行公式:总金 额

33、=起步价。程序流程图如图4.2所示。 开始 计算里程 金额=5元 显示金额 金额=单价*(里程-3) +5 里程3公里 结束 y n 图 4.2 数据处理子程序流程图 本科生课程设计(论文) 27 4.3 等待时间计时子程序 当出租车的速度5km/h时等待时间开始计时,并被换算里程,进行计算显示 等待时间和金额。当结算时停止计时和计费并显示金额,当有查询键按下时显示 等待时间,当有清零键按下时存储本次金额。如图4.3: 开始 速度5公里/小时 查询键按下 y n y n 图 4.3 等待时间计时子程序 本科生课程设计(论文) 27 4.4 键盘扫描子程序 键盘采用查询的方式,放在主程序中,当没

34、有按键按下的时候,单片机循环 主程序,一旦右按键按下,便转向相应的子程序处理,处理结束再返回。流程图 如图4.4。 开始 功能键按下? 切换键按下? 确认键按下? 单双程设置 切换单双程 显示时间 显示上次金额 空城指示灯灭, 开始计价,计 时,显示里程, 价格 结算键按下? 结算金额显示 查询键按下? 显示等待时间与 里程 结算键按下? 存储金额 结束 y n n y y n查询键按下 y n 按下两次 y n y n 图 4.4 键盘扫描子程序 本科生课程设计(论文) 27 第 5 章 课程设计总结 总结在本次设计中,我采用at89s52芯片为核心器件,设计出了简单的出租 车计价器,能够实

35、现显示时间、等待时间、金额和里程,按键控制,空车指示。 选题后,我们便开始复习单片机方面的知识,也查阅、搜索了很多相关资料, 进行总体设计与具体设计,同时也学习软件protel和编程软件visio。由于以前都 采用汇编语言实现编程,对用c语言来实现单片机的编程不太习惯,花费了一些 时间来熟悉c语言的编程。在设计开始,要形成流程图,它可以使设计有一定的 逻辑性与严密性,使得设计思路明确。采用模块化的设计思想很重要,它方便编 写、修改与调试,另外加上必要的注释,便于交流与理解。 这次课程设计设计完成后,体会颇多,在学与做的过程中,取长补短,不断 学习新的知识,吸取经验,达到进步的目的。通过自身的努

36、力以及相关图书资料 的帮助,逐渐熟悉了visio、protel和c语言等软件的使用以及硬件焊接与检测过程 中的一些小技巧。本次设计我学习到不少单片机的知识,但由于自己的理论知识 水平有限,实践知识和设计经验不足,在设计过程中难免存在一些问题。所焊实 物尚有许多不足,个别功能还不能很好的实现,主要原因是考虑问题不周全,电 路设计经验少,实际动手能力不足。恳请各位老师批评指正,以使我在以后的学 习和实践中加以改进和提高。 本科生课程设计(论文) 27 参考文献 1戴佳,陈斌,苗龙.51 单片机应用系统开发典型实例m.中国电力出版社,2005 2余发山,王福忠.单片机原理及应用技术m.中国矿业大学出

37、版社,2008.6 3李玉梅.基于 mcs-51 系列单片机原理的应用设计m.国防工业出版社,2006 4边春元,李文涛,江杰.c51 单片机典型模块设计与应用m.机械工业出版社,2008 5楼然苗,胡佳文,李光飞等.单片机实验与课程设计m.浙江大学出版社,2010.10 6乔雅,周思浩.出租车计价器的设计j.信息通信,2014,(2):61-62 7马江华.出租车计价器检定中常见问题的解析j.计量与测量技术,2011,38(8):42- 43 8程民利.基于霍尔传感器的高精度测速电路设计j.电子设计工程,2013,21(8):109 -111 9杨建潮.出租汽车计价器的计价原理j.检定与规程

38、,2001,(2):44-45 10洪传文.出租车计价器的原理及应用j.技术监督和服务,1997,(3):17-20 11黄代福.出租车计价器传感器原理及检测j.计量与检测技术,2006,(8):20-21 12王幸之.at89 系列单片机原理及接口技术m.北京航空航天大学出版社,2004:5 1-55 13陈明.出租车计价器的功能发展和使用维修j.安徽科技,2006,(09):53-55 14王志辉.浅谈对出租车计价器的管理j.黑龙江科技信息,2008,(16):62-68 15柳丹冉.出租车计价器检定中发现的问题的探讨j.黑龙江科技信息,2009,(17):2 3-26 16董丽娜.出租车

39、计价器示值误差测量结果的不确定度评定j.科技信息,2009,(26):1 0-13 本科生课程设计(论文) 27 附录 总电路图 本科生课程设计(论文) 27 xtal1 19 xtal2 18 rst 9 psen 29 ale 30 ea 31 p1.0 1 p1.2 3 p1.3 4 p1.5 6 p1.4 5 p1.6 7 p1.7 8 p1.1 2 p0.0/ad0 39 p0.1/ad1 38 p0.2/ad2 37 p0.3/ad3 36 p0.4/ad4 35 p0.5/ad5 34 p0.6/ad6 33 p0.7/ad7 32 p2.0/a8 21 p2.1/a9 22 p

40、2.2/a10 23 p2.3/a11 24 p2.4/a12 25 p2.5/a13 26 p2.6/a14 27 p2.7/a15 28 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.5/t1 15 p3.6/wr 16 p3.7/rd 17 at89s52 c1 30pf c2 30pf x1 12mhz c3 10f gnd r1 10k s0 gnd s1 s2 s3 s4 s5 p3.0 gnd r2 100 r6 100 r5 100 r7 100 d1 d2 d3 d4 scl 6 sda 5 w

41、p 7 a1 2 u3 at24c1024 r4 10k r3 10k +5v rst sclk io vcc1 8 vcc2 1 rst 5 sclk 7 i/o 6 x1 2 x2 3 u2 ds1302 c5 33pf c4 33pf x2 32769 gnd rst sclk io a b c d e f g dp 1 2 3 4 a b c d e f g dp 1 2 3 4 9 8 7 6 5 4 3 2 1 rp1 respack-8 p3.0 本科生课程设计(论文) 27 附录 主程序: #include #include #include #define uchar uns

42、igned char #define uint unsigned int uchar code table_du=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f; uchar code table_we=0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 x df,0 xbf,0 x7f; uchar tt,aa; uchar quanshu; uchar second,minute; uint round; uchar round_24c022; uint distance; uint price,cost;

43、 uint wait; uchar qian,bai,shi,ge; sbit key0=p31; sbit key1=p30; sbit key2=p17; sbit key3=p16; sbit key4=p15; sbit led0=p10; sbit led1=p11; sbit led2=p12; sbit led3=p13; sbit led4=p14; bit key0_flag; bit key1_flag; bit key2_flag; bit key3_flag; bit flag; void delayms(unsigned int c) unsigned char b;

44、 for(;c0;c-) for(b=110;b0;b-); void delay_dis(void) unsigned char b,c; for(c=7;c0;c-) for(b=110;b0;b-); void init_data(void) distance=0; cost=0; round=0; second=0; minute=0; key0_flag=0; key1_flag=0; key2_flag=1; key3_flag=0; flag=1; 本科生课程设计(论文) 27 void jisuan(void) wait=minute*60+second; distance=r

45、ound+wait/30; if(key1_flag) price=15; else price=20; if(distance9999) temp=9999; qian=temp/1000; bai=temp/100%10; shi=temp%100/10; ge=temp%10; void write(void) round_24c020=round round_24c021=(round 8) write_24c02(0 x00,key0_flag); write_24c02(0 x01,key1_flag); write_24c02(0 x02,key2_flag); write_24

46、c02(0 x03,key3_flag); write_24c02(0 x04,second); write_24c02(0 x05,minute); write_24c02(0 x06,round_24c02 0); write_24c02(0 x07,round_24c02 1); void read(void) key0_flag=read_24c02(0 x00); key1_flag=read_24c02(0 x01); key2_flag=read_24c02(0 x02); key3_flag=read_24c02(0 x03); second=read_24c02(0 x04); minute=read_24c02(0 x05); round_24c020=read_24c02(0 x 06); round_24c021=read_24c02(0 x 07); round= round_24c0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论