多功能出租车计价器 毕业设计

更新时间:2024-07-10 23:24:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

四川信息职业技术学院

毕业设计说明书(论文)

设计(论文)题目: 多功能出租车计价器 专 业: 通信技术 班 级: 学 号: 姓 名: 指导教师:

二ΟΟ八年十二月三十日

四川信息职业技术学院毕业设计(论文)任务书

学 生 姓 名 学号 班级 通技06-2 专业 通信技术 设计(或论文)题目 指导教师姓名 设计(论文)内容: (1)设计指标 职 称 讲 师 高级工程师 多功能出租车计价器 工作单位及所从事专业 联系方式 备 注 能实现数据复位、数据输出、路程输出、计时计价、单价输出及调整、显示当前的系统时间等功能。 (2)设计要求 ① 画出电路原理图(或仿真电路图); ② 电路仿真与调试。 进度安排: 第5周:任务下达,理解消化任务要求;初步设计方案确定; 第6周~第10周:设计方案确定,分模块部分完成; 第11周:中期检查,查找问题,分析解决难点; 第12周~第15周:分模块调试,整体电路调试,论文书写等; 第16周:答辩。 主要参考文献、资料(写清楚参考文献名称、作者、出版单位): [1] 朱永金,成友才.单片机应用技术C语言.北京:中国劳动社会保障出版社,2007 [2] 张鑫,华臻,陈书谦.单片机原理及应用.北京:电子工业出版社,2005 [3] 丁元杰,吴大伟.单片微机实题集与实验指导书.北京:机械工业出版社,2004 [4] 熊建云.Protel99SE EDA技术及应用.北京:机械工业出版社.2007 审 批 意 见 教研室负责人: 年 月 日 备注:任务书由指导教师填写,一式二份。其中学生一份,指导教师一份。

四川信息职业技术学院毕业设计说明书

目 录

摘 要 ................................................................. 1 第1章 绪论 ........................................................... 2 第2章 系统硬件设计 ................................................... 3

2.1 控制电路方案论证与比较 ......................................... 3 2.2 系统硬件设计 ................................................... 4

2.2.1 系统的硬件构成 ........................................... 4 2.2.2 AT24C02芯片简介 .......................................... 4 2.2.3 AT24C02掉电存储单元的设计 ................................ 5 2.2.4 里程计算和计价单元的设计 ................................. 5 2.2.5 数据显示单元设计 ......................................... 7 2.2.6 多功能出租车计价器总体电路图 ............................. 9

第3章 系统软件设计 .................................................. 10

3.1 系统主程序设计 ................................................ 10 3.2 定时中断服务程序 .............................................. 12 3.3 里程计数中断服务程序 .......................................... 12 3.4 中途等待中断服务程序 .......................................... 12 3.5 显示子程序服务程序 ............................................ 13 3.6 键盘服务程序 .................................................. 13 第4章 系统调试 ...................................................... 14

4.1 里程计价测试 .................................................. 14 4.2 掉电存储测试 .................................................. 15 第5章 结论 .......................................................... 16 致 谢 ................................................................ 17 参考文献 .............................................................. 18 附录一 原理图 ........................................................ 19

I

四川信息职业技术学院毕业设计说明书

附录二 源程序 ........................................................ 20

II

四川信息职业技术学院毕业设计说明书

摘 要

本设计利用AT89S51单片机、AT24C02掉电存储单元及A44E霍尔传感器电路实现一台多功能出租车计价器,具有性能可靠、电路简单、成本低等特点。所设计的出租车计价器的主要功能有:数据的复位、数据输出、路程输出、计时计价、单价输出及调整、显示当前的系统时间等功能,同时在不计价的时候还能作为时钟为司机同志提供方便。

关键词 多功能出租车计价器;AT89S51;AT24C02

第1页 共29页

四川信息职业技术学院毕业设计说明书

第1章 绪论

出租车计价器是出租车营运收费的专用智能仪表,目前市面所使用的计价器大都功能较少,这给出租车行业的服务质量及管理带来一定影响。而功能齐全的计价器大都采用双CPU结构,这就提高了计价器的生产成本。从加强出租车行业管理及服务质量并且节约成本出发,本设计介绍了一种以AT89S51单片机为核心的,具有计价、存储、性能可靠、电路简单、成本低等特点的多功能出租车计价器,能够很好的满足市场对出租车计价器的要求。本设计的目的就是通过对现有计价器的分析,从而解决计价器的现存问题,同时完成具有单价输出、单价调整、路程输出、显示当前的系统时间等功能的新型计价器的硬件及软件设计。

第2页 共29页

四川信息职业技术学院毕业设计说明书

第2章 系统硬件设计

2.1 控制电路方案论证与比较

