出租车计费系统设计毕业论文.doc

上传人:文库蛋蛋多 文档编号:3936005 上传时间:2023-03-28 格式:DOC 页数:41 大小:253.50KB
返回 下载 相关 举报
出租车计费系统设计毕业论文.doc_第1页
第1页 / 共41页
出租车计费系统设计毕业论文.doc_第2页
第2页 / 共41页
出租车计费系统设计毕业论文.doc_第3页
第3页 / 共41页
出租车计费系统设计毕业论文.doc_第4页
第4页 / 共41页
出租车计费系统设计毕业论文.doc_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《出租车计费系统设计毕业论文.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 measurement

3、 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 f

5、are 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 the

6、 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:Monolithic

7、; 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口资源、汇编语言指令系统和控制的灵活性可以来实现多种功能。用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。针对计费模式的切换,通过软件编程就可以轻易而举的实现。避免了机械开关带来的不稳定因素。本次设计的计价器不但能实现基本的计价,在不计价的时候还能作为时钟为司机同志提供方便。还能显示总路程单价和总金额单价,以便乘客查询。为了方便乘客打印发票,还增加了打印的功能。添加的语音提示系统更是体现了人性化的服务。为了方便出租车公司统一管理和调整单价,本次设计利用计价器与P

10、C机通信,完成了数据回收、处理、状态设置、单价修改等功能。第二章 总体方案设计2.1 软件设计思路出租车计价器的软件设计需完成计价器的自检初始化、数据显示以及路程采集与计算、票据生成与票据打印、串行口通讯程序、语音处理、时钟处理等功能。整个硬件电路设计采用的是89C51单片机为核心,采用51系列单片机的汇编言为编程语言完成计价系统功能设计。89C51单片机具有丰富的I/O口资源,可以利用这些并行口连接按键、芯片控制单片机来实现这些功能。单片机资源使用情况如下:1 I/O口的使用:并行口P0用于连接GP-16打印机的数据线。P1.0、P1.1口用于模拟串口通讯。P2口用于连接语音芯片ISD250

11、0。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、串行口中断 00

20、23H2 定时中断的设计一个时钟的计时累加,要实现分、时的进位,要用到多种进制,秒、分、时中的进位是十进制,秒向分进位和分想时进位却是六十进制,而每天又有十二小时制或二十四小时制,它们分别又是十二进制和二十四进制。从秒到分和从分到小时可以通过软件累加和数值比较方法实现。本次设计采用定时器T0溢出中断。定时器/计数器T0有4种工作方式,要产生1S的定时,时间比较长,由于方式0最长可定16.384ms;方式1最长可定时131.072ms;方式2最长可定时512us,可见,可选方式一,每隔100ms中断一次,中断10次则为1S。初值计算方法为: (216X)210-6=0.1SX=15536=3CB

21、0HTH0=3CH,TL0=B0H当中断次数满10次即到了1S后,秒存储单元加一,并将中断次数存储单元清零。当秒存储单元计满60后,分存储单元加一,并将秒存储单元清零。当分存储单元计满60后,小时存储单元加一,并将分存储单元清零。当小时存储单元计满24后,清零。时钟中断的程序流程图如图3-3所示:图3-3 时钟中断程序流程图3 里程计数处理 电路中在汽车底盘车轮经过的地方安装一个光电耦合接收电路,在车轮上安装光电耦合发射电路,当车轮转动一圈(设车轮转动一圈为5米),每次接收电路接收到来自发射电路的信号的时候,就向单片机发送脉冲,通过计算脉冲,可以算出车轮运动的圈数,进而得出行车距离。每来一次脉

22、冲,外部中断T0发出向单片机发出中断请求,与此同时,存储外部中断次数的存储单元(即里程中断次数存储单元)加一。当里程中断次数存储单元(69H)到达20后,即到了0.1公里,清零69H。同时里程存储单元(6AH)的低位增一。当里程存储单元低位计数到了9之后,朝高位进位,自身清零。6AH单元的高位增一,即到了一公里。并进行DA调整。采用这样累积进位的方法来进行路程的采集。当空车时,计价器总金额显示零,当按键开关由高电平跳至低电平时,总金额显示4元的起步价,如果行车距离未超过2公里,则总金额存储单元的值不变。若超过了2公里,则按每0.1公里0.2元的价格累积。其记价方法类似于里程数据的累积采集。里程

