出租车计费系统设计毕业论文.doc
《出租车计费系统设计毕业论文.doc》由会员分享,可在线阅读,更多相关《出租车计费系统设计毕业论文.doc(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 摘 要出租车计价器是出租车营运收费的专用智能仪表,多年来国内使用的采用模拟电路和数字电路设计的只具备单一的计量功能的计价器越来越不能满足人们的需要。为此,本文采用单片微型计算机系统(Micro Control Unit 简写为MCU)设计了一款符合大众化的计费系统。该设计采用89C51单片机为主体,附加较少的硬件和适当的软件相互配合实现了设计的要求。本文中的设计利用51系列单片机丰富的I/O资源、中断系统、定时计数功能和汇编语言指令系统实现了计价器的自检,初始化功能、路程采集和处理和各类显示程序、掉电存储功能、打印发票、语音提示等功能。通过连接在并行口P1的按键的切换实现了计费数据,路程单价
2、金额单价等的查询。另外,该系统通过单片机的串口还实现了计价器与PC的串行通信,方便公司统一对出租车进行调价。文中系统的阐述了软件设计思路。关键字:单片机;路程采集;自检;初始化;The taximeter is the special-purpose intelligence instrument that the taxi operation charged, Adoption simulation circuit and whom digital circuit design that use at home for many years possess single measuremen
3、t meter of function can meet demands of people more and more only. The taximeter, as a kind of commonly more used national metrical instrument, used on taxi by the extensive one, it is a standard basis that the taxi trade collects the charges. This design uses the 89C51 monolithic integrated circuit
4、 is a main body, attached less hardware and suitable software mutually coordinates to realize the design request We used 51 series monolithic integrated circuits rich I/O resources, the interruption system, fixed time count the function and the assembly language command system have realized mileage
5、fare meter self-checking, the initialization function, distance gathering and processing and each kind of demonstration procedure, fall electricity function and so on memory function, printing receipt, voice prompt. Realized through the connection in the parallel mouth P1 pressed key cut has cost th
6、e data, the distance unit price amount unit price and so on the inquiry. Moreover, this system has also realized the mileage fare meter and the PC serial communication through the monolithic integrated circuit string mouth. In article systematic elaboration software design mentalityKeyword:Monolithi
7、c; Distance gathering; Self-checking; Initialization; Demonstrates the procedure目录第一章 绪论第二章 总体方案设计 .2.1 软件设计思路 2.2 模块介绍.第三章 软件设计3.1 主程序. 1 存储单元的定义.2 主程序的设计3.2 中断程序的设计.1 MCS-51的中断系统. 2 定时中断设计.3 里程计数处理.4 打印中断服务程序的设计.3.3 各类显示程序设计. 3.4 通信程序设计3.5 语音程序设计. 第四章 软件调试.总结(21)致谢.(22)参考文献.(23)附录.(24)第一章 绪论随着电子技术
8、的发展,出租车计价器技术也在不断进步和提高,国内出租车计价器已经经历了四个阶段的发展,从传统的全部由机械元器件组成的机械式,到半电子式即用电子线路代替部分机械元器件的出租车计价器,再从集成电路式到目前的单片机系统设计的出租车计价器。采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。作为一个毕业设计的课题,我本着从大处着眼,从小处入手的原则,对单片机的应用做了一些初步的尝试和探讨.我利用了AT89C51单片机串行口以及外接的移位寄存器芯片74LS164实现了扩展并行I/O接口功能
9、,我们采用单片机进行设计,相对来说功能强大,利用89C51单片机丰富的I/O口资源、汇编语言指令系统和控制的灵活性可以来实现多种功能。用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。针对计费模式的切换,通过软件编程就可以轻易而举的实现。避免了机械开关带来的不稳定因素。本次设计的计价器不但能实现基本的计价,在不计价的时候还能作为时钟为司机同志提供方便。还能显示总路程单价和总金额单价,以便乘客查询。为了方便乘客打印发票,还增加了打印的功能。添加的语音提示系统更是体现了人性化的服务。为了方便出租车公司统一管理和调整单价,本次设计利用计价器与
10、PC机通信,完成了数据回收、处理、状态设置、单价修改等功能。第二章 总体方案设计2.1 软件设计思路出租车计价器的软件设计需完成计价器的自检初始化、数据显示以及路程采集与计算、票据生成与票据打印、串行口通讯程序、语音处理、时钟处理等功能。整个硬件电路设计采用的是89C51单片机为核心,采用51系列单片机的汇编言为编程语言完成计价系统功能设计。89C51单片机具有丰富的I/O口资源,可以利用这些并行口连接按键、芯片控制单片机来实现这些功能。单片机资源使用情况如下:1 I/O口的使用:并行口P0用于连接GP-16打印机的数据线。P1.0、P1.1口用于模拟串口通讯。P2口用于连接语音芯片ISD25
11、00。P3.5用于连接计价器开关。P3.6、P3.7用于连接GP-16打印机的读写线。2 中断口的使用:INT0用于里程中断接收光电耦合电路送来的脉冲。 T0用于时钟中断 串行口用于显示3 内存分配及使用:单价存储单元: 6FH起步价存储单元: 6EH总金额存储单元: 6DH、6CH里程(行车距离)存储单元: 6BH、6AH里程计数存储单元: 69H时分秒计数单元: 68H、67H、66H时分秒显示缓冲单元: 65H、64H、63H、62H、61H、60H里程显示缓冲单元: 5FH、5EH单价显示缓冲单元: 5DH起步价显示缓冲单元: 5CH总金额显示缓冲单元: 5BH、5AH2.2 模块介绍
12、该系统软件主要由主程序模块、定时中断服务程序、里程计数处理服务程序、键盘服务程序、显示子程序服务程序、打印中断服务程序、语音提示服务程序、与PC的串行通信服务程序等八大模块组成。时钟处理程序在定时中断服务程序中,每100ms 产生一次中断,当产生10 次中断的时候,也就到了一秒,送数据到相应的显示缓冲单元,并调用显示子程序实时显示。实现实时显示的功能。里程计数处理程序每当光电耦合电路送来一次脉冲,单片机就中断一次,使微机进入里程计数中断服务程序中。在该程序中,对当前行驶里程数和总额的累加操作,并将结果存入里程和总额寄存器中。显示子程序服务程序本次设计要用到3个显示子程序,分别是:时分秒显示子程
13、序(HMS_DIS)、金额单价显示子程序(CP_DIS)、路程单价显示子程序(DP_DIS)。三个显示程序的设计原理方法类似。 打印中断服务程序在这个程序中,实现了对日期、总金额、路程、单价等基本信息的打印功能。 根据按键开关的电平变化来具体执行相应的打印操作。 语音提示服务程序在这个程序中实现语音的录放功能1、录音 跳线插在“REC”一侧是录音状态,按住“AN”键不放,指示灯亮即可对着板上话筒讲话录音,松键时录音停止并形成一段。再按则录下一段。按“STOP”键为复位,再录音时又从第一段开始。2、放音 跳线插在“PLAY”一侧是放音状态,按一下“AN”键即播放一段,一段结束后自动停止放音,再按
14、“AN”则播放下一段。按“STOP”键为复位,再放音时又从第一段开始。 与PC的串行通信服务程序在这个程序中,利用单片机的模拟串行口与接口芯片MAX232的收发端相连。实现多台计价器与PC的串行通信。程序主要包括主机程序(由主机主程序和通信子程序组成)、从机主程序和其中断服务程序组成。主机程序主要完成对8251A的初始化以及主机与从机之间的通信。而从机主程序主要完成对串行口的初始化、波特率的设置(应与89C51的波特率一致),它的中断程序主要用来完成89C51单片机与PC机的数据通信。第三章 软件设计3.1 主程序 1存储单元的定义伪指令在源程序中的作用是为完成汇编程序作各种准备工作,这些伪指
15、令仅在汇编过程中起作用,一旦汇编结束,伪指令的使命就完成。在汇编程序MPASM中,有四类伪指令:数据伪指令、列表伪指令、控制伪指令和宏汇编指令。设计中用到的存储单元比较多,所以在主程序前先用EQU 标号赋值伪指令来定义。程序中要定义不同的单价、金额、中断次数、显示缓冲区等存储单元。2主程序的设计在主程序模块中,需要完成对各接口芯片的初始化、出租车起价和单价的初始化、中断向量的设置以及开中断等工作。另外,在主程序模块中还需要设置启动/清除标志寄存器、里程寄存器和价格寄存器,并对它们进行初始化。并调用显示数据子程序,里程、总金额均显示为零。主程序完成这些工作后,就要对开关按键进行检查,判断与开关相
16、连的引脚P3.5有无电平的变化。若有,则判断是从高电平跳至低电平(即开始载客)还是从高电平跳至低电平(即乘客下车)若开始载客则主程序调用语音程序和打印程序,打印固定字如:日期、时间等。若乘客下车则主程序调用语音程序和打印程序,打印里程、金额、单价等数据。设计程序的入口地址0000H,外部中断和定时器/计数器TO的入口地址(0003H)、外部中断0的入口地址(0013H)、初始化堆栈指针SP(70H)、设置定时器/计数器的工作方式并对工作寄存器赋初值。主程序的程序流程图如图3-1所示:各寄存器单元初始化自检初始化开始显示数据判键,开关电平有变化吗?NYN1-0?Y关外部中断开外部中断调用语音程序
17、调用语音程序调用打印程序调用打印程序结束图3-1 主程序流程图32 中断程序的设计1 MCS-51的中断系统 MCS-51单片机的中断系统有5个中断请求源,具有2个中断优先级,可实现2级中断服务程序嵌套。当CPU支持中断屏蔽指令后,可将一部分或所有的中断关断,只有打开相应的中断控制位后,方可接收相应的中断请求。程序设置中断的允许或屏蔽,也可设置中断的优先级。CPU响应中断请求后,就立即转入执行中断服务程序。中断是在执行其它任务的过程中转去执行临时的任务,为了在执行完中断服务程序后,回头执行原先的程序时,知道程序原来在何处打断的,各有关寄存器的内容如何,就必须在转入执行中断服务程序前,将这些内容
18、和状态进行备份即保护现场。就象文章开头举的例子,在看书时,电话玲响需传去接电话时,必须在书本上做个记号,以便在接完电话后回来看书时,知道从哪些内容继续往下看。计算机的中断处理方法也如此,中断开始前需将个有关寄存器的内容压入堆栈进行保存,以便在恢复原来程序时使用。 中断服务程序完成后,继续执行原先的程序,就需把保存的现场内容从堆栈中弹出,恢复积存器和存储单元的原有内容,这就是现场恢复。在中断处理进行过程中,可能又有新的中断请求到来,这里规定,现场保护和现场恢复的操作是不允许打扰的,否则保护和恢复的过程就可能使数据出错,为此在进行现场保护和现场恢复的过程中,必须关闭总中断,屏蔽其它所有的中断,待这
19、个操作完成后再打开总中断,以便实现中断嵌套。既然有中断产生,就必然有其具体的需执行的任务,中断服务程序就是执行中断处理的具体内容,一般以子程序的形式出现,所有的中断都要转去执行中断服务程序,进行中断服务。执行完中断服务程序后,必然要返回,中断返回就是被程序运行从中断服务程序转回到原工作程序上来。在MCS-51单片机中,中断返回是通过一条专门的指令实现的,自然这条指令是中断服务程序的最后一条指令。 图 3-2 MCS-51的中断系统中断源的5个入口地址为:外部中断0(INT0) 0003H、定时器T0中断 000BH、外部中断0(INT1) 0013H、定时器T1中断 001BH、串行口中断 0
20、023H2 定时中断的设计一个时钟的计时累加,要实现分、时的进位,要用到多种进制,秒、分、时中的进位是十进制,秒向分进位和分想时进位却是六十进制,而每天又有十二小时制或二十四小时制,它们分别又是十二进制和二十四进制。从秒到分和从分到小时可以通过软件累加和数值比较方法实现。本次设计采用定时器T0溢出中断。定时器/计数器T0有4种工作方式,要产生1S的定时,时间比较长,由于方式0最长可定16.384ms;方式1最长可定时131.072ms;方式2最长可定时512us,可见,可选方式一,每隔100ms中断一次,中断10次则为1S。初值计算方法为: (216X)210-6=0.1SX=15536=3C
21、B0HTH0=3CH,TL0=B0H当中断次数满10次即到了1S后,秒存储单元加一,并将中断次数存储单元清零。当秒存储单元计满60后,分存储单元加一,并将秒存储单元清零。当分存储单元计满60后,小时存储单元加一,并将分存储单元清零。当小时存储单元计满24后,清零。时钟中断的程序流程图如图3-3所示:图3-3 时钟中断程序流程图3 里程计数处理 电路中在汽车底盘车轮经过的地方安装一个光电耦合接收电路,在车轮上安装光电耦合发射电路,当车轮转动一圈(设车轮转动一圈为5米),每次接收电路接收到来自发射电路的信号的时候,就向单片机发送脉冲,通过计算脉冲,可以算出车轮运动的圈数,进而得出行车距离。每来一次
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 出租车计费系统设计 毕业论文 出租车 计费 系统 设计
限制150内