方案一:采用数字电路控制。其原理方框图如图1所示。采用传感器,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,但是这种电路过于简单,性能不够稳定,而且不能调节单价,也不能根据天气调节计费标准,电路不够实用。

电源电路及保护 金额 显示 单价 显示

电路 里程传感器 移位寄存器 图1 数字电路控制方框图

方案二:采用单片机控制。利用单片机丰富的IO端口,及其控制的灵活性,实现基本的里程计价和价格调整、时钟显示的功能。其原理如图2所示。

键盘控制单元 89S51 单片机 掉电存储单元显示单元 里程计价单元 图2 单片机控制方框图

串口显示驱动电路 通过比较以上两种方案,第二种方案有较大的活动空间,不但能实现所要求的功能,而且能在很大的程度上扩展功能,还可以方便的对系统进行升级,所以我们采用此方案。

第3页 共29页

四川信息职业技术学院毕业设计说明书

2.2 系统硬件设计

本系统的硬件主要包括单片机AT89S51、数据显示部件、A44E霍尔传感器电路、AT24C02掉电存储单元、里程计算及计价单元。

2.2.1 系统的硬件构成

计价器的单片机控制方框图如图3所示。它由单片机AT89S51、总金额及单价显示单元、键盘控制单元,AT24C02掉电存储单元、里程计算单元以及串口显示驱动电路组成。

图3 单片机控制方框图

里程计价单元 串口显示驱动电路 AT24C02 掉电存储单元 键 盘 控 制 单 元 89S51 单片机 总金额显示 单价显示 2.2.2 AT24C02芯片简介

AT24C02是ATMEL公司研发的2KB字节的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以到2.5V,额定电流为1mA,芯片内的资料可以在断电的情况下保存40年以上,使用方便。其引脚配置如图4所示。

A0 A1 A2 GND 1 8 VCC WP SCL SDL 2 7 3 6 4 5 图4 AT24C02引脚配置图

第4页 共29页

四川信息职业技术学院毕业设计说明书

其中:

A2-A0:地址引脚; SDA、SCL:I2C总线接口;

WP:写保护引脚,WP接VSS时,禁止写入高位地址,WP接VDD时,允许写入任何地址;

VCC:电源端; GND:接地端。

2.2.3 AT24C02掉电存储单元的设计

掉电存储单元的作用是在电源断开的时候,存储当前设定的单价信息。其电路如图5所示。

AT24C02A VCC . 8 7 6 5 . R8 5.1K R10 5.1K

. . . . GND 1 2 3 4 NC NC NC GND VCC WP SCL . SDA . 接P2.6 接P2.5

图5 掉电存储电路原理图

图中R8、R10是上拉电阻,其作用是减少AT24C02的静态功耗,由于AT24C02的数据线和地址线是复用的,采用串口方式传送数据,所以只用两根线SCL(位脉冲)和SDA(数据/地址)与单片机传送数据。

其工作原理是:每当设定一次单价,系统就自动调用存储程序,将单价信息保存在芯片内;当系统重新上电的时候,自动调用读存储器程序,将存储器内的单价信息读到缓存单元中,供主程序使用。

2.2.4 里程计算和计价单元的设计

里程计算是将通过安装在车轮上的霍尔传感器A44E检测到的信号,送到单片

第5页 共29页

四川信息职业技术学院毕业设计说明书

机,经处理计算,送给显示单元的。其原理如图6所示。

车轮 霍尔传感器 小磁铁 89S51 单 片 机 P3.2 图6 传感器测距示意图

由于A44E属于开关型的霍尔器件,其工作电压范围比较宽?4.5V~18V?,其输出的信号符合TTL电平标准,可以直接接到单片机的IO端口上,而且其最高检测频率可达到1MHz。

A44E集成霍耳开关由稳压器A、霍耳电势发生器(即硅霍耳片)B、差分放大器C、施密特触发器D和OC门输出E五个基本部分组成。 (1) VCC A . B . C D OUT (3) Vo/V 12 9 6 3 0 B/mT 5 10 b) 15 20 工作点 释放点 (OFF) (ON) . a) . . E .(2 GND 图7 集成开关型霍耳传感器原理图

其原理如下:在输入端输入电压Vcc,经稳压器稳压后加在霍耳电势发生器的两端,根据霍耳效应原理,当霍耳片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍耳电势差HV,该HV信号经放大器放大后送至施密特触发器整形,使其成为方波送到OC门输出。当施加的磁场达到“工作点”(即ON)时,触发器输出高电压(相对于地电位),使三极管导通,此时OC门

第6页 共29页

四川信息职业技术学院毕业设计说明书

输出端输出低电压,通常称这种状态为“开”。当施加的磁场达到“释放点”(即OFF)时,触发器输出低电压,三极管截止,使OC门输出高电压,这种状态为“关”。这样两次电压变换,使霍耳开关完成了一次开关动作。其外形及接线如图8所示。

图8 集成霍耳开关外形及接线图

1 2 3 A44E 1 . +4.5~12v A44E 1-Vcc 2-GND 3-OUT a)集成霍耳开关外形图 2 GND . 2K 3 OUT b)集成霍耳开关接线图