23、处理中断里程图如图3-4所示:里程中断DA调整NYYN中断返回里程存储单元高字节增一C=1?DA调整里程存储单元低字节增一(69H)=20?里程中断次数存储单元(69H)增一图3-4 里程处理中断流程图计价流程如图3-5所示:YNNNYY停止计价和里程计数有接收脉冲吗?总路程加0.1总金额加0.2超过了2公里吗?总路程加0.1总金额不变够0.1公里吗?有里程的中断吗?按键开关被按下图3-5 计价流程图4 打印中断服务程序的设计本次设计采用GP-16智能微型打印机,由89C51单片机控制,通过并行P0接口与打印机的数据线相连。若开始载客(即按键开关的电平由高跳至低)则主程序调用语音程序和打印程序

24、,打印固定字如:日期、时间等。若乘客下车(即按键开关的电平由低跳至高)则主程序调用语音程序和打印程序,打印里程、金额、单价等数据。GP16为针式打印机,打印命令站2字节,字符本身占据7个点行。并行口P0与打印机的I/O口相连,这样,GP16的打印机地址为7FFFH,读取时,用指令 MOV DPTR,#7FFFHMOVX A,DPTR,将命令或数据写入时,执行指令 MOV DPTR,#7FFFH MOV A,#DATA MOVX DPTR,A33 各类显示程序的设计 设计中有3个显示子程序,分别是:时分秒显示子程序(HMS_DIS)、金额单价显示子程序(CP_DIS)正常、路程单价显示子程序(D

25、P_DIS)。采用LED 数码管显示。每位数码管由7个笔画加上小数点共8个发光二极管组成;数码管有共阴极和功阳极两种类型。公共端用来进行位控制,笔画端用来进行字符控制,在不同的的笔型码驱动下显示不同的字符;数码管显示有静态显示和动态显示两种方法;设计采用三总线的串行显示。单片机并行I/O口数量总是有限的,有时并行口需作其他更重要的用途,一般不会用数量众多的并行I/O口专门用来驱动显示电路。89C51的串行通信口是一个功能强大的通信口,而且是相当好用的通信口,用于显示驱动电路再合适不过了,本文就根据这种需要设计一个用两个串行通信口线,设计8位LED显示电路。 采用89C51单片机,同时用廉价易得

26、的74LS164作为扩展芯片。74LS164是一个8位串入并出的移位寄存器,其此处的功能是将89C51串行通信口输出的串行数据译码并在其并口线上输出,从而驱动LED数码管。74LS164兼做数码管的驱动,插头分别接数据和脉冲输出端。使用串行口进行LED通信,程序编写只需将需显示的数据直接送串口发送缓冲器,等待串行中断即可。使用资源包括第三组寄存器R7、R6、R1、R0。 设计思路为: 显示子程序可分为两部分。一是将要显示的内容送入显示缓冲区。二是将显示缓冲区的内容写入串口的发送缓冲器SBUF启动发送显示。方法是首先将显示内容拆分成几个字节,再把低位显示单元地址送入R0,低位显示缓冲区的首地址送

27、入R1,R6赋值循环次数。利用一个循环来实现将存储单元内容送入显示缓冲区。具体方法是:用数据传送指令MOVA, R0,将低位存储单元内容送入累加器A,再复制一份于寄存器B中,并用指令ANL A,#0FH保存低4位,即先将低位存储单元内容的低4位送入显示缓冲区的低位:LED*L,再将寄存器B中的内容送入累加器A,用指令SWAP A,交换A的高低字节,再用指令ANL A,#0FH保存低位存储单元的高4位高。送入秒的高4位显示缓冲区:LED*H。这样就完成了低位显示单元的显示。再用指令DEC R1,指向下一个显示缓冲区,用指令DEC R0,指向显示存储单元。由于有几位要显示就循环几次,依次完成将它们

