用单片机控制出租车计价器的毕业设计(共26页).doc

上传人:飞****2 文档编号:13774894 上传时间:2022-05-01 格式:DOC 页数:26 大小:737KB
返回 下载 相关 举报
用单片机控制出租车计价器的毕业设计(共26页).doc_第1页
第1页 / 共26页
用单片机控制出租车计价器的毕业设计(共26页).doc_第2页
第2页 / 共26页
点击查看更多>>
资源描述

《用单片机控制出租车计价器的毕业设计(共26页).doc》由会员分享,可在线阅读,更多相关《用单片机控制出租车计价器的毕业设计(共26页).doc(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上出租车计价器摘要: 随着社会进步,出租车已经越来越贴近生活,成为我们重要的交通工具,现在的生活中,出租文化已成为一种显著的文化,成为社会生活的组成部分,而其中,出租车计价器成了必不可少的工具。随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注。于是,出租车行业以低价高质的服务给人们带来了出行的享受。但是总存在着买卖纠纷困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器。用更加精良的计价器来为乘客提供更加方便快捷的服务。这次的课程设计采用单片机作为控制系统,按照传统的模式,在整个项目设计开发过程中,先根据控制系统要求设

2、计原理图,PCB电路图绘制,电路板制作,元器件的焊接,然后进行软件编程,通过仿真器对系统硬件和软件调试,最后将调试成功的程序固化到单片机中。本设计利用单片机丰富的I/O端口,及其控制的灵活性实现基本的里程计价功能和价格调整、时钟显示功能。 随着改革开放日益深入,出租车行业的发展势头已十分突出,国内各机械厂家纷纷推出国产计价器。出租车计价器的功能从刚开始的只显示路程(需要司机自己定价,计算后四舍五入),到能够自主计费,以及现在的能够打发票和语音提示、按时间自主变动单价等功能。随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。关键词:出租车计价器 电子线路 单片机 第一章

3、 引言1.1本课题研究的意义 出租汽车是一种流动、分散、独立经营的行业,历来采用手工开票的交易方式,交管部门及其所属单位对其实际应运情况不易掌握,难以管理。多收费、乱开票、拒开票的宰客舞弊现象时有发生。而计价器在出租车收费中的应用则可以改人为影响因素较大的不公平现象。消费者的权益也得到了很好的保障,也便于交通部门和所属行业对出租车和司机的情况进行管。计价器作为出租车的一个重要组成部分,关系着出租车司机和乘客双方利益,起着重要的作用,因此,具有良好性能的计价器对广大出租车司机朋友来说是很必要的。采用了单片机进行设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵

4、活性强,可以通过软件编程来完成更多的附加功能。针对计费模式的切换,通过软件编程就可以轻易而举的实现。避免了机械开关带来的不稳定因素。1.2本论文的目的、内容 凡坐过出租车的人都知道,只要汽车一开动,随着行驶里程的增加,就会看到汽车前面的计价器里程数字显示的读数从零逐渐增大,而当行驶到某一值时(如5KM)计费数字显示开始从起步价(如10元)增加。当出租车到达某地需要在那里等候时,司机只要按一下“计时”键,每等候一定时间,计费显示就增加一个该收的等候费用。汽车继续行驶时,停止计算等候费,继续增加里程计费。消费者到达目的地后,便可按显示的数字收费。在单片机性能不断提高而价格却不断下降的情况下, 本论

5、文以AT89S51单片机为中心,附加A44E霍尔传感器测距,实现对出租车计价统计,采用AT24C02实现对系统的掉电保护,而且能够对白天、晚上、中途等待采取不同的收费标准,操作简单方便。构成:里程传感器,单片机,显示器这三个零部件,再通过线路连接.简单原理:采集车速信号,(也可以自己做车速传感器,采用霍尔效应做),车速信号为脉冲信号,采集脉冲信号的频率就可以得到车速,可以用到单片机的定时器捕获。应用单片机计算其公里数 计算时间可以用到定时器确定时间,或者用RTC中断采集到更精确的时间、用数码管或液晶显示公里数、时间、以及价格。第二章研究现状及设计目标2.1现行研究存在的问题我国在70年代开始出

6、现出租车,但那时的计费系统大都是国外进口不但不够准确,价格还十分昂贵。最早投入市场的计价器是2型机(1型机是试验机),两个显示屏,4个按键,数据存储器和程序存储器都较小,没有时钟,功能仅仅是计程和计价。其集成电路组成:cpu80c39:eprom27c64;srom6264,其它有i0扩展、逻辑运算、光偶隔离、电源芯片是单片机进入单片机的初级阶段。2.2本课题要达到的设计目标本课题属3、4型机属过渡产品,因为一方面用户和管理部门对计价器提出了新的要求,另一方面,市场推出了89s51,功能更强、使用方便,所以就用89s51取代了epu8039,显示屏由原先的2屏发展为3屏或4屏,显示内容为:单价

7、、计程、计时、金额;车次数据存储由原先的几十车次发展到100 300车次;增加实时时钟; 能输入较多参数。外形也有了变化,集成电路配置:cpu89s51;eprom27c64;srom6264;timerl46818;其它芯片也作了相应改进。一、为了满足客户的更高的要求,目前5型机的面世,加了打印机,是其显著标志。显示屏增加为5屏,新增时钟显示,数据存储器和程序存储器都得到有效增加,行业标准的 台提高了计价器的产品质量和设计精度,新的计量检定停机功能保证了计价器的良好受控状态和公平交易质量。其集成电路配置为:cDu80e31;eprom27c128;srom62256;timer8583;数据

8、通讯接151:语言提示开始进入;其它io接口作了相应改进。二、税控计价器的推广,1998年为了规范出租汽车行业管理加快税收监控、保障乘客的合法权益,国家三部局决定在大中城市出租汽车行业逐步推广使用税控计价器。1999年国家技术监督局和国税总局又出台了出租汽车税控计价器定型鉴定大纲,给出租车计价器的设计和制造提供了法律依据和技术平台,税控计价器电路由计量组件、税控组件、IC卡接口及税控计价器的硬件配置lepu78e586:riles51内核;skcpu税控芯片厂家订置;数据存储器24c256:ize; 总线32kezprom:timer per8583。现在各大中城市出租车行业都已普及自动计价器

9、,所以计价器技术的发展已成定局。而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是十分有潜力的。出租车进入了大多数人们的生活之中,为了更加完善现阶段出租车的计费系统功能,我们采用单片微型计算机系统(Micro Control Unit 简写为MCU)设计了一款符合大众化的计算系统。 第三章 要解决的几个关键问题本电路以89S51 单片机为中心、附加A44E 霍尔传感器测距,实现对出租车计价统计,采用AT24C02 实现在系统掉电的时候保存单价和系统时间等信息,输出采用8 段数码显示管。本电路设计的计价器

10、不但能实现基本的计价,而且还能根据白天、黑夜、中途等待来调节单价,同时在不计价的时候还能作为时钟为司机同志提供方便。第四章 系统结构与模型系统总体结构4.1 设计思路出租车计价器是利用单片机计算总价并送显示端显示的智能仪器。89S51作为一个单片微型计算系统,灵活性高,其强大的控制处理功能和可扩展功能为设计电路提供了很好的选择。此设计可分为五部分考虑,显示用驱动后的数码管,主控制用单片机芯片,掉电保护用E2PROM24C02,外加复位电路,霍尔感应电路即可完成功能的分配。在对显示的控制上,我采取的是按钮扫描控制,不同的按钮对应不同的显示模式,分别显示时间、单价、里程以及总金额。4.2 总体设计

11、框图出租车计价器的工作原理图如图1所示。89S51显示电路单价里程总金额时间掉电保护电路复位电路功能按键里程测量电路图1 工作原理图模块划分几功能说明4.3 显示电路显示电路采用的是传统的7段8位数码管,用74LS245以及74LS244作为驱动芯片以便于数码管达到足够的亮度,显示电路利用并行接口以及动态扫描完成4个数码管依次显示里程,单价,总金额。4.4 掉电存储电路存储电路用来保存数据,一般的存储芯片在掉电以后,内部数据全部丢失,我们要采用一种能够在突然掉电情况下,把内部的数据保存起来,等到重新接通电源时候恢复正常的显示。这就意味着此种存储器必须是可擦写的,并且对数据的存储不需要外加电源就

12、能完成。这样以来,我们会考虑到使用E2PROM(Electrically Erasable Programmable Read Only Memory)等类似的芯片,例如AT24C02芯片,其电路接线如图2所示。应用时,每设定一次单价,系统就自动调用存储程序,将信息保存在芯片内;当重新上电时,自动调用存储器程序,供主程序使用。图2中两个电阻是上拉电阻,可以减少AT24C02的静态功耗,由于AT24CO2的数据线和地址线是复用的,采用串口的方式传送数据。 2 掉电保护电路4.5里程测量电路对于行驶路程,我们采用霍尔器件来检测。把磁性物质固定于车轮的某个位置,通过计数器来测量出车轮转过的圈数,根据

13、车轮的周长来计算行驶过的路程。此处采用A44E集成开关型霍尔传感器。图3 霍尔器件内部结构图A44E集成霍尔开关由稳压器A、霍尔电势发生器B、差分放大器C、施密特触发器D和OC门输出E五个基本部分组成,如图3所示。由于A44E是开关型霍尔器件,其工作电压范围比较宽(4.5V18V),其输出信号符合TTL电平标准,可以直接接到单片机的I/O端口上,其外型及接线如图4所示。图4 霍尔器件外部构造接线图4.6 复位电路RST引脚是复位信号的输入端,复位信号是高电平有效,其有效时间应持续24个振荡周期以上。在系统电路中,设计一个复位按钮,用来作为清除里程计数的开关。将该按钮开关接到单片机的复位端口上,

14、当开关被按下一次时就作为系统的计程清0处理。复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。图1所示的RC复位电路可以实现上述基本功能,图3为其输入-输出特性。但解决不了电源毛刺(A 点)和电源缓慢下降(电池电压不足)等问题 而且调整 RC 常数改变延时会令驱动能力变差。左边的电路为高电平复位有效 右边为低电平 Sm为手动复位开关 Ch可避免高频谐波对电路的干扰 调频FM发射话筒制作套件4.7 功能按键当有客人乘坐时,司机可以手动点击一下启动键,系统开始

15、工作,数码管显示系统时间,并且进入正常计费状态。当时钟的时间显示是:6:00:0020:59:59时间段时候,计费模式按照白天的标准计费;当时间显示是:21:00:005:59:59时间段时候,计费模式自动转换成晚上的计费标准。单价显示部分显示的是当前的单价,这个模式是在系统时间的控制下自动转换的。路程显示部分是当前汽车行驶过的路程具体显示,路程是通过霍尔开关检测出来车轮的转动周数(获得到的脉冲个数),然后根据车轮的设定周长,通过单片机来计算出实际的路程。总金额显示部分显示的是当前应付的金额总数,同样通过霍尔开关来实现数值的增加。4个功能按键分别调用不同的显示程序,同时也实现时间设置的加一、减

16、一功能以及返回功能。4.8单片机系统单片微型计算机(MCU),我们采用的是低功耗、高性能的AT89S51。内含有4KB的快闪可编程/擦除只读存储器的8 位CMOS微控制器,使用高密度、非易失存储技术制造,可与80C51引脚和指令系统完全兼容。主要性能包括:与MCS-51微控制器产品系列兼容;片内有4KB的可在线重复编程的FLASH闪存;存储器可循环写入/擦除1000次;存储数据可保存10年;工作电压可以从2.76V;全静态工作可从0HZ16MHZ;程序存储器具有3级加密保护;1288位内部RAM;32条可编程I/O线;两个16位定时器/计数器;5个中断源和2个优先级;可编程全双工串行通道;空闲

17、状态维持低功耗和掉电状态保存存储内。第五章 系统实现5.1 里程计算、计价单元的设计里程计算是通过安装在车轮上的霍尔传感器A44E检测到的信号,送到单片机,经处理计算,送给显示单元的。其原理如图51所示。图5 1 传感器测距示意图由于A44E 属于开关型的霍尔器件,其工作电压范围比较宽(4.518V),其输出的信号符合TTL 电平标准,可以直接接到单片机的IO 端口上,而且其最高检测频率可达到1MHZ。图52 集成开关型霍耳传感器原理图A44E 集成霍耳开关由稳压器A、霍耳电势发生器(即硅霍耳片)B、差分放大器C、施密特触发器D 和OC 门输出E 五个基本部分组成。在输入端输入电压CC V ,

18、经稳压器稳压后加在霍耳电势发生器的两端,根据霍耳效应原理,当霍耳片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍耳电势差H V 输出,该H V 信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC 门输出。当施加的磁场达到工作点(即OP B )时,触发器输出高电压(相对于地电位),使三极管导通,此时OC 门输出端输出低电压,通常称这种状态为开。当施加的磁场达到释放点(即rP B )时,触发器输出低电压,三极管截止,使OC 门输出高电压,这种状态为关。这样两次电压变换,使霍耳开关完成了一次开关动作。其集成霍耳开关外形及接线如图53 所示。图53 集成霍耳开

19、关外形及接线我们选择了P3.2 口作为信号的输入端,内部采用外部中断0(这样可以减少程序设计的麻烦),车轮每转一圈(我们设车轮的周长是1 米),霍尔开关就检测并输出信号,引起单片机的中断,对脉计数,当计数达到1000 次时,也就是1 公里,单片机就控制将金额自动的加增加,其计算公式:当前单价 公里数=金额。5.2 数据显示单元的设计由于设计要求有单价(2 位)、路程(2 位)、总金额(3 位)显示输出,加上我们另外扩展了时钟显示(包含时分秒的显示),采用LCD 液晶段码显示,在距离屏幕1 米之外就无法看清数据,不能满足要求,而且在白天其对比度也不能够满足要求,因此我们采用6 位LED数码管的分

20、屏显示,如图5-4 ad 所示:图54 a 单价调整显示(图中显示为右起白天单价4 .6 元/晚上7.8 /中途等待1.2 元)数据的分屏的显示是通过按键S1 来实现切换的,如图55 所示。图5 5 S1 切换显示屏在出租车不走的时候,按下S1,可以实现数据的分屏显示;车在行走的时候只有总金额和单价显示屏在显示,当到达目的地的时候,客户要求查看总的里程的时候,就可以按下S1 切换到里程和单价显示屏,供客户查询。显示电路的电路原理图如图56所示。图56 显示器原理图从单片机串口输出的信号先送到左边的移位寄存器(74HC164),由于移位脉冲的作用,使数据向右移,达到显示的目的。移位寄存器74HC

21、164还兼作数码管的驱动,插头1(header1)接电源,插头2(header2)接数据和脉冲输出端。电路中的三个整流管D1D3 的作用是降低数码管的工作电压,增加其使用寿命。5.3 AT24C02 掉电存储单元的设计掉电存储单元的作用是在电源断开的时候,存储当前设定的单价信息。AT24C02 是ATMEL 公司的2KB 字节的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以到2.5V,额定电流为1mA,静态电流10Ua(5.5V),芯片内的资料可以在断电的情况下保存40 年以上,而且采用8 脚的DIP 封装,使用方便。其电路如图57 所示。图57 掉电存储电路原理图图中R8、R

22、10 是上拉电阻,其作用是减少AT24C02 的静态功耗,由于AT24C02 的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线SCL(移位脉冲)和SDA(数据/地址)与单片机传送数据。每当设定一次单价,系统就自动调用存储程序,将单价信息保存在芯片内;当系统重新上电的时候,自动调用读存储器程序,将存储器内的单价等信息,读到缓存单元中,供主程序使用。5.4 按键单元的设计电路共采用了四个按键,S1、S2、S3、S4,其功能分别是:S1 分屏显示切换按键,S2功能设定按键,S3 /白天晚上切换按键,S4 /中途等待开关。5.5 设计总框图图58总体设计框图5.6 设计总体电路图图59

23、 总体电路图5.7 程序模块分析5.7.1 主程序模块在主程序模块中,需要定义各个寄存器,完成对各接口芯片的初始化,出租车起步价和单价(白天、晚上和中途等待)的初始化,中断向量的设计以及开中断、循环等待等工作,然后主程序将启动定时器以及循环键盘扫描程序,主程序流程图见附录一,总程序见附录二。当上电时就启动计价,将根据里程寄存器中的内容计算和判断出行驶里程是否超出起价公里,若已经超出,则根据里程值、单价、起步价来计算当前累计金额,将结果存于价格寄存器内,然后通过显示电路显示出。当达到目的地,霍尔开关器件没有送来脉冲信号时就停止计价,可以调用当前的总金额,到下次启动计价时,系统自动重新初始化。主程

24、序开始控制芯片初始化对出租车起价和每公里单价付初值,并用显示器显示各操作寄存器初始化设置中断向量开中断,等待有“启动中断”标志吗? N Y里程已超过起步价公里数吗 N Y计算当前已行驶公里数和累计价格并送显示器显示有“清零中断”标志 N Y将当前里程和累计价显示清0图510 主程序流程图5.7.2 中途等待中断程序在计数状态下,当需要停车时,手动按键进行中途等待的开启,片内T1定时器启动,一旦达到5min,便开始中途等待计费程序,在当前金额上累加中途等待单价。5.7.3 显示子程序由于是分别显示里程、单价、总金额以及时间,所以需要4个子程序,分别是时间显示子程序,里程显示子程序,单价显示子程序

25、,总金额显示子程序。5.7.4 定时中断程序在定时中断程序中,每100ms产生一次中断,当产生10次中断时,也就是1s,送数据到相应的显示缓冲单元,并调用相应的显示子程序实时显示。5.7.5 里程计数中断程序每当霍尔开关器件输出一个低电平脉冲信号就使单片机中断一次,设定车轮周长是1米,当里程计数器计满1000次时,就将当前的里程数和金额存入相应的寄存器中。5.7.6 按键程序按键采用查询的方式放在主程序中,在循环主程序的同时,一旦按键按下便转向相应的子程序处理,其流程图如图5-11所示。键盘扫描NOYESYESYESYESNONONO键盘扫描S1S2S3S1S2S3S4总金额显示路程显示单价显

26、示调整/等待时调整分调整中途等待图5-11 按键扫描流程图计价器源程序DAY_PRICEEQU 6FH专心-专注-专业NIGHT_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 E

27、QU 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 50HLEDN

28、IG_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 43H计价器源程序ORG 0000HAJMPMAINORG 0003HAJMPTOORG 000BHAJMPTOTIMEORG 001BHAJMPTOSTARTORG 0030HMAIN: MOV SP,

29、#70HMOV TMOD, #11HMOV TH0, #3CHMOV TL0, #0B0HMOV TH1, #3CHMOV TL1, #0B0HMOV 22H, #0AHSETBEASETBTR0SETBEX0SETBIT0SETBET0SETBET1; -RAM单元初始化MOV R7,#34MOV R0,#69HLOOPL:MOV R0,#0DEC R0DJNZR7,LOOPLMOV COUNTL, #00H ;起步价MOV COUNTH, #05HMOV DAY_PRICE,#25H ;白天价格初始化MOV NIGHT_PRICE,#30H ;晚上价格初始化MOV MIDWAY_PRICE

30、,#10H ;中途等待初始化MOV START_PRICE, #50H ;起步价初始化MOV S11, #0MOV S22, #0MOV S33, #0MOV S44, #0MOV DISTANCE, #02HMOV HOUR, #12H; 键盘第一层扫描程序; (键盘扫描主程序);*KEY_MAIN: SETB TR0ACALL HMS_DISACALL T100MSDACALL T100MSDACALL T100MSDJB S1, KEY_MAINACALL T10MSDJB S1, KEY_MAINJNB S1,$SJMP WAI1WA1: JB S1, K1ACALL T10MSDJB

31、 S1, K1WAIT1: JNB S1, WAIT1WAI1: ;INC S11;MOV A, S11;CJNE A, #1, N1; MOV M1, MIN; MOV H1, HOURMOV R0, #LEDDANJIALMOV R2, #6CLR AMOV COUNTL,AMOV COUNTH,AMOV M100, AMOV DISTANCE,ABK1: MOV R0, ADEC R0DJNZ R2, BK1;起动初始化MOV PRICE,DAY_PRICEMOV COUNTL, #00H;起步价MOV COUNTH, #05H;MOV DISTANCE,#02HLCALL CP_DIS

32、;总金额和单价显示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

33、DP_DISNXT1: CJNE A, #2, NXT2CLR CMOV A, M2SUBB A, M1MOV M1, AMOV A, H2SUBB A, H1MOV H1, A;LCALL XCSJ_DISNXT2: 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, N

34、T2MOV PRICE,NIGHT_PRICELCALL CP_DISLCALL T100MSD;LCALL T100MSD;LCALL T100MSD;MOV LEDDAY_PL, #0AHMOV LEDDAY_PH, #0AHLCALL PA_DIS1; LCALL T100MSD;LCALL T100MSD;LCALL T100MSD; LCALL T100MSD; MOV A, DAY_PRICE; MOV B, #10; DIV AB; DA A; MOV LEDDAY_PL, B; MOV LEDDAY_PH, ALCALL PA_DIS; AJMP LP1LP1: JB S3,

35、KEY11; LCALL T10MSD; JB S3, KEY11; WAIT9: JNB S3, WAIT9; INC DAY_PRICEMOV 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, KE

36、Y13ACALL 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_P; NI

37、G_P: SETB F0 ;调用定时延时标志位LCALL T100MSDLCALL T100MSD; LCALL T100MSD; LCALL T100MSD; LCALL T100MSDMOV LEDNIG_PL, #0AHMOV LEDNIG_PH, #0AHLCALL PA_DIS1LCALL T100MSDLCALL T100MSD; LCALL T100MSD; LCALL T100MSD; LCALL T100MSDLCALL PA_DISJB S3, KEY21LCALL T10MSDJB S3, KEY21; WAIT13: JNB S3, WAIT13; MOV A, #1A

38、DD A, NIGHT_PRICEDA AMOV NIGHT_PRICE,ACJNE A, #99H,KEY21MOV NIGHT_PRICE,#0KEY21: JB S4, KEY22LCALL T10MSDJB S4, KEY22; WAIT14: JNB S4, WAIT14; MOV A, NIGHT_PRICEADD A, #99HDA AMOV NIGHT_PRICE,ACJNE A, #00H, KEY22MOV NIGHT_PRICE,#99HKEY22: JB S1, KEY23ACALL T10MSDJB S1, KEY23WAIT15: JNB S1, WAIT15INC

39、 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_P; MID_P: SETB F0 ;调用定时延时标志位LCALL T100MSD; LCA

40、LL T100MSD; LCALL T100MSD; LCALL T100MSDMOV LEDW_PL, #0AHMOV LEDW_PH, #0AHLCALL PA_DIS1LCALL T100MSD; LCALL T100MSD; LCALL T100MSD; LCALL T100MSDLCALL PA_DISJB S3, KEY31LCALL T10MSDJB S3, KEY31; WAIT16: JNB S3, WAIT16; INC MIDWAY_PRICEMOV A, MIDWAY_PRICEADD A, #1DA AMOV MIDWAY_PRICE,ACJNE A, #99H, K

41、EY31MOV MIDWAY_PRICE, #00H; CJNE A, #100, KEY31MOV MIDWAY_PRICE, #0KEY31: JB S4, KEY32LCALL T10MSDJB S4, KEY32;WAIT17: JNB S4, WAIT17MOV 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

42、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_P; HOU_T: SETB F0 ;调用定时延时标志位LCALL T100MSDLCALL T100MSD

43、MOV LEDHL, #0AHMOV LEDHH, #0AHLCALL HMS_DIS1;直接调用显示,不经过拆分程序LCALL T100MSDLCALL T100MSDMOV SEC, #0LCALL HMS_DISJB S3, KEY41; LCALL T10MSD; JB S3, KEY41; WAIT19: JNB S3, WAIT19MOV A, HOURADD A, #1DA AMOV HOUR,ACJNE A, #24H, KEY41MOV HOUR, #0KEY41: JB S4, KEY42; LCALL T10MSD; JB S4, KEY42; WAIT20: JNB S

44、4, WAIT20MOV 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_T; MIN_T: SETB F0 ;调用定时延时标志位LCALL T100MSDLCALL T100MSDMOV LEDML, #0AHMOV LEDMH, #0AHLCALL HMS_DIS1;直接调用显示,不

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