说明书.doc

22-出租车计价器的设计

收藏

资源目录
跳过导航链接。
22-出租车计价器的设计.rar
说明书.doc---(点击预览)
目录.doc---(点击预览)
毕业论文封面.doc---(点击预览)
开题论证审批表.doc---(点击预览)
原理显示器图电路图.dwg---(点击预览)
中期检查表.doc---(点击预览)
0000
PCB电路图
新建文件夹 (2)
Backup of lww.Lib
Backup of Schlib1.Lib
Backup of Schlib2.Lib
Backup of Sheet1.Sch
lww.Bkp
lww.ddb
Previous Backup of lww.Lib
Previous Backup of Schlib1.Lib
Previous Backup of Sheet1.Sch
新建文件夹 (3)
Backup of Schlib1.Lib
Backup of Sheet1.Sch
lww2.Bkp
lww2.ddb
Previous Backup of Sheet1.Sch
版图.PcbDoc
压缩包内文档预览:(预览前20页/共52页)
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:22743889    类型:共享资源    大小:963.55KB    格式:RAR    上传时间:2019-10-30 上传人:qq77****057 IP属地:江苏
25
积分
关 键 词:
22 出租车 计价器 设计
资源描述:
22-出租车计价器的设计,22,出租车,计价器,设计
内容简介:
湖南农业大学东方科技学院毕业论文(设计)中期检查表学 部: 理工学部 学生姓名曾鑫波学 号200741914127年级专业及班级2007级机械设计制造及其自动化(1)班指导教师及职称刘旭红副教授毕业论文(设计)题目出租车计价器的设计毕业论文(设计)工作进度已完成的主要内容尚需解决的主要问题查找所需的资料文献的查找和调研确定了总体的设计方案确定了各元件的型号完成了总体设计及各部分电路的设计基本上完成了出租车计价器的电路原理图以及CAD图的设计PCB版图的绘制程序的编写毕业设计论文的修改指导教师意见 指导教师签名: 年 月 日检查(考核)小组意见检查小组组长签名: 年 月 日湖南农业大学东方科技学院毕业论文(设计)开题论证审批表学生姓名曾鑫波学号200741914127年级专业及班级2007级机械设计制造及其自动化(1)班指导教师及职称刘旭红 副教授开题时间年 月 日毕业论文(设计)题目出租车计价器的设计文献综述(选题研究意义、国内外研究现状、主要参考文献等)汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注。于是,出租车行业以低价高质的服务给人们带来了出行的享受。但是总存在着买卖纠纷困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器。用更加精良的计价器来为乘客提供更加方便快捷的服务。现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展已成定局。而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是十分有潜力的。计价器作为出租车的一个重要组成部分,关系着出租车司机和乘客双方利益,起着重要的作用,因此,具有良好性能的计价器对广大出租车司机朋友来说是很必要的。我国在70年代开始出现出租车,但那时的计费系统大都是国外进口不但不够准确,价格还十分昂贵。随着改革开放日益深入,出租车行业的发展势头已十分突出,国内各机械厂家纷纷推出国产计价器。出租车计价器的功能从刚开始的只显示路程(需要司机自己定价,计算后四舍五入),到能够自主计费,以及现在的能够打一发票和语音提示、按时间自主变动单价等功能。随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。 采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。为此我们采用了单片机进行设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。针对计费模式的切换,通过软件编程就可以轻易而举的实现。避免了机械开关带来的不稳定因素。目前, 电子系统正向集成化、大规模和高速度的方向发展, 集成电路的规模越来越大, 复杂程度越来越高, 因此传统的门级描述方法显得过于琐碎, 难以理解掌握。由美国国防部提出的VHDL (Very High Speed Integrated Circuit Hardware Description Language)即超高速集成电路硬件描述语言, 采用高层次的、自顶向下的设计方法来描述硬件, 非常适合当前需要。美国国防部为了要解决项目间的信息交换困难和设计维护困难, 同时也为解决当时的超高速集成电路(VHS IC Very High Speed Integrated Circuit) 计划而提出的一种硬件描述语言。1987 年12 月IEEE 接受VHDL 为标准的HDL , 这就是今天的IEEE STD1076- 1987 和IEEE STD1076- 1993。MAX + PLUSII (Multiple Array Matrix And Programmable Logic U ser System s) 是电子设计不可缺少的工具, 他可以接受多种方式的输入: 原理图输入、文本输入(硬件描述语言)、第三方EDA 工具提供的接口等。MAX+ PLUSII 的仿真器具有很强灵活性, 可以控制对单器件或多器件的仿真。MAX +PLU SII还提供了丰富的帮助库。采用了单片机进行设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。针对计费模式的切换,通过软件编程就可以轻易而举的实现。避免了机械开关带来的不稳定因素。单片机的基本知识和部分应用,进行的汽车计价器设计。然后详细介绍了系统硬件设计和软件设计,以及单片机相关技术知识,对程序中用到的系统函数也做了简单介绍出租车计价器显示的营运金额是营运里程与价格的函数(等候时间一般折算成一定比例的里程来计算)。出租车计价器通过传感器与行驶车辆连接。出租汽车的实际里程通过传感器的脉冲信号在计价器里折算成一定的计价营运里程。现在市面上使用的出租车计价器传感器较多采用耐高温的霍尔元件,使计价器即使在任何恶劣条件下仍能保持正常工作状态。霍尔元件的结构很简单,它是由霍尔片、四极引线和壳体组成。霍尔片是一块矩形半导体单晶薄片。在它的长度方向两端面上焊有两根引线,称为控制电流端引线,通常用红色导线。其焊接处称为控制电流极(或称激励电极),要求焊接处接触电阻很小,并呈纯电阻。在薄片的另两侧端面的中间以点的形式对称地焊有两根霍尔输出端引线,通常用绿色导线。其焊接处称为霍尔电极,且电极宽度与长度之比要小于0.1,否则影响输出。霍尔元件的壳体是用非导磁金属、陶瓷或环氧树脂封装。霍尔传感器是利用霍尔元件基于霍尔效应原理而将被测量,如压力、位移等转换成电动势输出的一种传感器。霍尔式压力传感器首先由弹性元件将被测压力变换成位移(弹性元件可以是波登管、膜盒或弹簧管),由于霍尔元件固定在弹性元件的自由端上,因此弹性元件产生位移时将带动霍尔元件,使它在线性变化的磁场中移动,从而输出与压力成正比的霍尔电势。现在市面上用得较多的是WJF型出租汽车计价器传感器。其中WJF-I型出租汽车计价器传感器现有多个系列,五十多个品种,根据敏感元件可分为干簧管传感器、霍尔开关传感器;根据传感器转轴旋转一圈产生的信号的多少又可分为单信号、双信号、四信号传感器;根据传感器与汽车连接的机械装置的不同,又可分为夏利、桑塔纳、富康、捷达、大发、羚羊、昌河(奥托)及适合各种车型的“通用”型传感器。WJF-II型出租车计价器防作弊计数传感器采用霍尔元件及最新集成加密元件,能精确采集汽车里程信号,加密电路对由霍尔元件产生的标准信号以某种方式进行调制(即加密),将识别后的信号经解密,恢复原标准信号后,回传给计价器。它采用了国外进口的耐高温的加解密集成电路,其有体积小,温度影响小,抗干扰能力强的优点,装在原普通传感器内部而不改变原传感器的外形或机械性能,可适用于任何一种车型。WJF-III型出租汽车计价器传感器的特点有:对计价器硬件改动最少,仅需更换CPU软件,去除一只电容;采用加密信用,有效地防止了其他传感器的置换;密码唯一,有效地防止了其他传感器的信号叠加;不需解密电路硬件,节省了成本。 现在出租车已经随处可见了,随着人们生活水平的提高,打迪儿这种字眼在少男少女中已经很流行了所以出租车现在已经很普遍了.出租车计价器的程序设计已经在有关高等院校的电子系有条不紊的进行着.当然有关出租车计价器的设计也有关于硬件方面的不用编程.这次我们所采用的是单片机的编程.用的全是单片机里涉及到的芯片和语言。HSJ-1型出租汽车税控计价器是华统集团为配合国家税务管理工作需要而专门设计的产品,是实施质量监督、计量管理和税务征收工作的有效工具。 该设备汲取百家之长,集成了计算机网络、IC卡、语音报价、自动打 印等新技术。计时、计程、计费准确可靠,多重加密IC卡和管理中心微机配合, 实现了运营数据存储管理和税费计算控制, 已成为集计价、显示、汇总、储存、 税存 、打印等功能为一体的新一代全自动出租车专用设备。本计价器以精确的数据采集,安全的数据保护,可靠的运行性能,实用的IC卡管理及税检功能、完美的售后服务,维护了经营者与消费者的合法权益,便于计量所和出租车公司等有关部门的管理监督, 是出租汽车行业实现科学管理的新一代计量设备。本产品由主机、空车灯、传感器三大部分组成,其中主机又包含打印机、语音器、 IC 卡读写器和主机线路板,主机线路板有两个微处理器,一个为计算微处理器,另一个为监控(税控)微处理器,大部分芯片均选自美国 ATMEL 公司,内部具有高可靠性及优良的纠错能力,保证数据真实、准确;计价器打印机机芯采用 EPSON 打印系列,传感器采用耐高温的霍尔元件,使计价器即使在任何恶劣条件下仍能保持正常工作状态。 它设计新颖、美观大方、安全可靠、功能齐全、操作简便、显示数字、尺寸大、观察清晰、易于安装,且留有扩展接口,以便增加更多的新功能,调整参数齐全,可适于不同地区不同车型的和种出租车使用,是出租车公司和出租车司机的最佳选择。基本功能五屏显示:同时显示 金额、单价、计时、里程和时钟; 状态显示:低速、夜间、 空贴 、往返、暂停; 语音报价:播放服务用语、车费等; 自动打印:按规定的格式打印路单发票;税控功能:按税务部门规定日期用 IC卡交税存储功能:可储存 100次营运路单供查询统计, 存储数据掉电保存十年。 IC 卡:强大的加密功能,数据安全可靠 司机卡:路单存储、数据管理、 一 机一卡; 管理卡:设置参数、周期检定、逾期停机; 税控卡:确保税收、限期纳税、逾期停机; 时距分离、时距并行、等候收费等方式任选。永久时钟:不掉电永久实时时钟,自动转换日夜收费; 通用程序:具有 25项可设置参数,方便设置;公司管理:营运数据用 IC卡传递到计算机中,便于管理 本计价器采用模块化设计,可根据各地不同需要任意选用以上几种功能,为用户以后升级,提供方便参 考 文 献:1 陈杰、黄鸿传感器与检测技术M北京:高等教育出版社,20022 康华光电子技术基础M高等教育出版社,20043 周常森电子电路计算机仿真技术M山东科技出版社,20064 陆 坤电子设计技术M电子科技大学出版社,2005 5 刘润华现代电子系统设计M石油大学出版社,20066 秦曾煌电工学M高等教育出版社,20047 李广弟单片机基础M北京航空航天大学出版社, 1999.10:88 王为青、邱文勋51单片机应用开发案例精选M人民邮电出版社,20079 李全利单片机原理及应用技术M高等教育出版社,200710 李朝青单片机原理及接口技术M北京: 北京航空航天大学出版社, 2005.1 11 冯博琴微型计算机原理与接口技术M北京:清华大学出版社,200212 徐争颖Protell 99 SE EDA技术及应用M北京:机械工业出版社,200513 谢剑英,贾青微型计算机控制技术M第3版,北京:国防工业出版社,2001注:此表如不够填写,可另加页。研究方案(研究目的、内容、方法、预期成果、条件保障等)时间进程安排(各研究环节的时间安排、实施进度、完成程度等)开题论证小组意见 组长签名: 年 月 日专业委员会意见专业教研室主任签名: 年 月 日注:此表意见栏必须由相应责任人亲笔填写。湖南农业大学东方科技学院全日制普通本科生毕业设计 出租车计价器的设计DESIGN OF TAXIMETER学生姓名: 曾鑫波学 号: 200741914127年级专业及班级: 2007级机械设计制造及其自动化(1)班指导老师及职称: 刘旭红 副教授湖南长沙提交日期:2011年 5月目 录摘要 1关键词 11 引言22 出租车计价器的设计内容3 2.1 基本设计要求 33 方案论证3 3.1 方案比较 3 3.2 确定方案 34 计价器系统设计5 4.1 计价器工作原理 5 4.2 单片机系统总体设计 65 硬件设计6 5.1 单片机总体电路图设计6 5.2 AT89S51单片机介绍6 5.3 电源控制线路设计 7 5.4 里程计算、计价单元的设计 8 5.5 数据显示单元的设计10 5.6 AT24C02 掉电存储单元的设计12 5.7 启动及清除电路12 5.8 按键单元的设计136 软件设计 13 6.1 软件设计13 6.2 流程图187 设计总结20参考文献21致谢22附录23出租车计价器系统设计摘 要:现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展已成定局。而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是十分有潜力的。本电路以89S51 单片机为中心、附加A44E 霍尔传感器测距,实现对出租车计价统计,采用AT24C02 实现在系统掉电的时候保存单价和系统时间等信息,输出采用8 段数码显示管。本电路设计的计价器不但能实现基本的计价,而且还能根据白天、黑夜、中途等待来调节单价,同时在不计价的时候还能作为时钟为司机同志提供方便。关键词:89S51单片机;A44E霍尔传感器;断电保存;8段数码显示管Design of TaximeterAuthor: Zeng Xin BoTutor: Liu Xu Hong(Oriental Science Technology College of Hunan Agricultural University, Changsha 410128)Abstract: The taxi car trade has made automatic meter universal in the major big and middle cities recently, so the development of meter technology is definitely settled while some small cities have not. But with the fast speed of the urban construction, a symbol of urban the taxi car trade will also keep pace accelerately, so the popularity meter will become universal undoubtedly. As a result, the markets of the automobile valuation are quite potential in the future. The circuit of 89S51 MCU is regarded as the center and is attached to A44E Hall sensor location to fulfill checking the prices of the Taximeter statistics and the circuit of AT24C02 is used to conserve information such as solo price and system time when the system is out of power. The output adopts paragraph 8 of the digital display. The circuit design of the meter can not only finish the basic valuation, but also judge daytime, night and halfway to adjust price regulation .In the meanwhile, it could set prices as a clock in a different time, which is convenient for drivers.Keywords: 89S51 MCU ; A44E Hall sensor power; Preservation of digital ;Display paragraph 81 引言随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注。于是,出租车行业以低价高质的服务给人们带来了出行的享受。但是总存在着买卖纠纷困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器。用更加精良的计价器来为乘客提供更加方便快捷的服务。我国在70年代开始出现出租车,但那时的计费系统大都是国外进口不但不够准确,价格还十分昂贵。随着改革开放日益深入,出租车行业的发展势头已十分突出,国内各机械厂家纷纷推出国产计价器。出租车计价器的功能从刚开始的只显示路程(需要司机自己定价,计算后四舍五入),到能够自主计费,以及现在的能够打发票和语音提示、按时间自主变动单价等功能。随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展已成定局。而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是十分有潜力的。凡乘过出租车的人都知道,只要汽车开动,随着行驶里程的增加,就会看到汽车前面的计价器里程数字显示的读数从零逐渐增大,而当行驶到某一值时(如5KM)计费数字显示开始从起步价(如10元)增加。当出租车到达某地需要在那里等候时,司机只要按一下“计时”键,每等候一定时间,计费显示就增加一个该收的等候费用。汽车继续行驶时,停止计算等候费,继续增加里程计费。到达目的地,便可按显示的数字收费。汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。为此我们采用了单片机进行设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。2 出租车计价器系统设计内容2.1 基本设计内容(1) 不同情况具有不同的收费标准。 白天晚上 途中等待(10min 开始收费)(2) 能进行手动修改单价(3) 具有数据的复位功能(4) IO 口分配的简易要求距离检测使用霍尔开关A44E 白天/晚上收费标准的转换开关 数据的清零开关 单价的调整(最好使用 和 按键 ) (5) 数据输出(采用LCM103) 单价输出2 位路程输出2 位 总金额输出3 位 (6) 按键 启动计时开关 数据复位(清零) 白天/晚上转换 2.2拓展功能能够在掉电的情况下存储单价等数据能够显示当前的系统时间3 方案论证3.1 方案比较方案一:采用数字电路控制。其原理方框图如图1 所示。采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,但是考虑到这种电路过于简单,性能不够稳定,而且不能调节单价,也不能根据天气调节计费标准,电路不够实用。移位寄存器电路金额显示单价显示里程传感器电源电路及保护电路图 1 数字电路方案Fig .1 Digital circuit program方案二:采用单片机控制。利用单片机丰富的IO端口,及其控制的灵活性,实现基本的里程计价功能和价格调节、时钟显示功能。其原理如图2所示。单价显示总金额显示89S51单片机键盘控制AT24C02掉电存储串口显示驱动电路里程计算单元图2 单片机控制方案Fig .2 Single control program map3.2确定方案通过比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。4 单片机计价器系统总体设计4.1 计价器的工作原理通常计价器采用MCS - 51 芯片,在EEPROM中预先已写入了有关程序和数据的信息,如基本距离、续程距离、候时时间的规定值,与收费标准规定相应的收费价格值,不同出租条件下收费的变化比率,附加车费值计费方式等数据和与收费办法相应的车费计算与控制程序等,并且在计价器安装前已根据不同车型选定好K 值。计价器的原理结构如图3 所示。在工作过程中其主要的功能都是由MCS - 51 芯片中的定时器/ 计数器来实现。 传感器IC卡接口空车牌MCS-51储存器实时时钟打印机功能键监控微处理器显示器显示接口复位保护税控储存器非易失性储存器图3 计价器的原理结构图Fig .3 The meter principle chart 4.2 单片机系统总体设计单片机系统总体设计框图如图4所示启动/清除开关89S51单片机AT24C02掉电存储里程传感器键盘控制串口显示驱动电路总金额显示单价显示锁存器图4 单片机系统总体设计框图Fig .4 SCM system overall design diagram5 硬件设计5.1 单片机总体电路图设计电路图见附图一所示5.2 AT89S51单片机介绍AT89S51兼容MCS51微控制器,4K字节FLASH存贮器支持在系统编程ISP 1000次擦写周期,128字节片内RAM,工作电压4.0V到5.5V,全静态时钟0 Hz 到33 MHz,三级程序加密,32个可编程IO口,2/3个16位定时/计数器,6/8个中断源,全双工UART,低功耗支持Idle和Power-down模式, Power_down模式支持中断唤醒, 看门狗定时器,双数据指针,上电复位标志。1.定时器/ 计数器的基本原理作为基本组成内容,AT89S51单片机共有两个可编程的定时器/ 计数器,分别称定时器/ 计数器0和定时器/ 计数器1 。它们都是十六位加法计数结构,分别由TH0 和TL0 及TH1 和TL1 两个8 位计数器组成。2.计数功能所谓计数是指对外部事件进行计数。外部事件的发生以输入脉冲表示,因此计数功能的实质就是对外来脉冲进行计数。MCS - 51 芯片有T0 ( P3. 4)和T1 (P3. 5) 两个信号引脚,分别是这两个计数器的计数输入端。外部输入的脉冲在负跳变时有效,进行计数器加1 (加法计数) 。3.定时功能定时功能也是通过计数器的计数来实现的,不过这时的计数脉冲来自单片机的内部,既每个机器周期产生一个计数脉冲。也就是每个机器周期计数器加1 。由于一个机器周期等于12 个振荡脉冲周期,因此计数频率为振荡频率的1/ 12 。如果单片机采用12MHz 晶体,则计数频率为1MHz。即每微秒计数器加1 。这样不但可以根据计数值计算出定时时间,也可以反过来按定时时间的要求计算出计数器的预置值。5.3 电源控制线路设计出租车计价器316V/ 60mAh 镍镉电池恒流充放电控制线路额定电压316V , 容量为60mAh 的Nicd 电池在出租车计价器中有着广泛的应用,它也是其它智能化仪表中最为常用的备用电池。在出租车计价器的日常维护中,一旦由于电池爬碱(轻微漏液),线路漏电、短路以及长期使用造成电池性能下降时,对电池的处理办法一般采用弃用。然而对这类电池进行适当的维护,如对爬碱的电池进行清理并用绝缘胶密封,对记忆效应明显的电池可进行多次循环充放电加以消除,有不少电池仍可利用,但这需要一种可用于判定电池性能的容量检测线路,而普通的NiCd 电池充电器并不具有这一功能。为此笔者设计了一种适用于316V/ 60mAh NiCd 电池恒流充放电控制线路,不仅可用于容量检测,在作一般的充电器使用时,可在充电前对电池的剩余容量给予准确有效的放电以消除其记忆效应,比普通的充电线路更具优越性。5.4 里程计算、计价单元的设计1车轮转动里程检测电路该电路的主要作用是敏感路程,产生计程脉冲;在具体实现时采用霍尔传感器A44E来作为里程传感器,将安装在与车轮相连接的涡轮变速器的磁铁上,使汽车每前进10 m传感器产生一次脉冲,即向里程计数器电路发出一个计数脉冲,以使得计数电路进行里程计数。车速传感器测控系统框图如图9所示89S51单片机计价系统D/A转换A/D转换测速采集卡车速传感器图 9 车速传感器测控系统框图Fig .9 The wheel speed sensors tt&c system diagram 2里程计数中断电路当车轮转动里程检测电路提供了计程脉冲信号后,里程计数中断电路则根据该脉冲信号定时向微机系统发出计数中断请求信号,使系统根据一定的算法对里程数据进行计数计算。里程计算是通过安装在车轮上的霍尔传感器A44E检测到的信号,送到单片机,经处理计算,送给显示单元的。其原理如图10所示。 89S51 单片机 霍尔传感器小磁铁车轮图10 传感器测距示意图Fig.10 Sensor ranging schemes由于A44E 属于开关型的霍尔器件,其工作电压范围比较宽(4.518V),其输出的信号符合TTL 电平标准,可以直接接到单片机的IO 端口上,而且其最高检测频率可达到1MHZ。集成开关型霍耳传感器原理如图11,A44E 集成霍耳开关由稳压器A、霍耳电势发生器(即硅霍耳片)B、差分放大器C、施密特触发器D 和OC 门输出E 五个基本部分组成。在输入端输入电压CC V ,经稳压器稳压后加在霍耳电势发生器的两端,根据霍耳效应原理,当霍耳片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍耳电势差H V 输出,该H V 信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC 门输出。当施加的磁场达到.工作点.(即OP B )时,触发器输出高电压(相对于地电位),使三极管导通,此时OC 门输出端输出低电压,通常称这种状态为.开.。当施加的磁场达到.释放点.(即rP B )时,触发器输出低电压,三极管截止,使OC 门输出高电压,这种状态为.关.。这样两次电压变换,使霍耳开关完成了一次开关动作。图 11 集成开关型霍耳传感器原理图Fig.11 Integrated switch type hall sensor principle diagram其集成霍耳开关外形及接线如图12 所示。图12 集成霍耳开关外形及接线Fig 12 Integrated hall switch appearance and wiring我们选择了P3.2 口作为信号的输入端,内部采用外部中断0(这样可以减少程序设计的麻烦),车轮每转一圈(我们设车轮的周长是1 米),霍尔开关就检测并输出信号,引起单片机的中断,对脉计数,当计数达到1000 次时,也就是1 公里,单片机就控制将金额自动的加增加,其计算公式:当前单价 公里数=金额。5.5 数据显示单元的设计设计使用一个定时/计数器每1/10 s向主机发一次中断请求信号,并利用并行接口电路完成对时钟的实时显示功能。同时,利用动态扫描电路完成对出租车的起价和当前累计价的显示。由于设计要求有单价(2 位)、路程(2 位)、总金额(3 位)显示输出,加上我们另外扩展了时钟显示(包含时分秒的显示),采用LCD 液晶段码显示,在距离屏幕1 米之外就无法看清数据,不能满足要求,而且在白天其对比度也不能够满足要求,因此我们采用6 位LED数码管的分屏显示,如下图所示:图13 时钟显示(图中显示为12点0分46秒) Fig .13 Clock shows(The figure shown as 12:00:46)图14 总金额和单价显示(图中显示为总金额55.2元,每公里4.6元)Fig.14 Total amount and unit price display (Chart shows the total amount of 55.2yuan, 4.6 yuan per kilometer)图15路程和单价显示(图中显示为总路程12公里,当前单价4.6 元)Fig.15 Traveled and unit price display (Chart shows the total distance 15 km, the current 4.6yuan price)图16 单价调整显示(图中显示为右起白天单价4.6元/晚上7.8/中途等待1.2 元)Fig.16 Unit price adjust display(Chart shows during the day for the right price from 4.6yuan/night7.8yuan/1.2yuanto wait half-way)数据的分屏的显示是通过按键S1 来实现切换的,如图17所示。图17 S1切换显示屏Fig.17 S1 Switch display在出租车不走的时候,按下S1,可以实现数据的分屏显示;车在行走的时候只有总金额和单价显示屏在显示,当到达目的地的时候,客户要求查看总的里程的时候,就可以按下S1 切换到里程和单价显示屏,供客户查询。从单片机串口输出的信号先送到左边的移位寄存器(74HC164),由于移位脉冲的作用,使数据向右移,达到显示的目的。移位寄存器74HC164还兼作数码管的驱动,插头1(header1)接电源,插头2(header2)接数据和脉冲输出端。电路中的三个整流管D1D3 的作用是降低数码管的工作电压,增加其使用寿命。5.6 AT24C02 掉电存储单元的设计掉电存储单元的作用是在电源断开的时候,存储当前设定的单价信息。AT24C02 是ATMEL 公司的2KB 字节的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以到2.5V,额定电流为1mA,静态电流10Ua(5.5V),芯片内的资料可以在断电的情况下保存40 年以上,而且采用8 脚的DIP 封装,使用方便。其电路如图18所示。图18 掉电存储电路原理图Fig .18 Power lost storage circuit principle diagram图中R8、R10 是上拉电阻,其作用是减少AT24C02 的静态功耗,由于AT24C02 的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线SCL(移位脉冲)和SDA(数据/地址)与单片机传送数据。每当设定一次单价,系统就自动调用存储程序,将单价信息保存在芯片内;当系统重新上电的时候,自动调用读存储器程序,将存储器内的单价等信息,读到缓存单元中,供主程序使用。5.7 启动及清除电路在系统电路中,设计一个启动/清除按钮,用来作为启动里程计数或清除里程数计数的开关。将该按钮开关接到微机系统的某个中断请求线上,当开关被按下一次时就作为计程启动中断请求;再按下一次时,就作为系统的计程清0中断处理。5.8 按键单元的设计电路共采用了四个按键,S1、S2、S3、S4,其功能分别是:S1 分屏显示切换按键,S2功能设定按键,S3 ./白天晚上切换按键,S4 ./中途等待开关。6 软件设计6.1 软件设计该系统软件采用汇编语言编制,模块化设计,分为主程序,脉j巾中断程序,空车牌中断程序,键盘中断程序,日历时钟芯片中断程序,打印及显示程序。在空车牌中断程序中完成对出租车营运状态的判断;在脉冲中断程序中完成计量计价工作;日历时钟芯片每秒钟向80C31发中断请求,在中断程序中完成等候计时工作或者时钟显示工作。键盘中断程序用于完成各次营运数据的查寻工作。结构框图如19图所示主程序定时中断服务程序里程计数中断服务程序中途等待中断服务程序启动/清除计程中断服务程序显示子程序服务程序键盘服务程序图19 系统软件结构框图Fig .19 System software structure diagram该计程计价系统的软件设计分为以下几个模块:1主程序模块在主程序模块中,需要完成对各接口芯片的初始化、出租车起价和单价的初始化、中断向量的设计以及开中断、循环等待等工作。另外,在主程序模块中还需要设置启动/清除标志寄存器、里程寄存器和价格寄存器,并对它们进行初始化。然后,主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计价等不同的操作。当主程序判断出有“启动计程中断”发生时,将根据里程寄存器中的内容计算和判断出行驶里程是否已超过起价公里数。若已超过,则根据里程值、每公里的单价数和起价数来计算出当前的累计价格,并将结果存于价格寄存器中,然后将已行走的里程数和当前累计价格送显示电路显示出来。当主程序判断出有“清除计程中断”产生时,将显示电路中的当前行驶里程数和运行累计价格清0,并重新进行初始化过程。其程序流程如图23所示.当按下S1时,就启动计价,将根据里程寄存器中的内容计算和判断出行驶里程是否已超过起价公里数。若已超过,则根据里程值、每公里的单价数和起价数来计算出当前的累计价格,并将结果存于价格寄存器中,然后将时间和当前累计价格送显示电路显示出来。当到达目的地的时候,由于霍尔开关没有送来脉冲信号,就停止计价,显示当前所应该付的金额和对应的单价,到下次启动计价时,系统自动对显示清零,并重新进行初始化过程。2定时中断服务程序在定时中断服务程序中,需要完成对行车时间的累加计数,并将该时间数据和当前时钟送显示电路进行实时显示。在定时中断服务程序中,每100ms 产生一次中断,当产生10 次中断的时候,也就到了一秒,送数据到相应的显示缓冲单元,并调用显示子程序实时显示。如图20所示定时中断定时处理键码分析功能键分别执行各自模块显示中断返回有按键否?有无有无图20 定时中断服务程序流程图Fig .20 Timing interrupt service routine flow chart 3里程计数中断服务程序当里程计数器对里程脉冲计满一定数值时,就由里程计数中断电路向微机发出中断请求,使微机进入里程计数中断服务程序中。在该程序中,需要完成当前行驶里程数的累加操作,并将结果存入里程寄存器中。每当霍尔传感器输出一个低电平信号就使单片机中断一次,当里程计数器对里程脉冲计满1000 次时,就有程序将当前总额,使微机进入里程计数中断服务程序中。在该程序中,需要完成当前行驶里程数和总额的累加操作,并将结果存入里程和总额寄存器中。如图21所示传感器产生中断信号中断信号处理键码分析功能键分别执行各自模块显示中断返回有按键否?有无有无图21 里程计数中断服务程序流程图Fig .21Mileage count the interrupt service routine flow chart4中途等待中断服务程序当在计数状态下霍尔开关没有输出信号,片内的T1 定时器便被启动,每当计时到达10分钟,就对当前金额加上中途等待的单价,以后每十分钟都自动加上中途等待的单价。当中途等待结束的时候,也就自动切换到正常的计价。如图22所示中途等待产生中断定时器启动中途等待结束正常计价显示中途等待中断服务程序图22 中途等待中断服务程序流程图Fig. 22 Midway waiting for the interrupt service routine flow chart5启动/清除计程中断服务程序当系统有启动/清除中断请求产生时,我们可以设定第一次中断为启动中断,第二次中断为清除中断,并在中断服务程序中将标志寄存器的内容相应置“1”或清“0”。其中,标志为“1”时表示本次中断是启动中断;为“0”时表示是清除中断。6显示子程序服务程序由于是分屏显示数据,所以就要用到4 个显示子程序,分别是:时分秒显示子程序(HMS_DIS)、金额单价显示子程序(CP_DIS)、路程单价显示子程序(DP_DIS)、单价调节子程序(PA_DIS)。7键盘服务程序键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦右按键按下,便转向相应的子程序处理,处理结束再返回。6.2 流程图1 主程序流程图如图23所示:主程序开始控制芯片初始化初始化时间显示单元,默认显示为12:00:00各操作寄存器初始设置中断向开中断,等有中断标志吗?计算当前已行驶公里数和累计价格并送显示器显示传感器有信号吗?显示将当前里程和总金额总金额加等待价里程已经超过起步公里数吗?启动中途等待NNNYYY图23主程序流程图Fig .23 The main program flow chart2 计价流程图如图24 所示:YN设定默认单价(白天)中途等待单价返回时间显示按下S4启动计价器按下S3显示路程和单价显示金额和单价停止计价和里程计数按下S4晚上单价传感器有信号吗?YN总金额加一总路程加一够一公里吗?YY按下S3有里程的中断吗?NNS1是否按下按下S4YYNY图24 计价流程图Fig .24 Valuation flowchart3 单价时间调整流程图如图25所示:按下S1?按下S1?按下S2?中途等待单价调整按下S2?按下S1?按下S1?按下S2?进入分调整进入时间调整(默认先调整时)按下S2?按下S1?进入单价调整(默认先调整白天单价)按下S2?按下S2?晚上单价调整按下S1?按下S2?图25 单价时间调整流程图Fig .25 Unit price time to adjust flow chart7 设计总结 由于使用的是AT89S51单片机作为核心的控制元件,使用全双工串行口进行通信,其外接显示电路由74LS614 和共阳极数码管构成,实现了扩展并行I/ O 接口的功能,来实现单价,起步价,返程价,郊区价,夜间价,低速价,显示和修改时间等功能,是一个低成本的出租车计价系统。以及灵敏的霍尔开关型器件,电源线路简单实用,除可检测使用中电池性能外,也可用于新购买电池的质量检测,对参数进行适当调整,也用于其它规格Nicd 电池的容量检测或作充电器用。本出租车计价器具有功能强、性能可靠、电路简单、成本低的特点,加上经过优化的程序,使其有很高的智能化水平。但是在我们设计和调试的过程中,也发现了一些问题,譬如计价的金额位数有限,实际的里程可能会很远,会超出我们的显示范围。计价器的设计还不够人性化,比如加上语音的提示功能,可能会更有生命力。,争取使该系统慢慢趋向完美。本系统解决了以往计价器计价不准确、使用寿命短等缺点,现在采用以单片机为主控制单元的编码解码技术,使每个出租车的计价器拥有不同的编码,从而防止出租车之间计价器的相互盗用,便于出租车公司对出租车的管理。我们可以随时对单片机的外围电路进行扩展,并通过软件编程实现本系统的不断更新参考文献1 陈杰、黄鸿传感器与检测技术北京:高等教育出版社,20022 康华光电子技术基础高等教育出版社,20043 周常森电子电路计算机仿真技术山东科技出版社,20064 秦曾煌电工学M高等教育出版社M,2004 5 刘润华现代电子系统设计石油大学出版社,20066 邱关源电路高等教育出版社,20077 高伟AT89单片机原理及应用M国防工业出版社,20088 王为青、邱文勋51单片机应用开发案例精选人民邮电出版社,20079 罗亚非凌阳16位单片机应用基础北京航天航空大学出版社,2003.1210 李全利单片机原理及应用技术高等教育出版社,200711 李朝青单片机原理及接口技术 北京: 北京航空航天大学出版社, 2005.1 12 雷思孝、李伯成、雷向莉单片机原理及实用技术凌阳16位单片机原理及应用西安电子科技大学出版社,2004.113 韩志军,沈晋源,王振波单片机应用系统设计北京:机械工业出版社,200514 李晶皎嵌入式语音技术及凌阳16位单片机应用北京航天航空大学出版社,2003.11 15 冯博琴微型计算机原理与接口技术北京:清华大学出版社,200216 徐争颖Protell 99 SE EDA技术及应用北京:机械工业出版社,200517 谢剑英,贾青微型计算机控制技术第3版,北京:国防工业出版社,2001致 谢这次毕业设计是对大学四年所学知识的总结,它充分利用我在大学里所学的大部分课程知识。在这次设计中,我遇到不少难题,但在指导老师刘旭红老师的悉心指导下得以胜利完成,为保证我顺利完成毕业设计,她全力为我收集材料,耐心的讲解我提出的每一个问题,悉心的指出我的不足以及告诉我如何修改。同时,我的同学朋友在这次设计中国给予我很大的帮助。在此,我真诚的感谢我的指导老师刘老师以及我的同学朋友,谢谢你们!附录附录1主程序清单DAY_PRICEEQU 6FHNIGHT_PRICEEQU 6EHMIDWAY_PRICEEQU 6DHSTART_PRICEEQU 6CHCOUNTL EQU 6BHCOUNTH EQU 6AHM100 EQU 69H ;-外部中断次数DISTANCE EQU 68H ;-行车距离MS100 EQU 67HSEC EQU 66HMIN EQU 65HHOUR EQU 64HLEDSL EQU 63H ;-时分钞显示缓冲区LEDSH EQU 62HLEDML EQU 61HLEDMH EQU 60HLEDHL EQU 5FHLEDHH EQU 5EHLEDDANJIAL EQU 5DH ;-总额,单价显示缓冲区LEDDANJIAH EQU 5CHLINE_ EQU 5BHLEDCOUNT1 EQU 5AHLEDCOUNT2 EQU 59HLEDCOUNT3 EQU 58HLEDDANJIA2L EQU 57H ;-路程,单价显示缓冲区LEDDANJIA2H EQU 56HLINE_ EQU 55HLINE_ EQU 54HLEDDISTANCEL EQU 53HLEDDISTANCEH EQU 52HLEDDAY_PL EQU 51H ;-中途,晚上,白天显示缓冲区LEDDAY_PH EQU 50HLEDNIG_PL EQU 4FHLEDNIG_PH EQU 4EHLEDW_PL EQU 4DHLEDW_PH EQU 4CHS1 BIT P1.0S2 BIT P1.1S3 BIT P1.2S4 BIT P1.3S11 EQU 4BHS22 EQU 4AHS33 EQU 49HS44 EQU 48HM1 EQU 47HH1 EQU 46HM2 EQU 45HH2 EQU 44HPRICE EQU 43HORG 0000HAJMPMAINORG 0003HAJMPTOORG 000BHAJMPTOTIMEORG 001BHAJMPTOSTARTORG 0030HMAIN: MOV SP,#70HMOV TMOD, #11HMOV TH0, #3CHMOV TL0, #0B0HMOV TH1, #3CHMOV TL1, #0B0HMOV 22H, #0AHSETBEASETBTR0SETBEX0SETBIT0SETBET0SETBET1; -RAM单元初始化MOV R7,#34MOV R0,#69HLOOPL:MOV R0,#0DEC R0DJNZR7,LOOPLMOV COUNTL, #00H ; -起步价MOV COUNTH, #05HMOV DAY_PRICE,#25H ; -白天价格初始化MOV NIGHT_PRICE,#30H ; -晚上价格初始化MOV MIDWAY_PRICE,#10H ; -中途等待初始化MOV START_PRICE, #50H ; -起步价初始化MOV S11, #0MOV S22, #0MOV S33, #0MOV S44, #0MOV DISTANCE, #02HMOV HOUR, #12H-键盘第一层扫描程序;(键盘扫描主程序)KEY_MAIN: SETB TR0ACALL HMS_DISACALL T100MSDACALL T100MSDACALL T100MSDJB S1, KEY_MAINACALL T10MSDJB S1, KEY_MAINJNB S1,$SJMP WAI1WA1: JB S1, K1ACALL T10MSDJB S1, K1WAIT1: JNB S1, WAIT1WAI1: ;INC S11;MOV A, S11;CJNE A, #1, N1;MOV M1, MIN; MOV H1, HOURMOV R0, #LEDDANJIALMOV R2, #6CLR AMOV COUNTL,AMOV COUNTH,AMOV M100, AMOV DISTANCE,ABK1: MOV R0, ADEC R0DJNZ R2, BK1; -起动初始化MOV PRICE,DAY_PRICEMOV COUNTL, #00H; -起步价MOV COUNTH, #05H;MOV DISTANCE,#02HLCALL CP_DIS; -总金额和单价显示K1: JB S2, K2ACALL T10MSDJB S2, K2WAIT2: JNB S2, WAIT2INC S22MOV A, S22CJNE A, #1, NEXT1LCALL PA_DISLJMP KEY_DJNEXT1: CJNE A, #2, NEXT2CLR TR0LCALL HMS_DISLJMP KEY_SJNEXT2: CJNE A, #3, K2MOV S22, #0K2: JB S3, K3ACALL T10MSDJB S3, K3WAIT3: JNB S3, WAIT3INC S33MOV A, S33CJNE A, #1, NXT1LCALL DP_DISNXT1: CJNE A, #2, NXT2CLR CMOV A, M2SUBB A, M1MOV M1, AMOV A, H2SUBB A, H1MOV H1, A;LCALL XCSJ_DISNXT2: CJNE A, #3, K3MOV S33, #0LCALL CP_DISK3: JB S4, BK_KEY_MAINACALL T10MSDJB S4, BK_KEY_MAINWAIT4: JNB S4, WAIT4INC S44MOV A, S44CJNE A, #1, NT1MOV PRICE,DAY_PRICELCALL CP_DISNT1: CJNE A, #2, NT2MOV PRICE,NIGHT_PRICELCALL CP_DISNT2: CJNE A, #3, NT3MOV PRICE,MIDWAY_PRICESETB TR1LCALL CP_DISNT3: CJNE A, #4, BK_KEY_MAINMOV S44, #0LJMP KEY_MAINBK_KEY_MAIN: LJMP WA1;键盘第二层扫描程序; (单价调整程序);(KEY_DJ) KEY_DJ: JB S1, KY1ACALL T10MSDJB S1, KY1WAIT5: JNB S1, WAIT5INC S11MOV A, S11CJNE A, #1,NEXT11LJMP DAY_PNEXT11: CJNE A, #2,NEXT12LCALL NIG_PNEXT12: CJNE A, #3, KY1LCALL MID_PMOV S11, #0LJMP KEY_MAINKY1: JB S2, KY2ACALL T10MSDJB S2, KY2WAIT6: JNB S2, WAIT6INC S22MOV A, S22CJNE A, #1, NEXT13LCALL PA_DISLJMP KEY_DJNEXT13: CJNE A, #2, NEXT14CLR TR0LCALL HMS_DISLCALL KEY_SJNEXT14: CJNE A, #3, KY2MOV S22, #0LJMP KEY_MAINKY2: AJMP KEY_DJ;键盘第三层扫描程序; (时间调整程序);(KEY_SJ) KEY_SJ: JB S1, KEY1ACALL T10MSDJB S1, KEY1WAIT7: JNB S1, WAIT7INC S11MOV A, S11CJNE A, #1,NEXT21LCALL HOU_TNEXT21: CJNE A, #2,NEXT22LCALL MIN_TNEXT22: CJNE A, #3,KEY1MOV S11, #0LJMP KEY_MAINKEY1: JB S2, KEY2ACALL T10MSDJB S2, KEY2WAIT8: JNB S2, WAIT8INC S22MOV A, S22CJNE A, #1, NEXT23LCALL PA_DISLJMP KEY_DJNEXT23: CJNE A, #2, NEXT24CLR TR0LCALL HMS_DISNEXT24:CJNE A, #3, KEY2MOV S22,#0LCALL KEY_SJLJMP KEY_MAINKEY2: AJMP KEY_SJ;键盘第四层扫描程序; (闪显/加1/减1程序)DAY_P:SETB F0 ; -调用定时延时标志位LCALL T100MSDLCALL T100MSD;LCALL T100MSD;LCALL T100MSD;LCALL T100MSDMOV LEDDAY_PL, #0AHMOV LEDDAY_PH, #0AHLCALL PA_DIS1;LCALL T100MSDLCALL T100MSDLCALL T100MSD; LCALL T100MSD;MOV A, DAY_PRICE;MOV B, #10;DIV AB;DA A;MOV LEDDAY_PL, B;MOV LEDDAY_PH, ALCALL PA_DIS;AJMP LP1LP1: JB S3, KEY11;LCALL T10MSD;JB S3, KEY11; WAIT9: JNB S3, WAIT9;INC DAY_PRICEMOV A, #1ADD A, DAY_PRICEDA AMOV DAY_PRICE,AMOV A, DAY_PRICECJNE A, #99H, KEY11MOV DAY_PRICE, #0KEY11: JB S4, KEY12LCALL T10MSDJB S4, KEY12MOV A,DAY_PRICEADD A, #99HDA AMOV DAY_PRICE,ACJNE A, #00H, KEY12MOV A, #99HKEY12: JB S1, KEY13ACALL T10MSDJB S1, KEY13WAIT11: JNB S1, WAIT11INC S11MOV A, S11CJNE A, #1,NEXT31LCALL DAY_PNEXT31: CJNE A, #2,NEXT32LCALL NIG_PNEXT32: CJNE A, #3,NEXT33LCALL MID_PNEXT33: CJNE A, #4, KEY13MOV S11, #0KEY13: JB S2, KEY14LCALL T10MSDJB S2, KEY14WAIT12:JNB S2, WAIT12LJMP KEY_MAINKEY14: AJMP DAY_P;-NIG_P: SETB F0 ;-调用定时延时标志位LCALL T100MSDLCALL T100MSD;LCALL T100MSD;LCALL T100MSD;LCALL T100MSDMOV LEDNIG_PL, #0AHMOV LEDNIG_PH, #0AHLCALL PA_DIS1LCALL T100MSDLCALL T100MSD;LCALL T100MSD;LCALL T100MSD;LCALL T100MSDLCALL PA_DISJB S3, KEY21LCALL T10MSDJB S3, KEY21; WAIT13: JNB S3, WAIT13;-MOV A, #1ADD A, NIGHT_PRICEDA AMOV NIGHT_PRICE,ACJNE A, #99H,KEY21MOV NIGHT_PRICE,#0KEY21: JB S4, KEY22LCALL T10MSDJB S4, KEY22; WAIT14: JNB S4, WAIT14;-MOV A, NIGHT_PRICEADD A, #99HDA AMOV NIGHT_PRICE,ACJNE A, #00H, KEY22MOV NIGHT_PRICE,#99HKEY22: JB S1, KEY23ACALL T10MSDJB S1, KEY23WAIT15: JNB S1, WAIT15INC S11MOV A, S11CJNE A, #1,NEXT41LCALL DAY_PNEXT41: CJNE A, #2,NEXT42LCALL NIG_PNEXT42: CJNE A, #3,NEXT43LCALL MID_PNEXT43: CJNE A, #4, KEY23MOV S11, #0LJMP KEY_DJKEY23: JB S2, KEY24LCALL T10MSDJB S2, KEY24WAIT30:JNB S2, WAIT30LJMP KEY_MAINKEY24: AJMP NIG_P;-MID_P: SETB F0 ;-调用定时延时标志位LCALL T100MSD;LCALL T100MSD;LCALL T100MSD;LCALL T100MSDMOV LEDW_PL, #0AHMOV LEDW_PH, #0AHLCALL PA_DIS1LCALL T100MSD;LCALL T100MSD;LCALL T100MSD;LCALL T100MSDLCALL PA_DISJB S3, KEY31LCALL T10MSDJB S3, KEY31; WAIT16: JNB S3, WAIT16; INC MIDWAY_PRICEMOV A, MIDWAY_PRICEADD A, #1DA AMOV MIDWAY_PRICE,ACJNE A, #99H, KEY31MOV MIDWAY_PRICE, #00H;-CJNE A, #100, KEY31MOV MIDWAY_PRICE, #0KEY31: JB S4, KEY32LCALL T10MSDJB S4, KEY32;WAIT17: JNB S4, WAIT17MOV A, MIDWAY_PRICEADD A, #99HDA AMOV MIDWAY_PRICE,ACJNE A, #00H, KEY32MOV NIGHT_PRICE,#99HKEY32: JB S1, KEY33ACALL T10MSDJB S1, KEY33WAIT18: JNB S1, WAIT18INC S11MOV A, S11CJNE A, #1,NEXT51LCALL DAY_PNEXT51: CJNE A, #2,NEXT52LCALL NIG_PNEXT52: CJNE A, #3,NEXT53LCALL MID_PNEXT53: CJNE A, #4, KEY33MOV S11, #0LJMP KEY_DJKEY33: JB S2, KEY34LCALL T10MSDJB S2, KEY34WAIT31:JNB S2, WAIT31LJMP KEY_MAINKEY34: AJMP MID_P;-HOU_T: SETB F0 ;-调用定时延时标志位LCALL T100MSDLCALL T100MSDMOV LEDHL, #0AHMOV LEDHH, #0AHLCALL HMS_DIS1; -直接调用显示,不经过拆分程序LCALL T100MSDLCALL T100MSDMOV SEC, #0LCALL HMS_DISJB S3, KEY41LCALL T10MSDJB S3, KEY41WAIT19: JNB S3, WAIT19MOV A, HOURADD A, #1DA AMOV HOUR,ACJNE A, #24H, KEY41MOV HOUR, #0KEY41: JB S4, KEY42LCALL T10MSDJB S4, KEY42WAIT20: JNB S4, WAIT20MOV A, HOURADD A, #99HDA AMOV HOUR,ACJNE A, #99H, KEY42MOV HOUR, #23HKEY42: JB S1, KEY43ACALL T10MSDJB S1, KEY43WAIT21: JNB S1, WAIT21INC S11MOV A, S11CJNE A, #1,NEXT61LJMP HOU_TNEXT61: CJNE A, #2,NEXT62LJMP MIN_TNEXT62: CJNE A, #3,KEY43MOV S11, #0LJMP KEY_SJKEY43: JB S2, KEY44LCALL T10MSDJB S2, KEY44WAIT32: JNB S2, WAIT32LJMP KEY_MAINKEY44: AJMP HOU_T-MIN_T: SETB F0 ; -调用定时延时标志位LCALL T100MSDLCALL T100MSDMOV LEDML, #0AHMOV LEDMH, #0AHLCALL HMS_DIS1; -直接调用显示,不经过拆分程序LCALL T100MSDLCALL T100MSDMOV SEC, #0LCALL HMS_DISJB S3, KEY51LCALL T10MSDJB S3, KEY41WAIT22: JNB S3, WAIT22MOV A, MINADD A, #1DA AMOV MIN, ACJNE A, #60H, KEY51MOV MIN, #0KEY51: JB S4, KEY52LCALL T10MSDJB S4, KEY52WAIT23: JNB S4, WAIT23MOV A, MINADD A, #99HDA AMOV MIN, ACJNE A, #99H, KEY52MOV MIN, #59HKEY52: JB S1, KEY53ACALL T10MSDJB S1, KEY53WAIT24: JNB S1, WAIT24INC S11MOV A, S11CJNE A, #1,NEXT71LCALL HOU_TNEXT71: CJNE A, #2,NEXT72LCALL MIN_TNEXT72: CJNE A, #3,KEY53SETB TR0MOV S11, #0LJMP KEY_SJKEY53: JB S2, KEY54LCALL T10MSDJB S2, KEY54WAIT33: JNB S2, WAIT33LJMP KEY_MAINKEY54: AJMP MIN_T-时钟中断TOTIME: PUSH PSWPUSH ACCMOV TH0, #3CHMOV TL0, #0B0HINC MS100MOV A, MS100CJNE A, #10,RETURNMOV MS100,#0MOV A, SECADD A, #1DA AMOV SEC,ACJNE A,#60H,RETURNMOV SEC,#0MOV A, #1HADD A, MINDA AMOV MIN,ACJNE A,#60H, RETURNMOV MIN,#0MOV A, #1HADD A, HOURDA AMOV HOUR,ACJNE A, #24H,RETURNMOV HOUR,#0RETURN: POP ACCPOP PSWRETI-外部霍尔中断TO: PUSH PSWPUSH ACCMOV A, R0MOV B, #10DIV ABMOV 20H,A ; -算出当前价格 转100次的钱数,并给20H单元MOV A,#1ADD A,M100MOV M100,AMOV A, M100CJNE A, #100,RETURN1MOV M100,#0INC 21HMOV A,21HCJNE A, #0AH, RETURN1 ; -已经到了1公里MOV 21H,#0MOV A, #1ADD A, DISTANCEDA AMOV DISTANCE,AACALLDP_DISMOV A, PRICEADD A, COUNTLDA AMOV COUNTL,ACJNE A, #10H,RETURN1MOV COUNTL,#0MOV A, #1ADD A, COUNTHDA AMOV COUNTH,ACJNE A, #99H, RETURN1MOV COUNTH,#0ACALL CP_DISRETURN1: POP ACCPOP PSWRETITOSTART: PUSH PSWPUSH ACCMOV TH1, #3CHMOV TL1, #0B0HDJNZ 22H, RETURN2 ; -1S未到返回MOV 22H, #0AHMOV A, #1ADD A, 23H;-23H,存放秒,24H存放分DA AMOV 23H, ACJNE A, #60H, RETURN2MOV 23H, #0MOV A, #1ADD A, 24HDA AMOV 24H,ACJNE A, #10H, RETURN2MOV 24H, #0MOV A, START_PRICEADD A, COUNTLDA AMOV COUNTL,ACJNE A, #10H, RETURN2MOV COUNTL, #0MOV A, #1ADD A, COUNTHDA AMOV COUNTH,ACJNE A, #99H,RETURN2MOV COUNTH,#0RETURN2: POP ACCPOP PSWRETI-显示子程序功能:分四屏幕显示数据,时分秒(HMS_DIS)总额单价(CP_DIS)路程单价(DP_DIS)单价调整(PA_DIS);使用资源:使用第三组寄存器R7
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:22-出租车计价器的设计
链接地址:https://www.renrendoc.com/p-22743889.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!