北邮数字电路实验报告_简易出租车计价器
出租车计价器控制电路设计
实验报告
实验报告需要反映以下工作:
1.
2. 3. 4. 5. 6. 7.
设计任务与要求
主要器件性能讨论与选择 设计原理与实现方案论证 完整的电路设计原理图 电路调试过程与方法 设计与调试过程中遇到的问题与解决办法 实验心得体会与总结
考核内容
实验验收:功能与性能指标的完成程度,完成时间。 实验质量:电路方案的合理性。 自主创新:功能构思、电路设计的创新性, 自主思考与独立、实践能力。 实验报告:实验报告的规范性与完整性。
–秒信号可用32768Hz石英晶振经CD4060分频后获得。简 易的可用555定时器近似获得。
–候时计数器每10分钟输出一个脉冲。个位秒计数器为60 进制,分计数器为十进制,这样就组成了600进制计数器。
5.清零复位电路
–清零复位后,要使各计数均清0,显示器中仅 有单价和起步价显示外,其余均显示为0。
–侯时模块设计类似于里程计数模块,不同的是脉冲信号可 由石英晶振经分频后获得。简易的也可用555定时器近似 获得,涉及脉冲信号产生相关知识。
– 器件选择:计数器可用74LS160、74LS90等,显示可用译码、驱动、 显示三合一器件CL002(7seg-BCD)或共阴、共阳显示组件(74LS248、 LC5011-11或74LS247、LA5011-11)。
3.里程判别电路
– 当所设置的起价公里数到时,使触发器翻转。下 图为5公里时触发器动作。 – 里程判别电路输出控制(起步价与起步价之后计 费)锁存器(可用74224)的输出,结合里程和 侯时脉冲控制74273的clk端,最终控制总价按 公里显示,锁存器也可选择74LS175等。
4.秒信号发生器及等待计时电路
用数字集成电路设计出租车计价器控制逻辑电路 指标如下:
基于数电的出租车计价器设计
数字电子技术基础实验报告——出租车计价器的设计指导老师:卜灵组员:王文博 1004112226孔德强 1004112230日期:2014年1月1日目录一、实验要求......................................................................................................... - 1 -1.基础功能部分 ........................................................................................... - 1 - 2.进阶功能部分 ........................................................................................... - 1 - 3.发散功能部分 ........................................................................................... - 1 - 二、实验分析......................................................................................................... - 2 -1.电路实现要求分析 ................................................................................... - 2 - 2.仿真说明 ................................................................................................... - 4 -1) 开关功能介绍 ....................................................................................... - 4 -2) 程序启动介绍 ....................................................................................... - 5 -3) 程序显示介绍 ....................................................................................... - 5 -三、电路设计和分析............................................................................................. - 7 -1.行驶时间模块设计 ................................................................................... - 7 - 2.行驶里程模块设计 ................................................................................... - 7 - 3.低速行驶费模块 ....................................................................................... - 8 -1) 控制部分 ............................................................................................... - 8 -2) 计数部分 ............................................................................................... - 8 -3) 十进制加法器 ....................................................................................... - 9 -4.普通行驶费用模块 ................................................................................. - 10 -1) 3公里以内控制模块 ........................................................................... - 10 -2) 起步价控制模块 ................................................................................. - 11 -5.总行驶费用模块 ..................................................................................... - 12 -四、实验总结....................................................................................................... - 14 -五、附录............................................................................................................... - 16 -1.元器件数目 ............................................................................................. - 16 - 2.程序图 ..................................................................................................... - 16 -一、实验要求1.基础功能部分1)该实验的行车部分要求实现显示时间、里程数、价格三方面。
(完整word版)数电课设报告——出租车计价器
课程设计任务书学生姓名:专业班级:指导教师:许建霞工作单位:信息工程学院题目: 出租车计价器的设计与实现初始条件:本设计既可以使用集成译码器、计数器、定时器、脉冲发生器和必要的门电路等,也可以使用单片机系统构建多功能数字钟。
用数码管显示行驶里程、停车时间和计费值。
要求完成的主要任务: (包括课程设计工作量及技术要求,以及说明书撰写等具体要求)1、课程设计工作量:1周。
2、技术要求:1)设计一个出租车计价器。
要求用4位数码管显示行驶里程、停车时间和计费值,采用按键切换显示物理量。
2)出租车的起步价为3元,当里程行驶到1km后,费用为4元;当里程行驶到1.5km后,费用为5元;,当里程行驶到2km后,费用为6元;当里程行驶到2.5km后,费用为7元;当里程行驶到3km 后,费用为8元;此后每公里计费为0.7元/0.5km。
停车每达3分钟,增加0.7元。
3)具有秒、分为60进制计数功能,能显示分、秒停车状态的计时结果,格式为:00:00min。
按照轮胎转动1圈为1m计算,计算并显示行驶的里程结果,格式为:000.0km。
能显示乘车费用,格式为:000.0元。
4)确定设计方案,按功能模块的划分选择元、器件和中小规模集成电路,设计分电路,画出总体电路原理图,阐述基本原理。
3、查阅至少5篇参考文献。
按《武汉理工大学课程设计工作规范》要求撰写设计报告书。
全文用A4纸打印,图纸应符合绘图规范。
时间安排:1、2013年5 月17日,布置课设具体实施计划与课程设计报告格式的要求说明。
2、年月日至年月日,方案选择和电路设计。
3、年月日至年月日,电路调试和设计说明书撰写。
4、2013年7月5日,上交课程设计成果及报告,同时进行答辩。
指导教师签名:年月日系主任(或责任教师)签名:年月日目录1. 1 原理图的设计 (4)1.1方案的选择、比较 (4)1.1.1 方案一 (4)1.1.2 方案二 (5)1.1.3 方案比较选择 (6)1.2 方案二的说明及电路 (6)1.2.1 AT89S52单片机及最小系统 (6)1.2.2 振荡电路 (7)1.2.3 按键单元 (7)1.2.4 显示单元 (8)1.2.5 存储单元 (9)1.3 系统总程序..........................................................................................10 1.3.1系统总程序 (10)1.3.2 行驶路程子程序 (11)1.3.3 等待时间子程序 (12)1.4主要电路图及工作原理 (14)2 仿真结果分析 (15)3 分析测试数据 (16)4收获、体会、建议 (17)5元器件清单 (18)5.1单片机主板BOM清单 (18)5.2 显示部分器件 (19)6 主要参考文献资料 (20)附录一 (22)附录二 (23)摘要随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注。
数字电路出租车计价器设计
时序逻辑电路课程设计引言:我们组选择了题目一,设计出租车计价器,经过对书本、资料查阅,再经过构思,设计,搭建电路,仿真,得出了结果,即使不够完美,不过也掌握了部分知识,增加了对多种原件印象。
下文将具体给出设计。
一、资料查阅经过参考数字电路书本,和数字电路试验书,再经过网络查阅,也参考了网上有类似设计,想出了电路基础思绪。
二、对于要求实现要求1:依据出租车上速度传感器传来脉冲个数和设置里程单价来计算对应总价格,并将总价格经过LED实时显示。
对于此要求实现,经过查阅,我们发觉了74LS160十位计数器,有预制和清零功效,能进行0-9反复计数。
功效表以下要求2:起步价能够设置:。
因为74LS160有置数功效,所以能够置数,能够要求其从一个确定数开始计数,所以能够设置起步价。
对于从要过了起步价里程才开始计数,因为每一个单位里程是一次脉冲,而芯片又是每一次脉冲才记一次数,所以应用触发器存放功效来使前几次脉冲无法传至芯片。
要求3:里程单价能够设置。
利用百分比乘法器,能够实现脉冲改变。
比如用CC4527百分比乘法器,输入一个BCD数,其输出脉冲为输入脉冲BCD十分之一倍。
比如速度传感器每个脉冲为1km,单价为2元,那么就输入20BCD数,那么百分比乘法器就会输出一个2倍速度传感器脉冲脉冲信号,以此脉冲作为后面电路时钟信号,能够实现单价2元。
其它单价以这类推,不过因为仿真软件中没有找到百分比乘法器,所以仿真中没有单价设置这一项。
要求4:能够对总价格进行复位,从而为下次计费做好准备。
利用74LS160置数功效,重新对其进行置数即可实现下次重新开始计费。
三、具体电路时序逻辑:左下角U1为里程脉冲发生器,经过N个D锁存器延时,才能够传至上面74LS160芯片,芯片开始计数,显示在右上方两位显示器上,即计程车价钱。
电路中有两个单刀单置开关,上面S1和下面S2。
S1作用为每次重新搭载乘客后清零和重新显示起步价,S2功效为开启里程传感器,为计程车进行计价。
数字电路模拟电路课程设计--出租车计价器
数字电路模拟电路课程设计--出租车计价器数电课程设计题目:出租车计价器学生姓名:赵婷学号: 210112030110院(系):理学院专业:信息与计算科学指导教师:陈敏歌2011 年 6 月 7 日目录一、设计目的及要求二、使用元件三、计价指示四、总体设计方案1、里程计数及显示2、计价电路3、秒信号发生器及等候计时电路4、里程计数显示单元5、清零复位6、时间等候计数7、复位、秒信号、侯时信号五、计价电路部分六、总体电路设计七、设计心得八、参考文献一设计目的及要求这个系统的主要功能是:1.汽车随着行驶里程的增加,计价器里程数字显示的读数从零逐渐增大,而当行驶到3公里时计费数字显示开始从起步价5元增加。
到达目底地,便可按显示的数字收费。
2.计时功能,当计程车到达某地需要在那里等候时,只要按一下“计时”键,每等候一定时间,计费显示就增加一个该收的等候费用。
当汽车继续行驶时,停止计算等候费,继续增加里程计费。
二使用元件1.NET系列数字电子技术实验系统2.直流稳压电源3.集成电路:74LS74、74LS83、74LS244、74LS290、4060、4518 及门电路4.显示:CL0025.数据开关、按钮、阻容元件若干三计价指标1.按启动键后开始计费。
2.起步价为6元,起步价内行驶里程为3公里。
3.起步价3公里之后,正常行驶速度下每公里2元,小于0.1元不计费。
4.起步价3公里之后,当行驶速度等于或者小于120米/分钟时,不再按距离计费改为按时间计费,每10秒0.1元,小于10秒不计费。
5.起步价(3公里)内只按距离计费,不按时间计费。
6.按下客键后,计价器计费停止,显示总计的车费。
7.关闭启动键后,计价器清零,显示全零。
大于基本下图为计程车计价器控制电路整体框图。
计程车计价器控制电路框图:y 清零Y里程计数器计程车传感信号 候时起动图1计程车计价器控制电路框图如图2所示为出租车计价器控制电路框图译码显示显示 译码显示译码加法器 里程单价候时>=1起步价等候计价器控制电路等候时间信号行驶里程信号等候时间单价(BCD比例乘法器)里程单价(BCD比例乘法器)或门计数,寄存,译码图2 出租车计价器控制电路框图四总体设计方案1里程计数及显示在计程车转轴上加装传感器,以便获得“行驶里程信号”。
简易出租车计价器实验报告
西北工业大学课程设计报告题目:简易出租车计价器学院: 电子信息学院班级: 08031001 学生(学号): 窦洋龙(2010301917)学生(学号): 王俊人(2010301907)日期: 2013 年 1 月摘要随着科技的不断发展,有越来越多的科学技术应用到了人们的日常生活中,也给人们的生活带来了很多方便,大家都见过出租车前面都放着一个待显示的计价器,那么它是怎么起到计价功能的呢,其实很简单,只要用现在所学的专业知识就可以自己动手做一个简易的出租车计价器,这里我们还特意加入了等车计价的功能。
在数字电路基础课中学到了好几种计数器芯片,利用这些计数芯片和相关的译码器就可以实现我们的简易计价器的制作。
用同步4位二进制计数器74LS161,四位数值比较器74LS85,二-五-十进制异步计数器74LS90等成该数字系统的设计思想和实现过程。
论述计程模块、计费模块等的设计方法与技巧。
通过该课程设计主要解决与我们平常生活关系密切的出租车计费的问题,且制作该设计所需要元器件的成本较低,适合学生对数字电路的实践所。
关键词:出租车计价器,二进制计数电路,异步计数器,逻辑门电路目录一、课程设计目的 (4)二、设计任务与要求 (4)三、方案设计与论证 (5)四、单元电路设计与参数计算 (7)五、电路的安装与调试 (7)六、遇到问题的解决方法 (8)七、结论与心得 (9)八、参考文献 (10)简易出租车计价器一、课程设计目的1.巩固和加深所学模拟电路基础和脉冲与数字电路基础等课程的基本知识,提高综合运用所学知识的能力;2.培养根据课题需要选用参考书、查阅手册、图表和文献资料的能力,提高独立解决工程实际问题的能力,提高将所学知识真正用于实践的能力,并在实践过程中对知识网络查漏补缺、检验、质疑、创新以加深认识、获得新知;3.通过设计方案的分析比较、设计计算、元件选择及电路安装调试等环节,初步掌握简单实用电路的工程设计方法;4.提高动手能力,掌握常用仪器设备的正确使用方法,学会对简单实用电路的实验调试和对整机指标的测试方法;5.了解与课题有关的电路以及元器件的工程技术规范,能按课程设计任务书的要求编写设计说明书,能正确反映设计和实验成果,能正确绘制电路固等。
数字电路课程设计---出租车里程计价器
数字电路课程设计---出租车里程计价器
作为一门数字电路课程设计,出租车里程计价器是一个重要的练习工程。
出租车里程
计价器是一个可以测量出租车行驶里程的电子装置,可以根据乘客的行驶里程数以及出租
车的费率计算出乘客的费用。
本课程设计将建立一个完整的出租车里程计价器系统,主要
功能是通过按键来记录出租车行驶的里程数,以及能够根据费率计算乘客应付费用。
整个出租车里程计价器系统可以由以下部分构成:键盘和电子计算器、单片机和集成
电路、液晶显示器、晶体管和三极管,以及连接各部分的电路。
针对上述的部件,本课程设计的基本步骤是:首先,在键盘和电子计算器之间建立一
个“实时”的系统,用来记录出租车行驶里程数;其次,建立一个单片机程序,将出租车
行驶里程数和出租车的费率进行比较,并计算出乘客的费用;最后,在晶体管和三极管的
帮助下设计一个显示乘客应付费用的液晶显示器,完成整个出租车里程计价器系统的设计。
总的来说,本课程设计是为了帮助学习者了解和熟悉各种电路,从而让学习者掌握出
租车里程计价器的设计和实现方法。
该课程设计中将用到信号传递、数据存储和运算、信
号采集等多项电路技术,最后将 LPC 1688 单片机实现上述功能,完成一套实用的出租车
里程计价器系统的搭建。
数字电路逻辑设计出租车计价器
本科课程设计课程名称:数字电路逻辑设计实验项目:出租车自动计费器实验地点:专业班级:学号:学生姓名:指导教师:2012年12 月24日一.设计要求出租车自动计费器是根据客户用车的实际情况而自动显示用车费用的数字仪表。
仪表根据用车起价和行车里程计费2项求得客户用车的总费用,通过数码管子自动显示。
1.设计制作一个自动计费器,具有起价、行车里程计费部分。
用4位数码管显示总的金额,最大值为99.99元。
2.行车里程单价(*.**元/km)、起价(*.**元)均能通过BCD码盘输入。
3.初始值显示“00.00”,通过按键启动/停止、清零显示内容,有等候时间,暂停后可继续计价。
4.起价、起价里程和每公里价格可通过功能键设置,起步价为8元。
二.设计方案出租车计价器分别由里程计数单元,起步价、单价预置开关,加法器,显示及控制触发器等部分组成。
1.行车里程计费起价公里以内,按起步价算;若超过起步价公里,则每走一公里,计价器则加上每公里的单价款。
出租车计价时,开关K合上。
行车里程的计费电路将汽车行驶的里程数转换成与之成正比的脉冲个数,然后又计数译码电路转换成收费金额。
里程传感器可用霍尔传感器在汽车每前进10m闭合一次,即输出一个脉冲信号,实验用一个脉冲源模拟。
若每前进1km,则输出100个脉冲,将其设为P2,然后选用BCD码比例乘法器(如J690)将里程脉冲数乘以一个表示每km单价的比例系数,比例系数可通过BCD码拨盘预置,例如单价是0.5元/km,则预置的两位BCD码为B2=5、B1=0,则计费电路奖励成计费变换为脉冲个数。
P1 =P2(0.1B2+0.01B1),由于P2为100,经比例乘法器运算后是P1为50 给脉冲,及脉冲当量为0.01元/脉冲。
2.起价计费按照同样的当量将起价输入到电路中,其方法可以通过家属器的预置端直接进行数据预置也可以按当量将起价转换成脉冲数,向计数器输入脉冲。
假如设起价是8元,则对应的脉冲数P0=8/0.01=800最后,得到总的行车费用P=P0+P1,经计数译码及显示电路显示结果。
数字电路课程设计报告 出租车计价器
五邑大学数字电路课程设计报告题目:出租车计价器院系信息工程学院专业通信工程学号学生姓名指导教师报告题目:出租车计价器一、题目的要求和意义题目要求:租车计价器使用中小型集成电路和门电路设计出租车计价器要求完成以下功能●使用555定时器产生一个20ms的周期信号作为时钟信号。
●每1s的时间代表行驶1公里,每公里的收费为2元。
●有开始计价的按键和停止计价的按键。
●使用两位数码管动态显示所需收的费用,单位为元。
出租车计价器的设计任务分解成时钟模块、计时显示模块这样两个部分组成,如图1-1所示。
图1-1 出租车计价器框图我负责的是第二部分的即使显示模块。
系统总功能为:第一部分分别产生1s的计数信号和20ms扫频信号。
第二部分接收计数信号,数码管从0开始计数,每秒2的累加。
系统有暂停和复位功能。
意义:随着社会的进步以及人们生活水平的日益提高都促使交通工具的不断变化,无论是在大城市或是中小城市越来越多的出租车公司不断的出现。
出租车的出现方便了人们的生活,对于现在快节奏生活方式的人们来说出租车无疑是最好的交通工具。
那么其收费的方式自然而然就被给予关注,比如收费标准以及行驶里程等。
这时出租车计价器就在乘客和司机之间充当一个重要的角色了。
出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是租车中最重要的工具。
它关系着交易双方的利益。
具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。
因此,汽车计价器的研究也是十分有一个应用价值的。
现在我们就利用中小型集成电路和门电路来设计一个性能可靠、精准度高的出租车计价器。
1.培养学生根据需要选学参考书,查阅手册,图表和文献资料的自学能力,通过独立思考﹑深入钻研有关问题,学会自己分析解决问题的方法。
2.利用所学过的知识,通过设计计算﹑元件选取﹑电路板制作调试等环节,初步掌握工程设计的技能。
3.掌握常用仪表的正确使用方法,学会简单电路的实验调试和整机指标测试方法,使学生巩固和加深对数字逻辑电路的理论知识,锻炼学生的动手能力。
数字电路设计 出租车计费器
出租车计费器一、实验目的1.了解各元件的基本原理。
2.数字电子技术知识综合运用。
3.学习电路调试的基本结论,巩固扩大所学的知识。
4.熟悉Multisim10基本运用。
二、组要实验器材三、设计任务出租车自动计费器是根据客户用车的实际情况而自动计算、显示车费的数字表。
数字表根据用车起步价、行车里程计费及等候时间计费三项显示客户用车总费用,打印单据,还可设置起步、停车的音乐提示或语言提示。
1.自动计费器具有行车里程计费、等候时间计费和起步费三部分,三项计费统一用4位数码管显示,最大金额为99.99元。
2.行车里程单价设为1.80元/km,等候时间计费设为1.5元/10分钟,起步费设为8.00元。
要求行车时,计费值每公里刷新一次;等候时每10分钟刷新一次;行车不到1km或等候不足10分钟则忽略计费。
3.在启动和停车时给出声音提示。
四、设计方案因为出租车计费器的设计方案不止一种,我们就就涉及数电知识采用计数器电路为主实现自动计费。
分别将行车里程、等候时间都按相同的比价转换成脉冲信号,然后对这些脉冲进行计数,而起价可以通过预置送入计数器作为初值,如图1的原理框图所示。
行车里程计数电路每行车1km输出一个脉冲信号,启动行车单价计数器输出与单价对应的脉冲数,例如单价是1.80元/km,则设计一个一百八十进制计数器,每公里输出180个脉冲到总费计数器,即每个脉冲为0.01元。
等候时间计数器将来自时钟电路的秒脉冲作六百进制计数,得到10分钟信号,用10分钟信号控制一个一百五十进制计数器(等候10分钟单价计数器)向总费计数器输入150个脉冲。
这样,总费计数器根据起步价所置的初值,加上里程脉冲、等候时间脉冲即可得到总的用车费用。
图1 出租车计费器原理框图一上述方案中,如果将里程单价计数器和10分钟等候单价计数器用比例乘法器完成,则可以得到较简练的电路。
它将里程脉冲乘以单价比例系数得到代表里程费用的脉冲信号,等候时间脉冲乘以单位时间的比例系数得到代表等候时间的时间费用脉冲,然后将这两部分脉冲求和。
北邮电子-数电综合实验报告
数字电路综合实验设计简易出租车计价器的设计与实现学院:电子工程学院班级: 2011211203学号: 2011210876姓名:孙月鹏班内序号: 04摘要本文介绍了利用Quartus II综合性PLD/FPGA开发软件,在MAXII数字逻辑实验开发板上实现简易出租车计价器功能的设计与实现方法.本方案采用自上而下的设计理念,将整体电路按照功能划分为分频、计数、控制、数码管显示电路、点阵显示电路等若干模块,模块内用VHDL语言完成逻辑设计,模块间用原理图进行连接,使整体可实现计费、计时等功能。
关键字:可编程器件模块化设计出租车计价器VHDL语言一、设计任务要求➢设计一台出租车计价器,不同情况下具有不同的收费标准。
基本要求:1.行驶公里:用时钟2秒钟表示出租车匀速行驶1公里。
在行车5公里以内,按起步价13元收费,超过5公里部分,以每公里2元收费。
燃油附加费每运次1元。
2.途中等待:用按键控制中途等待,等待少于(包括)5秒不收费,超过5秒后没等待3秒钟加收1元。
3.用数码管分时显示计费金额、行驶里程和等候时间.字母A表示当前处于显示计费金额状态,字母B表示当前处于显示行驶里程状态,字母C表示当前处于显示等候时间状态。
4.用按键控制出租车空驶、载客状态。
提高要求:1.用点阵滚动显示收费单据.2.具有夜间模式,基本单价加收20%的费用.出租车收费以元为单位,元以下四舍五入。
3.出租车行驶速度可调可控.4.多人乘车,分段计价。
5.自拟其他功能。
二、设计思路与结构框图1。
设计思路图1 结构框图由结构框图可以分析得出,该系统的的主体是计数控制器。
该系统由外部控制载客控制信号和等待控制信号,以时钟信号的翻转为计数依据,完成对时间、里程和费用的计数,并将结果通过数码管译码电路显示出来。
该系统的控制信号可由拨码或按键输入,时钟由开发板内部时钟分频得出,输出有点阵输出和数码管输出.因此,可将系统分为分频器、计数控制器、数码管译码和显示以及点阵显示四部分。
出租车计价器实验报告(论文)
课程设计课程设计名称:数字电子技术课程设计题目:出租车计价器设计学院:电子信息与自动化学院学生姓名:专业:电子信息工程学号:20176731指导教师:日期:2019年11月28日出租车计价器摘要:本文采用以计数器为核心,将行车里程、等候时间按相同的比价转换成脉冲信号,然后对这些脉冲进行计数的方法,实现对出租车的多功能计价,输出采用4段数码显示管,显示里程及价格。
该计价器通过74LS244和LOGICSTATE来控制起步价和单价的设置,用74LS160构成计数电路,555芯片产生秒脉冲信号,74LS283构成加法器电路,同时以与非门控制行驶和等候的状态切换,实现两种状态的切换,最后,做了复位清零的部分,通过逻辑开关进行控制,对锁存器清零,使得电路恢复初始状态,可以开始重新开始计算,本设计很好的体现了数字系统的设计思想,是一个非常实用的电路。
关键词:出租车,计数器,译码器,555,LED数码管Abstract:This paper uses the counter as the core, converts the mileage and waiting time into the pulse signal according to the same ratio price, and then counts these pulses to realize the multi-function pricing of the taxi, and the output adopts 4 sections digital display tube. Show mileage and price. The meter controls the setting of starting price and unit price through 74LS244 and LOGICSTATE. The counting circuit is composed of 74LS160, the 555 chip generates the second pulse signal, and the 74LS283 is used to construct the adder circuit. At the same time, it switches with the state of non-gate control driving and waiting. The two states are switched. Finally, the complex is done. The part of bit clearing is controlled by logic switch to clear the latch, which can restore the initial state of the circuit and start the calculation again. This design embodies the design idea of the digital system and is a very practical circuit.Keywords:Taxi, counter, decoder, 555 LED digital tube目录1 前言 (2)1.1 设计背景 (2)1.2 设计目标 (2)1.3 实施计划 (2)2 总体方案设计 (2)2.1 方案说明 (4)3 单元模块设计 (4)3.1 各单元模块功能介绍及电路设计 (4)3.1.1 起步价和单价模块设计 (4)3.1.2 里程计数模块设计 (5)3.1.3 候时计数模块设计 (6)3.1.4 加法器模块设计 (8)3.1.5 状态切换、秒脉冲、复位模块设计 (9)3.2 主要器件的介绍 (10)3.2.1 74LS273器件介绍 (10)3.2.2 74LS244器件介绍 (10)3.2.3 74LS283器件介绍 (11)3.2.4 7485器件介绍 (12)3.2.5 74LS160器件介绍 (12)3.2.6 74LS32器件介绍 (13)3.2.7 555芯片介绍 (13)4 系统调试 (14)4.1 调试环境 (14)4.2 硬件调试 (15)4.3 系统能实现的功能 (15)4.4 系统功能及指标参数分析 (15)5 结论 (16)6 总结与体会 (16)7 谢辞.............................................................................................................................. 错误!未定义书签。
出租车计价器实训报告
内蒙古科技大学信息工程学院实训报告信息工程学院实训报告题目:出租车计价器的设计学生姓名:学号:专业:班级:指导教师:实训任务书出租车计价器的设计一、实训目的1、掌握51单片机中断、I/O口、键盘显示扩展电路的设计、应用及软件编程方法;2、掌握霍尔开关的原理及应用;二、实训内容1、基本出租车计价器:设计一个出租车计价器,利用计数器计算出租车的运行里程,计算价格,并用4位LED数码管显示,精度为0.1元;2、可调出租车计价器:在基本的计价器基础上,增加一个4*4键盘,通过键盘对单价进行设置;(选做加分)3、带时钟的出租车计价器:增加一个时钟系统,做电子时钟用,并可用于出租车运行时间指示。
三、实训步骤根据试验箱现有元器件自行设计电路图,编写程序实现上述要求。
1、I2C试验区I2C实验区如上图所示,有三个芯片,分别是键盘LED 驱动芯片ZLG7290,EEPROM(256字节)CA T24WC02,实时时钟芯片(RTC)PCF8563T,用户可以在上面进行各种相关的I2C实验。
SCL和SDL为I2C控制信号端,RST_L和INT-KEY为ZLG7290的复位和键盘中断接口,CLKOUT和INT-RTC为PCF8563T的时钟输出和中断节后,JP1为电源控制(先使用短接,做完实验后再断开)。
另外ZLG7290芯片同时驱动了8个数码管和16个按键(键值为0X01~0X10)摘要随着社会的进步,电子类产品也得到了广泛的发展,尤其是单片机的发展异常迅速。
由于单片机的特殊结构形式,在某些应用领域中,它承担了一些通用的微型计算机无法完成的工作,它是一种高性能,低价格的处理器,集成度高,体积小,可靠性又高,控制功能强,电压低。
由于单片机具有这些特点,人类的生活应用中十分广泛。
本电路以AT89C52单片机为中心,附加A44E霍尔传感器测距(由于周立功试验箱无A44E霍尔传感器,故本电路中用模拟开关替代),实现对出租车计价,利用键盘LED 驱动芯片ZLG7290,EEPROM(256字节)CAT24WC02,实时时钟芯片(RTC)PCF8563T,输出采用8段数码显示管,显示行驶总里程和总金额。
数字电路课程设计---出租车里程计价器
[键入文字]数字电路课程设计报告书姓名:***班级:10级电信02班课程设计题目:出租汽车自动计价器[设计要求]:用中、小规模集成电路设计与制作出租汽车自动计价器。
具体要求如下:1、能计汽车行驶的里程和停车等候时间。
2、能自动显示出该收的车费和停车等候费。
3、每公里该收的行车费(如0.45元)各十分钟应该收的行等候费(如0.25元)均有拨码开关可预先设置。
[设计器材]:74LS48(及配合LED),74LS160,74LS00,74LS32,74LS04,74LS08,74LS86,74LS112,CC4072,5G555,电阻、电容若干,干簧继电器,拨码开关。
[设计摘要]:本设计主要介绍了基于电子工作平台Electronics Workbench (EWB)出租车计价器控制电路的设计。
整个自动控制系统由四个主要电路构成:里程计数及显示、计价电路、基本里程判别电路、秒信号发生器(用555多谐振荡器实现)及等候计时电路和清零复位电路。
该设计不仅仅实现了显示计程车计费的功能,其多功能表现在它可以显示计程车累计走的总路程和里程单价。
加法器是构成计算机内部算术运算器(ALU)的基本单元,加法器的逻辑功能是实现两个二进制数的相加,因计算机内部的加、减、乘、除算术运算通常是利用加法器来实现。
在做电路过程中要熟练各个器件的功能。
每一个组件的作用,应该清楚的记住,大的组合是从每一个小块组成的,所以认真了解每一个小块功能,然后从整体出发。
一、概论1.1、分析方案经过分析其原理方框图如图1-1所示。
采用传感器件,输出脉冲信号,等器件完成图1-3 出租车自动计价器原理框图1.2、加法器的介绍及其十进制系数乘法器:74LS160逻辑功能测试74LS160是中规模集成同步十进制加法计数器,具有异步清零和同步预置数的功能。
使用74LS160通过置零法或置数法可以实现任意进制的计数器。
先对74LS160的基本功能进行测试,并将计数器的工作状态填入表中。
北邮数字电路实验报告_简易出租车计价器
数字电路实验报告简易出租车计价器班级:学号:姓名:一、设计课题的任务要求设计一台出租车计价器,不同情况具有不同的收费标准基本内容1、行驶公里:用时钟2秒钟表示出租车匀速行驶1公里,在行车5公里以内,按起步价13元收费,超过5公里部分,以每公里2元收费。
燃油附加费为每运次1元。
2、途中等待:用按键控制中途等待,等待少于(包括)5秒不收费,超过5秒后每等待3秒钟加收1元。
3、用数码管分时显示计费金额、行驶里程和等候时间。
字母A表示当前处于显示计费金额状态,字母B表示当前处于显示行驶里程状态,字母C表示当前处于显示等候时间状态。
4、用按键控制出租车空驶、载客状态并用点阵显示空驶、载客状态。
提高要求1、用点阵滚动显示收费单据。
2、具有夜间模式,基本单价加收20%的费用。
出租汽车收费结算以元为单位,元以下四舍五入。
3、出租车行驶速度可调可控。
4、多人乘车,分段计价。
5、自拟其它功能。
二、系统设计1.设计思路首先考虑得到需要一个分频装置,分别输出频率到计数器与控制器,另有计算单元用来计算里程、时间与费用。
Clk为系统时针,rst、start、waiting分别为重置、开始、等待信号,由按键输入系统流程图三、仿真波形及波形分析四、功能说明及资源利用情况开始行车1、功能说明本次试验成果的主要功能为:开始点阵显示“无人状态”。
按下按键“btn1”(start),计价器开始正常工作,六个数码管每两个分别显示“总费用”“行进里程”“等待时间”,同时点阵显示“载客状态”。
行进里程开始累计,里程数在5公里内总价不变,在超过5公里后,每公里增加两元。
在行进中按下按键“btn2”(waiting),等待时间开始累计,等待时间未超过5s时,等待费用为零,所以总价并不累计。
在等待时间超过5s后,每三秒钟总价加一元。
再次按下按键“btn2”(waiting),停止等待状态,继续行进,状态与上述一样。
再次按下按键“btn1”(start),表示客人到达目的地,数码管显示总价,里程以及总等待时间,即开始结算。
数字电路(出租车计费器)
一、课题要求(1)技术要求1.掌握较复杂逻辑的设计、调试。
2. 进一步掌握用VHDL语言设计数字逻辑电路。
3.掌握用quartusII6.0软件进行编程设计。
(2)功能要求1.能实现计费功能,计费标准为:按行驶里程收费,起步费为7.00元,并在车行3公里后再按2.2元/公里,当计费器达到或超过一定收费(如20元)。
每公里加收50%的车费,车停止不计费2 .实现预置功能、每公里收费、车行驶加费里程。
3.实现模拟功能:能模拟汽车启动、停止、暂停、车速等状态。
4. 设计动态扫描电路将车费显示出来。
有两位小数。
5. 用VHDL语言设计符合上述功能要求的出租车计费器。
并用层次化设计方法设计该电路。
6 .各计数器的技术状态用功能的方法验证,并用有关波形确认电路设计是否正确7. 完成电路全部设计后,通过系统试验箱下载验证设计课题的正确性。
二本人工作:本人主要负责软件和硬件电路方面的设计,并进行引脚设定,以及与软硬件之间的调试运行,及时修改程序,帮助查找和分析问题,确保能够成功完成出租车计费器的设计。
三设计方案:3.1主要中心组成按键模块FPGA 显示模块3.2FPGA芯片内部主要程序:3.3工作原理:基于CPLD/FPGA的出租车计费器的组成如图1所示。
各部分主要功能如下:(1)A计数器对车轮传感器送来的脉冲信号进行计数(每转一圈送一个脉冲)。
不同车型的车轮直径可能不一样,通过“设置1”对车型做出选择,以实现对不同车轮直径的车进行调整。
(2)B计数器对百米脉冲进行累加,并输出实际公里数的BCD码给译码动态扫描模块。
每计满500送出一个脉冲给C计数器。
“设置2”实现起步公里数预制。
(3)C计数器实现步长可变(即单价可调)的累加计数,每500米计费一次。
“设置3”用来完成超价加费、起步价预制等。
(4)译码/动态扫描将路程与费用的数值译码后用动态扫描的方式驱动数码管。
(5)数码管显示将公里数和计费金额均用四位LED数码管显示(2位整数,2位小数)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字电路实验报告简易出租车计价器班级:学号:姓名:一、设计课题的任务要求设计一台出租车计价器,不同情况具有不同的收费标准基本内容1、行驶公里:用时钟2秒钟表示出租车匀速行驶1公里,在行车5公里以内,按起步价13元收费,超过5公里部分,以每公里2元收费。
燃油附加费为每运次1元。
2、途中等待:用按键控制中途等待,等待少于(包括)5秒不收费,超过5秒后每等待3秒钟加收1元。
3、用数码管分时显示计费金额、行驶里程和等候时间。
字母A表示当前处于显示计费金额状态,字母B表示当前处于显示行驶里程状态,字母C表示当前处于显示等候时间状态。
4、用按键控制出租车空驶、载客状态并用点阵显示空驶、载客状态。
提高要求1、用点阵滚动显示收费单据。
2、具有夜间模式,基本单价加收20%的费用。
出租汽车收费结算以元为单位,元以下四舍五入。
3、出租车行驶速度可调可控。
4、多人乘车,分段计价。
5、自拟其它功能。
二、系统设计1.设计思路首先考虑得到需要一个分频装置,分别输出频率到计数器与控制器,另有计算单元用来计算里程、时间与费用。
Clk为系统时针,rst、start、waiting分别为重置、开始、等待信号,由按键输入系统流程图三、仿真波形及波形分析四、功能说明及资源利用情况开始行车1、功能说明本次试验成果的主要功能为:开始点阵显示“无人状态”。
按下按键“btn1”(start),计价器开始正常工作,六个数码管每两个分别显示“总费用”“行进里程”“等待时间”,同时点阵显示“载客状态”。
行进里程开始累计,里程数在5公里内总价不变,在超过5公里后,每公里增加两元。
在行进中按下按键“btn2”(waiting),等待时间开始累计,等待时间未超过5s时,等待费用为零,所以总价并不累计。
在等待时间超过5s后,每三秒钟总价加一元。
再次按下按键“btn2”(waiting),停止等待状态,继续行进,状态与上述一样。
再次按下按键“btn1”(start),表示客人到达目的地,数码管显示总价,里程以及总等待时间,即开始结算。
按下按键“btn0”(rst),所以状态清零。
点阵回到无人状态,数码管显示全部清零。
2、资源利用情况五、故障及问题分析本次试验,在实验过程中,发现了众多不同的问题。
其中最恶心的一次就是代码调试的时候,没有任何的语法错误,但是它表示编译不通过,说是逻辑单元有1307个,但是设备只能提供1270个,所以无法通过。
对于这个问题,我实在不知道该怎么解决,最后只有重新写代码,换了一两个结构后发现问题神奇般的解决了。
但我始终不知道原因。
其他的问题都只是代码的语法错误之类的,无需赘言。
六、总结和结论有过上个学期的一些基础知识后,这次的实验并没有太过于手足无措,总的来说还是比较容易上手。
所选的课题逻辑也并不复杂,所以不算太难。
还是比较快的实现了所要求的功能。
虽然最后发现与老师的要求有一些出入,但总体来说,自己还是比较满意的。
因为本次试验所有代码都是自己一个字母一个字母敲出来的,通过与同学们的交流也学到了很多东西,可能也就是因为没有和别的班级同学交流,所以没有达到老师的期望吧!七、源代码(含注释)1、仿真版library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity taxi isport(clk:in std_logic;start:in std_logic;waiting:in std_logic;rst:in std_logic;T0,T1,T2,T3,T4,T5:out std_logic_vector(3 downto 0));end;architecture bhv of taxi issignal count:integer range 0 to 499999999;signal km_clk,sec_clk,en:std_logic;signal c1,c2,tt:integer range 0 to 99;signal await,mile,cost:integer range 0 to 99;signal await_s,await_g,mile_s,mile_g,cost_s,cost_g:integer range 0 to 9;signal rst_clk,start_clk,waiting_clk:std_logic:='0';signal waiting_time:integer range 0 to 99;beginU1:process(rst,start,waiting)--实现按键beginif start 'event and start='1' thenif start_clk='1' thenstart_clk<='0';else start_clk<='1';end if;end if;if waiting'event and waiting='1' thenif waiting_clk='1'thenwaiting_clk<='0';else waiting_clk<='1';end if;end if;end process;u2:process(rst,clk)beginif clk'event and clk='1' thenif rst='0' thenif count=9 then --两秒钟一公里count<=0;km_clk<='1';sec_clk<='1';elsif count=4 then --一秒钟count<=count+1;km_clk<='0';sec_clk<='1';elsecount<=count+1;km_clk<='0';sec_clk<='0';end if;end if;end if;end process;U3:process(rst,start_clk,waiting_clk,km_clk) --里程计数beginif rst='1' thenmile<=0; --按下“rst”后数字清零elsif start_clk='0' thenmile<=mile; --按下“start/stop”后显示总里程elsif waiting_clk='1' thenmile<=mile;elsif km_clk'event and km_clk='1' thenif mile=99 thenmile<=0;elsemile<=mile+1;end if;end if;end process;U4:process(rst,start_clk,waiting_clk,sec_clk) --等待时间计数beginif rst='1' thenawait<=0;waiting_time<=0; --按下“rst”后数字清零elsif start_clk='0' thenawait<=await;elsif waiting_clk='0' thenawait<=0;en<='1';elsif sec_clk ' event and sec_clk='1' thenif await=99 thenawait<=0;elseawait<=await+1;waiting_time<=waiting_time+1;end if;en<='0'; --等待状态end if;end process;U5:process(rst,start_clk,waiting_clk,en) --费用计算beginif rst='1' thencost<=0;c1<=0;c2<=0;tt<=0; --按下“rst”后数字清零elsif start_clk='0' thencost<=cost;c1<=c1;c2<=c2;tt<=tt;elseif waiting_clk='1' then --等待费用if await>=5 then --等待时间超过5s每三秒加收一元c1<=(await-5)/3;elsec1<=0;end if;elseif en'event and en='1' then --运行状态tt<=tt+c1;c1<=0;end if;if mile>=5 thenc2<=13+2*(mile-5); --超过5 公里部分,以每公里2 元收费elsec2<=13;end if;end if;cost<=c1+c2+1+tt; --再加收一元燃油费end if;end process;u6:process(clk)beginawait_s <= await/10;await_g <= await MOD 10;mile_s <= mile/10;mile_g <= mile MOD 10;cost_s <= cost/10;cost_g <= cost MOD 10;case cost_s iswhen 0 =>T0<="0000";when 1 =>T0<="0001";when 2 =>T0<="0010";when 3 =>T0<="0011";when 4 =>T0<="0100";when 5 =>T0<="0101";when 6 =>T0<="0110";when 7 =>T0<="0111";when 8 =>T0<="1000";when 9 =>T0<="1001";end case;case cost_g iswhen 0 =>T1<="0000";when 1 =>T1<="0001";when 2 =>T1<="0010";when 3 =>T1<="0011";when 4 =>T1<="0100";when 5 =>T1<="0101";when 6 =>T1<="0110";when 7 =>T1<="0111";when 8 =>T1<="1000";when 9 =>T1<="1001";end case;case mile_s iswhen 0 =>T2<="0000";when 1 =>T2<="0001";when 2 =>T2<="0010";when 3 =>T2<="0011";when 4 =>T2<="0100";when 5 =>T2<="0101";when 6 =>T2<="0110";when 7 =>T2<="0111";when 8 =>T2<="1000";when 9 =>T2<="1001";end case;case mile_g iswhen 0 =>T3<="0000";when 1 =>T3<="0001";when 2 =>T3<="0010";when 3 =>T3<="0011";when 4 =>T3<="0100";when 5 =>T3<="0101";when 6 =>T3<="0110";when 7 =>T3<="0111";when 8 =>T3<="1000";when 9 =>T3<="1001";end case;case await_s iswhen 0 =>T4<="0000";when 1 =>T4<="0001";when 2 =>T4<="0010";when 3 =>T4<="0011";when 4 =>T4<="0100";when 5 =>T4<="0101";when 6 =>T4<="0110";when 7 =>T4<="0111";when 8 =>T4<="1000";when 9 =>T4<="1001";end case;case await_g iswhen 0 =>T5<="0000";when 1 =>T5<="0001";when 2 =>T5<="0010";when 3 =>T5<="0011";when 4 =>T5<="0100";when 5 =>T5<="0101";when 6 =>T5<="0110";when 7 =>T5<="0111";when 8 =>T5<="1000";when 9 =>T5<="1001";end case;end process;end;2、正式版library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity taxi isport(clk:in std_logic;start:in std_logic;waiting:in std_logic;rst:in std_logic;T:out std_logic_vector(5 downto 0);Y:out std_logic_vector(6 downto 0);col,row:out std_logic_vector(7 downto 0);led0,led1,led2:out std_logic:='0');end;architecture bhv of taxi issignal count:integer range 0 to 499999999;signal km_clk,sec_clk,en:std_logic;signal c1,c2,tt:integer range 0 to 99;signal await,mile,cost:integer range 0 to 99;signal await_s,await_g,mile_s,mile_g,cost_s,cost_g:integer range 0 to 9; signal q:integer range 0 to 9;signal c:std_logic_vector(2 downto 0);signal clk25000:std_logic;signal temp:integer range 0 to 24999;signal rst_clk,start_clk,waiting_clk:std_logic:='0';signal rst1,start1,waiting1:std_logic:='0';signal fd_delay:integer range 0 to 250000;signal waiting_time:integer range 0 to 99;beginu0:process(clk,rst,start,waiting)--防抖动beginif(clk'event and clk='1') thenif rst='1' thenfd_delay<=fd_delay+1;if fd_delay=125000 thenrst1<='1';led0<='1';fd_delay<=fd_delay;else rst1<='0';led0<='0';end if;elsif start='1' thenfd_delay<=fd_delay+1;if fd_delay=125000 thenstart1<='1';fd_delay<=fd_delay;else start1<='0';end if;elsif waiting='1' thenfd_delay<=fd_delay+1;if fd_delay=125000 thenwaiting1<='1';fd_delay<=fd_delay;else waiting1<='0';end if;else fd_delay<=0;end if;end if;end process;U1:process(rst1,start1,waiting1)--实现按键beginif start1 'event and start1='1' thenif start_clk='1' thenstart_clk<='0';led1<='0';else start_clk<='1';led1<='1';end if;end if;if waiting1'event and waiting1='1' thenif waiting_clk='1'thenwaiting_clk<='0';led2<='0';else waiting_clk<='1';led2<='1';end if;end if;end process;u2:process(rst1,clk)beginif clk'event and clk='1' thenif rst1='0' thenif count=49999999 then --两秒钟一公里count<=0;km_clk<='1';sec_clk<='1';elsif count=24999999 then --一秒钟count<=count+1;km_clk<='0';sec_clk<='1';elsecount<=count+1;km_clk<='0';sec_clk<='0';end if;end if;end if;end process;U3:process(rst1,start_clk,waiting_clk,km_clk) --里程计数beginif rst1='1' thenmile<=0; --按下“rst”后数字清零elsif start_clk='0' thenmile<=mile; --按下“start/stop”后显示总里程elsif waiting_clk='1' thenmile<=mile;elsif km_clk'event and km_clk='1' thenif mile=99 thenmile<=0;elsemile<=mile+1;end if;end if;end process;U4:process(rst1,start_clk,waiting_clk,sec_clk) --等待时间计数beginif rst1='1' thenawait<=0;waiting_time<=0; --按下“rst”后数字清零elsif start_clk='0' thenawait<=await;elsif waiting_clk='0' thenawait<=0;en<='1';elsif sec_clk ' event and sec_clk='1' thenif await=99 thenawait<=0;elseawait<=await+1;waiting_time<=waiting_time+1;end if;en<='0'; --等待状态end if;U5:process(rst1,start_clk,waiting_clk,en) --费用计算beginif rst1='1' thencost<=0;c1<=0;c2<=0;tt<=0; --按下“rst”后数字清零elsif start_clk='0' thencost<=cost;c1<=c1;c2<=c2;tt<=tt;elseif waiting_clk='1' then --等待费用if await>=5 then --等待时间超过5s每三秒加收一元c1<=(await-5)/3;elsec1<=0;end if;elseif en'event and en='1' then --运行状态tt<=tt+c1;c1<=0;end if;if mile>=5 thenc2<=13+2*(mile-5); --超过5 公里部分,以每公里2 元收费elsec2<=13;end if;end if;cost<=c1+c2+1+tt; --再加收一元燃油费end if;end process;u6:process(clk)beginawait_s <= await/10;await_g <= await MOD 10;mile_s <= mile/10;mile_g <= mile MOD 10;cost_s <= cost/10;cost_g <= cost MOD 10;if(clk'event and clk='1')thenif(temp=24999)thentemp<=0;clk25000<='1';elsetemp<=temp+1;clk25000<='0';end if;if(clk25000 'event and clk25000 ='1')thenif(c="101")thenc<="000";elsec<=c+"001";end if;if(start_clk='1') thencase c iswhen "101"=>q<=cost_s;when "000"=>q<=cost_g;when "001"=>q<=mile_s;when "010"=>q<=mile_g;when "011"=>q<=await_s;when "100"=>q<=await_g;when others=>null;end case;case c iswhen "000"=>T<="011111";when "001"=>T<="101111";when "010"=>T<="110111";when "011"=>T<="111011";when "100"=>T<="111101";when "101"=>T<="111110";when others=>T<="111111";end case;case q iswhen 0 =>Y<="0111111";when 1 =>Y<="0000110";when 2 =>Y<="1011011";when 3 =>Y<="1001111";when 4 =>Y<="1100110";when 5 =>Y<="1101101";when 6 =>Y<="1111101";when 7 =>Y<="0000111";when 8 =>Y<="1111111";when 9 =>Y<="1101111";when others=>Y<="ZZZZZZZ";end case;case c iswhen"000"=>col<= "11111111";row<="10111111"; when"001"=>col<= "11111111";row<="11011111"; when"010"=>col<= "11000011";row<="11101111"; when"011"=>col<= "11000011";row<="11110111"; when"100"=>col<= "11111111";row<="11111011"; when"101"=>col<= "11111111";row<="11111101"; when others=>col<= "11111111";row<="11111111"; end case;elsecase c iswhen "101"=>q<=cost_s;when "000"=>q<=cost_g;when "001"=>q<=mile_s;when "010"=>q<=mile_g;when "011"=>q<=waiting_time/10;when "100"=>q<=waiting_time MOD 10;when others=>null;end case;case c iswhen "000"=>T<="011111";when "001"=>T<="101111";when "010"=>T<="110111";when "011"=>T<="111011";when "100"=>T<="111101";when "101"=>T<="111110";when others=>T<="111111";end case;case q iswhen 0 =>Y<="0111111";when 1 =>Y<="0000110";when 2 =>Y<="1011011";when 3 =>Y<="1001111";when 4 =>Y<="1100110";when 5 =>Y<="1101101";when 6 =>Y<="1111101";when 7 =>Y<="0000111";when 8 =>Y<="1111111";when 9 =>Y<="1101111";when others=>Y<="ZZZZZZZ";end case;case c iswhen"000"=>col<= "00011000";row<="10111111";when"001"=>col<= "00111100";row<="11011111";when"010"=>col<= "01111110";row<="11101111";when"011"=>col<= "01111110";row<="11110111";when"100"=>col<= "00111100";row<="11111011";when"101"=>col<= "00011000";row<="11111101";when others=>col<= "00011000";row<="11111111";end case;end if;end if;end process;end;。