在本设计中选择用P3.2口作为信号的输入端,内部采用外部中断0的方式,车轮每转一圈(假设车轮的周长是1米),霍尔开关就检测并输出信号,引起单片机的中断,对脉计数,当计数达到1000次时,也就是1公里,单片机就控制将金额自动的增加,其计算公式:当前单价×公里数=金额。

2.2.5 数据显示单元设计

由于设计要求有单价(2位)、路程(2位)、总金额(3位)显示输出,再加上我们另外扩展了时钟显示(包含时分秒的显示),若采用LCD液晶段码显示,在距离屏幕1米之外就无法看清数据,不能满足要求,而且在白天其对比度也不能够满足要求,因此采用6位LED数码管的分屏显示,如图9所示。

1 2 5 5. 2 1 2 0 0 4 6 4 . 6 6 4. a)时钟显示(显示为12点0分46秒)

- - b)总金额和单价显示(显示为总金额55.2元,每公里4.6元)

- 第7页 共29页

四川信息职业技术学院毕业设计说明书

c)路程和单价显示(显示为总路程12公里,当前单价4.6元)

1. 2 7 . 8 4 . 6 d)单价调整显示(显示为右起白天单价4.6元/晚上7.8/中途等待1.2元)

图9 采用6位LED数码管的分屏显示

而数据的分屏显示是通过按键S1来实现切换的,如图10所示。

1 1. 5 1 2 2 5. 2 2 0 0 7 . 8 - - - 4 6 一次 S1 S2 S3 一4. 6 4 . 6 4. 6 S4 图10 S1对分屏显示的切换原理图 各按键实现的功能如下: (1)S1按键的功能

在出租车不走的时候,按下S1按键,可以实现数据的分屏显示;车在行走的时候只有总金额和单价在显示,当到达目的地的时候,客户要求查看总的里程,就可以按下S1按键切换到里程和单价显示,供客户查询。

(2)S2按键的功能

在按下S1按键之后,若接着按下S2按键则进行单价调整,默认为调整白天单价,当接着按下S1按键时,可进行晚上单价调整,再次按下S1按键,则可进行中途等待单价调整。当单价调整结束后,可通过按下S2按键进行时间调整,默认为调整时,接着按下S1按键可进行分调整,分调整后再接下S1按键可进行秒调整。当时间调整完成后,若接着按下S2按键则又可进行单价的调整。

(3)S3按键的功能

在显示金额及单价时,若按下S3按键,则显示路程和单价,再次按下S3按键,

第8页 共29页

四川信息职业技术学院毕业设计说明书

则返回金额及单价的显示。

(4)S4按键的功能

在按下S1按键之后,若接着按下S4按键,则进行设定默认晚上单价,并启动计价器,若没有按下S4按键则可设定默认白天单价,并启动计价器。当设定默认晚上单价结束后,再次接下S4按键,则可设定默认中途等待单价,并启动计价器。当设定默认中途等待单价后,若再按一次S4按键,则返回系统时间的显示。

2.2.6 多功能出租车计价器总体电路图

利用AT89S51单片机丰富的IO端口,及其控制的灵活性,实现基本的里程计价功能和价格调节、时钟显示等功能。其具体电路如图11所示。

C21nF101112X1C31nFCRYSTAL19U1SRG81DXTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617133456U374HC164C1/->18XTAL2C191uFRSTR8R110k293031PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C519212U2A1SCLSDAWP657AT24C1024+AMFM-& 图11 多功能出租车计价器总体电路图

第9页 共29页

四川信息职业技术学院毕业设计说明书

第3章 系统软件设计

本系统的软件设计主要可分为主程序、定时计数中断程序、里程计数中断服务程序、中途等待中断服务程序、显示子程序服务程序、键盘服务程序六大模块。下面对各部分作介绍。

3.1 系统主程序设计

在主程序中,需要完成对芯片各接口的初始化、出租车起价和单价的初始化、中断的设计以及开中断、循环等待等工作。另外,在主程序中还需要设置启动/清除标志寄存器、里程寄存器和价格寄存器,并对它们进行初始化。然后,主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计价等不同的操作。主程序流程图如图12所示。当按下S1按键时,就启动计价,将根据里程寄存器中的内容计算和判断出行驶里程是否已超过起价公里数。若已超过,则根据里程值、每公里的单价数和起价数来计算出当前的累计价格,并将结果存于价格寄存器中,然后将时间和当前累计价格送显示电路显示出来。当到达目的地的时候,由于霍尔开关没有送来脉冲信号,就停止计价,显示当前所应该付的金额和对应的单价,到下次启动计价时,系统自动对显示清零,并重新进行初始化。