28、送入显示缓冲单元的功能。接下来是将显示缓冲单元的内容送入串口发送缓冲器中。具体方法是设定循环次数,寄存器R0指向显示缓冲单元的首地址,在循环中,先将首地址送入A,笔型码表首地址送入数据指针DPTR,再用查表指令MOVC A ,A+DPTR将笔型码送入A,再经A送入串口发送缓冲器中,为检查有没有发送完,可用指令JBC TI,REL来检测,当串口的发送中断标志位为1则表示已经发送完毕,可以接收下一条的发送,并清除该位。串行口显示的程序流程图3-6所示:开始初始化串口将要显示的内容送入显示缓冲区指针指向笔型码表首址段选码送串口的SBUFTI=0?TI清零表指针自加1送完后TI清零结束NY图3-6 串

29、行显示程序流程图34 通信程序设计 89C51 单片机通过普通I/O 口P1.0、P1.1实现模拟串口通信.由于PC 系列微机串行口为RS232C 标准接口,与输入、输出均采用TTL 电平的89C51 单片机在接口规范上不一致,因此TTL电平到RS232 接口电平的转换采用MAXIM 公司的MAX232 标准RS232接口芯片,该芯片可以用单电压(+5V)实现RS232接口逻辑“1”.由于RS-232C使用-3V到-25V表示数字“1”,使用3V到25V表示数字“0” RS-232C在空闲时处于逻辑“1”状态,在开始传送时,首先产生一位起始位,起始位为一个宽度的逻辑“0”状态,紧随其后为要传送

30、的数据,所传数据的最低位开始依次送出,并以一个结束位标志该字节传送结束,结束位为一个宽度的逻辑“1”状态。MCS51用于多机通信时必须工作在方式2或方式3。这里设计采用的是方式3,每发送一帧数据为11位:1位起始位(0),8位数据位和1位停止位(1),附加的第9位数据在非多机系统中为奇偶校验位,在发送端有SCON的TB8产生,在接收端传送到SCON的RB8。它还可设定为“0”或“1”作为在多机通信中区分数据帧(0标志)还是地址帧(1标志)的标志。在MCS51多机系统中有以下协议:所有的各从机均处于听命状态,即SM21,以便接收主机发来的地址,当接收到一帧信息的RB8为“1”时,表示主机发送来的

31、是地址信息,所有的从机均发生接收中断,否则中断屏蔽。当一从机进入相应的中断服务程序,把接收到的地址和本机的地址比较,如果相符合就令其SM20,并向主机发回本机地址以作应答,该从机就与主机联通,准备接收主机发来的命令或数据信息,而其他的未被寻址从机保持SM21并退出各自的中断服务程序。这样,只有SM20的从机才能接收到主机发送来的数据信息,顺利实现地址帧和数据帧的分离。被寻址从机在通信完成后重新使SM21,并退出中断服务程序,等待下次通信。 要实现单片机和PC机的正常通信,必须正确设定它们两者之间的通信方式,保证双方都用相同的波特率、起始位、停止位、奇偶校验位,并且要建立双方通信的应答信号。 单

32、片机既可工作在同步移位寄存器方式下也可工作在UART(通用异步收发器)下。串行口的通信方式是由特殊功能寄存器SCON来控制的。其各控制定义如下: SM0,SM1:工作模式设定位;SM2:允许使用方法2、3多机通信控制位;RB8:接收数据第9位;TB8:发送数据第9位;TI:发送中断标志;RI:接收中断标志。设计中工作方式为3,即9位UART定时器T1作为波特率发生器,工作在方式2,若选定波特率为1200bps,则计数初值为0E8H(SMOD0,时钟频率Fosc为11059MHz)。 PC机的异步通信接口为INTEL8951A,它可设定1位、15位或2位停止位,数据可在58位之间选择,通信频率为

