基于单片机控制的出租车计价器的课程设计_第1页
基于单片机控制的出租车计价器的课程设计_第2页
基于单片机控制的出租车计价器的课程设计_第3页
基于单片机控制的出租车计价器的课程设计_第4页
基于单片机控制的出租车计价器的课程设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机控制的出租车计价器的课程设计摘要:智能仪器仪表技术是一门集电子技术、单片机技术,自动化仪表、自动控制技术、计算机应用等一体的跨学科的专业技术。自20世纪90年代初以来,这项技术已逐步引入到国内工科专业中的电子信息、通讯、自动化、计算机应用等信息类专业中。随着微电子技术和计算机技术的飞速发展,测控仪器仪表的智能化、总线化、网络化发展已在各个相关行业呈现出广阔的发展前景,同时也日益成为工程界和科技界人士所关注的重要问题之一。因此,了解和熟悉智能仪器仪表的特点功能,发展趋向及其应用前景是十分重要和必要的。出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。针对计费模式的切换,通过软件编程就可以轻易而举的实现。避免了机械开关带来的不稳定因素。本设计主要了解应用单片机的定时器/计数器,以及中断。这是一个比较小的系统,故采用汇编语言来编辑。汇编语言是一种编译型程序设计语言,它具有编译速度快,占用系统空间小,具有一定的助记可读性等特点。本系统假设速度恒定60Km/h(1Km/min),单价一定1.3元/Km,起步价5.0元,超过三公里开始计费,每公里加1.3元。关键词:出租车计费器;AT89S51;霍尔传感器1.引言:基于单片机控制的出租车计价器的课程设计全文共36页,当前为第1页。本课程设计所设计的出租车计价器的主要功能有:数据的复位、白天/晚上转换、数据输出、计时计价、单价输出及调整、路程输出、语音播报数据信息、实现在系统掉电的时候保存单价和系统时间等信息等功能。输出采用8段数码显示管。本电路设计的计价器不但能实现基本的计价,而且还能根据白天、黑夜、中途等待来调节单价,同时在不计价的时候还能作为时钟为司机同志提供方便。基于单片机控制的出租车计价器的课程设计全文共36页,当前为第1页。总体设计方案2.1设计思路方案一:采用数字电路控制。采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,但是考虑到这种电路过于简单,性能不够稳定,而且不能调节单价,也不能根据天气调节计费标准,电路不够实用。方案二:采用单片机控制。利用单片机丰富的I/O端口,及其控制的灵活性,实现基本的里程计价功能和价格调节、时钟显示功能。通过比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。2.2设计方框图计价器的单片机控制方案图如图1所示。它由以下几个部件组成:单片机AT89S51、总金额及单价显示部件、键盘控制部件,AT24C02掉电存储控制、里程计算单元、串中显示驱动电路等。利用单片机丰富的IO端口,及其控制的灵活性,实现基本的里程计价功能和价格调节、时钟显示功能。不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级。具体电路参见“多功能出租车计价器总体电路图”。基于单片机控制的出租车计价器的课程设计全文共36页,当前为第2页。基于单片机控制的出租车计价器的课程设计全文共36页,当前为第2页。图1设计方框图设计原理分析3.1AT89S51单片机及其引脚说明AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4KB的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,具有高性价比。AT89S51是一个有40个引脚的芯片,引脚配置如图2所示。基于单片机控制的出租车计价器的课程设计全文共36页,当前为第3页。基于单片机控制的出租车计价器的课程设计全文共36页,当前为第3页。图2AT89S51引脚配置AT89S51芯片的40个引脚功能为:VCC电源电压。GND接地。RST复位输入。当RST变为高电平并保持2个机器周期时,将使单片机复位。WDT溢出将使该引脚输出高电平,设置SFRAUXR的DISRTO位(地址8EH)可打开或关闭该功能。DISKRTO位缺省为RESET输出高电平打开状态。XTAL1反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2来自反向振荡放大器的输出。P0口一组8位漏极开路型双向I/O口。也即地址/数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。基于单片机控制的出租车计价器的课程设计全文共36页,当前为第4页。P1口一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。Flash编程和程序校验期间,P1接收低8位地址。P1口部分端口引脚及功能如表1所示。基于单片机控制的出租车计价器的课程设计全文共36页,当前为第4页。表1P1口特殊功能P1口引脚特殊功能P1.5MOSI(用于ISP编程)P1.6MOSI(用于ISP编程)P1.7SCK(用于ISP编程)P2口一个带内部上拉电阻的8位双向I/O口。P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器时,P2口线上的内容在整个访问期间不改变。Flash编程和程序校验期间,P2亦接收低8位地址。P3口一个带内部上拉电阻的8位双向I/O口。P3的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写“1”时,它们被内部的上拉电阻把拉到高电并可作输入端口。作输入端口使用时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如表2所示。P3口还接收一些用于Flash闪速存储器编程和程序校验期间的控制信号。表2P3口特殊功能P3口引脚特殊功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外部中断0)P3.3(外部中断1)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)基于单片机控制的出租车计价器的课程设计全文共36页,当前为第5页。PSEN/程序储存允许输出是外部程序存储器的读先通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN/有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的PSEN/信号。基于单片机控制的出租车计价器的课程设计全文共36页,当前为第5页。EA/VPP外部访问允许。欲使CPU仅访问外部程序存储器,EA端必须保持低电平,需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。Flash存储器编程时,该引脚加上+12V的编程电压VPP。2.2里程计算、计价单元的设计里程计算是通过安装在车轮上的霍尔传感器A44E检测到的信号,送到单片机,经处理计算,送给显示单元的。其原理如图3所示。图3传感器测距示意图由于A44E属于开关型的霍尔器件,其工作电压范围比较宽(4.5~18V),其输出的信号符合TTL电平标准,可以直接接到单片机的IO端口上,而且其最高检测频率可达到1MHZ。A44E集成霍耳开关由稳压器A、霍耳电势发生器(即硅霍耳片)B、差分放大器C、施密特触发器D和OC门输出E五个基本部分组成。基于单片机控制的出租车计价器的课程设计全文共36页,当前为第6页。在输入端输入电压CCV,经稳压器稳压后加在霍耳电势发生器的两端,根据霍耳效应原理,当霍耳片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍耳电势差HV输出,该HV信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC门输出。当施加的磁场达到“工作点”(即OPB)时,触发器输出高电压(相对于地电位),使三极管导通,此时OC门输出端输出低电压,通常称这种状态为“开”。当施加的磁场达到“释放点”(即rPB)时,触发器输出低电压,三极管截止,使OC门输出高电压,这种状态为“关”。这样两次电压变换,使霍耳开关完成了一次开关动作。基于单片机控制的出租车计价器的课程设计全文共36页,当前为第6页。我们选择了P3.2口作为信号的输入端,内部采用外部中断0(这样可以减少程序设计的麻烦),车轮每转一圈(我们设车轮的周长是1米),霍尔开关就检测并输出信号,引起单片机的中断,对脉计数,当计数达到1000次时,也就是1公里,单片机就控制将金额自动的加增加,其计算公式:当前单价×公里数=金额。3.3数据显示单元设计由于设计要求有单价(2位)、路程(2位)、总金额(3位)显示输出,加上我们另外扩展了时钟显示(包含时分秒的显示),采用LCD液晶段码显示,在距离屏幕1米之外就无法看清数据,不能满足要求,而且在白天其对比度也不能够满足要求,因此我们采用6位LED数码管的分屏显示数据的分屏的显示是通过按键S1来实现切换的在出租车不走的时候,按下S1,可以实现数据的分屏显示;车在行走的时候只有总金额和单价显示屏在显示,当到达目的地的时候,客户要求查看总的里程的时候,就可以按下S1切换到里程和单价显示屏,供客户查询。图4数据显示单元设计基于单片机控制的出租车计价器的课程设计全文共36页,当前为第7页。基于单片机控制的出租车计价器的课程设计全文共36页,当前为第7页。结束语本款出租车计价器比目前市场现在的增加了不少功能,其中包括单价输出、单价调整、路程输出、显示当前的系统时间等功能。另外,多功能出租车计价器还具有性能可靠、电路简单、成本低、实用性强等特点,加上经过优化的程序,使其有很高的智能化水平。通过本次课程设计,又使我学到了许多书本上无法学到的知识,也使也深该体会到单片机技术应用领域的广泛,不仅使我对学过的单片机知识有了很多的巩固,同时也对单片机这一门课程产生了更大的兴趣。参考文献[1]张鑫、华臻、陈书谦.《单片机原理及应用》[M].电子工业出版社,2005.P110~136.[2]丁元杰、吴大伟.《单片微机实题集与实验指导书》[M].机械工业出版社,2004.P124~125.[3]阎石.数字电子技术基础(第三版)[M].北京:高等教育出版社,1989基于单片机控制的出租车计价器的课程设计全文共36页,当前为第8页。附录基于单片机控制的出租车计价器的课程设计全文共36页,当前为第8页。该出租车计价器的系统软件设计源程序如下:DAY_PRICEEQU6FHNIGHT_PRICEEQU6EHMIDWAY_PRICEEQU6DHSTART_PRICEEQU6CHCOUNTLEQU6BHCOUNTHEQU6AHM100EQU69H;外部中断次数DISTANCEEQU68H;行车距离MS100EQU67HSECEQU66HMINEQU65HHOUREQU64HLEDSLEQU63H;时分钞显示缓冲区LEDSHEQU62H基于单片机控制的出租车计价器的课程设计全文共36页,当前为第9页。LEDMLEQU61H基于单片机控制的出租车计价器的课程设计全文共36页,当前为第9页。LEDMHEQU60HLEDHLEQU5FHLEDHHEQU5EHLEDDANJIALEQU5DH;总额,单价显示缓冲区LEDDANJIAHEQU5CHLINE_EQU5BHLEDCOUNT1EQU5AHLEDCOUNT2EQU59HLEDCOUNT3EQU58HLEDDANJIA2LEQU57H;路程,单价显示缓冲区LEDDANJIA2HEQU56HLINE__EQU55HLINE___EQU54HLEDDISTANCELEQU53HLEDDISTANCEHEQU52HLEDDAY_PLEQU51H;中途,晚上,白天显示缓冲区LEDDAY_PHEQU50HLEDNIG_PLEQU4FHLEDNIG_PHEQU4EHLEDW_PLEQU4DHLEDW_PHEQU4CHS1BITP1.0S2BITP1.1S3BITP1.2S4BITP1.3S11EQU4BHS22EQU4AHS33EQU49HS44EQU48H基于单片机控制的出租车计价器的课程设计全文共36页,当前为第10页。M1EQU47H基于单片机控制的出租车计价器的课程设计全文共36页,当前为第10页。H1EQU46HM2EQU45HH2EQU44HPRICEEQU43HORG0000HAJMPMAINORG0003HAJMPTOORG000BHAJMPTOTIMEORG001BHAJMPTOSTARTORG0030HMAIN:MOVSP,#70HMOVTMOD,#11HMOVTH0,#3CHMOVTL0,#0B0HMOVTH1,#3CHMOVTL1,#0B0HMOV22H,#0AHSETBEASETBTR0SETBEX0SETBIT0SETBET0SETBET1MOVR7,#34MOVR0,#69H基于单片机控制的出租车计价器的课程设计全文共36页,当前为第11页。LOOPL:MOV@R0,#0基于单片机控制的出租车计价器的课程设计全文共36页,当前为第11页。DECR0DJNZR7,LOOPLMOVCOUNTL,#00H;起步价MOVCOUNTH,#05HMOVDAY_PRICE,#25H;白天价格初始化MOVNIGHT_PRICE,#30H;晚上价格初始化MOVMIDWAY_PRICE,#10H;中途等待初始化MOVSTART_PRICE,#50H;起步价初始化MOVS11,#0MOVS22,#0MOVS33,#0MOVS44,#0MOVDISTANCE,#02HMOVHOUR,#12HKEY_MAIN:SETBTR0ACALLHMS_DISACALLT100MSDACALLT100MSDACALLT100MSDJBS1,KEY_MAINACALLT10MSDJBS1,KEY_MAINJNBS1,$SJMPWAI1WA1:JBS1,K1ACALLT10MSDJBS1,K1WAIT1:JNBS1,WAIT1MOVR0,#LEDDANJIAL基于单片机控制的出租车计价器的课程设计全文共36页,当前为第12页。MOVR2,#6基于单片机控制的出租车计价器的课程设计全文共36页,当前为第12页。CLRAMOVCOUNTL,AMOVCOUNTH,AMOVM100,AMOVDISTANCE,ABK1:MOV@R0,ADECR0DJNZR2,BK1MOVPRICE,DAY_PRICE;起动初始化MOVCOUNTL,#00H;起步价MOVCOUNTH,#05HLCALLCP_DIS;总金额和单价显示K1:JBS2,K2ACALLT10MSDJBS2,K2WAIT2:JNBS2,WAIT2INCS22MOVA,S22CJNEA,#1,NEXT1LCALLPA_DISLJMPKEY_DJNEXT1:CJNEA,#2,NEXT2CLRTR0LCALLHMS_DISLJMPKEY_SJNEXT2:CJNEA,#3,K2MOVS22,#0K2:JBS3,K3ACALLT10MSD基于单片机控制的出租车计价器的课程设计全文共36页,当前为第13页。JBS3,K3基于单片机控制的出租车计价器的课程设计全文共36页,当前为第13页。WAIT3:JNBS3,WAIT3INCS33MOVA,S33CJNEA,#1,NXT1LCALLDP_DISNXT1:CJNEA,#2,NXT2CLRCMOVA,M2SUBBA,M1MOVM1,AMOVA,H2SUBBA,H1MOVH1,ANXT2:CJNEA,#3,K3MOVS33,#0LCALLCP_DISK3:JBS4,BK_KEY_MAINACALLT10MSDJBS4,BK_KEY_MAINWAIT4:JNBS4,WAIT4INCS44MOVA,S44CJNEA,#1,NT1MOVPRICE,DAY_PRICELCALLCP_DISNT1:CJNEA,#2,NT2MOVPRICE,NIGHT_PRICELCALLCP_DISNT2:CJNEA,#3,NT3基于单片机控制的出租车计价器的课程设计全文共36页,当前为第14页。MOVPRICE,MIDWAY_PRICE基于单片机控制的出租车计价器的课程设计全文共36页,当前为第14页。SETBTR1LCALLCP_DISNT3:CJNEA,#4,BK_KEY_MAINMOVS44,#0LJMPKEY_MAINBK_KEY_MAIN:LJMPWA1KEY_DJ:JBS1,KY1ACALLT10MSDJBS1,KY1WAIT5:JNBS1,WAIT5INCS11MOVA,S11CJNEA,#1,NEXT11LJMPDAY_PNEXT11:CJNEA,#2,NEXT12LCALLNIG_PNEXT12:CJNEA,#3,KY1LCALLMID_PMOVS11,#0LJMPKEY_MAINKY1:JBS2,KY2ACALLT10MSDJBS2,KY2WAIT6:JNBS2,WAIT6INCS22MOVA,S22CJNEA,#1,NEXT13LCALLPA_DIS基于单片机控制的出租车计价器的课程设计全文共36页,当前为第15页。LJMPKEY_DJ基于单片机控制的出租车计价器的课程设计全文共36页,当前为第15页。NEXT13:CJNEA,#2,NEXT14CLRTR0LCALLHMS_DISLCALLKEY_SJNEXT14:CJNEA,#3,KY2MOVS22,#0LJMPKEY_MAINKY2:AJMPKEY_DJKEY_SJ:JBS1,KEY1ACALLT10MSDJBS1,KEY1WAIT7:JNBS1,WAIT7INCS11MOVA,S11CJNEA,#1,NEXT21LCALLHOU_TNEXT21:CJNEA,#2,NEXT22LCALLMIN_TNEXT22:CJNEA,#3,KEY1MOVS11,#0LJMPKEY_MAINKEY1:JBS2,KEY2ACALLT10MSDJBS2,KEY2WAIT8:JNBS2,WAIT8INCS22MOVA,S22CJNEA,#1,NEXT23LCALLPA_DIS基于单片机控制的出租车计价器的课程设计全文共36页,当前为第16页。LJMPKEY_DJ基于单片机控制的出租车计价器的课程设计全文共36页,当前为第16页。NEXT23:CJNEA,#2,NEXT24CLRTR0LCALLHMS_DISNEXT24:CJNEA,#3,KEY2MOVS22,#0LCALLKEY_SJLJMPKEY_MAINKEY2:AJMPKEY_SJDAY_P:SETBF0LCALLT100MSDLCALLT100MSDMOVLEDDAY_PL,#0AHMOVLEDDAY_PH,#0AHLCALLPA_DIS1LCALLT100MSDLCALLT100MSDLCALLPA_DISLP1:JBS3,KEY11MOVA,#1ADDA,DAY_PRICEDAAMOVDAY_PRICE,AMOVA,DAY_PRICECJNEA,#99H,KEY11MOVDAY_PRICE,#0KEY11:JBS4,KEY12LCALLT10MSDJBS4,KEY12MOVA,DAY_PRICE基于单片机控制的出租车计价器的课程设计全文共36页,当前为第17页。ADDA,#99H基于单片机控制的出租车计价器的课程设计全文共36页,当前为第17页。DAAMOVDAY_PRICE,ACJNEA,#00H,KEY12MOVA,#99HKEY12:JBS1,KEY13ACALLT10MSDJBS1,KEY13WAIT11:JNBS1,WAIT11INCS11MOVA,S11CJNEA,#1,NEXT31LCALLDAY_PNEXT31:CJNEA,#2,NEXT32LCALLNIG_PNEXT32:CJNEA,#3,NEXT33LCALLMID_PNEXT33:CJNEA,#4,KEY13MOVS11,#0KEY13:JBS2,KEY14LCALLT10MSDJBS2,KEY14WAIT12:JNBS2,WAIT12LJMPKEY_MAINKEY14:AJMPDAY_PNIG_P:SETBF0;调用定时延时标志位LCALLT100MSDLCALLT100MSDMOVLEDNIG_PL,#0AH基于单片机控制的出租车计价器的课程设计全文共36页,当前为第18页。MOVLEDNIG_PH,#0AH基于单片机控制的出租车计价器的课程设计全文共36页,当前为第18页。LCALLPA_DIS1LCALLT100MSDLCALLT100MSDLCALLPA_DISJBS3,KEY21LCALLT10MSDJBS3,KEY21MOVA,#1ADDA,NIGHT_PRICEDAAMOVNIGHT_PRICE,ACJNEA,#99H,KEY21MOVNIGHT_PRICE,#0KEY21:JBS4,KEY22LCALLT10MSDJBS4,KEY22MOVA,NIGHT_PRICEADDA,#99HDAAMOVNIGHT_PRICE,ACJNEA,#00H,KEY22MOVNIGHT_PRICE,#99HKEY22:JBS1,KEY23ACALLT10MSDJBS1,KEY23WAIT15:JNBS1,WAIT15INCS11MOVA,S11CJNEA,#1,基于单片机控制的出租车计价器的课程设计全文共36页,当前为第19页。NEXT41基于单片机控制的出租车计价器的课程设计全文共36页,当前为第19页。LCALLDAY_PNEXT41:CJNEA,#2,NEXT42LCALLNIG_PNEXT42:CJNEA,#3,NEXT43LCALLMID_PNEXT43:CJNEA,#4,KEY23MOVS11,#0LJMPKEY_DJKEY23:JBS2,KEY24LCALLT10MSDJBS2,KEY24WAIT30:JNBS2,WAIT30LJMPKEY_MAINKEY24:AJMPNIG_PMID_P:SETBF0;调用定时延时标志位LCALLT100MSDMOVLEDW_PL,#0AHMOVLEDW_PH,#0AHLCALLPA_DIS1LCALLT100MSDLCALLPA_DISJBS3,KEY31LCALLT10MSDJBS3,KEY31MOVA,MIDWAY_PRICEADDA,#1DAAMOVMIDWAY_PRICE,ACJNEA,#99H,KEY31基于单片机控制的出租车计价器的课程设计全文共36页,当前为第20页。MOVMIDWAY_PRICE,#00H基于单片机控制的出租车计价器的课程设计全文共36页,当前为第20页。CJNEA,#100,KEY31MOVMIDWAY_PRICE,#0KEY31:JBS4,KEY32LCALLT10MSDJBS4,KEY32MOVA,MIDWAY_PRICEADDA,#99HDAAMOVMIDWAY_PRICE,ACJNEA,#00H,KEY32MOVNIGHT_PRICE,#99HKEY32:JBS1,KEY33ACALLT10MSDJBS1,KEY33WAIT18:JNBS1,WAIT18INCS11MOVA,S11CJNEA,#1,NEXT51LCALLDAY_PNEXT51:CJNEA,#2,NEXT52LCALLNIG_PNEXT52:CJNEA,#3,NEXT53LCALLMID_PNEXT53:CJNEA,#4,KEY33MOVS11,#0LJMPKEY_DJKEY33:JBS2,KEY34LCALLT10MSD基于单片机控制的出租车计价器的课程设计全文共36页,当前为第21页。JBS2,KEY34基于单片机控制的出租车计价器的课程设计全文共36页,当前为第21页。WAIT31:JNBS2,WAIT31LJMPKEY_MAINKEY34:AJMPMID_PHOU_T:SETBF0;调用定时延时标志位LCALLT100MSDLCALLT100MSDMOVLEDHL,#0AHMOVLEDHH,#0AHLCALLHMS_DIS1;直接调用显示,不经过拆分程序LCALLT100MSDLCALLT100MSDMOVSEC,#0LCALLHMS_DISJBS3,KEY41MOVA,HOURADDA,#1DAAMOVHOUR,ACJNEA,#24H,KEY41MOVHOUR,#0KEY41:JBS4,KEY42MOVA,HOURADDA,#99HDAAMOVHOUR,ACJNEA,#99H,KEY42MOVHOUR,#23HKEY42:JBS1,KEY43ACALLT10MSD基于单片机控制的出租车计价器的课程设计全文共36页,当前为第22页。JBS1,KEY43基于单片机控制的出租车计价器的课程设计全文共36页,当前为第22页。WAIT21:JNBS1,WAIT21INCS11MOVA,S11CJNEA,#1,NEXT61LJMPHOU_TNEXT61:CJNEA,#2,NEXT62LJMPMIN_TNEXT62:CJNEA,#3,KEY43MOVS11,#0LJMPKEY_SJKEY43:JBS2,KEY44LCALLT10MSDJBS2,KEY44WAIT32:JNBS2,WAIT32LJMPKEY_MAINKEY44:AJMPHOU_TMIN_T:SETBF0;调用定时延时标志位LCALLT100MSDLCALLT100MSDMOVLEDML,#0AHMOVLEDMH,#0AHLCALLHMS_DIS1;直接调用显示,不经过拆分程序LCALLT100MSDLCALLT100MSDMOVSEC,#0LCALLHMS_DISJBS3,KEY51MOVA,MINADDA,#1基于单片机控制的出租车计价器的课程设计全文共36页,当前为第23页。DAA基于单片机控制的出租车计价器的课程设计全文共36页,当前为第23页。MOVMIN,ACJNEA,#60H,KEY51MOVMIN,#0KEY51:JBS4,KEY52MOVA,MINADDA,#99HDAAMOVMIN,ACJNEA,#99H,KEY52MOVMIN,#59HKEY52:JBS1,KEY53ACALLT10MSDJBS1,KEY53WAIT24:JNBS1,WAIT24INCS11MOVA,S11CJNEA,#1,NEXT71LCALLHOU_TNEXT71:CJNEA,#2,NEXT72LCALLMIN_TNEXT72:CJNEA,#3,KEY53SETBTR0MOVS11,#0LJMPKEY_SJKEY53:JBS2,KEY54LCALLT10MSDJBS2,KEY54WAIT33:JNBS2,WAIT33LJMPKEY_MAIN基于单片机控制的出租车计价器的课程设计全文共36页,当前为第24页。基于单片机控制的出租车计价器的课程设计全文共36页,当前为第24页。TOTIME:PUSHPSWPUSHACCMOVTH0,#3CHMOVTL0,#0B0HINCMS100MOVA,MS100CJNEA,#10,RETURNMOVMS100,#0MOVA,SECADDA,#1DAAMOVSEC,ACJNEA,#60H,RETURNMOVSEC,#0MOVA,#1HADDA,MINDAAMOVMIN,ACJNEA,#60H,RETURNMOVMIN,#0MOVA,#1HADDA,HOURDAAMOVHOUR,ACJNEA,#24H,RETURNMOVHOUR,#0RETURN:POPACCPOPPSWRETI基于单片机控制的出租车计价器的课程设计全文共36页,当前为第25页。TO:PUSHPSW基于单片机控制的出租车计价器的课程设计全文共36页,当前为第25页。PUSHACCMOVA,#1ADDA,M100MOVM100,AMOVA,M100CJNEA,#100,RETURN1MOVM100,#0INC21HMOVA,21HCJNEA,#0AH,RETURN1;已经到了1公里MOV21H,#0MOVA,#1ADDA,DISTANCEDAAMOVDISTANCE,AMOVA,PRICEADDA,COUNTLDAAMOVCOUNTL,ACJNEA,#10H,RETURN1MOVCOUNTL,#0MOVA,#1ADDA,COUNTHDAAMOVCOUNTH,ACJNEA,#99H,RETURN1MOVCOUNTH,#0RETURN1:POPACCPOPPSW基于单片机控制的出租车计价器的课程设计全文共36页,当前为第26页。RETI基于单片机控制的出租车计价器的课程设计全文共36页,当前为第26页。TOSTART:PUSHPSWPUSHACCMOVTH1,#3CHMOVTL1,#0B0HDJNZ22H,RETURN2;1S未到返回MOV22H,#0AHMOVA,#1ADDA,23HDAAMOV23H,ACJNEA,#60H,RETURN2MOV23H,#0MOVA,#1ADDA,24HDAAMOV24H,ACJNEA,#10H,RETURN2MOV24H,#0MOVA,START_PRICEADDA,COUNTLDAAMOVCOUNTL,ACJNEA,#10H,RETURN2MOVCOUNTL,#0MOVA,#1ADDA,COUNTHDAAMOVCOUNTH,ACJNEA,#99H,RETURN2基于单片机控制的出租车计价器的课程设计全文共36页,当前为第27页。MOVCOUNTH,#0基于单片机控制的出租车计价器的课程设计全文共36页,当前为第27页。RETURN2:POPACCPOPPSWRETIHMS_DIS:PUSHACCPUSHPSWSETBRS1MOVR0,#SEC;时分秒的拆分(三个字节)MOVR1,#LEDSLMOVR6,#03HLOOP1:MOVA,@R0MOVB,AANLA,#0FHMOV@R1,ADECR1MOVA,BSWAPAANLA,#0FHMOV@R1,ADECR1DECR0DJNZR6,LOOP1POPPSWPOPACCHMS_DIS1:PUSHACCPUSHPSWMOVR7,#06HMOVR0,#LEDSLLOOP:MOVA,@R0MOVDPTR,#TAB基于单片机控制的出租车计价器的课程设计全文共36页,当前为第28页。MOVCA,@A+DPTR基于单片机控制的出租车计价器的课程设计全文共36页,当前为第28页。MOVSBUF,ABK:JBCTI,NEXTSJMPBKNEXT:DECR0DJNZR7,LOOPCLRRS1POPPSWPOPACCRETCP_DIS:PUSHACCPUSHPSWSETBRS1MOVR0,#COUNTH;MOVR1,#LEDCOUNT2MOVA,@R0MOVB,AANLA,#0FHMOV@R1,ADECR1MOVA,BSWAPAANLA,#0FHMOV@R1,AMOVLEDCOUNT1,COUNTLMOVA,LEDCOUNT1;送总金额低位MOVDPTR,#TABMOVCA,@A+DPTRMOVSBUF,AJNBTI,$基于单片机控制的出租车计价器的课程设计全文共36页,当前为第29页。CLRTI基于单片机控制的出租车计价器的课程设计全文共36页,当前为第29页。MOVA,LEDCOUNT2;送总金额中位MOVDPTR,#TABMOVCA,@A+DPTRCPLACC.4MOVSBUF,AJNBTI,$CLRTIMOVA,LEDCOUNT3;送总金额高位MOVDPTR,#TABMOVCA,@A+DPTRMOVSBUF,AJNBTI,$CLRTICLRRS1MOVSBUF,#0FEH;送短线(短线的字型码是0FEH)JNBTI,$CLRTIMOVR0,#PRICE;单价拆分(两个字节)MOVR1,#LEDDANJIALMOVR6,#03HMOVA,@R0MOVB,AANLA,#0FHMOV@R1,ADECR1MOVA,BSWAPAANLA,#0FHMOV@R1,A基于单片机控制的出租车计价器的课程设计全文共36页,当前为第30页。DECR1基于单片机控制的出租车计价器的课程设计全文共36页,当前为第30页。MOVA,LEDDANJIAL;送单价低位MOVDPTR,#TABMOVCA,@A+DPTRMOVSBUF,AJNBTI,$CLRTIMOVA,LEDDANJIAH;送单价高位MOVDPTR,#TABMOVCA,@A+DPTRCPLACC.4MOVSBUF,AJNBTI,$CLRTIPOPPSWPOPACCRETDP_DIS:PUSHACCPUSHPSWSETBRS1MOVR0,#PRICE;单价的拆分(一个字节)MOVR1,#LEDDANJIALMOVA,@R0MOVB,AANLA,#0FHMOV@R1,ADECR1MOVA,BSWAPAANLA,#0FH基于单片机控制的出租车计价器的课程设计全文共36页,当前为第31页。MOV@R1,A基于单片机控制的出租车计价器的课程设计全文共36页,当前为第31页。DECR1MOVA,LEDDANJIAL;送单价低位MOVDPTR,#TABMO

温馨提示

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

评论

0/150

提交评论