第10页 共29页

四川信息职业技术学院毕业设计说明书

S4按下? 是 返回时间显示 是 否 显示路程及单价 是 否 S3按下? 否 S4按下? 是 设定中途等待单价 否 设定晚上单价 是 否 开始 初始化程序 S1按下? 是 S4按下? 否 设定默认单价(白天) 启动计价器 里程中是 否 到一公里? 是 S3按下? 总金额加一总路程加一传感器有信号? 否 是 显示金额及单价

停止计价和里程计数 图12 主程序流程图

第11页 共29页

四川信息职业技术学院毕业设计说明书

3.2 定时中断服务程序

在定时中断服务程序中,每100ms产生一次中断,当产生10次中断的时候,也就是到了一秒,将数据送到相应的显示缓冲单元,并调用显示子程序实时显示。其程序流程如图14所示。

开始 保护现场 重置计数初值 中断10次? 是 数据送显示缓冲单元 调用显示子程序 恢复现场 并中断返回

图13 定时中断服务程序

否 3.3 里程计数中断服务程序

每当霍尔传感器输出一个低电平就使单片机中断一次,当里程计数器对里程脉冲计满1000次时,进入里程计数中断服务程序。在该程序中,需要完成当前行驶里程数和总金额的累加,并将结果存入里程和总金额寄存器中。

3.4 中途等待中断服务程序

当在计数状态下霍尔开关没有输出信号时,片内的T1定时器便被启动,每当计时到达10分钟,就会将当前金额加上中途等待的单价,以后每10分钟都自动加上中途等待的单价。当中途等待结束的时候,将自动切换到正常的计价。

第12页 共29页

四川信息职业技术学院毕业设计说明书

3.5 显示子程序服务程序

由于是分屏显示数据,所以就要用到4个显示子程序,分别是:时分秒显示子程序、金额单价显示子程序、路程单价显示子程序、单价调整子程序。

3.6 键盘服务程序

键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦有按键按下,便转向相应的子程序处理,处理结束后再返回。

第13页 共29页

四川信息职业技术学院毕业设计说明书

第4章 系统调试

4.1 里程计价测试

由于试验条件有限,因此采用电动机附带霍尔元件作为车轮,电机为3V的直流电机,每分的转速可以达到几千转,设电机每转一圈为1米,当电机转动达到1000圈时,就表示已经到达了一公里,系统自动将当前的单价加到总金额上。

表1的测试条件是:设定白天的单价是2.5元,起步价为5元(包含3公里),分别行驶不同里程测得数据如下表。

表1 白天单价调整

公里 4 7.5 7.5 4 4 0 10 22.5 22 10 10 0.2% 15 35 35 15 15 0 37 90 90 37 36.9 0.02% 49 120 120 49 48.9 0.02% 59 145 145 59 59 0 总金额行驶里程理论实际理论实际 表2的测试条件是:晚上的单价设定为3.0元,起步价为5元(包含3公里),分别行驶不同里程测得数据如下表。

表2 晚上单价调整

公 里 误差 4 8 8 4 4 0 10 26 25.5 10 10 15 41 40.5 15 15 37 107 107 37 36.5 0.1% 49 143 143 49 49 0 59 173 173 59 59 0 总金额 行驶里程 理论实际理论实际误差 0.2% 0.1% 第14页 共29页

四川信息职业技术学院毕业设计说明书

表3的测试条件是:设定在单价为2.5元的情况下已经行驶了10公里,进行中途等待,分别等待不同的时间(10分钟为一个单位),起步价为5元(包含3公里)。

表3 中途等待单价调整

时 间20 30.5 30.5 0 0 40 38.5 38 0 0.1% 50 42.5 42.5 0 0 60 46.5 46 0 0.1% 70 50.5 50 0 0.1% 80 54.5 54.5 0 0 总金额误差理论实际理论实际 里程测试数据的分析:

通过表1、表2、表3的数据,我们可以看到系统的计价功能很稳定,误差很小,几乎为零,不过还应该在实际的应用中测试。

4.2 掉电存储测试

掉电存储是为了防止在系统掉电的情况下所存储的单价信息丢失,在此采用人为的掉电方法实现这一测试。

表4 掉电存储测试

白天单价 晚上单价 中途等待单价 掉电前数据 2.5 2.5 3.0 3.0 4.0 4.0 重新上电后数据 表4显示的数据表明,系统能在掉电的情况下正确的保存数据,并且能在系统上电后将数据读到相应的存储单元。