33、096Kbps,有奇偶校验、帧校验、溢出校验三种方式。可通过对它写入一定的方式控制字、命令控制字从而进行初始化。它与MCS51的连接如前面所示,则它的数据口地址为0F0H,控制口地址为0F1H。它的工作状态寄存于其状态字寄存器中,可由MCS51的CPU读取。通信协议如下:(1)串行通信波特率为1200bps;(2)帧格式为8位数据位,一位起始位,一位可编程的第9位(即发送和接收的地址数据位的标志位),一位停止位;(3)主机和从机遵循主从原则,主机用呼叫方式选择从机,数据在主机和从机之间双向传递,各从机之间的相互通信需通过主机作为中介;(4)主从机之间传送一些供它们识别的命令和状态字, 00H表

34、示主机发送从机接收命令,以01H表示从机发送主机接收命令等。主从机的程序流程图分别如图3-7.3-8所示:YYNNYN返回数据发送给缓冲区修改从机地址指针向分机发送命令地址相符?命令被接收没?分机应答?发送从机地址89C51初始化开始命令从机复位 图3-7 主机程序流程图 图3-8 分机程序流程图3.5 语音程序设计语音电路的设计采用语音芯片ISD2500,2500 系列内置了若干操作模式,可用最少的外围器件实现最多的功能。操作模式也由地址端控制:当最高两位都为1 时,其它地址端置高就选择某个(或某几个)模式。因此操作模式和直接寻址相互排斥。操作模式可由微控制器,也可由硬件实现。使用操作模式有

35、两点注意:(1)所有操作最初都是从0 地址,即存储空间的起始端开始。后续操作根据所选用的模式可从其它地址开始。而且,电路由录转为放,或由放转为录时(M6 模式除外),或执行了掉电周期后,地址计数器复位为0。(2)当/CE变低,最高两位地址位同高时,执行操作模式。这种操作模式一直有效,除非/CE 再次由高变低,芯片重新锁存当前的地址/模式端电平,然后执行相应操作。录音时,按下录音键,单片机通过口线设置语音段的起始地址,再使PD端、P/R端和/CE端为低电平启动录音;结束时,松开按键,单片机又让/CE端回到高电平,即完成一段语音的录制。同样的方法可录取第二段、第三段、 。特别值得注意的是,录音时间

36、不能超过预先设定的每段语音的时间。放音时,根据需播放的语音内容,找到相应的语音段起始地址,并通过口线送出。再将P/R端设为高电平,PD端设为低电平,并让/CE端产生一负脉冲启动放音,这时单片机只需等待ISD2500的信息结束信号,即/EOM的产生。信号为一负脉冲,在负脉冲的上升沿,该段语音才播放结束,所以单片机必须要检测到/EOM的上升沿才能播放第二段,否则播放的语音就不连续,而且会产生啪啪声。录放音的程序流程图如图3-9、3-10所示:单片机ROM中以表格形式依次存放语音的各段长度,起始地址没假设播报由M段语音组合而成,分为A、B、C段语音发送地址为m(m=A、B、C.)的SETPLAY,后

37、发PLAYN第m段延时时间到没?YmM?发STOP命令返回图3-9 单片机对多段语音的组合播放控制声卡播放第n段的语音发送地址为第n(n=1N)段语音的SETREC,后发REC读取录入语音数据库,段数N各段文件名、长度、起始地址上电初始化,发POWERUPN第n段延时时间到?Y发STOP命令NnN?Y返回图3-10 PC机控制录音的流程图第四章 软件调试本次系统软件采用汇编语言编写,它是面向机器的语言,助记符指令和机器指令一一对应,系统的调试在TKStudio IDE集成开发环境下进行。软件调试先按模块分别调试,然后再链接起来进行总调。一般的调试步骤为:(1) 点击TKStudio图标,进入T

38、KStudio IDE 集成开发环境。(2) 打开菜单栏下的新键工程,输入工程名,点击保存,选用Atmel89C51芯片。再打开菜单栏中的新建文件,输入文件名。然后开始输入程序。如果是调试一个已经存在的“工程”,可在“工程”菜单中选取“打开工程”项,然后找到需要打开的“工程”,例如打开TKStudio的“samples”中两个实例之一,例如asm_mpj中的float.mpj。(3) 在程序输入完成后,对程序进行编译,查找错误,直到程序没有错误。(4) 在“工程”菜单中选取“配置目标工程”项,选取“调试”栏目,“使用仿真器”,并进一步对仿真器进行设置。(5) 点击“构建”工具按钮(或F7键)。

