出租车计费系统
- 格式:doc
- 大小:396.00 KB
- 文档页数:16
出租车计价系统控制原理
出租车计价系统控制原理是指出租车上安装的计价器的工作原理和控制方式。
计价器主要由速度传感器、计价装置、显示屏和控制电路等组成。
当车辆行驶时,速度传感器会感应到车轮转速,计算出车辆行驶的距离和时间,并将这些信息传送至计价装置中。
计价装置根据行驶的距离和时间,按照规定的计费标准计算出乘客需要支付的车费,并将其显示在显示屏上。
在控制方面,出租车计价系统主要由计价器和计价控制器两部分组成。
计价控制器是出租车公司或政府监管部门安装在车辆上的一个控制装置,它能够对计价器进行远程控制和管理。
例如,可以设置不同的计费标准,或者对不良司机进行惩罚和处罚。
总的来说,出租车计价系统的控制原理基于计价器和计价控制器的交互作用,确保了乘客支付车费的合理性和公正性,同时也保障了出租车公司和政府监管部门对出租车运营的有效控制和管理。
- 1 -。
基于CPLD的出租车计费系统设计一、引言出租车计费系统是指通过计算出租车行驶的距离和时间来确定乘客需要支付的费用的系统。
传统的计费系统通常使用微控制器来控制计费规则和处理计费过程。
然而,随着计算机技术的进步,使用CPLD(复杂可编程逻辑器件)来设计出租车计费系统成为可能。
CPLD具有高度灵活性和可编程性,可以用于实现复杂的计费算法和处理大量的数据。
本文将详细介绍基于CPLD的出租车计费系统的设计方法和流程。
二、设计要求1.支持多种计费规则:根据不同城市的出租车计费规则的差异,计费系统需要支持多种不同的计费规则,包括按里程、按时间和混合计费等规则。
2.精确计算距离和时间:计费系统需要能够精确计算出租车的行驶距离和所花费的时间。
3.实时更新计费:计费系统需要实时更新乘客的费用,并在计费过程中能够实时处理折扣等特殊情况。
4.可配置的费率和计费规则:计费系统需要支持灵活配置费率和计费规则,并能够根据政策的变化进行更新。
5.可靠性和稳定性:计费系统需要具备高可靠性和稳定性,以确保计费过程的准确性。
三、设计方案1.系统框架:基于CPLD的出租车计费系统主要由以下几个部分组成:输入模块、计费算法模块、存储模块、显示模块和输出模块。
输入模块用于获取出租车行驶的距离和时间信息,计费算法模块用于根据距离和时间计算费用,存储模块用于存储费率和计费规则,显示模块用于显示乘客的费用,输出模块用于向乘客输出费用信息。
2.系统流程:(1)输入模块获取出租车行驶的距离和时间信息。
(2)计费算法模块根据距离和时间信息结合存储模块中的费率和计费规则,计算出乘客需要支付的费用。
(3)计费算法模块将计算出的费用存储到存储模块中。
(4)显示模块从存储模块中获取费用,并将费用信息显示给乘客。
(5)输出模块向乘客输出费用信息。
3.系统设计:(1)输入模块:使用距离传感器和时间传感器获取出租车行驶的距离和时间信息,并将数据传输给CPLD。
(2)计费算法模块:根据距离和时间信息以及存储模块中的费率和计费规则,使用CPLD设计计费算法,计算出乘客需要支付的费用。
4.8 出租车计费系统的设计4.8.1 设计要求设计出租车计费系统,实现出租车按照行驶里程计费,行驶里程在3公里以 内,预置起步费为7元,3公里以上以1.6元/公里计费,当计费总额超过30元, 以 2.4 元/公里计费,车停止结束计费。
车费总额可显示最大值为 99.9 元,能同 步显示对应行驶里程。
模拟出租车启动、暂停、停止等状态,通过动态扫描显示 电路,显示行驶里程和车费总额。
4.8.2 设计过程1.出租车计费系统的设计原理出租车计费系统整体设计框图如图 4.8.1 所示,主要模块包括车轮脉冲计数 模块、里程计数模块、计费模块、动态扫描模块及译码模块。
图 4.8.1 出租车计费系统整体设计框图车轮脉冲计数模块接收来自车轮传感器的脉冲信号, 以及出租车运营过程的 启动、暂停、停止等信号,根据车轮的型号,转换得到百米行驶信号。
里程计数 模块负责统计百米行驶信号,得到行驶里程数据信号,计费模块根据行驶里程以 车轮脉冲计数模块计费模块 里程计数模块动态扫 描及译 码模块车轮脉冲 信号 启动/暂停 停 止 时钟信号及车费规则,得到车费总金额数据信号,将行驶里程和车费总金额数据信号,送 入动态扫描模块及译码模块,供外部数码管显示。
2.车轮脉冲计数模块车路脉冲计数模块接收来自车轮传感器的脉冲信号,经过计数分频,产生出 租车行驶100米的输出信号。
由于不同型号的车轮,直径大小不同,行驶100米车轮转的圈数不同,即车 轮传感器发出的脉冲信号个数不同,对不同车轮应区别对待。
如表481所示, 车轮直径与每公里所转圈数对应表。
表 481 车轮直径与每公里所转圈数对应表车轮直径 500mm 520mm 540mm 560mm 580mm圈数/公里 637 612 590 569 549本设计中我们选取车轮直径为520mm进行讨论,设计程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY count ISPORT(clk, reset, start : IN STD_LOGIC;clk_out : OUT STD_LOGIC);END count;ARCHITECTURE behave OF count ISSIGNAL mode : STD_LOGIC_VECTOR(5 DOWNTO 0);SIGNAL temp : STD_LOGIC_VECTOR(5 DOWNTO 0);TYPE states IS (s0, s1);SIGNAL s_state : states;BEGINmode <= "111101";PROCESS(clk, start, reset)BEGINIF reset = '1' THEN s_state <= s0;temp <= "000000";ELSIF (clk'EVENT AND clk = '1') THENCASE s_state ISWHEN s0 => temp <= "000000";IF start = '1' THENs_state <= s1;ELSE s_state <= s0;END IF;WHEN s1 => IF start = '1' THENIF temp = mode THENtemp <= "000000"; s_state <= s1;ELSE temp <= temp + 1; s_state <= s1;END IF;ELSE s_state <= s0;END IF;END CASE;END IF;END PROCESS;clk_out <= '1' WHEN temp = mode ELSE '0';END behave;以上程序中,当停止键 reset 设为高电平,模块进入停止计数状态(s0);停止键 reset 设为低电平,同时启动/暂停键设为启动状态(start 高电平),进入;设置为暂停(start 低电平),回到s0状态,停止分频计数。
课程名称:单片机系统课程设计设计题目:出租车计费系统完成期限:自2011 年12 月19 日至2011 年12 月31 日共 2 周1一、设计任务1.1 外部脉冲自动计数,自动显示。
1.1.1设计一个255计数器:0-255计数,计满后自动清0,重新计数(在数码管中显示)。
1.1.2设计一个999999计数器:0-999999计数,计满后自动清0,重新计数(在数码管中显示)。
1.2 设计一个出租车计费系统:起步价为5元(2km以内),2km后,0.8元/0.5km;要求每500m刷新计费一次,在8位数码管中,前三位显示数码管显示里程数,后三位数码管显示价钱(角,元,十元)二、设计目的1、掌握寄存器、存储器读写等汇编指令;2、掌握软件编程、编译、调试等基本操作;3、学会程序的基本调试方法;4、熟悉Proteus仿真软件的使用;5、学会单片机最小系统电路原理设计分析,程序设计、调试分析与修改,程序调试等实际操作。
三、硬件资源※89S51单片机;※6位共阳极数码管;※段码驱动器74HC573,位选译码器74HC138;※4路独立式按键;※外部晶振电路;※ISP下载接口(In system program,在系统编程);※DC+5V电源试配器(选配);※ISP下载线(选配)。
四、电路原理分析与设计P1为外部电源输入座(DC+5V),S8为电源最小系统的电源开关,E1和C3为电源滤波,去耦电容。
D1为系统电源指示灯。
J2为ISP下载接口,S7系统复位按键。
CRY1,C1,C2为外部时针电路。
IC1为89S51(DIP-40),左上角为第一脚。
PRE1,PRE2。
为上拉排阻(阻值4.7k—10k)。
J5,J9,J6,J10分别对应单片机的P0,P1,P2,P3口。
便于二次开发。
6路共阳极数码管动态显示电路,P0口通过74HC573(起驱动和隔离作用,让电流通过74CH573流入公共地),来控制数码管的8路段码,P20-P22通过74HC138译码器(使用其中的6路)控制数码管的公共端(中间还有三极管做驱动器)。
出租车计费系统课程设计一、课程目标知识目标:1. 学生能理解出租车计费系统的基本构成和原理;2. 学生能掌握出租车起步价、里程价和等候时间的计算方法;3. 学生了解并掌握实际出租车计费中的分段计费和优惠策略。
技能目标:1. 学生能够运用所学知识设计并实现一个简单的出租车计费系统;2. 学生能够运用计算机编程语言,编写出计费系统的核心算法;3. 学生通过实际操作,培养解决问题的能力和团队协作能力。
情感态度价值观目标:1. 学生在学习过程中,培养对信息技术学科的兴趣和热情;2. 学生通过了解计费系统的实际应用,认识到数学和信息技术在生活中的重要性;3. 学生在团队协作中,学会尊重他人,培养合作精神和沟通能力。
课程性质分析:本课程为信息技术学科,结合数学知识,以提高学生的实际操作能力和解决问题的能力为主要目标。
学生特点分析:本课程针对初中年级学生,他们对计算机编程有一定的基础,具备一定的逻辑思维能力和团队协作能力。
教学要求:1. 教学内容与实际生活紧密联系,提高学生的实践操作能力;2. 教学过程中注重培养学生的团队协作和沟通能力;3. 教学评价以学生的实际操作和解决问题能力为主要标准。
二、教学内容1. 出租车计费系统的基本概念与原理:- 出租车计费系统的组成与功能;- 出租车计费的基本原则与标准。
2. 出租车计费算法:- 起步价、里程价和等候时间的计算方法;- 分段计费和优惠策略的应用;- 计费算法的编写与实现。
3. 编程实践:- 利用计算机编程语言(如Python)设计出租车计费系统;- 编写计费系统核心算法;- 调试、优化和测试计费系统。
4. 教学内容的安排与进度:- 第一课时:介绍出租车计费系统的基本概念与原理,让学生了解计费系统的组成和功能;- 第二课时:讲解出租车计费算法,引导学生学习起步价、里程价和等候时间的计算方法;- 第三课时:学习分段计费和优惠策略,分析实际案例;- 第四课时:编程实践,指导学生编写计费系统核心算法;- 第五课时:调试、优化和测试计费系统,总结学习成果。
EDA课程设计:出租车计费系统学生姓名:所在班级:指导老师:完成时间:一、课程设计目的1、综合运用EDA技术,独立完成一个课题的设计,考察运用所学知识,解决实际问题的能力;2、结合理论知识,考察阅读参考资料、文献、手册的能力;3、进一步熟悉EDA技术的开发流程,掌握文件编辑、编译、仿真、下载验证等环节的实现方法和应用技巧;二、课程设计要求实际中出租车的计费工作原理一般分成3个阶段:(1)车起步开始计费。
首先显示起步价(本次设计起步费为7.00元),车在行驶3 km 以内,只收起步价7.00元。
(2)车行驶超过3 km后,按每公里2.2元计费(在7.00元基础上每行驶1 km车费加2.2元),车费依次累加。
(3)行驶路程达到或超过9 km后(车费达到20元),每公里加收50%的车费,车费变成按每公里3.3元开始计费。
车暂时停止(行驶中遇红灯或中途暂时停车)不计费,车费保持不变。
若停止则车费清零,等待下一次计费的开始三、基本设计思想1、根据出租车计费原理,将出租车计费部分由5个计数器来完成分别为counterA,counterB,counterC,counterD,counterE。
①计数器A完成车费百位。
②计数器B完成车费十位和个位。
③计数器C完成车费角和分。
④计数器D完成计数到30(完成车费的起步价)。
⑤计数器E完成模拟实现车行驶100 m的功能。
2、行驶过程中车费附加50%的功能:由比较器实现。
3、车费的显示:由动态扫描电路来完成。
用专用模块来实现,完成数据的输入即动态数据的显示。
4、通过分析可以设计出系统的顶层框图如图3.1所示:图3.1 系统的顶层框图四、出租车计费系统的实现1、系统的总体框图2、程序流程图图4.2程序流程图3、系统各功能模块的实现(1)模块JIFEI的实现:图 4.3 模块模块JIFEI见图4.3。
输入端口START、STOP、PAUSE、JS分别为汽车起动、停止、暂停、加速按键。
(题目)255计数器、50000计数器、出租车计费系统起电气与信息工程学院单片机课程设计实验报告一、设计任务:1.1 外部脉冲自动计数,自动显示。
1.1.1设计一个255计数器:0-255计数,计满后自动清0,重新计数(在数码管中显示)。
1.1.2设计一个50000计数器:0-50000计数,计满后自动清0,重新计数(在数码管中显示)。
1.2 设计一个出租车计费系统:起步价为5元(2km以内),2km后,0.8元/0.5km;要求每500m刷新计费一次,在8位数码管中,前3位显示数码管显示里程数,后3位数码管显示价钱(角,元,十元,百元)注:要求首先采用PROTEUS完成单片机最小系统的硬件电路设计及仿真;程序仿真测试通过后,再下载到单片机实训板上执行。
二、单片机最小系统硬件资源介绍:1 单片机系统数码管和键盘接口电路2 7279A 资料三、设计思路:1、255计数:255可用8位二进制数表示,故本设计可直接采用可以重装载的计数器T1模式二进行计数。
然后对TL1的内容进行相应的二进制---十进制转换:首先TL1的内容除以64H,所的商就是十进制的百位,然后用余数除以0AH,所得的商就是十进制数的十位,余数即相应的十进制的个位。
接着将相应的十进制数进行译码,并在LED数码管上显示出来。
每来一个脉冲其显示的结果加一,直加至255然后T1重新开始计数。
255计数器汇编程序ORG 0000HAJMP START ORG 0300HSTART:MOV DPTR,#0CFE9H MOV A,#0D1HMOVX @DPTR,ANOPNOPNOPNOPNOPNOPNOPNOPMOV TMOD,#50HMOV TH1,#00HMOV TL1,#00HSETB TR1LOOP1:MOV A,TL1MOV B,#64HDIV ABMOV R1,A //存百位MOV A,BMOV B,#0AHDIV ABMOV R2,A //存十位MOV R3,B //存个位MOV DPTR,#0CFE9HMOV A,#80HMOVX @DPTR,A //选择第一个显示管MOV DPTR,#TABMOV A,R1MOVC A,@A+DPTRMOV DPTR,#0CFE8HMOVX @DPTR,ACLR AMOV DPTR,#0CFE9HMOV A,#81HMOVX @DPTR,A //选择第二个显示管MOV DPTR,#TABMOV A,R2MOVC A,@A+DPTRMOV DPTR,#0CFE8HMOVX @DPTR,ACLR AMOV DPTR,#0CFE9HMOV A,#82HMOVX @DPTR,A //选择第三个显示管MOV DPTR,#TABMOV A,R3MOVC A,@A+DPTRMOV DPTR,#0CFE8HMOVX @DPTR,ALJMP LOOP1TAB:DB 3FH,06H,5BH,4FH,66HDB 6DH,7DH,07H,7FH,6FHENDPROTUES仿真图50000计数器设计思路;由于DIV AB指令中A、B均为8位寄存器,因此255二进制转十进制计数的方法不能用于0-50000的循环计数。
出租车计费系统项目设计方案14.1 系统设计要求以CPLD/FPGA为主体,设计并制作一台出租车计费系统,系统的方框图如图14.1所示。
1.计费及显示(1) 里程,即汽车行驶里程,用四位数字显示,显示方式为“XXX.X”,单位为km,精确到0.1 km。
(2) 单价,即里程单价,用三位数字显示,显示方式为“X.XX”,单价为元/km,根据每天不同的时间段有两种情况:当时间段为06:00~23:00时单价为1.40元/km,其他时间段内单价为1.80元/km。
(3) 等候时间,用四位数字显示分钟和秒,显示方式为“XX:XX”,等候的定义是:当汽车行驶速度小于或等于12 km/h时为“等候”。
(4) 等候单价,等候单价有两种情况:在等候时间小于1小时的情况下,等候单价为1元每5分钟;在等候时间大于1小时的情况下,等候单价为20元每小时。
(5) 费用的计算,出租车的起价为5.00元,当里程小于2 km时,按起价计算费用;当里程大于2 km时按下式计算费用:费用=里程╳里程单价+等候时间╳等候单价(6) 费用的显示,用五位数字显示,显示方式为“XXX.XX”,单价为元。
2.时钟及显示当出租车在常运状态下,应能显示当前的时间。
在汽车熄火的情况下,时钟必须正常运行,但是可以不显示时钟。
3.计费开始提示当出租车载上乘客并起步后,将空车指示牌扳倒时,空车指示牌里的指示灯熄灭,并有语音或灯光提示信号。
14.2 系统设计方案14.2.1 系统总体设计方案本系统拟采用单片机和FPGA 的结合进行系统的主体设计,系统原理框图如图14.2所示。
14.2.2 测控FPGA的VHDL程序设计根据系统的设计要求,我们可将整个测控FPGA系统CZJFXT分为七个模块,它们分别是:分频器模块FPQ,等待判别模块DDPB,里程计算模块LCJS,里程计费模块LCJF,等待计时模块DDJS,等待计费模块DDJF,输出数据选择模块SCXZ。
第一章出租车计价系统的设计要求与设计方案1.1出租车计价器设计要求设计一个出租车自动计费器,计费包括起步价、行车里程计费、等待时间计费三局部,用七段数码管显示总金额,单价,运行里程,起步价为6 元,超过 6 元,每一公里增加 1 元或2 元,等待时间单价为每 30 秒钟1 元,计费功能:费用的计算是按行驶里程收费。
设起步价为 6 元。
1、当总金额<6 元时,按起价计算费用2、当总金额>6 元时,每公里按 1 元或2 元计费3、等待累计时间>30s 时,按 1 元/30s 计费4、S1 为启动按钮、S2 转换单价按钮、S3 复位按钮。
显示功能:1、显示行驶里程:用三位数字显示,显示方式为“XX.X”,单位为 km。
计程范围 0-99.9km,准确到 0.1km。
2、显示单价:用两位数字显示,显示方式为“X.X”,单位为元。
3、显示总费用:用三位数字显示,显示方式为“XX.X”,单位为元。
计价范围 0-99.9 元,准确到 0.1 元。
1.2系统主要功能本出租车自动计费,上电后显示最初的起步价,里程计费单价。
同时具有运行,复位,转换等状态,可以切换白天与晚上不同计费单价,可以实现每等待30s 收1 元功能。
出租车显示行驶的总费用,里程,单价。
1.3方案论证与比较方案一:承受数字电子技术,利用 555 定时芯片构成多谐振荡器,或承受外围的晶振电路作为时钟脉冲信号,承受计数芯片对脉冲尽心脉冲的计数和分频,最终通过译码电路对数据进展译码,将译码所得的数据送给数码管显示,一下是该方案的流程框图,方案一如图 1-1 所示:图1-1 方案一方案二:承受 EDA技术,依据层次化设计理论,该设计问题自顶向下可分为分频模块,把握模块计量模块、译码和动态扫描显示模块,其系统框图如图 1-2 所示:图1-2 方案二方案三:承受MCU 技术,通过单片机作为主控器,承受外部晶振作为时钟脉冲,通过按键可以便利调整,以下是方案三的系统流程图,本方案主要是必需对于数字电路比较生疏,本钱又不高。
湖南工业大学课程设计资料袋学院(系、部)学年第学期课程名称单片机应用系统指导教师职称学生姓名专业班级学号题目出租车计费系统成绩起止日期2011 年06 月20 日~2011 年7 月 1 日目录清单序号材料名称资料数量备注1 课程设计任务书2 课程设计说明书3 课程设计图纸12 张456湖南工业大学课程设计任务书2010 —2011 学年第 2 学期学院(系、部)电气工程及其自动化专业班级课程名称:单片机应用系统设计题目:出租车计费系统完成期限:自2011 年06 月20 日至2011 年7 月 1 日共 2 周内容及任务1.1 外部脉冲自动计数,自动显示。
1.1.1设计一个255计数器:0-255计数,计满后自动清0,重新计数(在数码管中显示)。
1.1.2设计一个999999计数器:0-999999计数,计满后自动清0,重新计数(在数码管中显示)。
1.2 设计一个出租车计费系统:起步价为5元(2km以内),2km后,0.8元/0.5km;要求每500m 刷新计费一次,在8位数码管中,前三位显示数码管显示里程数,后三位数码管显示价钱(角,元,十元)进度安排起止日期工作内容2011.06.20-2011.06.22 讲述设计内容及基本原理2011.06.23-2011.06.27 进行系统的设计2011.06.28-2011.07.01 进行系统的调试主要参考资料[1] 刘苗生、潘宗预.单片机测控系统设计. 中国物质出版社,2006年指导教师(签字):年月日系(教研室)主任(签字):年月日(单片机应用系统)设计说明书0~255计数器,0~999999计数器出租车计费系统起止日期:2011 年06 月20 日至2011 年7 月 1 日学生姓名班级学号成绩指导教师(签字)机电信息教学部2011年6月20日单片机最小系统一、实习课题单片机最小系统设计二、实习内容单片机最小系统电路原理设计分析与讲解,程序设计、调试分析与讲解,程序调试实际操作。
三、硬件资源※89c51单片机;※6位共阳极数码管;※段码驱动器74HC573,位选译码器74HC138;※4路独立式按键;※外部晶振电路;四:原理图设计及步骤:1)流程图设计2)KEIL程序3)PROTEUS仿真图1.单片机课程设计——0~255计数器开始T1初始化,启动计数器T1读取TL1数据调转BCD码子程序调用显示子程序255计数器程序流程图源程序:ORG 0000HLJMP STARTORG 030HSTART:MOV TMOD,#050HSETB TR1MOV A,TL1LCALL BCDLCALL DISPLAYLJMP STARTBCD:MOV B,#064HDIV ABMOV 072H,AXCH A,BMOV B, #0AHDIV ABMOV 071H,AMOV 070H,BRETDISPLAY:MOV R1,#070HMOV R5,#00HPLAY:MOV A,R5MOV P2,AMOV A,@R1MOV DPTR,#TABMOVC A,@A+DPTRMOV P0,ALCALL D10MSINC R1INC R5CJNE R5,#03H,PLAYRETD10MS:MOV R2,#0AH ;6M晶振DL2:MOV R3,#07DHDL1:NOPNOPDJNZ R3,DL1DJNZ R2,DL2RETTAB:DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H ENDwei6wei7A8A9A10A11A12A13A14A15A8A9A10VCC GND V C CG N DG N DVCC GNDQ0Q1Q2Q3Q4Q5Q6Q7Q 0Q 1Q 2Q 3Q 4Q 5Q 6Q 7V C CP10V C CP10P11P12P13P11P12P13G N Dwei0wei1wei2wei3wei4wei5wei0wei1wei2wei3wei4wei5kwei5kwei4kwei3kwei2kwei1kwei0k w e 5k w e 4k w e 3k w e 2k w e 1k w e 0RSTV C CG N DRSTA 1B 2C3E16E24E35Y015Y114Y213Y312Y411Y510Y69Y77U174HC138D02D13D24D35D46D57D68D79Q019Q118Q217Q316Q415Q514Q613Q712LE 11OE 1U274HC573XTAL218XTAL119ALE 30EA31PSEN 29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U3AT89C51X112MHZC230pFC330pF234567891RP15.1k234567891RP25.1KU3(P3.5/T1)123U4:A4011564U4:B40118910U4:C4011121311U4:D4011123U5:A4011564U5:B4011C122uFR11kR2200PROTEUS 下的仿真图2.0~999999计数器999999计数器程序流程图开始开定时器1中断,初始化T1为方式二,初值为255主程序LLL 程序段,处理数值显示程序源程序:ORG0000HLJMP ST ARTORG 01BHLJMP SUB1ORG030HST ART:MOV IE,#088HMOV TMOD,#060HMOV TL1,#255MOV TH1,#255SETB TR1 LLL:MOV A,0X71XRL A,#10JNZ DISPLAYMOV 0X71,AINC 0X72MOV A,0X72XRL A,#10JNZ DISPLAYMOV 0X72,AINC 0X73MOV A,0X73XRL A,#10JNZ DISPLAYMOV 0X73,AINC 0X74MOV A,0X74XRL A,#10JNZ DISPLAYMOV 0X74,AINC 0X75MOV A,0X75XRL A,#10JNZ DISPLAYMOV 0X75,AINC 0X76MOV A,0X76XRL A,#10JNZ DISPLAYMOV 0X76,A DISPLAY:MOV R1,#071H MOV R5,#00H PLAY: MOV A,R5 MOV P2,A MOV A,@R1 MOV DPTR,#T AB MOVC A,@A+DPTR MOV P0,A LCALL D10MS INC R1INCR5CJNE R5,#06H,PLAYLJMP LLLSUB1: INC0X71RETI D10MS: MOV R2,#0AH ;6M 晶振DL2:MOV R3,#07DH DL1: NOP NOPDJNZ R3,DL1 DJNZ R2,DL2RETT AB: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H ENDwei6wei7A8A9A10A11A12A13A14A15A8A9A10VCC GND V C CG N DG N DVCC GNDQ0Q1Q2Q3Q4Q5Q6Q7Q 0Q 1Q 2Q 3Q 4Q 5Q 6Q 7V C CP10V C CP10P11P12P13P11P12P13G N Dwei0wei1wei2wei3wei4wei5wei0wei1wei2wei3wei4wei5kwei5kwei4kwei3kwei2kwei1kwei0k w e 5k w e 4k w e 3k w e 2k w e 1k w e 0RST V C CG N DRSTA 1B 2C3E16E24E35Y015Y114Y213Y312Y411Y510Y69Y77U174HC138D02D13D24D35D46D57D68D79Q019Q118Q217Q316Q415Q514Q613Q712LE 11OE 1U274HC573XTAL218XTAL119ALE 30EA31PSEN 29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U3AT89C51X112MHZC230pFC330pF234567891RP15.1k234567891RP25.1KU3(P3.5/T1)123U4:A4011564U4:B40118910U4:C4011121311U4:D4011123U5:A4011564U5:B4011C122uFR11kR2200PROTEUS 下的仿真图3.出租车计费系统开始开T1中断,初始化T1主程序是否达到加钱条件否是执行加钱程序路程处理程序显示出租车计费系统流程图源程序:ORG0000HLJMP ST ARTORG 01BHLJMP SUB1ORG030Hjiao EQU 0X71 yuan EQU 0X72 shiyuan EQU 0X73 lucheng1 EQU 0X74 lucheng2 EQU 0X75 lucheng3 EQU 0X76ST ART:MOV yuan,#5MOV IE,#088HMOV TMOD,#060HMOV TL1,#255MOV TH1,#255SETB TR1MOV 0X70,#1LLL:MOV A,lucheng1XRL A,#5JZ JIAQIANMOV A,lucheng1XRL A,#6JZ fuweicishuMOV A,lucheng1XRL A,#10JZ JIAQIANfuweicishu:MOV 0X70,#1KKK:MOV A,lucheng1XRL A,#10JNZ DISPLAYMOV 0X70,#1MOV lucheng1,AINC lucheng2MOV A,lucheng2XRL A,#10JNZ DISPLAYMOV lucheng2,AINC lucheng3MOV A,lucheng3XRL A,#10JNZ DISPLAYMOV lucheng3,ASJMP DISPLAYJIAQIAN:MOV A,lucheng3JNZ DAOLE2MOV R1,lucheng2CJNE R1,#2,PANDUANDAOLE2:MOV R0,0X70CJNE R0,#1,KKKMOV 0X70,#0MOV A,jiaoADD A,#8MOV B,#10DIV ABMOV jiao,BJZ KKKINC yuanMOV A,yuanXRL A,#10JNZ KKKMOV yuan,AINC shiyuanMOV A,shiyuanXRL A,#10JNZ KKKMOV shiyuan,ASJMP KKKPANDUAN:JNC DAOLE2JC KKKDISPLAY:MOV R1,#071HMOV R5,#00HPLAY:MOV A,R5MOV P2,AXRL A,#1JZ JIADIANMOV A,R5XRL A,#4JZ JIADIANMOV A,@R1MOV DPTR,#T ABMOVC A,@A+DPTRSJMP PP0JIADIAN:MOV A,@R1MOV DPTR,#T ABMOVC A,@A+DPTRANL A,#07FHPP0:MOV P0,ALCALL D10MSLCALL D10MSINC R1INC R5CJNE R5,#06H,PLAYLJMP LLLSUB1:INC lucheng1RETID10MS:MOV R2,#0AH ;6M晶振DL2:MOV R3,#07DHDL1:NOPNOPDJNZ R3,DL1DJNZ R2,DL2RETT AB:DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090HENDwei6wei7A8A9A10A11A12A13A14A15A8A9A10VCC GND V C CG N DG N DVCC GNDQ0Q1Q2Q3Q4Q5Q6Q7Q 0Q 1Q 2Q 3Q 4Q 5Q 6Q 7V C CP10V C CP10P11P12P13P11P12P13G N Dwei0wei1wei2wei3wei4wei5wei0wei1wei2wei3wei4wei5kwei5kwei4kwei3kwei2kwei1kwei0k w e 5k w e 4k w e 3k w e 2k w e 1k w e 0RSTV C CG N DRSTA 1B 2C3E16E24E35Y015Y114Y213Y312Y411Y510Y69Y77U174HC138D02D13D24D35D46D57D68D79Q019Q118Q217Q316Q415Q514Q613Q712LE 11OE 1U274HC573XTAL218XTAL119ALE 30EA31PSEN 29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U3AT89C51X112MHZC230pFC330pF234567891RP15.1k234567891RP25.1KU3(P3.5/T1)123U4:A4011564U4:B40118910U4:C4011121311U4:D4011123U5:A4011564U5:B4011C122uFR11kR2200100.1KM 11010.1元没有超过2km 时PROTEUS 下的仿真图wei6wei7A8A9A10A11A12A13A14A15A8A9A10VCC GND V C CG N DG N DVCC GNDQ0Q1Q2Q3Q4Q5Q6Q7Q 0Q 1Q 2Q 3Q 4Q 5Q 6Q 7V C CP10V C CP10P11P12P13P11P12P13G N Dwei0wei1wei2wei3wei4wei5wei0wei1wei2wei3wei4wei5kwei5kwei4kwei3kwei2kwei1kwei0k w e 5k w e 4k w e 3k w e 2k w e 1k w e 0RSTV C CG N DRSTA 1B 2C3E16E24E35Y015Y114Y213Y312Y411Y510Y69Y77U174HC138D02D13D24D35D46D57D68D79Q019Q118Q217Q316Q415Q514Q613Q712LE 11OE 1U274HC573XTAL218XTAL119ALE 30EA31PSEN 29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U3AT89C51X112MHZC230pFC330pF234567891RP15.1k234567891RP25.1KU3(P3.5/T1)123U4:A4011564U4:B40118910U4:C4011121311U4:D4011123U5:A4011564U5:B4011C122uFR11kR2200100.1KM 11010.1元超过2km 时PROTEUS 下的仿真图课程设计心得体会为期两个星期的单片机课程设计结束了,这次老师一再强调要我们用汇编写,并说会用汇编编程,才算是真正的懂单片机。