第15页 共29页

四川信息职业技术学院毕业设计说明书

第5章 结论

由于本设计使用的是单片机以及灵敏的霍耳开关型器件,使此出租车计价器具有功能强、性能可靠、电路简单、成本低的特点,而且还具有单价输出、单价调整、路程输出、显示当前的系统时间等功能,再加上经过优化的程序,使其有很高的智能化水平。

但是在我们设计和调试的过程中,也发现了一些问题,譬如计价的金额位数有限,实际的里程可能会很远,会超出我们的显示范围。计价器的设计还不够人性化,比如加上语音的提示功能,可能会更有生命力。

通过本次设计,让我学到了许多书本上无法学到的知识,也使我深深体会到单片机技术应用领域的广泛,不仅加强了我对所学的单片机知识的巩固,同时也让我对单片机这一门课程产生了更浓厚的兴趣。

在本次设计过程中,我学会了在网络上查找有关本设计的硬件资源,其中包括:AT89S51单片机及其引脚说明、AT24C02引脚图及其引脚功能和霍耳传感器的有关知识等,为本次设计提供了一定的资料。由于平时很少进行设计,所以对于设计报告的格式也是近期才接触到,经过这次的设计,为我以后的实际制作奠定了一定的基础。

第16页 共29页

四川信息职业技术学院毕业设计说明书

致 谢

时光飞逝,三年的努力与付出,随着论文的完成,终于让大学的生活,得以划下完美的句点。

论文得以完成,要感谢的人实在太多了,首先要感谢我的指导老师潘峰,因为论文是在潘老师的悉心指导下完成的。从课题的选择到设计的最终完成,潘老师都给予我细心的指导和不懈的支持。在他紧张而又繁忙的工作中,还要抽出一定的时间为我进行指导,这篇论文的每个实验细节和每个数据,都离不开他的细心指导。在此,谨向潘老师表示崇高的敬意和衷心的感谢!谢谢潘老师在我撰写论文的过程中给予我极大地帮助。

同时,论文的顺利完成,也离不开其他老师和同学的关心与帮助。例如在第2章的硬件设计部分,老师和同学给了我很多不同的建议,并给我提供了许多可行的方案。多亏了他们的帮助,才让我顺利的完成了这一章的内容。所以,在此,我也要感谢曾经帮助过我的老师和同学。

第17页 共29页

四川信息职业技术学院毕业设计说明书

参考文献

[1] 朱永金,成友才.单片机应用技术C语言.北京:中国劳动社会保障出版社,2007 [2] 张鑫,华臻,陈书谦.单片机原理及应用.北京:电子工业出版社,2005 [3] 丁元杰,吴大伟.单片微机实题集与实验指导书.北京:机械工业出版社,2004 [4] 熊建云.Protel99SE EDA技术及应用.北京:机械工业出版社.2007

第18页 共29页

C21nF3456101112X1CRYSTAL1DC319XTAL1SRG8U1U374HC1641nFXTAL2RC1/->18C18RST9129P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD739383736353433321uFR110k293031PSENALEEA四川信息职业技术学院毕业设计说明书

附录一 原理图

第19页 共29页

P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A152122232425262728U22A1SCLSDAWPAT24C102465712345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD1011121314151617+AMFM-&13 四川信息职业技术学院毕业设计说明书

附录二 源程序

DAY_PRICEEQU 6FH NIGHT_PRICEEQU 6EH MIDWAY_PRICEEQU 6DH START_PRICEEQU 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 ; 路程,单价显示缓冲区

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 AJMPMAIN ORG 0003H AJMPTO ORG 000BH AJMPTOTIME ORG 001BH AJMPTOSTART 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

第20页 共29页

四川信息职业技术学院毕业设计说明书

MOV R7,#34 MOV R0,#69H

LOOPL:MOV @R0,#0 DEC R0

DJNZR7,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

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 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

DJNZ R2, BK1

MOV PRICE,DAY_PRICE; 起动初始化 MOV COUNTL, #00H; 起步价 MOV COUNTH, #05H

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 MOV A, H2 SUBB A, H1 MOV H1, A

NXT2: CJNE A, #3, K3 MOV S33, #0 LCALL CP_DIS

K3: JB S4, BK_KEY_MAIN ACALL T10MSD

第21页 共29页

四川信息职业技术学院毕业设计说明书

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:JB S1, KY1 ACALL T10MSD 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: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 DAY_P:SETB F0 LCALL T100MSD LCALL T100MSD

MOV LEDDAY_PL, #0AH

第22页 共29页

四川信息职业技术学院毕业设计说明书

MOV LEDDAY_PH, #0AH LCALL PA_DIS1 LCALL T100MSD LCALL T100MSD LCALL PA_DIS