39、(6) 点击“启动/停止调试”工具按钮,进入调试状态,就可以用各个调试工具按钮进行调试。调试中可以在“查看”菜单中打开所需的窗口。(7) 调试结束后,点击“启动/停止调试”工具按钮,退出调试状态。再在“工程”菜单中选取“关闭工程”项。(8) 在调试过程中,如果发现问题,必须先“退出”调试状态,再对程序进行修改,然后重新进行“构建”,再“启动”调试,看看问题是否解决。如果是开始调试一个新的程序,必须在“工程”菜单中选取“新建工程”项,然后找到新程序所在目录,为新的“工程”取一个名称。用鼠标右键点击“文件组(File Group)”,选择“追加文件到文件组”,将有关程序文件加入到工程中。若编译无误

40、,但运行不对,则应执行断点运行,先设置好断点,再对断点后的程序进行手动执行。观察对应的寄存器值和变量的变化,找出出错点,进行改正。总结本次设计任务是出租车计价器的软件设计,完成了各模块的程序设计,实现其了计价器,自检、初始化,查询计费和打印等基本功能。可是在设计中仍然有很多诸如语句冗杂,模块衔接等的缺陷和不足之处,有待今后进一步的完善。当前出租车计价器系统的开发可以说是日新月异,随着人们的需求的变化和发展,新型产品层出不穷。对出租车计价器系统的开发也不断提出了新的要求。1 验钞功能。能快速识别假货币,减少司机和顾客的纠纷,还具有伪钞报警等功能,方便司机使用。2IC 卡:强大的加密功能,数据安全

41、可靠。高安全性、高可靠性的IC卡,可根据出租汽车公司的需要存储一定次数的营业记录,促使司机及时回公司刷卡交帐。司机卡:可以路单存储、数据管理、 一 机一卡 管理卡:可以设置参数、周期检定、逾期停机 致谢 从选定课题至今,已过了两个月的光阴,毕业设计也已经接近尾声,在做设计的过程中,我的到了很多来自老师,同学的指导和帮助,获益良多。首先我要感谢我的指导老师朱兆优老师。朱老师治学认真而严谨这篇论文的每个细节和每个数据,都离不开你的细心指导,感谢您从选定课题开始一路指导至本论文的完成和感谢您在百忙之中对我的悉心的点拨。其次我要感谢和我一起作毕业设计的陈瑀同学,他很好地完成了硬件部分的设计,并帮助我了

42、解系统的工作原理,配合我编写程序设计。我还要感谢授课老师和实验室老师课上对我的教导,,没有你们丰富的授课内容,我也无法完成本次设计。最后我要感谢电子与机械工程学院为我提供的研究条件和母校东华理工学院的培养。参考文献 1. 张毅刚主编.2003年8月.单片机原理及应用.北京:高等教育出版社 2. 张毅坤、陈善久、裘雪红主编.2002年12月. 单片机微型计算机原理及应用。西安电子科技大学出版社。 3. 周航慈、朱兆优、李约忠主编.2005年3月. 智能仪器原理与设计.北京航空航天大学出版社 4. 范风强主编. 2005年5月. 单片机语言C51应用实战集锦. 电子工业出版社 5. 钟爱琴 王雷主

43、编. 王闪主编2004年5月. AT89系列单片机原理与接口技术. 北京航空航天大学出版社6. 楼然苗 李光飞主编.2006年2月. 51系列单片机设计实例. 北京航空航天大学出版社 7. 丁元杰主编2005年7月.单片微机原理及应用.北京机械工业出版社 8. Intle.Mcrocontroller Handlbook,1998 9. . Intle.Ssoftware Handbook,1984 10. Analog Device Corp.Data-Acquisition Databook,1991 附录源程序NOR_PRIC EEQU 6FH ;单价START_PRICE EQU 6CH ;起步价COUNTL EQU 6BH

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号