电子毕业论文-出租车计价器系统_第1页
电子毕业论文-出租车计价器系统_第2页
电子毕业论文-出租车计价器系统_第3页
电子毕业论文-出租车计价器系统_第4页
电子毕业论文-出租车计价器系统_第5页
已阅读5页,还剩45页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

2013 届本科毕业设计(论文)绪论随着生产社会化趋势的扩大、科学技术的进步、人类知识总量的增长速度不断加快、以及市场竞争的日益激烈,人们对信息的认识产生了根本性的变化。信息被列为与物质、能源并列的人类社会发展的三大资源之一。信息化水平已成为衡量一个国家现代化水平和综合国力的重要标志。我国也正处于改革开放进一步深化的环境下,因此我们应当抓住机遇,充分利用信息,扎实的做好信息管理系统的基础工作,建设开发较为先进的应用系统,加快我国信息化建设的步伐。几年来,随着加入 WTO,社会生活节奏日益加快,出租车行业使得人们以车代步,提高出行效率,同时也随之不断地发展。为了更好地服务于广大乘客,各大出租车公司先后搭建了各类信息管理系统,诸如叫车系统,客服系统等,逐渐形成了数字化租车的管理概念。即以网络化管理为基本模式,以信息为出租车行业发展的基本动力,以信息技术为增强出租车公司竞争实力的基本手段,以信息化建设为出租车公司发展的新增长点,以信息文化改变着人们教育、工作方式和思想观念。从而根本上实现了服务于广大乘客,提高出租车公司各项工作的效率和质量,为出租车公司创造经济益。司机和出租车辆是出租车公司最主要的资源,是创造效益的源泉。要想提高出租车公司的工作效率和服务质量,从根本上提高出租车公司的效益,首先从做好对司机和车辆的管理着手。一是做好司机非现金营运收入的发放(清算)工作,司机的人身保险等福利工作,二是做好车辆的保险和维修工作。基本此种管理需要的信息系统出租车计价器系统,将很大程度上解决出租车公司在此工作上的难度。本文所描述的“出租车计价器系统”,是根据某出租车公司的信息管理系统需求为基础展开需求调研。并在一定程度上考虑了它的可扩充性,使系统开发完成后,通过量的改造,可以适用现有出租车。- - 2 -第一章 系统分析1.1 系统调查本 电 路以 89S51 单 片 机 为 中 心 、 附 加 A44E 霍 尔 传 感 器 测 距 , 实 现 对 出 租 车 计价 统 计 , 采 用 AT24C02 实 现 在 系 统 掉 电 的 时 候 保 存 单 价 和 系 统 时 间 等 信 息 , 输 出采用 8 段 数 码 显示 管 。 本 电 路 设 计 的 计 价 器 不 但 能 实 现 基 本 的 计 价 , 而 且 还 能 根 据白天 、 黑 夜 、 中 途 等 待 来 调 节 单 价 , 同 时 在 不 计 价 的 时 候 还 能 作 为 时 钟 为 司 机 同 志提 供 方 便。1.2 方案论证与比较及组织层次图介绍方案一:采用数字电路控制。其原理方框图如图 1-1 所示。采用传感器件,输出脉冲信号, 经过放大整形作为移位寄存器的脉冲,实现计价,但是考虑到这种电路过于简单,性能不够稳定,而且不能调节单价,也不能根据天气调节计费标准,电路不够实用。电源电路及保护电路金额显示单价显示里程传感器 移位寄存器电路图 1-1 数字方案方 案 二 : 采 用 单 片 机 控 制 。利 用 单 片 机 丰 富 的 IO端 口 , 及 其 控 制 的 灵 活 性 ,实 现 基本 的 里 程 计 价 功 能 和 价 格 调 节 、 时 钟 显 示 功 能 。 其 原 理 如 图 1-2所 示 。- - 3 -图 1-2 单片机控制方案1.3 可行性分析通过比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且 能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。但是,在单片机系统的设计中,设计人员清楚其最终具体应用,它的使用环境相对是单一固定的。同时,用单片机控制字符型液晶显示模块,凭借液晶显示器微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。键盘控制AT24C02 掉电存储里程计算单元89S51单片机总金额显示单价显示串口显示驱动电路- - 4 -第 二 章 系统硬件设计2.1 里 程计 算 、计 价 单 元的 设 计里程计算是通过安装在车轮上的霍尔传感器 A4E 检测到的信号,送到单片机,经处理 计算,送给显示单元的。其原理如图 2-1 所示。图 2-1 传感器测距示窗图由于 A44 E 属于开关 型的霍尔器件,其工作电压范围比较宽(4.518V) ,其输出的信号符合 TTL 电平标准,可以直接连接到单片机的 IO 端口上,而且其最高检测频率可以达到 1MHZ。 图 2-2 集成开关型霍尔传感器原理图- - 5 -A44 E 集成霍尔开关由稳压器 A、霍尔电势发生器 (即硅霍尔片 ) B、差分放大器 C、施密 特触发器 D 和 OC 门输出 E 五个基本部分组成。在输入端输入电压 VCC ,经稳压器稳压后加在霍尔电势发生器的两端,根据霍尔效应原理,当霍尔片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍尔电势差 VH 输出,该 VH 信号经放大器放大后送至施密特触发器整形,使其成为方波输送到 OC 门输出。当施加的磁场达到 工作点 ( 即 OBP)时,触发器输出高电压 (相对于地电位 ),使三极管导通,此时 OC 门输出端输出低电压,通常称这种状态为 开 。当施加 的磁场达到 释放点 ( 即 BrP)时,触发器输出低电压,三极管截止,使 OC 门输出高电压, 这种状态为 关 。这样两次电压变换,使霍尔开关完成了一次开关动作。 其 集成 霍 尔 开 关 外 形 及 接 线 如 图 2-3 所 示 .图 2-3 集成霍尔开关外形及接线我 们 选 择了 P3.2 口 作 为 信 号 的 输 入 端 , 内 部 采 用 外 部 中 断 0( 这 样 可 以 减少 程 序 设 计的 麻 烦 ) , 车 轮 每 转 一 圈 ( 我 们 设 车 轮 的 周 长 是 1 米 ) , 霍 尔 开 关 就 检 测并 输 出 信 号 , 引 起单片 机 的 中 断 , 对 脉 计 数 , 当 计 数 达 到 100 0 次 时 , 也 就 是 1公里 , 单 片 机 就 控 制 将 金 额 自 动的 加 增 加 , 其 计 算 公 式 : 当 前 单价 *公里数 = 金 额2.2 数 据 显示 单元 的 设 计由 于 设 计 要 求 有 单 价 ( 2 位 ) 、 路 程 ( 2位 ) 、 总 金 额 ( 3 位 ) 显 示 输 出 , 加 上 我们 另 外扩 展 了 时 钟 显( 含 时 分 秒 的 显 示 ) , 采 用 LCD 液 晶 段 码 显 示 , 在 距 离 屏 幕 1 米 之 外 就 无法 看 清 数 据 , 不 能 满 足 要 求 , 而 且 在 白 天 其 对 比 度 也 不 能 够 满 足 要 求 , 因此 我 们 采用 6位 LED 数 码 管 的 分 屏 显 示 ,如图 2-4(a-d)所 示 :- - 6 -1 2 3 4 4 6图 2-4 a 时钟显示(图中显示为12点34分46秒)5 5 0 4. 6图 2-4 b 总金额和单价显示(图中显示为总金额12.3元,每公里4.6元)1 2 -4. 6图2-4c 路程和单价显示(图中显示为总路程12公里,当前单价4.6元)1. 2 7. 8 4. 6图2-4d 单价调整显示(图中显示为右起白天单价4.6元/晚上7.8/中途等待1.2 元)数 据 的 分 屏 的 显 示 是 通 过 按 键 S1来 实 现 切 换 的 , 如 图 2-5所 示- - 7 -图 2-5 S1 切换显示屏在出租车不走的时候,按下 S1,可以实现数据的分屏显示;车在行走的时候只有总金额和单价显示屏在显示,当到达目的地 的时候,客户要求查看总的里程的时候,就可以按下 S1 切换到里程和单价显示屏,供客户查询。显示电路的电路原理图如图 2-6 所示。图 2-6 显示器原理图从单片机串口输出的信号先送到左边的移位寄存器( 74HC164) ,由于移位脉- - 8 -冲的作用,使数据向右移,达到显示的目的。移位寄存器 74HC164还兼作数码管的驱动,插头 1( header1)接电源,插头 2( header2)接数据和脉冲输出端。电路中的三个整流管 D1-D3的作用是降低数码管的工作电压,增加其使用寿命。2.3 AT24C02 掉电存储单元的设计 掉电存储单元的作用是在电源断开的时候,存储当前设定的单价信息。AT24C02是 ATMEL公司的 2KB字节的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以到 2.5V,额定电流为 1mA,静态电流 10Ua(5.5V),芯片内的资料可以在断电的情况下保存 40年以上,而且采用 8脚的 DIP 封装,使用方便。其电路如图 2-7所示。图 2-7 掉电存储电路原理图图中 R8、R10 是上拉电阻,其作用是减少 AT24C02 的静态功耗,由于AT24C02 的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线 SCL(移位脉冲)和 SDA(数据/地址)与单片机传送数据。 每当设定一次单价,系统就自动调用存储程序,将单价信息保存在芯片内;当系统重新上电的时候,自动调用读存储器程序,将存储器内的单价等信息,读到缓存单元中,供主程序使用2.4 按键单元的设计 电路共采用了四个按键,S1、S2 、S3、S4,其功能分别是:S1 分屏显示切- - 9 -换按键,S2 功能设定按键,S3 ?/ 白天晚上切换按键,S4 - /中途等待开关。2.5 设计总框图图 2-8 总体设计框图2.6 设计总体电路图- - 10 -图 2-9 总体电路图第三章 程序设计 3.1 模块介绍 该计程计价系统的软件设计分为以下几个模块:3.1.1 主程序模块 在主程序模块中,需要完成对各接口芯片的初始化、出租车起价和单价的初始化、中断向量的设计以及开中断、循环等待等工作。另外,在主程序模块中还需要设置启动/清除标志寄存器、里程寄存器和价格寄存器,并对它们进行初始化。然后,主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计价等不同的操作。其程序流程如图所示。 当按下 S1 时,就启动计价,将根据里程寄存器中的内容计算和判断出行驶里程是否已超过起价公里数。若已超过,则根据里程值、每公里的单价数和起价数来计算出当前的累计价格,并将结果存于价格寄存器中,然后将时间和当前累计价格送显示电路显示出来。 当到达目的地的时候,由于霍尔开关没有送来脉冲信号,就停止计价,显示当前所应该付的金额和对应的单价,到下次启动计价时,系统自动对显示清零,并重新进行初始化过程。3.1.2 定时中断服务程序 在定时中断服务程序中,每100ms产生一次中断,当产生10次中断的时候,也就到了一秒,送数据到相应的显示缓冲单元,并调用显示子程序实时显示。3.1.3 里程计数中断服务程序 每当霍尔传感器输出一个低电平信号就使单片机中断一次,当里程计数器对里程脉冲计满1000次时,就有程序将当前总额,使微机进入里程计数中断服务程序中。在该程序中,需要完成当前行驶里程数和总额的累加操作,并将结果存入里程和总- - 11 -额寄存器中。3.1.4 中途等待中断服务程序 当在计数状态下霍尔开关没有输出信号,片内的T1 定时器便被启动,每当计时到达10 分钟,就对当前金额加上中途等待的单价,以后每十分钟都自动加上中途等待的单价。当中途等待结束的时候,也就自动切换到正常的计价。3.1.5 显示子程序服务程序 由于是分屏显示数据,所以就要用到 4 个显示子程序,分别是:时、分、秒、显示子程序(HM S_DIS) 、金额单价显示子程序(CP_DIS) 、路程单价显示子程序(DP_DIS)、单价调节子程序(PA_DIS)。3.1.6 键盘服务程序 键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦右按键按下,便转向相应的子程序处理,处理结束再返回。- - 12 -3.2 程序流程图 3.2.1 主程序流程图图 3-1计价流程图- - 13 -3.2.2 单价时间调整流程图单价时间调整流程图如图 3-2所示。图 3-2 单价时间调整流程图- - 14 -第四章 系统调试4.1 里程计价测试 由于试验条件有限,我们采用电动机附带霍尔元件作为车轮,电机为 3V 的直流电机,每分的转速可以达到几千转,我们设定电机每转一圈为车轮转动 1 米,当电机转动达到 1000 圈时,就表示已经到达了一公里,系统自动将当前的单价加到总金额上。表4-1的测试条件是:设定白天的单价是2.5 元,起步价为5 元(包含3 公里) ,分别行驶不同里程测得数据如下表表 4-1 白天单价测试公里 4 10 15 37 49 59理论10 2.5 37.5 92.5 122.5 147.5总金额实际10 2.5 37.4 92.4 122.5 147.5理论4 10 15 37 49 59行驶里程实际4 10 15 37 49 58.9误差0 0 0.002 0.001 0 0.0017- - 15 -表 4-2 的测试条件是:晚上的单价设定为 3.0 元,起步价为 5 元(包含 3 公里) ,分别行驶不同里程测得数据如下表:表 4-2 晚上单价测试公里 4 10 15 37 49 59理论 12 30 45 111 147 177总金额 实际 12 30 45 110.9 146.8 177.2理论 4 10 15 37 49 59行驶里程实际 4 10 15 37 48.9 176.7误差 0 0 0 0.00091 0.0013 0.0011表 4-3 中途等待计价测试(分钟)时间当前=22.5 20 40 50 60 70 80理论 23.5 24.5 25 25.5 26 26.5总金额 实际 23.5 24.5 25 25.5 26 26.5理论 0 0 0 0 0 0行驶历程实际 0 0 0 0 0 0误差 0 0 0 0 0 0里程测试数据的分析:- - 16 -通过表4-1 、表4-2 、表4-3 的数据,我们可以看到系统的计价功能很稳定,误差很小,几乎为零,不过还应该在实际的应用中测试。4.2 掉电存储测试测试 掉电存储是为了防止在系统掉电的情况所存储的单价信息丢失,我们用人为的掉电方法实现这一测试表 4-4 掉电存储测试白天单价 晚上单价 中途等待单价掉电前数据 2.7 2.7 1.7重新上电后数据 2.7 2.7 1.7表 4-4 显示的数据表明,系统能在掉电的情况下正确的保存数据,并且能在系统上电后将数据读到相应的存储单元。- - 17 -第五章 总结51 系统特点由于使用的是单片机作为核心的控制元件,以及灵敏的霍尔开关型器件,是本出租车计价器具有功能强、性能可靠、电路简单、成本低的特点,加上经过优化的程序,使其有很高的智能化水平52 软件开发过程特点就本次毕业设计来讲,主要涉及了汇编语言、Protel 的的应用,由于所学知识有限,只能从书本上一点一点的学习。一切工作几乎是从零开始。第一天接触单片机的时候,那时候可是雄心壮志,似乎一天就可以搞定。但是实际应用的时候,却不知道从何处下手。人的认知过程总是由不知到知,由知之不多到知之较多,是一个不断丰富、不断充实的过程,任何时候我们都应该虚心,另外基础也很重要。但是在我们设计和调试的过程中,也发现了一些问题,譬如计价的金额位数有限,实际的里程可能会很远,会超出我们的显示范围。计价器的设计还不够人性化,比如加上语音的提示功能,可能会更有生命力。- - 18 -结论/展望经过了两个多月的学习和工作,我终于完成了出租车计价器的设计与实现的论文。从开始接到论文题目到系统的实现,再到论文文章的完成,每走一步对我来说都是新的尝试与挑战,这也是我在大学期间独立完成的最大的项目。在这段时间里,我学到了很多知识也有很多感受,从对汇编语言,单片机 PCB 等相关技术不很了解的状态,我开始了独立的学习和试验,查看相关的资料和书籍,让自己头脑中模糊的概念逐渐清晰,使自己非常稚嫩作品一步步完善起来,每一次改进都是我学习的收获,每一次试验的成功都会让我兴奋好一段时间。虽然我的论文作品不是很成熟,还有很多不足之处,但我可以自豪的说,这里面的每一段代码,都有我的劳动。当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。我相信其中的酸甜苦辣最终都会化为甜美的甘泉。这次做论文的经历也会使我终身受益,我感受到做论文是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破,那也就不叫论文了。希望这次的经历能让我在以后学习中激励我继续进步。论文终于修改完了,打印出来厚厚的一沓,真是很有成就感。初稿完成时自己也觉得粗糙,但这次修改加入好多实践的例子,再读来还是很有成就感的。把结束语发来,自我陶醉一番:“应该说,这是一个不能结束的结束语,当我们陶醉于科技进步的同时,清醒的人们应该看到那些默默无闻的科技工作者,是他们在改变我们的生活;当然,人类的终极目标不仅仅是科技上、物质上的进步,更应该注重精神的修养。正所谓:思维创造价值,设计改变生活。当我着手进行这个课题的研究时,思路还不是很清晰,但有一种信念在远远的地方吸引着我去追随。我慢慢地靠近她,以为我领悟到真谛时,却发现我所看到的她的美丽,只是露出水面的冰山一角。只要精神不灭,就会追求不止 ,一年来的读书、思索、实践, 科技使我自己对人生、事业有了更深入的理解。这个研究结束了,但对科技的追求会伴我终身。 ”感谢科技,让我的生活更美好。- - 19 -通过本次毕业设计,我认识到自己的知识还是很缺乏的,很多东西以前没有好好的复习过,另外就是扩展自己的阅历相当重要,实际动手能力也应该得到相应的加强,毕竟自己的专业是电子类相关的硬件维护啊。对自己这次完成的毕业设计,感到有点不足,还有一些小的细节没有完成的尽善尽美,现在自己坐在机房这个仿佛如蒸笼的地方,我没有抱怨,只是淡淡一笑,自己收获的喜悦谁能体会?一切尽在不言中- - 20 -致谢为期一个学期的毕业设计终于接近尾声了,在这短短的几个月里,不仅仅考察了大学四年自己所学要的东西,更重要的是把自己从老师从课本里所了解的东西应用到实践应用中,检验了自己的能力。在做毕业设计的过程中,我查阅了图书馆的资料,有关单片机方面的,有关组态方面的,在硬件设计方面,自己积累了一大摞设计图纸,虽然有过成功,有过失败,有过欢笑,有过泪水,但是过程其实才是最重要的。在指导老师*老师的帮助下和指导下,通过调研和任务分析,基本确定了设计方案。最后特别感谢导师董老师的在本次毕业设计过程中悉心指导,董老师工作认真负责的态度,治学严谨的作风给我留下了深刻的印象。在编程实现阶段同学们的细心帮助与指导也让我受益匪浅。在我三年的大学生活中,得到了老师们的悉心教导,学到了丰富的知识和做人的道理,为我走向社会、迎接挑战打下了坚实的基础。此时此刻我才真正体会到老师们的苦心和所学知识的重要。感谢同学的热心帮助,使我顺利完成今天的毕业设计。在这里我要再次向给予我帮助的所有老师和同学表示深深的谢意,感谢大家在学习、生活中对我的帮助,谢谢大家!- - 21 -参考文献1何立民等主编 .单片机初级教程 . 1999 年 . 第三版:23 页-31 页2邝小磊,单片机应用技术综述 . 2001 年 . 第一版:56 页-58 页3李国金等,单片机应用系统的抗干扰技术. 2003年.第一版:31页-35页4达争尚等,实时控制系统的单片机抗干扰设计. 2003年.第三版:12页-14页5胡汉才 单片机原理及其接口技术 1996年. 第五版:25页-31页6徐爱军. 智能化测量控制仪表原理与设计 .1995 年. 第三版:25 页-28 页7方大千等.使用电子控制电路 .2003 年. 第一版:14 页-24 页8万副军等.单片微机原理系统设计与开发应用. 1995 年.第一版:77 页-98页 9靳达. 单片机应用系统开发实例导航. 2003 年. 第二版:45 页-65 页10.陈粤初主编.MOTOROLA 单片机及专用芯片应用系统设计.1994.北京:北京航空航天大学出版社,597111.刘国靖编著.微型计算机接口技术 下册.1993 北京:科学出版社,566012.李勋等编著.MCS-51 系列 CMOS 单片微型计算机原理及应用.1991.北京:北京航空航天大学出版社,12011313.郑子礼主编.单片微机及外围集成电路技术手册.1989.上海实用计算机自动控制公司,9814.孙涵芳等编著.MCS-51、96 系列单片机原理及应用.1988.北京航空学院出版社,15015315.董渭清等编著.高档微机接口技术及应用.1995.西安交通大学出版社,8816.丁元杰等编.单片微机原理.1991.上海:上海科学文献技术出版社,7517.张仰森等编.微机常用软硬件技术速查手册.1991.北京希望电脑公司,16216518./user2/xzsgc/archives/2005/1048952.shtml19/pages/2006/04/17/D196410.html- - 22 -附 录(计价器源程序)DAY_PRICE EQU 6FH NIGHT_PRICE EQU 6EH MIDWAY_PRICE EQU 6DH START_PRICE EQU 6CH COUNTL EQU 6BH COUNTH EQU 6AH M100 EQU 69H ;外部中断次数 DISTANCE EQU 68H ;行车距离 MS100 EQU 67H SEC EQU 66H MIN EQU 65H HOUR EQU 64H LEDSL EQU 63H ;时分秒显示缓冲区 LEDSH EQU 62H LEDML EQU 61H LEDMH EQU 60H LEDHL EQU 5FH LEDHH EQU 5EH LEDDANJIAL EQU 5DH ;总额,单价显示缓冲区 LEDDANJIAH EQU 5CH LINE_ EQU 5BH LEDCOUNT1 EQU 5AH LEDCOUNT2 EQU 59H LEDCOUNT3 EQU 58H LEDDANJIA2L EQU 57H ;路程,单价显示缓冲区 - - 23 -LEDDANJIA2H EQU 56H LINE_ EQU 55H LINE_ EQU 54H LEDDISTANCEL EQU 53H LEDDISTANCEH EQU 52H LEDDAY_PL EQU 51H ;中途,晚上,白天显示缓冲区 LEDDAY_PH EQU 50H LEDNIG_PL EQU 4FH LEDNIG_PH EQU 4EH LEDW_PL EQU 4DH LEDW_PH EQU 4CH S1 BIT P1.0 S2 BIT P1.1 S3 BIT P1.2 S4 BIT P1.3 S11 EQU 4BH S22 EQU 4AH S33 EQU 49H S44 EQU 48H M1 EQU 47H H1 EQU 46H M2 EQU 45H H2 EQU 44H PRICE EQU 43H ORG 0000H AJMP MAIN ORG 0003H AJMP TO ORG 000BH AJMP TOTIME - - 24 -ORG 001BH AJMP TOSTART ORG 0030H MAIN: MOV SP, #70H MOV TMOD, #11H MOV TH0, #3CH MOV TL0, #0B0H MOV TH1, #3CH MOV TL1, #0B0H MOV 22H, #0AH SETB EA SETB TR0 SETB EX0 SETB IT0 SETB ET0 SETB ET1 ;- RAM 单元初始化 MOV R7, #34 MOV R0, #69H LOOPL: MOV R0, #0 DEC R0 DJNZ R7, LOOPL MOV COUNTL, #00H ;起步价MOV COUNTH, #05H MOV DAY_PRICE, #25H ;白天价格初始化 MOV NIGHT_PRICE,#30H ;晚上价格初始化 MOV MIDWAY_PRICE,#10H ;中途等待初始化 MOV START_PRICE, #50H ;起步价初始化 MOV S11, #0 MOV S22, #0 MOV S33, #0 MOV S44, #0 - - 25 -MOV DISTANCE, #02H MOV HOUR, #12H ;键盘第一层扫描程序 ;(键盘扫描主程序) KEY_MAIN: SETB TR0 ACALL HMS_DIS ACALL T100MSD ACALL T100MSD ACALL T100MSD JB S1, KEY_MAIN ACALL T10MSD JB S1, KEY_MAIN JNB S1,$ SJMP WAI1 WA1: JB S1, K1 ACALL T10MSD JB S1, K1 WAIT1: JNB S1, WAIT1 WAI1: INC S11 MOV A, S11 CJNE A, #1, N1 MOV M1, MIN MOV H1, HOUR MOV R0, #LEDDANJIAL MOV R2, #6 CLR A MOV COUNTL,A MOV COUNTH,A MOV M100, A MOV DISTANCE,A BK1: MOV R0, A DEC R0 - - 26 -DJNZ R2, BK1 ;起动初始化 MOV PRICE,DAY_PRICE MOV COUNTL, #00H ;起步价 MOV COUNTH, #05H MOV DISTANCE,#02H LCALL CP_DIS ;总金额和单价显示 K1: JB S2, K2 ACALL T10MSD JB S2 , K2 WAIT2: JNB S2, WAIT2 INC S22 MOV A, S22 CJNE A, #1, NEXT1 LCALL PA_DIS LJMP KEY_DJ NEXT1: CJNE A, #2, NEXT2 CLR TR0 LCALL HMS_DIS LJMP KEY_SJ NEXT2: CJNE A, #3, K2 MOV S22, #0 K2: JB S3, K3 ACALL T10MSD JB S3, K3 WAIT3: JNB S3, WAIT3 INC S33 MOV A, S33 CJNE A, #1, NXT1 LCALL DP_DIS NXT1: CJNE A, #2, NXT2 CLR C MOV A, M2 SUBB A, M1 MOV M1, A - - 27 -MOV A, H2 SUBB A, H1 MOV H1, A LCALL XCSJ_DIS NXT2: CJNE A, #3, K3 MOV S33, #0 LCALL CP_DIS K3: JB S4, BK_KEY_MAIN ACALL T10MSD JB S4, BK_KEY_MAIN WAIT4: JNB S4, WAIT4 INC S44 MOV A, S44 CJNE A, #1, NT1 MOV PRICE, DAY_PRICE LCALL CP_DIS NT1: CJNE A, #2, NT2 MOV PRICE,NIGHT_PRICE LCALL CP_DIS NT2: CJNE A, #3, NT3 MOV PRICE, MIDWAY_PRICE SETB TR1 LCALL CP_DIS NT3: CJNE A, #4, BK_KEY_MAIN MOV S44, #0 LJMP KEY_MAIN BK_KEY_MAIN: LJMP WA1 ;键盘第二层扫描程序 ;(单价调整程序) (KEY_DJ) ;* KEY_DJ:JB S1, KY1 ACALL T10MSD - - 28 -JB S1, KY1 WAIT5:JNB S1, WAIT5 INC S11 MOV A, S11 CJNE A, #1, NEXT11 LJMP DAY_P NEXT11:CJNE A, #2, NEXT12 LCALL NIG_P NEXT12:CJNE A, #3, KY1 LCALL MID_P MOV S11, #0 LJMP KEY_MAIN KY1:JB S2, KY2 ACALL T10MSD JB S2, KY2 WAIT6: JNB S2, WAIT6 INC S22 MOV A, S22 CJNE A, #1, NEXT13 LCALL PA_DIS LJMP KEY_DJ NEXT13: CJNE A, #2, NEXT14 CLR TR0 LCALL HMS_DIS LCALL KEY_SJ NEXT14: CJNE A, #3, KY2 MOV S22, #0 LJMP KEY_MAIN KY2: AJMP KEY_DJ ;键盘第三层扫描程序 ;(时间调整程序) (KEY_SJ) - - 29 -;*KEY_SJ: JB S1, KEY1 ACALL T10MSD JB S1, KEY1 WAIT7: JNB S1, WAIT7 INC S11 MOV A, S11 CJNE A, #1, NEXT21 LCALL HOU_T NEXT21 CJNE A, #2, NEXT22 LCALL MIN_T NEXT22: CJNE A, #3, KEY1 MOV S11, #0 LJMP KEY_MAIN KEY1: JB S2, KEY2 ACALL T10MSD JB S2, KEY2 WAIT8: JNB S2, WAIT8 INC S22 MOV A, S22 CJNE A, #1, NEXT23 LCALL PA_DIS LJMP KEY_DJ NEXT23: CJNE A, #2, NEXT24 CLR TR0 LCALL HMS_DIS NEXT24: CJNE A, #3, KEY2 MOV S22, #0 LCALL KEY_SJ LJMP KEY_MAIN KEY2: AJMP KEY_SJ - - 30 -;键盘第四层扫描程序 ;(闪显/ 加 1/减 1 程序) ;*DAY_P: SETB F0 ;调用定时延时标志位 LCALL T100MSD LCALL T100MSD LCALL T100MSD LCALL T100MSD LCALL T100MSD MOV LEDDAY_PL, #0AH MOV LEDDAY_PH, #0AH LCALL PA_DIS1 ;LCALL T100MSD LCALL T100MSD LCALL T100MSD LCALL T100MSD MOV A, DAY_PRICE MOV B, #10 DIV AB DA A MOV LEDDAY_PL, B MOV LEDDAY_PH, A LCALL PA_DIS AJMP LP1 LP1: JB S3, KEY11 ;LCALL T10MSD ;JB S3, KEY11 WAIT9: JNB S3, WAIT9 INC DAY_PRICE MOV A, #1 ADD A, DAY_PRICE - - 31 -DA A MOV DAY_PRICE, A MOV A, DAY_PRICE CJNE A, #99H, KEY11 MOV DAY_PRICE, #0 KEY11: JB S4, KEY12 LCALL T10MSD JB S4, KEY12 MOV A,DAY_ PRICE ADD A, #99H DA A MOV DAY_PRICE, A CJNE A, #00H, KEY12 MOV A, #99H KEY12: JB S1, KEY13 ACALL T10MSD JB S1, KEY13 WAIT11: JNB S1, WAIT11 INC S11 MOV A, S11 CJNE A, #1, NEXT31 LCALL DAY_P NEXT31: CJNE A, #2, NEXT32 LCALL NIG_P NEXT32: CJNE A, #3, NEXT33 LCALL MID_P NEXT33: CJNE A, #4, KEY13 MOV S11, #0 KEY13: JB S2, KEY14 LCALL T10MSD - - 32 -JB S2, KEY14 WAIT12: JNB S2, WAIT12 LJMP KEY_MAIN KEY14: AJMP DAY_P NIG_P: SETB F0 ;调用定时延时标志位 LCALL T100MSD LCALL T100MSD ; LCALL T100MSD ; LCALL T100MSD ; LCALL T100MSD MOV LEDNIG_PL, #0AH MOV LEDNIG_PH, #0AH LCALL PA_DIS1 LCALL T100MSD LCALL T100MSD ; LCALL T100MSD ; LCALL T100MSD ; LCALL T100MSD LCALL PA_DIS JB S3, KEY21 LCALL T10MSD JB S3, KEY21 ; WAIT13: JNB S3, WAIT13 MOV A, #1 ADD A, NIGHT_PRICE DA A MOV NIGHT_PRICE, A CJNE A, #99H, KEY21 MOV NIGHT_PRICE, #0 KEY21: JB S4, KEY22 LCALL T10MSD JB S4, KEY22 ; WAIT14: JNB S4, WAIT14 - - 33 -MOV A, NIGHT_PRICE ADD A, #99H DA A MOV NIGHT_PRICE, A CJNE A, #00H, KEY22 MOV NIGHT_PRICE, #99H KEY22: JB S1, KEY23 ACALL T10MSD JB S1, KEY23 WAIT15: JNB S1, WAIT15 INC S11 MOV A, S11 CJNE A, #1, NEXT41 LCALL DAY_P NEXT41: CJNE A, #2, NEXT42 LCALL NIG_P NEXT42: CJNE A, #3, NEXT43 LCALL MID_P NEXT43: CJNE A, #4, KEY23 MOV S11, #0 LJMP KEY_DJ KEY23: JB S2, KEY24 LCALL T10MSD JB S2, KEY24 WAIT30: JNB S2, WAIT30 LJMP KEY_MAIN KEY24: AJMP NIG_P MID_P: SETB F0 ;调用定时延时标志位 LCALL T100MSD - - 34 -; LCALL T100MSD ; LCALL T100MSD ; LCALL T100MSD MOV LEDW_PL, #0AH MOV LEDW_PH, #0AH LCALL PA_DIS1 LCALL T100MSD ;LCALL T100MSD ;LCALL T100MSD ; LCALL T100MSD LCALL PA_DIS JB S3, KEY31 LCALL T10MSD JB S3, KEY31 ; WAIT16: JNB S3, WAIT16 ; INC MIDWAY_PRICE MOV A, MIDWAY_PRICE ADD A, #1 DA A MOV MIDWAY_PRICE,

温馨提示

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

评论

0/150

提交评论