LP1: JB S3, KEY11 MOV A, #1

ADD A, DAY_PRICE 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 JB S2, KEY14

WAIT12:JNB S2, WAIT12 LJMP KEY_MAIN KEY14:AJMP DAY_P

NIG_P:SETB F0 ;调用定时延时标志位 LCALL T100MSD LCALL T100MSD

MOV LEDNIG_PL, #0AH MOV LEDNIG_PH, #0AH LCALL PA_DIS1 LCALL T100MSD LCALL T100MSD LCALL PA_DIS JB S3, KEY21 LCALL T10MSD JB S3, KEY21 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

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

第23页 共29页

四川信息职业技术学院毕业设计说明书

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 MOV LEDW_PL, #0AH MOV LEDW_PH, #0AH LCALL PA_DIS1 LCALL T100MSD LCALL PA_DIS JB S3, KEY31 LCALL T10MSD JB S3, KEY31

MOV A, MIDWAY_PRICE ADD A, #1 DA A

MOV MIDWAY_PRICE,A CJNE A, #99H, KEY31 MOV MIDWAY_PRICE, #00H CJNE A, #100, KEY31 MOV MIDWAY_PRICE, #0 KEY31: JB S4, KEY32 LCALL T10MSD JB S4, KEY32

MOV A, MIDWAY_PRICE ADD A, #99H DA A

MOV MIDWAY_PRICE,A CJNE A, #00H, KEY32 MOV NIGHT_PRICE,#99H KEY32: JB S1, KEY33 ACALL T10MSD JB S1, KEY33

WAIT18: JNB S1, WAIT18 INC S11 MOV A, S11 CJNE A, #1, NEXT51

LCALL DAY_P

NEXT51: CJNE A, #2,NEXT52 LCALL NIG_P

NEXT52: CJNE A, #3,NEXT53 LCALL MID_P

NEXT53: CJNE A, #4, KEY33 MOV S11, #0 LJMP KEY_DJ

KEY33: JB S2, KEY34 LCALL T10MSD JB S2, KEY34

WAIT31:JNB S2, WAIT31 LJMP KEY_MAIN KEY34: AJMP MID_P

HOU_T: SETB F0 ;调用定时延时标志位 LCALL T100MSD LCALL T100MSD MOV LEDHL, #0AH MOV LEDHH, #0AH

LCALL HMS_DIS1;直接调用显示,不经过拆分程序

LCALL T100MSD LCALL T100MSD MOV SEC, #0 LCALL HMS_DIS JB S3, KEY41 MOV A, HOUR ADD A, #1 DA A

MOV HOUR,A

CJNE A, #24H, KEY41 MOV HOUR, #0

KEY41: JB S4, KEY42 MOV A, HOUR ADD A, #99H DA A

MOV HOUR,A

CJNE A, #99H, KEY42 MOV HOUR, #23H

KEY42: JB S1, KEY43 ACALL T10MSD

第24页 共29页

四川信息职业技术学院毕业设计说明书

JB S1, KEY43

WAIT21: JNB S1, WAIT21 INC S11 MOV A, S11

CJNE A, #1,NEXT61 LJMP HOU_T

NEXT61: CJNE A, #2,NEXT62 LJMP MIN_T

NEXT62: CJNE A, #3,KEY43 MOV S11, #0 LJMP KEY_SJ

KEY43: JB S2, KEY44 LCALL T10MSD JB S2, KEY44

WAIT32: JNB S2, WAIT32 LJMP KEY_MAIN KEY44: AJMP HOU_T

MIN_T: SETB F0 ;调用定时延时标志位 LCALL T100MSD LCALL T100MSD MOV LEDML, #0AH MOV LEDMH, #0AH

LCALL HMS_DIS1;直接调用显示,不经过拆分程序

LCALL T100MSD LCALL T100MSD MOV SEC, #0 LCALL HMS_DIS JB S3, KEY51 MOV A, MIN ADD A, #1 DA A

MOV MIN, A

CJNE A, #60H, KEY51 MOV MIN, #0

KEY51: JB S4, KEY52 MOV A, MIN ADD A, #99H DA A

MOV MIN, A

CJNE A, #99H, KEY52 MOV MIN, #59H KEY52: JB S1, KEY53 ACALL T10MSD JB S1, KEY53

WAIT24: JNB S1, WAIT24 INC S11 MOV A, S11

CJNE A, #1,NEXT71 LCALL HOU_T

NEXT71: CJNE A, #2,NEXT72 LCALL MIN_T

NEXT72: CJNE A, #3,KEY53 SETB TR0 MOV S11, #0 LJMP KEY_SJ

KEY53: JB S2, KEY54 LCALL T10MSD JB S2, KEY54

