




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
_扬 州 市 职 业 大 学毕 业 设 计(论 文)设计(论文)题目: 出租车计价器系 别: 电子工程系 专 业: 通 信 技 术 班 级: 09级(2)班 姓 名: 汤 鹏 学 号: 0906020223 指导老师: 周 绍 平 完成时间: 12年 5月 目 录概述31 总体设计方案的论证与比较41.1功能要求41.2方案论证42 系统硬件设计62.1 系统整体电路框图62.2 工作原理62.3 硬件组成72.3.1 AT89S52单片机介绍72.3.2 最小系统92.3.3 信号采集电路92.3.4 显示电路设计102.3.5 DS1302芯片与AT89S52芯片接口电路112.4 硬件调试123 软件设计133.1 主程序133.2 里程计数中断程序143.3 中途等待中断程序143.4 计算程序143.5 软件程序调试154 结论165 致谢17参 考 文 献18附录1程序清单19附录2电路原理图26出租车计价器摘 要: 课题以AT89S52单片机为中心并应用AT89S52单片机计时计数的方法,采用A44E霍尔传感器对轮胎转数进行计数,实现对出租车里程的测量。相比于普通的模拟电路控制,采用单片机进行的设计相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。针对计费模式的切换,通过软件编程就可以轻易而举的实现。避免了机械开关带来的不稳定因素。课题主要研究出租车计价器的硬件与软件设计。论文详细阐述了该计价器的时钟电路模块、掉电存储模块、里程检测模块、数码管显示模块、键盘模块等。关键字: 出租车计价器;单片机;霍尔传感器精品资料概述步入21世纪,出租车已经广泛地出现在我们周围。随着人们生活水平的不断提高,出租车的使用频率也越来越高,出租车行业也以高质量的服务给人们带来了出行的享受。但是由于行业的特殊性,出租车行业总存在着买纠纷,困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器,用更加精良的计价器来为乘客提供更加方便快捷的服务。 30年前,我国出现了出租车,但是由于当时的经济水平,出租车并没有普遍在我们生活中出现。随着改革开放的深入,出租车行业的发展势头已十分突出。如今出租车在我国的交通运输中承担着重要的角色,出租车计价器是出租车上必不可少的重要仪器,它是负责出租车营运收费的专用智能化仪表。随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。我们都知道,只要出租车开动,随着行驶里程的增加,就会看到汽车前面的计价器里程数字显示的读数从零逐渐增大,而当行驶到某一值时(如5KM)计费数字显示开始从起步价(如8元)增加。之后以里程计费,到达目的地,便可按显示的数字收费。 采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。为此我们采用了单片机进行设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。因此本次设计的出租车计价器应尽量解决上述方面的问题。采用AT89S52单片机,在进行编程固化程序时,无需取下单片机,直接对单片机进行编程,修改方便。另外6位数码管能够清晰地显示时间、里程、价格等参数,满足广大消费者的需求。1 总体设计方案的论证与比较1.1功能要求利用单片机的软件编写功能,实现以8.0元为起步价,根据所行驶的距离进行计价,长时间时可等待启用等待计价,区分白天和晚上不同计价,以及采用数码管显示所计的价钱。1.2方案论证方案一:采用数字电路控制。其原理方框图如图1.1所示。运用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,但是考虑到这种电路过于简单,性能不够稳定,而且不能调节单价,也不能根据天气调节计费标准,电路不够实用。移位寄存器电路金额显示单价显示里程传感器电源电路及保护电路图1.1 数字电路方案方案二:运用VHDL语言来设计出租车计价器,因此需要采用大规模的集成芯片。用VHDL语言进行数字逻辑电路和数字系统的设计,设计层次较高,用于较复杂的计算时,能尽早发现存在的问题,缩短设计周期。独立实现,修改方便,系统硬件描述能力强。可读性好,有利于交流,适合于文档保存。软件描述语言一般都是顺序执行的,但VHDL中大多是并行的,且对时序要求极高。这种方法虽然能够对于VHDL硬件描述语言打破了硬件和软件设计人员之间互不干涉的界限,可以使用语言的形式来进行数字系统的硬件结构、行为的描述,直接设计数字电路硬件系统,但是由于我对这种芯片了解比较少,掌握不够熟练,所以力不从心,希望今后对此芯片有更多的认识和了解。方案三:采用单片机控制。采用89S52单片机为主控器,以A44E霍尔传感器测距,并采用DS1302实现在系统掉电的时候保存单价和系统时间等信息,输出采用7段数码显示管。利用单片机丰富的I/O端口,及其控制的灵活性,实现基本的里程计价功能和价格调整、显示功能。单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能, 而且还可以方便的对系统进行升级。原理结构如图1所示。本电路设计的计价器不但能实现基本的计价,而且还能根据白天,黑夜,中途等待来调节单价。单片机计算总价的公式为:总价=起步价+单价*(总里程-起步里程)。AT89S52作为一个单片微型计算系统,灵活性高,其强大的控制处理功能和可扩展功能为设计电路提供了很好的选择。打印模块AT89S52 单片机键盘模块里程采集模块存储区扩展模块数据存储及时钟模块显示模块 图1.2 单片机控制方案相比较以上三方案,采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。对第二个方案,其VHDL语言,我觉得对于我实现本次设计的难度较大。为此采用了第三种方案单片机进行设计,单片机有较大的活动空间,利用单片机丰富的IO端口,及其控制的灵活性,不但能实现基本的里程计价功能和价格调节、时钟显示功能,而且能在很大的程度上扩展功能,还可以方便的对系统进行升级。为此我们采用了单片机进行设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求。2 系统硬件设计2.1 系统整体电路框图单 片 机 时钟与复位电路LED段码驱动电路按键输入电路LED位码驱动电路LED显示器霍尔传感器 图2.1 电路组成框图时钟电路:利用单片机内部的高增益反向放大器,在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路便产生自激振荡。定时元件一般采用石英晶体和电容组成的并联谐振回路。晶体可以在1.212MHZ之间任选,电容可以在530pF之间选择,电容C1和C2的大小可起频率微调的作用。复位:复位引脚RST的内部有一个低拉电路。当震荡器起振后,只要该引脚出现2个机器周期以上的高电平时即可以确保使机器复位。按键输入电路:按键输入电路根据分别连接在特定个数的电阻上的开关的状态输出一定分压电压,再对输出电压判断为上述按键输入机构的开关电压,然后对上述判断进行控制。总线驱动能力:MCS-51系列单片机的外部扩展功能很强,但4个8位并行口的带负载能力是有限的。P0口能驱动8个TTL电路,P1-P3口只能驱动4个TTL电路。总线驱动有相应的驱动器,如双向8路三态缓冲器74LS245可作为数据总线使用;地址和控制总线可采用单向8路缓冲区74LS244作为单向总线驱动器。2.2 工作原理霍尔传感器安装在车轮上,主要检测汽车行进的公里数,并产生一系列相应的脉冲输出,脉冲送到单片机进行处理,单片机根据程序设定通过计算脉冲数换算出行驶公里数,再根据从EEPROM中读取的价格等相关数据进行金额的计算,计算好的金额、里程和单价都实时地显示在数码管上。独立键盘可以调节价格等相关数据,按下相应的按钮,产生信号交由单片机处理并实时显示出来,调节好的数据存储到EEPROM中,掉电后可以使调好的数据不丢失,下次得电后直接EEPROM读到单片机。2.3硬件组成2.3.1 AT89S52单片机介绍 图2.2 AT89S52引脚图功能特性描述:AT89S52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。I/O口的描述P0:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。P1,P2,P3口:P1,P2,P3口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出TTL电流。其中P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX)。P2口在访问外部程序存储器或用16位地址读取外部数据存储器时,P2 口送出高八位地址。P3口也作为AT89S52特殊功能(第二功能)使用,如下表所示:P3端口引脚的第二功能:P3.0 RXD(串行输入口) P3.1 TXD(串行输出口)P3.2 INTO(外中断0) P3.3 INT1(外中断1)P3.4 TO(定时/计数器0) P3.5 T1(定时/计数器1)P3.6 WR(外部数据存储器写选通) P3.7 RD(外部数据存储器读选通)RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。2.3.2最小系统图2.32.3.3信号采集电路经过传感器对采集车轴转数,通过主机模块进行计算,从而得出里程、金额等信息。通过对传感器的工作方法研究发现,传感器A44E是比较符合此次设计的原理。霍尔传感器是一种磁传感器。用它们可以检测磁场及其变化,霍尔器件有许多优点,它们的结构牢固,体积小,重量轻,寿命长,安装方便,功耗小,频率高(可达1MHZ),耐震动,不怕灰尘、油污、水汽及盐雾等的污染或腐蚀。A44E 集成霍耳开关由稳压器A、霍耳电势发生器(即硅霍耳片)B、差分放大器C、施密特触发器D和OC门输出E五个基本部分组成。霍尔传感器A44E工作原理:在输入端电压VCC,经稳压器稳压后加载霍尔电势发生器两端,根据霍尔效应,当霍尔片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向将会产生霍尔电势差Vh输出,该Vh信号经过放大器放大后送至施密特触发器整形,使其成为方波输送到OC门输出,当施加的磁场达到工作点时,触发器输出高电平,使三极管导通,此时OC门输出端输出低电压,通常称这种状态为开,当施加的磁场达到释放点时,触发器输出低电压,三极管截至,此时OC门输出高电压,这种状态为关。这样两次电压变换,使霍尔开关完成了一次开关动作。工作原理图如图2.4所示:图2.4 霍尔传感器工作原理图 霍尔传感器A44E外形及接线如图,里程计算是通过安装在车轮上的霍尔传感器A44E检测到的信号,送到单片机,经处理计算,送给显示单元。 在霍尔电势发生器的两端加上电压VCC后,根据霍尔效应原理,当霍尔片处在磁场中时,霍尔传感器的输出端输出低电平。当车轮转动一圈时小磁铁提供一个磁场,则霍尔传感器输出一次低电平完成一次数据采集。此次设计选择了P3.5口作为信号的输入端,内部采用外部中断0,车轮每转一圈(设车轮的周长是1米),霍尔开关就检测并输出信号,引起单片机的中断,对脉冲计数。通过计算将脉冲增加体现金额和里程上。2.3.4显示电路设计图2.5 显示电路用动态显示的方法来应用六个LED数码管,字型口串联100欧姆的限流电阻接到P0口,字位口通过三级(8550)管驱动,接到P2.0P2.5上。LED显示块是由发光二极管显示字段的显示器件。在单片机应用系统中通常使用的是七段LED。这种显示块有共阴极和共阳极两种,如上图2.5所示,共阴极LED显示块的发光二极管阴极共地,如图中所示,当某个发光二极管的阳极为高电平时,发光二极管点亮。共阳极LED显示块的发光二极管阳极并接,当某个二极管的阴极为低电平时,该二极管点亮。控制不同组合的二极管导通,就能显示各种字符。设8位控制器按低到高的次序依次控制LED显示块的a-f和小数点dp,我们称控制器输出的控制LED显示块显示字符的 8位字节数据为段选码。共阳极与共阴极的段选码互为反码。图2.6S1S4这四个按键采用独立式按键的方法,分别接到P1.0P1.3上。2.3.5 DS1302芯片与AT89S52芯片接口电路只加一个32.768kHz 的晶振即可。只是选择晶振时,不同的晶振,误差也较大。1脚VCC2和8脚VCC1接5V,2脚X1、3脚X2夹晶振,4脚GND接地,5脚RST接单片机P3.3,6脚I/0接单片机P3.1,7脚SCLK接单片机P3.0。图2.72.4 硬件调试为了以保证软件编程的顺利进行,硬件电路焊接完成后,对各部分进行了简单的检测和调试。首先对最小系统进行调试,使用万用表、稳压电源或者干电池进行检测。主要检测发光二极管是否正常工作,各电容极性是否安装错误。同时对AT89S52单片机芯片的40个引脚进行检测,是否存在虚焊、短接等情况,以保证最下系统的正常工作。对于显示电路的检测,将3伏干电池正极引出线固定接触在LED数码管公共负极上,电池负极引出线依次移动接触笔画的正极。这一根引出线接触到某一笔画的负极端,那一笔画就显示出来。这种方法简易而又实用,并且可以检测出不同笔画的发光强度。3 软件设计3.1 主程序在主程序模块中,需要完成对各参量和接口的初始化、出租车起步价和单价的初始化以及中断、计算、循环等工作。另外,在主程序模块中还需要设置启动/清除标志寄存器、里程寄存器和价格寄存器,并对它们进行初始化。然后,主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计价等不同的操作。开始初始化切换金额计算返程单价显示清零结束N 图3.1 主程序流程图当汽车运行起来时,就启动计价,根据里程寄存器中的内容计算和判断行驶里程是否已超过起步价公里数。若已超过,则根据里程值、每公里的单价数和起步价数来计算出当前的总金额,并将结果存于总金额寄存器中;中途等待时,脉冲输入小于设定值时,当时间超过等待设定值时,开始进行计时,并把等待价格加到总金额里,然后将总金额、里程送数码管显示出来。程序流程如图所示。 3.2 里程计数中断程序每当霍尔传感器输出一个低电平信号就使单片机中断一次,当里程计数器对里程脉冲计满1000次时,进入里程计数中断服务程序中,里程变量加一。主函数中总金额也相应地变化。3.3 中途等待中断程序在中途等待中断程序中,每1ms产生一次中断,将当前里程值送入某个缓存变量,每5分钟将缓存变量中的值和当前里程值比较,当汽车车速小于5公里/小时,将存储器里面的值与实时测量的值比较,当行进的里程小于1/12公里每分钟时,则进入等待计时,每5分钟记一次价格。3.4 计算程序计算程序根据里程数分别进入不同的计算公式。如果里程大于3公里,则执行公式:总金额=起步价+(里程-3)*单价+等待时间*等待单价;否则,执行公式:总金额=起步价+等待时间*等待单价。里程3总金额=起步价总金额=起步价+(里程-3)*单价总金额=起步价总金额=起步价+等待时间(分钟)5*单价结束Y总金额=总金额+等待时间(分钟)5*单价NY图3.2 计算程序流程图3.5 软件程序调试软件程序的调试采用WAVE6000软件。WAVE6000编译软件,采用中文界面。用户源程序大小不受限制,有丰富的窗口显示方式,能够多方位、动态地展示程序的执行过程。其项目管理功能强大,可使单片机程序化大为小,化繁为简,便于管理。另外,其书签、断点管理功能以及外设管理功能等为51单片机的仿真带来极大的便利。在调试过程中,文件名必须使用.ASM形式,否则运行不起来。把程序输入进去,点击编译进行,如果出错会提示在哪一行,进行修改,这一功能非常使用,能够节约编程者的时间和提高效率。在编程的过程中,我有许多细节的问题没有注意到,如立即数之前没有加#,最后编译都能提示我错误在哪,同时通过此次设计,对WAVE6000这一软件有了进一步了解。4 结论经过这些天有关于出租车计价器的课程设计,使我对单片机的应用有了更深的了解。在课程设计的过程中,还是碰到了许多的问题。比如,对于数码管动态扫描显示和键盘的延时防抖的综合编程不能较好地解决;对于代码的前后顺序及调用掌握得还不够好;对于一些相关的应用软件没能熟练掌握。通过这几天晚上的苦想和反复调试,以及参考网上的程序,最终还是把问题解决了。通过这次课程设计,我最大的收获就是自己的动手能力和独立解决问题的能力得到了很大的提高,也充分体会到了自己设计东西的乐趣、学会查阅资料和对别人的东西融会变通的重要性,也明白了很多知识光靠趴在书本上学是学不到其中的精髓的,必须亲自去试着实践,亲自去经历才能对它们真正的掌握,凡事都要自己去动下手,去实践一下,遇到困难,永远不要沮丧气馁。在动手的过程中,不仅能增强实践能力,而且在理论上可以有更深的认识;这次设计给了我极大的鼓舞和信心,相信在以后的学习中可以通过不断的摸索和实践来提高其他方面的知识。通过本次课程设计,又使我学到了许多书本上无法学到的知识,也使也深该体会到单片机技术应用领域的广泛,不仅使我对学过的单片机知识有了很多的巩固,同时也对单片机这一门课程产生了更大的兴趣。在本次课程设计过程中,我学会了在网络上查找有关本设计的各硬件的资源,其中包括:AT89S52单片机及其引脚说明、DS1302引脚图及其引脚功能等,为本次课程设计提供了一定的资料。也为以后的进一步学习打下了坚实的基础。5 致谢本论文是在导师周绍平副教授悉心指导下完成的。导师渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。不仅使我树立了远大的学术目标、掌握了基本的研究方法,还使我明白了许多待人接物与为人处事的道理。同时,这段时间的学习也让我明白,不论做什么事情,一个良好的态度是必须要有的,只有严谨认真、细心努力的态度,才可能高质量的完成相应的任务。本论文从选题到完成,每一步都是在导师的指导下完成的,倾注了导师的大量心血。在此,谨向导师表示崇高的敬意和衷心的感谢!本论文顺利的完成离不开老师、同学和朋友的关心和帮助,在此也一并表示深深的感谢!参 考 文 献1 荀殿栋,徐志军编. 数字电路设计实用手册电子. 北京:电子工业出版社, 2003.2 陶玉鸿. 模拟电子技术. 北京:冶金工业出版社,2009.3 曾兴雯. 高频电子技术应用. 成都:工业出版社, 2006. 4 张洪润. 传感器应用电路200例. 北京:北京航空航天大学出版社, 2006.5 王效华. 单片机原理及应用. 北京,北京交通大学出版社, 2007.6 边海龙,孙永奎. 单片机开发与工程项目. 北京: 电子工业出版社, 2008.附录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, #0AHSETB EASETB TR0SETB EX0SETB IT0SETB ET0SETB ET1MOV 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, #12HKEY_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, WAIT1MOV R0, #LEDDANJIALMOV R2, #6CLR AMOV COUNTL,AMOV COUNTH,AMOV M100, AMOV DISTANCE,ABK1: MOV R0, ADEC R0DJNZ R2, BK1MOV PRICE,DAY_PRICE; MOV COUNTL, #00H; MOV COUNTH, #05HLCALL 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, ANXT2: 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 WA1KEY_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_DJKEY_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_SJDAY_P:SETB F0 LCALL T100MSDLCALL T100MSDMOV LEDDAY_PL, #0AHMOV LEDDAY_PH, #0AHLCALL PA_DIS1LCALL T100MSDLCALL T100MSDLCALL PA_DISLP1: JB S3, KEY11MOV 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_PNIG_P:SETB F0 ;调用定时延时标志位LCALL T100MSDLCALL T100MSDMOV LEDNIG_PL, #0AHMOV LEDNIG_PH, #0AHLCALL PA_DIS1LCALL T100MSDLCALL T100MSDLCALL PA_DISJB S3, KEY21LCALL T10MSDJB S3, KEY21MOV A, #1ADD A, NIGHT_PRICEDA AMOV NIGHT_PRICE,ACJNE A, #99H,KEY21MOV NIGHT_PRICE,#0KEY21:JB S4, KEY22LCALL T10MSDJB S4, KEY22MOV 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_PMID_P: SETB F0 ;LCALL T100MSDMOV LEDW_PL, #0AHMOV LEDW_PH, #0AHLCALL PA_DIS1LCALL T100MSDLCALL PA_DISJB S3, KEY31LCALL T10MSDJB S3, KEY31MOV A, MIDWAY_PRICEADD A, #1DA AMOV MIDWAY_PRICE,ACJNE A, #99H, KEY31MOV MIDWAY_PRICE, #00HCJNE A, #100, KEY31MOV MIDWAY_PRICE, #0KEY31: JB S4, KEY32LCALL T10MSDJB S4, KEY32MOV 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_PHOU_T: SETB F0 ;LCALL T100MSDLCALL T100MSDMOV LEDHL, #0AHMOV LEDHH, #0AHLCALL HMS_DIS1;LCALL T100MSDLCALL T100MSDMOV SEC, #0LCALL HMS_DISJB S3, KEY41MOV A, HOURADD A, #1DA AMOV HOUR,ACJNE A, #24H, KEY41MOV HOUR, #0KEY41: JB S4, KEY42MOV 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_TMIN_T: SETB F0 ;LCALL T100MSDLCALL T100MSDMOV LEDML, #0AHMOV LEDMH, #0AHLCALL HMS_DIS1;LCALL T100MSDLCALL T100MSDMOV SEC, #0LCALL HMS_DISJB S3, KEY51MOV A, MINADD A, #1DA AMOV MIN, ACJNE A, #60H, KEY51MOV MIN, #0KEY51: JB S4, KEY52MOV 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_TTOTIME: 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 PSWRETITO: PUSH PSWPUSH ACCMOV A,#1ADD A,M100MOV M100,AMOV A, M100CJNE A, #100,RETURN1MOV M100,#0INC 21HMOV A,21HCJNE A, #0AH, RETURN1 ;MOV 21H,#0MOV
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建设工程进度监理服务协议
- 2025公务员审计面试题及答案
- 公共行政中的包容性治理模式-洞察及研究
- 疾控专业考试题及答案
- 2025至2030中国消费后纺织品行业项目调研及市场前景预测评估报告
- 2025至2030中国缓激肽B1受体行业项目调研及市场前景预测评估报告
- 2025至2030中国宣传册行业项目调研及市场前景预测评估报告
- 有关心肺复苏教学课件
- 智能监控中心建设及维保服务合同范本
- 双方协议离婚房产分割及子女抚养协议书
- TSG 07-2019 特种设备生产和充装单位 许可规则
- 物业收银考试题及答案
- NB/T 11529-2024回采工作面随采地震探测技术
- 施工质量标准化手册之桥涵工程
- 艾青诗选《黎明》赏析
- 彩色沥青合同协议
- 民营医院行政管理与法律法规遵循
- 医院培训课件:《环境卫生学监测的方法》
- 中队辅导员培训材料
- 运动素质知到课后答案智慧树章节测试答案2025年春浙江大学
- (高清版)DB12∕T 934-2020 公路工程资料管理技术规程
评论
0/150
提交评论