WAIT33: JNB S2, WAIT33 LJMP KEY_MAIN KEY54: AJMP MIN_T TOTIME: PUSH PSW PUSH ACC

MOV TH0, #3CH MOV TL0, #0B0H INC MS100 MOV A, MS100

CJNE A, #10,RETURN MOV MS100,#0 MOV A, SEC ADD A, #1 DA A

MOV SEC,A

CJNE A,#60H,RETURN MOV SEC,#0 MOV A, #1H ADD A, MIN DA A

MOV MIN,A

CJNE A,#60H, RETURN MOV MIN,#0 MOV A, #1H ADD A, HOUR

第25页 共29页

四川信息职业技术学院毕业设计说明书

DA A

MOV HOUR,A

CJNE A, #24H,RETURN MOV HOUR,#0

RETURN: POP ACC POP PSW RETI

TO: PUSH PSW PUSH ACC MOV A,#1 ADD A,M100 MOV M100,A MOV A, M100

CJNE A, #100,RETURN1 MOV M100,#0 INC 21H MOV A,21H

CJNE A, #0AH, RETURN1 ;已经到了1公里

MOV 21H,#0 MOV A, #1

ADD A, DISTANCE DA A

MOV DISTANCE,A MOV A, PRICE ADD A, COUNTL DA A

MOV COUNTL,A

CJNE A, #10H,RETURN1 MOV COUNTL,#0 MOV A, #1

ADD A, COUNTH DA A

MOV COUNTH,A

CJNE A, #99H, RETURN1 MOV COUNTH,#0 RETURN1: POP ACC POP PSW RETI

TOSTART: PUSH PSW PUSH ACC

MOV TH1, #3CH MOV TL1, #0B0H

DJNZ 22H, RETURN2 ;1S未到返回 MOV 22H, #0AH MOV A, #1 ADD A, 23H DA A

MOV 23H, A

CJNE A, #60H, RETURN2 MOV 23H, #0 MOV A, #1 ADD A, 24H DA A

MOV 24H,A

CJNE A, #10H, RETURN2 MOV 24H, #0

MOV A, START_PRICE ADD A, COUNTL DA A

MOV COUNTL,A

CJNE A, #10H, RETURN2 MOV COUNTL, #0 MOV A, #1

ADD A, COUNTH DA A

MOV COUNTH,A

CJNE A, #99H,RETURN2 MOV COUNTH,#0 RETURN2: POP ACC POP PSW RETI

HMS_DIS:PUSHACC PUSHPSW SETBRS1

MOV R0,#SEC ;时分秒的拆分(三个字节) MOV R1,#LEDSL MOV R6,#03H

LOOP1:MOV A, @R0 MOV B, A ANL A, #0FH MOV @R1,A DEC R1 MOV A, B

第26页 共29页

四川信息职业技术学院毕业设计说明书

SWAPA

ANL A, #0FH MOV @R1,A DEC R1 DEC R0

DJNZR6,LOOP1 POP PSW POP ACC

HMS_DIS1: PUSH ACC PUSH PSW MOV R7,#06H MOV R0,#LEDSL LOOP: MOVA, @R0 MOVDPTR,#TAB MOVCA,@A+DPTR MOV SBUF,A

BK: JBCTI,NEXT SJMPBK

NEXT: DECR0 DJNZR7,LOOP CLRRS1 POPPSW POPACC RET

CP_DIS:PUSH ACC PUSH PSW SETB RS1

MOV R0,#COUNTH ; MOV R1,#LEDCOUNT2 MOV A, @R0 MOV B, A ANL A, #0FH MOV @R1,A DEC R1 MOV A, B SWAPA

ANL A, #0FH MOV @R1,A

MOV LEDCOUNT1,COUNTL

MOV A,LEDCOUNT1 ;送总金额低位 MOV DPTR,#TAB MOVC A, @A+DPTR MOV SBUF,A JNB TI,$ CLR TI

MOV A,LEDCOUNT2 ;送总金额中位 MOV DPTR,#TAB MOVC A,@A+DPTR CPL ACC.4 MOV SBUF,A JNB TI, $ CLR TI

MOV A,LEDCOUNT3 ;送总金额高位 MOV DPTR,#TAB MOVC A,@A+DPTR MOVSBUF,A JNB TI,$ CLR TI CLR RS1

MOV SBUF,#0FEH ;送短线(短线的字型码是0FEH) JNB TI, $ CLR TI

MOV R0,#PRICE;单价拆分(两个字节) MOV R1,#LEDDANJIAL MOV R6,#03H MOV A, @R0 MOV B, A ANL A, #0FH MOV @R1,A DEC R1 MOV A, B SWAPA

ANL A, #0FH MOV @R1,A DEC R1

MOV A,LEDDANJIAL ;送单价低位 MOV DPTR,#TAB MOVC A,@A+DPTR MOV SBUF,A JNB TI, $ CLR TI

MOV A, LEDDANJIAH ;送单价高位 MOV DPTR,#TAB

第27页 共29页

四川信息职业技术学院毕业设计说明书

MOVCA,@A+DPTR CPL ACC.4 MOV SBUF,A JNB TI,$ CLR TI POP PSW POP ACC RET

DP_DIS:PUSH ACC PUSH PSW SETB RS1

MOV R0,#PRICE ;单价的拆分(一个字节) MOV R1,#LEDDANJIAL MOV A, @R0 MOV B, A ANL A, #0FH MOV @R1,A DEC R1 MOV A, B SWAPA

ANL A, #0FH MOV @R1,A DEC R1

MOV A,LEDDANJIAL ;送单价低位 MOV DPTR,#TAB MOVC A,@A+DPTR MOV SBUF,A JNB TI, $ CLR TI

MOV A,LEDDANJIAH ;送单价高位 MOV DPTR,#TAB MOVCA,@A+DPTR CPL ACC.4 MOV SBUF,A JNB TI,$ CLR TI

MOV SBUF,#0FEH ; JNB TI, $ CLR TI

MOV SBUF,#0FEH ;送短线 JNB TI,$ CLR TI MOV R0,#DISTANCE MOV R1,#LEDDISTANCEL MOV A, @R0 MOV B, A ANL A, #0FH MOV @R1,A DEC R1 MOV A, B SWAPA

ANL A, #0FH MOV @R1,A DEC R1

MOV A,LEDDISTANCEL ;送路程低位 MOV DPTR,#TAB MOVC A,@A+DPTR MOV SBUF,A JNB TI, $ CLR TI

MOV A,LEDDISTANCEH ;送路程高位 MOV DPTR,#TAB MOVC A,@A+DPTR MOVSBUF,A JNB TI,$ CLR TI CLR RS1 POP PSW POP ACC RET

PA_DIS:PUSH ACC PUSH PSW SETB RS1

MOV R0,#DAY_PRICE ;价格调整拆分(三个字节)

MOV R1,#LEDDAY_PL MOV R6,#03H

LOOP2:MOV A, @R0 MOV B, A ANL A, #0FH MOV @R1,A DEC R1 MOV A, B SWAPA

第28页 共29页

四川信息职业技术学院毕业设计说明书

ANL A, #0FH MOV @R1,A DEC R1 DEC R0

DJNZR6,LOOP2 POP PSW POP ACC

PA_DIS1:PUSH ACC PUSH PSW

MOV A,LEDDAY_PL ;白天单价 MOV DPTR,#TAB MOVC A,@A+DPTR MOV SBUF,A JNB TI, $ CLR TI

MOV A, LEDDAY_PH MOV DPTR,#TAB MOVCA,@A+DPTR CPL ACC.4 MOV SBUF,A JNB TI,$ CLR TI

MOV A,LEDNIG_PL ;晚上单价 MOV DPTR,#TAB MOVCA,@A+DPTR MOV SBUF,A JNB TI, $ CLR TI

MOV A,LEDNIG_PH MOV DPTR,#TAB MOVC A, @A+DPTR CPL ACC.4 MOV SBUF,A JNB TI,$ CLR TI

MOV A,LEDW_PL ;中途等待单价MOV DPTR,#TAB MOVC A,@A+DPTR MOV SBUF,A JNB TI, $ CLR TI

MOV A,LEDW_PH

MOV DPTR,#TAB MOVC A,@A+DPTR CPL ACC.4 MOVSBUF,A JNB TI,$ CLR TI CLR RS1 POP PSW POP ACC RET TAB:DB

11H,0D7H,32H,92H,0D4H,98H,18H,0D1H,10H,90H,0FFH

T10MSD: SETBRS0; 10毫秒延时程序 MOVR4,#12

TM:MOVR3,#128 TM6:DJNZR3,TM6 DJNZR4,TM CLRRS0 RET

T100MSD: MOV R3, #200 D11: MOV R4, #125 D12: DJNZ R4, D12 DJNZ R3, D11 RET END

第29页 共29页

四川信息职业技术学院 毕业设计(论文)评语

学生姓名 设计(论文)题目 李远珍 学号 0620056 班级 通技06-2 专业 通信技术 多功能出租车计价器 指导教师 潘锋、谭望春 指导老师考核意见 等级: 指导教师: 答辩 评语 总评 成绩 备注

等级: 答辩老师: 等级: 考核小组组长: 以上两项成绩综合后,指导老师考核成绩占总分的60%,答辩成绩占总分的40%,按五级记分(优、良、中、及格、不及格)。

本文来源:https://www.bwwdw.com/article/925.html

Top