出租车里程表及数字传输系统的仿真设计
- 格式:doc
- 大小:81.50 KB
- 文档页数:3
一、实验目的(1)学习设计简单电子系统基本方法和步骤(2)掌握使用multisim 软件进行电子系统的设计仿真(3)了解霍尔元件的工作原理以及使用方法。
(4)掌握数据传输系统的原理以及串并转换的实现方法。
二、实验内容和原理设计一个出租车里程表及数字传输系统,并在Multisim 中选用数字器件实现该数字系统。
霍尔元件安装在车轮上,轮子每转一圈产生一个脉冲,通过此脉冲来作为车辆行驶的信号。
假设车轮周长为2米,则车辆行驶的里程数为脉冲数的两倍,将里程数通过数码管显示。
然后将里程数的末两位数码管的值通过下述数字传输系统传送到接收端去并显示:在该数字传输系统中,其发送方的8位二进制数要通过一根1位数据线,传输到其接收方;要求在接收方也用两个数码管对比显示这些8位二进制数(考虑到传输路径上的延迟,接收方的显示可能略为滞后于发送方的显示)。
2.1霍尔元件2.1.1霍尔开关电路又称霍尔数字电路,由稳压器、霍尔片、差分放大器、施密特触发器和输出级组成。
在外磁场的作用下,当磁感应强度B 逐渐增加,超过导通阈值BOP 时,霍尔电路输出管导通,输出低电平。
之后,B 再增加,仍保持导通态。
而当外加磁场的B 值逐渐降低,低于截止阈值BRP 时,输出管截止,输出高电平。
之后,B 再降低,仍保持截止态。
我们称BOP 为工作点,BRP 为释放点,BH=BOP-BRP 称为回差。
回差的存在使霍尔开关电路的抗干扰能力增强(B 的微小扰动不至于使输出来回剧变,相对稳定)。
2.1.2霍尔元件(Hall Effect Sensor )位于Misc 元件库→TRANSDUCERS →从OHN3019U 到OHS3175U 均是,可选定元件后按F1键或元件属性对话框中的Info 按钮查看其简要说明,具体元件型号的Bop (Magnetic Operation Point )和Brp (Magnetic Release Point )参数(意指磁通量引起电压变化的临界值)。
铜陵学院数字电路课程设计报告书(09版)For personal use only in study and research; not for commercial useFor personal use only in study and research; not for commercial useFor personal use only in study and research; not for commercial use姓名:昌锋班级:07自动化(本)学号:02时间:2009年5月课程设计题目:出租汽车自动计价器[设计要求]:用中、小规模集成电路设计与制作出租汽车自动计价器。
具体要求如下:1、能计汽车行驶的里程和停车等候时间。
2、能自动显示出该收的车费和停车等候费。
3、每公里该收的行车费(如0.45元)各十分钟应该收的行等候费(如0.25元)均有拨码开关可预先设置。
[设计器材]:74LS48(及配合LED),74LS160,74LS00,74LS32,74LS04,74LS08,74LS86,74LS112,CC4072,5G555,电阻、电容若干,干簧继电器,拨码开关。
[设计摘要]:本设计主要介绍了基于电子工作平台Electronics Workbench (EWB)出租车计价器控制电路的设计。
整个自动控制系统由四个主要电路构成:里程计数及显示、计价电路、基本里程判别电路、秒信号发生器(用555多谐振荡器实现)及等候计时电路和清零复位电路。
以Electronics Workbench (EWB)软件作为开发平台,采用图形方式创建电路、构造电路、调用元器件和测试仪器,该工作平台可以对电子元器件进行一定程度的非线性仿真,不仅测试仪器的图形与实物相似,而且测试结果与实际调试基本相似。
该设计不仅仅实现了显示计程车计费的功能,其多功能表现在它可以显示计程车累计走的总路程和里程单价。
加法器是构成计算机内部算术运算器(ALU)的基本单元,加法器的逻辑功能是实现两个二进制数的相加,因计算机内部的加、减、乘、除算术运算通常是利用加法器来实现。
目录1.绪论 (1)2. 总体设计 (1)2.1设计任务及要求 (1)2.2设计方案及选择 (2)2.2.1用VHDL语言实现计价 (2)2.2.2用ABEL语言实现计价 (2)2.2.3出租车计价器的实现方案 (3)3程序设计 (4)3.1里程模块设计 (4)3.2等待时间模块 (7)3.3计价模块 (11)3.4总体模块连线图 (12)4程序的调试与仿真分析 (13)4.1测试向量的编写 (13)4.2仿真波形及分析 (13)5总结与体会 (17)参考文献 (18)1 绪论随着经济的迅猛发展以及人民生活水平的提高,城市的出租车营运事业发展迅速,出租车已经成为人们日常出行选择较为普通的交通工具。
出租车计价器是出租车营运收费的专用智能化仪表,是使出租车市场规范化、标准化的重要设备。
一种功能完备,简单易用,计量准确的出租车计价器是加强出租车行业管理,提高服务质量的必需品。
本设计采用ABEL硬件描述语言作为设计手段,采用自顶向下的设计思路,得到一种出租车计价系统的软件结构,通过软件下进行仿真,证明所设计的电路系统完成了出租车计价的功能,各项指标符合设计要求。
该设计虽然功能简单,智能化水平比较低,但仍具有一定的实用性。
我们知道出租车的计价器显示的价格与行驶的里程,还有路途中等待的时间见有关,而且随着里程的增加价格会有不同的档位,要自动化控制它的变化需要熟悉它的基本运行环境,掌握它工作的几大模式,等待时间模块,路程模块,计费模块等。
在这个设计中,我选用的是ABEL语言设计的出租车计价器,仿真软件选用的是ISPLEVE,设计输入可采用原理图,硬件描述语言,混合输入三种方式,能对所设计的数字电子系统进行功能仿真和时序仿真。
使用ISPLEVE时,要先创建工程项目,再绘制顶层原理图,再用ABEL语言编程,接着编译仿真。
2 总体设计2.1 设计任务及要求设计一个TAXI的计价表,按实际行驶里程和等候时间综合计价。
出租车里程显示系统的设计第1章概述1.1 国内外研究现状自今汽车走过了100多年的发展历程,汽车仪表也在不断开发和发展之中。
汽车仪表发展,按其工作原理上取得的重大技术创新来分经过四代:第一代汽车仪表是基于机械作用力而工作的机械式仪表,即机械机芯表;第二代汽车仪表的工作原理基于电子测量原理,即通过各类传感器将被测的非电量变换成电信号加以测量,称之为电气式仪表;第三代为模拟电路电子式;第四代为步进电机式全数字汽车仪表。
目前,汽车仪表正在经历第三代向第四代转型时期。
第三代汽车用仪表工作原理与电气式仪表基本相同,只是用电子器件取代原来的电气器件。
随着集成电路技术突飞猛进的发展,这种仪表现在均采用汽车仪表专用集成电路,是国内汽车仪表目前的主流产品,经过多年的发展,其结构形式经历了动圈式机芯和动磁式机芯阶段。
电子器件经历了分立器件和专用集成电路阶段。
发展到今天以塑料件为主;围绕提高指示精度和指针平稳性,有动圈式、动磁式等。
第四代步进电机式全数字式汽车仪表从其应用的技术手段上看,还是电子技术范畴,也属于电子式仪表,但信号处理方式己从模拟变成数字。
其最显著的特征是工作原理与第三代汽车仪表完全不同。
本系统研制的步进电机式车速里程表就是在这第三代和第四代转型时期开发研制的第四代新型仪表。
该表属于第四代步进电机式全数字式汽车仪表,本系统开发的仪表的优点是指示精度高,响应速度快、无抖动,指示范围分度均匀等。
1.2 方案比较根据设计任务,车速里程表机芯的研制主要设计出车速的指示和里程的显示,具有小计里程和总里程的双显示功能,车速具有回零功能。
因此根据总体设计要求,经过分析研究设计出方案如下。
1.2.1 方案一:动磁式车速里程表电子车速里程表是由步进电机M驱动机械式里程记录机构(计数器),装在变速箱内霍尔传感器的输出信号控制步进电机。
步进电机M由专门集成电路BL2115驱动,步进电机M转动量与变速箱输出轴转动量成一定速比关系,从而取消了传统的软轴驱动。
出租车里程显示系统的设计方案研讨(doc 13页)参考必读下列资料与各个论文题目均有所出入,相关内容仅供参考,不可雷同。
格式要求内容分为:引言、正文、结论与展望、致谢、参考文献等几个部分。
各部分均要分页。
各章亦要分页显示。
图表格式要正确,必须用黑色笔书写,字体要端正,不可潦草。
出租车里程显示系统的设计第1章概述1.1 国内外研究现状自今汽车走过了100多年的发展历程,汽车仪表也在不断开发和发展之中。
汽车仪表发展,按其工作原理上取得的重大技术创新来分经过四代:第一代汽车仪表是基于机械作用力而工作的机械式仪表,即机械机芯表;第二代汽车仪表的工作原理基于电子测量原理,即通过各类传感器将被测的非电量变换成电信号加以测量,称之为电气式仪表;第三代为模拟电路电子式;第四代为步进电机式全数字汽车仪表。
目前,汽车仪表正在经历第三代向第四代转型时期。
第三代汽车用仪表工作原理与电气式仪表基本相同,只是用电子器件取代原来的电气器件。
随着集成电路技术突飞猛进的发展,这种仪表现在均采用汽车仪表专用集成电路,是国内汽车仪表目前的主流产品,经过多年的发展,其结构形式经历了动圈式机芯和动磁式机芯阶段。
电子器件经历了分立器件和专用集成电路阶段。
发展到今天以塑料件为主;围绕提高指示精度和指针平稳性,有动圈式、动磁式等。
第四代步进电机式全数字式汽车仪表从其应用的技术手段上看,还是电子技术范畴,也属于电子式仪表,但信号处理方式己从模拟变成数字。
其最显著的特征是工作原理与第三代汽车仪表完全不同。
本系统研制的步进电机式车速里程表就是在这第三代和第四代转型时期开发研制的第四代新型仪表。
该表属于第四代步进电机式全数字式汽车仪表,本系统开发的仪表的优点是指示精度高,响应速度快、无抖动,指示范围分度均匀等。
单片机EEPROMLCD显示LM1819驱动器双线圈转速表图1-2 双线圈式车速里程表原理框图1.2.3 方案三:步进电机式车速里程表本方案的步进电机式车速里程表是一种用指针指示速度、用液晶显示里程的电子式车速里程表。
数字电路课程设计---出租车里程计价器
作为一门数字电路课程设计,出租车里程计价器是一个重要的练习工程。
出租车里程
计价器是一个可以测量出租车行驶里程的电子装置,可以根据乘客的行驶里程数以及出租
车的费率计算出乘客的费用。
本课程设计将建立一个完整的出租车里程计价器系统,主要
功能是通过按键来记录出租车行驶的里程数,以及能够根据费率计算乘客应付费用。
整个出租车里程计价器系统可以由以下部分构成:键盘和电子计算器、单片机和集成
电路、液晶显示器、晶体管和三极管,以及连接各部分的电路。
针对上述的部件,本课程设计的基本步骤是:首先,在键盘和电子计算器之间建立一
个“实时”的系统,用来记录出租车行驶里程数;其次,建立一个单片机程序,将出租车
行驶里程数和出租车的费率进行比较,并计算出乘客的费用;最后,在晶体管和三极管的
帮助下设计一个显示乘客应付费用的液晶显示器,完成整个出租车里程计价器系统的设计。
总的来说,本课程设计是为了帮助学习者了解和熟悉各种电路,从而让学习者掌握出
租车里程计价器的设计和实现方法。
该课程设计中将用到信号传递、数据存储和运算、信
号采集等多项电路技术,最后将 LPC 1688 单片机实现上述功能,完成一套实用的出租车
里程计价器系统的搭建。
一、实验目的和要求:(1)学习使用multisim 软件进行电路图绘制并且仿真; (2)学习出租车里程表电路的设计思路;(3)学习霍尔元件的工作原理和方法;(4)掌握数据传输系统的原理和串并转换的实现方法。
二、实验内容和原理:(一)实验内容:设计一个出租车里程表及数字传输系统,并在Multisim 中选择数字器件实现该数字电子系统。
出租车的轮脉冲由霍尔元件产生,假设跟教材上一样轮周长为2米,将里程数用数码管显示,然后将里程数的末两位数码管的值通过下述数字传输系统传送到接收端去并显示:在该数字传输系统中,其发送方的8位二进制数要通过一根1位数据线,传输到其接收方;要求在接收方也用两个数码管对比显示这些8位二进制数(注意:考虑到传输路径上的延迟,接收方的显示可以略为滞后于发送方的显示)。
(二)实验原理:1、系统方案示意方框图如下所示:2、霍尔元件(Hall Effect Sensor )2.1霍尔元件的应用原理霍尔开关电路又称为霍尔数字电路,由稳压器、霍尔片、差分放大器、施密特触发器和输出级组成。
在外磁场的作用下,当磁感应强度B 逐渐增加,超过导通阈值Bop 时,霍尔电路输出管导通,输出低电平,之后B 再增加,仍然保持导通状态。
当外加磁场B 逐渐降低,低于截止阈值Brp 时,输出管截止,输出高电平。
之后,B 再降低,仍然保持截止态。
我们称Bop 为工作点,Brp 为释放点,两者的差BH 称作回差,回差的存在使得霍尔开关电路的抗干扰能力增强。
2.2霍尔元件在Multisim 中的选择霍尔元件位于Misc 元件库 TRANSDUCERS 从OHN3019U 到OHS3175U 均是,可选定元件后按F1键或元件属性对话框中的Help 按钮查看其简要说明,而具体元件型号的Bop (Magnetic Operation Point )和Brp (Magnetic Release Point )参数。
2.3霍尔元件的接法右图1所示的是霍尔元件电路,其1脚接+5V电源正极,3脚通过上拉电阻电阻接到+5V电源正极,如果3脚没有加上拉电阻而悬空时其电压为0,而3脚加上上拉电阻到正电源时其电压固定为+5V,相当于TTL的逻辑高电平。
基于M u l t i s i m的出租车计费器仿真研究High quality manuscripts are welcome to download电子设计与制作课程设计班级:通信工程姓名:学号:指导教师:设计时间:成绩:评语:电子设计与制作实习报告一、实习目的此次电子设计实习主要为大学四年的专业课起承接作用,完成此次设计有三部分目的。
首先对大学两年来所学的有关电子设计方面专业课进行巩固,将所学的理论知识应用到实践中来,理论联系实际,进一步加深对已学相关专业知识的认识。
其次,通过此次电子设计,熟悉并掌握电子设计电路的一般设计方法,熟悉电子元器件的表示、参数及封装样式。
在设计出租车里程计价表电路过程中,进一步系统地掌握相关专业知识及元件作用,学习利用相关软件进行电子线路的调试,掌握电子电路的仿真及应用仿真软件。
最后,通过此次实习,加强对本专业的了解,通过设计,培养同学们的动手能力,从而为以后学习更加高深的专业知识打好基础。
二、实习时间三、实习内容及过程(一)设计题目出租汽车里程计价表设计与仿真(二)设计目的1、掌握出租汽车里程计价表的设计与仿真;2、熟悉同步十进制系数乘法计数器芯片的工作原理和使用方法;3、掌握计数器、寄存器和译码器及显示电路的原理和使用方法。
(三)设计要求1、设计出租汽车里程计价表电路;2、选用中小规模集成器件;3、具有在线仿真及显示电路。
(四)出租车计费器原理框图出租车计价器根据乘客乘坐时汽车行驶路程的多少计价,并在行驶过程中同步显示车费。
从起步价 3 元开始,汽车里程未满公里时,均按起步价计算。
超过公里,则在起步价基础上按每公里加元计算。
路程和计费可通过十进制加法计数器实现。
要设计一个精度为公里,计费范围为元的计费器,则需有 6 个数码管,前三个用来显示路程,后三个用来显示计价。
起价(X .X 元)可以通过计数器的置数端进行数据预置。
这里行车里程用脉冲信号代替,每来一个脉冲代表公里路程。
1设计任务描述1.1 设计题目:出租车里程计价器1.2 设计要求1.2.1 设计目的(1) 掌握出租车里程计价器的构成、原理与设计方法;(2) 熟悉集成电路的使用方法。
1.2.2 基本要求(1) 设计秒脉冲产生信号;(2) 行驶里程信号用传感器产生,假设车轮每转一圈为2米。
出租车起价费为3公里8元,此后为每500米加收1元;(3) 等候时间为15分钟计价器加收1元,等候时间信号由时钟产生;(4) 计价表的计数、寄存、译码显示系统。
1.2.3 发挥部分(1) 里程数的计数、寄存、译码显示系统;(2) 白天、晚上的转换,晚上为3公里10元,此后为每450米加收1元;(3) 等待时间每隔15分钟产生一报警信号,扬声器工作。
2 设计思路拿到课程设计的题目——出租车里程计价器,首先想到的就是自己乘坐出租车的经历,结合一年来对数字电子和模拟电子知识的学习,我的基本设计思路如下:由安装在车轮上的传感器产生信号,经过555施密特触发器整形,用74LS390设计一50进制计数器,即产生0.1公里信号,计数最小单位为0.1公里,最大显示99.9公里。
计价电路分为白天和夜间两部分,白天是325分频,计数器预置9元,夜间是275分频,计数器预置10元。
为实现三公里之内计价器保持预置数值不加钱,通过一比较器和或门从公里计数器得到高电平控制价钱计数器的使能端。
三公里之后计价器开始工作,计数、译码、显示乘车费用。
设计中还增加了等候时间显示电路,由555多谐振荡器产生1000赫兹信号分频之后就有秒脉冲信号。
当乘客下车需要等待时,使多谐振荡器开始工作,显示等待时间,十五分钟之后,经555单稳态触发器和振荡器驱动扬声器工作,以提醒司机和乘客,等待时间已经达到15分钟。
设计中不仅满足了出租车计价器的基本要求,加入的发挥部分也使得整个设计更加合理。
另外当换乘下一位乘客时,所有计数器的清零端(需预置的计数器的预置端)统一清零,然后进行下一步的工作。
1。
所选题目:出租车计费器2.设计要求:设计一个出租车计费器,能按路程计费,具体要求如下:(1)实现计费功能,计费标准为:按行驶里程计费,起步价为6。
00元,并在汽车行驶2km后按1.2元/km计费,当里程数达到15km后,没千米加收50%的空驶费,车辆停止和暂停时不计费。
(2)现场模拟汽车的启动、停止、暂停和换挡等状态。
(3)设计数码管显示电路,将车费和路程显示出来,各有1位小数。
3。
设计原理:设计该出租车有启动键、停止键、暂停键和档位键。
启动键为脉冲触发信号,当其为一个脉冲时,表示汽车已启动,并根据车速的选择和基本车速发出相应频率的脉冲(计费脉冲)以此来实现车费和路程的计数,同时车费显示起步价;当停止键为高电平时,表示汽车熄火,同时停止发出脉冲,此时车费和路程计数清零;当暂停键为高电平时,表示汽车暂停并停止发出脉冲,此时车费和路程计数暂停;档位键用于改变车速,不同的档位对应着不同的车速,同时路程计数的速度也不同。
4.模块设计:出租车计费器可分为两大模块,即控制模块和译码显示模块.系统框图如下:5。
电路符号:出租车计费器的输入信号有:计费时钟脉冲clk;汽车启动键start;汽车停止键stop;档位speedup.输出信号:7段显示控制信号seg7;小数点dp。
6.具体设计流程:(1)根据出租车计费原理,将出租车计费部分由5个计数器来完成分别为counterA,counterB,counterC,counterD,counterE。
①计数器A完成车费百位。
②计数器B完成车费十位和个位.③计数器C完成车费角和分(显示时只显示角)。
④计数器D完成计数到20(完成车费的起步价)。
⑤计数器E完成模拟实现车行驶100 m的功能。
(2)当超出起步价时就自动在起步价的基础上每增加一个100m脉冲就增加相应的费用,而当总里程达到或超过一定的数值时,能按新的收费标准进行收费。
(3)译码/动态扫描电路模块将路程与费用的数值译码后用动态扫描的方式驱动6只数码管,即所连接的数码管共用一个数据端,由片选信号依次选择输出,轮流显示.(4)数码管显示将千米数和计费金额均用3位LED数码管显示(2位整数,1位小数)。
辽宁工业大学数字电子技术基础课程设计(论文)题目:出租车汽车里程计价表院(系):电子与信息工程学院专业班级:通信091学号:学生姓名:指导教师:**起止时间:2011.12.26—2012.01.06课程设计(论文)任务及评语院(系):电子与信息工程学院 教研室:电子信息工程 注:成绩:平时20% 论文质量60% 答辩20% 以百分制计算学 号学生姓名专业班级 通信091班课程设计题目出租车里程计价表课程设计(论文)任务设计参数:1. 不同情况具有不同的收费标准。
白天、晚上、途中等待(>10min 开始收费) 2. 能进行手动修改单价 3. 具有数据的复位功能4. 白天/晚上收费标准的转换开关,数据的清零开关,单价的调整,单价输出2位,路程输出2位,总金额输出3位5. 按键:启动计时开关,数据复位(清零)。
白天/晚上转换 设计要求:1 .分析设计要求,明确性能指标。
必须仔细分析课题要求、性能、指标及应用环境等,广开思路,构思出各种总体方案,绘制结构框图。
2 .确定合理的总体方案。
对各种方案进行比较,以电路的先进性、结构的繁简、成本的高低及制作的难易等方面作综合比较,并考虑器件的来源,敲定可行方案。
3 .设计各单元电路。
总体方案化整为零,分解成若干子系统或单元电路,逐个设计。
4.组成系统。
在一定幅面的图纸上合理布局,通常是按信号的流向,采用左进右出的规律摆放各电路,并标出必要的说明。
进度计划1.查阅资料,出租车里程计价表的基本原理和设计方法。
(2天)2.设计出租车里程计价表的各单元电路。
(2天)3.设计出租车里程计价表的总电路。
(2天)4.利用EWB 软件仿真。
(1天)5.对结果进行分析总结。
(2天)6.撰写、打印设计说明书。
(1天)指导教师评语及成绩平时: 论文质量: 答辩:总成绩: 指导教师签字:学生签字:年 月 日摘要本设计是以555定时器为核心,以74160智能芯片为外设的出租车计价器的系统设计,该系统满足集计程、计时、计费等多种计量功能为一体的出租车计价器的实用要求。
一、设计目的1 掌握电子电路的一般设计方法和设计流程;2 学习使用PROTEL软件绘制电路原理图及印刷板图;3 掌握应用EWB对所设计的电路进行仿真,通过仿真结果验证设计的正确性。
二、设计要求设计一个出租车计费系统,具体要求如下:1. 能够实现计费功能。
按照太原出租车的计费标准。
2.能够实现显示功能。
分别用四位数字显示行驶里程和总费用,计价分辨率为0.1元。
三、设计内容1 设计过程1)使用PROTEL软件绘制原理图。
2)制作PCB版图。
3)应用EWB对所设计的电路进行仿真。
2 设计框图(1)各个模块的功能说明-74160,是一个4位二进制的计数器,它具有异步清除端与同步清除端不同的是,它不受时钟脉冲控制,只要来有效电平,就立即清零,无需再等下一个计数脉冲的有效沿到来。
具体功能如下:1.异步清零功能只要(CR的非)有效电平到来,无论有无CP脉冲,输出为“0”。
在图形符号中,CR的非的信号为CT=0,若接成七进制计数器,这里要特别注意,控制清零端的信号不是N-1(6),而是N(7)状态。
其实,很容易解释,由于异步清零端信号一旦出现就立即生效,如刚出现0111,就立即送到(CR的非)端,使状态变为0000。
所以,清零信号是非常短暂的,仅是过度状态,不能成为计数的一个状态。
清零端是低电平有效。
2.同步置数功能当(LD的非)为有效电平时,计数功能被禁止,在CP脉冲上升沿作用下D0~D3的数据被置入计数器并呈现在Q0~Q3端。
若接成七进制计数器,控制置数端的信号是N(7)状态,如在D0~D3置入0000,则在Q0~Q3端呈现的数据就是0110。
7448七段显示译码器7448七段显示译码器输出高电平有效,用以驱动共阴极显示器。
该集成显示译码器设有多个辅助控制端,以增强器件的功能。
7448的功能表如表5.3.4所示,它有3个辅助控制端LT、RBI、BI/RBO,现简要说明如下:1. 灭灯输入BI/RBOBI/RBO是特殊控制端,有时作为输入,有时作为输出。
出租车自动计费器设计一.设计要求1、设计一个出租车自动计费器,具有行车里程计费、等候时间计费、及起价三部分,用四位数码管显示总金额,最大值为99。
99元;2、行车里程单价1元/公里,等候时间单价0。
5元/10分钟,起价3元(3公里起价)均能通过人工输入。
3、行车里程的计费电路将汽车行驶的里程数转换成与之成正比的脉冲数,然后由计数译码电路转换成收费金额,实验中以一个脉冲模拟汽车前进十米,则每100个脉冲表示1公里,然后用BCD码比例乘法器将里程脉冲乘以每公里单价的比例系数,比例系数可由开关预置。
例如单价是1。
0元/公里,则脉冲当量为0。
01元/脉冲。
4、用LED显示行驶公里数,两个数码管显示收费金额。
二.原理描述利用层次化设计理论,将设计问题自顶向下可分为分频模块,控制模块,计量模块和显示模块。
系统框图如下图1:图12.1分频模块分频模块对频率为240Hz的输入脉冲进行分频,得到15Hz,16Hz,1Hz的3种频率,该模块产生频率信号用于计费。
2.2计量控制模块计量控制模块是出租车自动计费器系统的主体部分,该模块主要完成等待计时功能,计价功能和计程功能。
计时功能的主要任务是计算乘客的等待累计时间,计时器的量程为59分,满量程自动清零。
计程功能的主要任务是计算乘客所行使的公里数,计程器的量程为99公里,满量程自动归零。
三.实验程序3.1出租车计价器VHDL程序通过VHDL语言的顺序语句根据一个或者一组条件选择某一特定的执行通道,生成计费数据,计时数据和里程数据。
1. 出租车计价器VHDL程序library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity taxi isport ( clk_240 :in std_logic; --频率为240Hz的时钟start :in std_logic; --计价使能信号stop:in std_logic; --等待信号fin:in std_logic; --公里脉冲信号cha3,cha2,cha1,cha0:out std_logic_vector(3 downto 0); --费用数据km1,km0:out std_logic_vector(3 downto 0); --公里数据min1,min0: out std_logic_vector(3 downto 0)); --等待时间end taxi;architecture behav of taxi issignal f_15,f_16,f_1:std_logic; --频率为15Hz,16Hz,1Hz的信号signal q_15:integer range 0 to 15; --分频器signal q_16:integer range 0 to 14; --分频器signal q_1:integer range 0 to 239; --分频器signal w:integer range 0 to 59; --秒计数器signal c3,c2,c1,c0:std_logic_vector(3 downto 0); --制费用计数器signal k1,k0:std_logic_vector(3 downto 0); --公里计数器signal m1:std_logic_vector(2 downto 0); --分的十位计数器signal m0:std_logic_vector(3 downto 0); --分的个位计数器signal en1,en0,f:std_logic; --使能信号beginfeipin:process(clk_240,start)beginif clk_240'event and clk_240='1' thenif start='0' then q_15<=0;q_16<=0;f_15<='0';f_16<='0';f_1<='0';f<='0';elseif q_15=15 then q_15<=0;f_15<='1'; --此语句得到频率为15Hz的信号else q_15<=q_15+1;f_15<='0';end if;if q_16=14 then q_16<=0;f_16<='1'; --此语句得到频率为16Hz的信号else q_16<=q_16+1;f_16<='0';end if;if q_1=239 then q_1<=0;f_1<='1'; --此语句得到频率为1Hz的信号else q_1<=q_1+1;f_1<='0';end if;if en1='1' then f<=f_15; --此语句得到计费脉冲felsif en0='1' then f<=f_16;else f<='0';end if;end if;end if;end process;main:process(f_1)beginif f_1'event and f_1='1' thenif start='0' thenw<=0;en1<='0';en0<='0';m1<="000";m0<="0000";k1<="0000";k0<="0000";elsif stop='1' thenif w=59 then w<=0; --此语句完成等待计时if m0="1001" then m0<="0000"; --此语句完成分计数if m1<="101" then m1<="000";else m1<=m1+1;end if;else m0<=m0+1;end if;if m1&m0>"0000001"then en1<='1'; --此语句得到en1使能信号else en1<='0';end if;else w<=w+1;en1<='0';end if;elsif fin='1' thenif k0="1001" then k0<="0000"; --此语句完成公里脉冲计数if k1="1001" then k1<="0000";else k1<=k1+1;end if;else k0<=k0+1;end if;if k1&k0>"00000010" then en0<='1'; --此语句得到en0使能信号else en0<='0';end if;else en1<='0';en0<='0';end if;cha3<=c3;cha2<=c2;cha1<=c1;cha0<=c0; --费用数据输出km1<=k1;km0<=k0;min1<='0'&m1;min0<=m0; --公里数据、分钟数据输出end if;end process main;jifei:process(f,start)beginif start='0' then c3<="0000";c2<="0011";c1<="0000";c0<="0000";elsif f'event and f='1' thenif c0="1001" then c0<="0000"; --此语句完成对费用的计数if c1="1001" then c1<="0000";if c2="1001" then c2<="0000";if c3<="1001" then c3<="0000";else c3<=c3+1;end if;else c2<=c2+1;end if;else c1<=c1+1;end if;else c0<=c0+1;end if;end if;end process jifei;end behav;该程序包含3个进程模块。
毕业论文基于51单片机的出租车计价器带仿真及程序引言现在各个城市出租车行业都已普及,因此出租车计价器的技术已经成熟,但是出租车计价器的市场还具有广阔的前景。
随着城市建设的日益完善,关乎城市面貌的出租车行业也将迅速发展,出租车计价器的的大批量需求也是毫无疑问的,所以未来出租车计价器的市场还是有相当大的潜力的。
本次出租车计价器设计以AT89S52单片机为中心,采用U18霍尔传感器对轮胎转数进行计数,实现对出租车里程的测量,并最终计算出结果。
其中采用寄存器芯片AT24C02使系统在掉电的时候对单价、里程、车轮长度等信息进行存储,采用时钟芯片DS1302来显示时间和在系统需要时进行计时。
输出采用两个4段数码显示管,而且根据按键有空车指示灯、等待查询指示灯、单程指示灯进行指示。
汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。
它关系着交易双方的利益。
具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。
因此,汽车计价器的研究也是有一定的应用价值的。
1 绪论1.1 出租车计价器概述我国在70年代开始出现出租车,但那时的计费系统大都是国外进口不但不够准确,价格还十分昂贵。
随着改革开放日益深入,出租车行业的发展势头已十分突出,国内各机械厂家纷纷推出国产计价器。
出租车计价器的功能从刚开始的只显示路程(需要司机自己定价,计算后四舍五入),到能够自主计费,以及现在的能够打一发票和语音提示、按时间自主变动单价等功能。
随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。
本次设计的目的在于现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展已成定局。
而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是十分有潜力的。
1.2 单片机的概述计算机系统已明显地朝巨型化、单片化、网络化三个方向发展。
1设计任务描述1.1 设计题目:出租车里程计价器1.2 设计要求1.2.1 设计目的(1) 掌握出租车里程计价器的构成、原理与设计方法;(2) 熟悉集成电路的使用方法。
1.2.2 基本要求(1) 设计秒脉冲产生信号;(2) 行驶里程信号用传感器产生,假设车轮每转一圈为2米。
出租车起价费为3公里8元,此后为每500米加收1元;(3) 等候时间为15分钟计价器加收1元,等候时间信号由时钟产生;(4) 计价表的计数、寄存、译码显示系统。
1.2.3 发挥部分(1) 里程数的计数、寄存、译码显示系统;(2) 白天、晚上的转换,晚上为3公里10元,此后为每450米加收1元;(3) 等待时间每隔15分钟产生一报警信号,扬声器工作。
2 设计思路拿到课程设计的题目——出租车里程计价器,首先想到的就是自己乘坐出租车的经历,结合一年来对数字电子和模拟电子知识的学习,我的基本设计思路如下:由安装在车轮上的传感器产生信号,经过555施密特触发器整形,用74LS390设计一50进制计数器,即产生0.1公里信号,计数最小单位为0.1公里,最大显示99.9公里。
计价电路分为白天和夜间两部分,白天是325分频,计数器预置9元,夜间是275分频,计数器预置10元。
为实现三公里之内计价器保持预置数值不加钱,通过一比较器和或门从公里计数器得到高电平控制价钱计数器的使能端。
三公里之后计价器开始工作,计数、译码、显示乘车费用。
设计中还增加了等候时间显示电路,由555多谐振荡器产生1000赫兹信号分频之后就有秒脉冲信号。
当乘客下车需要等待时,使多谐振荡器开始工作,显示等待时间,十五分钟之后,经555单稳态触发器和振荡器驱动扬声器工作,以提醒司机和乘客,等待时间已经达到15分钟。
设计中不仅满足了出租车计价器的基本要求,加入的发挥部分也使得整个设计更加合理。
另外当换乘下一位乘客时,所有计数器的清零端(需预置的计数器的预置端)统一清零,然后进行下一步的工作。
EDA 课程设计[RTX于2012/2/22]简易出租车计价器设计要求:●计价器按1.2元/公里计费,超过10公里后,则按1.8元/公里收费。
●起步价6元(3公里),超过3公里后,计价累加0.6元,10公里内以后每过0.5公里累加0.6元。
●过10公里后, 计价累加0.9元, 以后每过0.5公里累加0.9元。
●公里数4位数字显示,精确到0.1公里; 出租车计价4位数字显示,精确到0.1元。
●即:一.设计方案二.硬件部分:(1)硬件环境: 东南大学SE-5型EDA试验箱,其中核心元件是Altera公司的EPF10K10LC84-4):三.软件部分:(1)软件环境: Altera公司的MAX+plusII(2)程序源代码:1.顶层设计:2.各元件源代码:元件kms2money--kms2money.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;--0.1公里表示为1, 0.1元表示为1entity kms2money isport( rst, clk, enf, dispclk :in std_logic;data4 :out std_logic_vector(3 downto 0);ctl8 :out std_logic_vector(7 downto 0));--data4 :按dispclk的上升沿周期性的依次输出kms3,kms2,kms1,kms0,mon3,mon2,mon1,mon0--ctl8 :分别为控制动态扫描显示的8个LED的使能端,高电平使能end kms2money;architecture art_kms2money of kms2money issignal kms3,kms2,kms1,kms0:std_logic_vector(3 downto 0);--公里百位,十位,个位,十分位signal mon3,mon2,mon1,mon0:std_logic_vector(3 downto 0);--金额百位,十位,个位,十分位begin------------------------------------------------------------------------------------------------------ dynctl:process(dispclk,kms3,kms2,kms1,kms0,mon3,mon2,mon1,mon0) --动态显示--dispclk上升沿依次来临时data4依次为kms3,kms2,kms1,kms0,mon3,mon2,mon1,mon0,周而复始variable times:std_logic_vector(2 downto 0); --3位可表征8种状态,非'0'且非'1'除外beginif dispclk'event and dispclk='1' thentimes:=times+1;case times iswhen "000"=> data4<=kms3; ctl8<="10000000";--使能左起第1位LEDwhen "001"=> data4<=kms2; ctl8<="01000000";--使能左起第2位LEDwhen "010"=> data4<=kms1; ctl8<="00100000";--使能左起第3位LEDwhen "011"=> data4<=kms0; ctl8<="00010000";--使能左起第4位LEDwhen "100"=> data4<=mon3; ctl8<="00001000";--使能左起第5位LEDwhen "101"=> data4<=mon2; ctl8<="00000100";--使能左起第6位LEDwhen "110"=> data4<=mon1; ctl8<="00000010";--使能左起第7位LEDwhen "111"=> data4<=mon0; ctl8<="00000001";--使能左起第8位LEDwhen others=> data4<="ZZZZ";ctl8<="00000000";--无效为高阻都不选中end case;end if;end process;------------------------------------------------------------------------------------------------------ kmsdisp:process(rst,clk) --clk每来一次上升沿认为公里数加0.1公里,即加1beginif rst='1' then kms3<="0000";kms2<="0000";kms1<="0000";kms0<="0000";--初始数据elsif clk'event and clk='1' thenif enf='1' thenif kms0="1001" then --按十进制相加规律加1kms0<="0000";if kms1="1001" thenkms1<="0000";if kms2="1001" thenkms2<="0000";if kms3="1001" then kms3<="0000";else kms3<=kms3+1;end if;else kms2<=kms2+1;end if;else kms1<=kms1+1;end if;else kms0<=kms0+1;end if;end if;end if;end process;------------------------------------------------------------------------------------------------------ mondisp:process(rst,clk)variable kms: std_logic_vector(15 downto 0); --公里数的十六进制值或二进制值variable times:std_logic_vector(2 downto 0);--记录clk上升沿的次数,即有几个0.1公里beginif rst='1'then mon3<="0000";mon2<="0000";mon1<="0110";mon0<="0000";kms:=(others=>'0');times:="000";elsif clk'event and clk='1' thenif enf='1' thentimes:=times+1;if times=1 thenkms:=kms+5; --kms可能为0,5,10,..,6,65,...(5的倍数)--kms+1(0.1公里)与kms+5在价格的角度上看是等价的--XXX.1-XXX.5公里均按XXX.5公里看待,XXX.6-XXX.9公里均按(XXX.9+0.1)看待If kms<=30 then mon3<="0000";mon2<="0000";mon1<="0110";mon0<="0000";--不超过3公里,收起步价6.0元elsif kms<=100 then --超过3公里不超过10公里,每0.5公里金额加0.6元;--------------------------------------------------------if mon0>3 then --按十进制相加规律加6mon0<=mon0-4; --XXX4-XXX9加6后为YZW0-YZW5if mon1="1001" thenmon1<="0000";if mon2="1001" thenmon2<="0000";if mon3="1001" then mon3<="0000";else mon3<=mon3+1;end if;else mon2<=mon2+1;end if;else mon1<=mon1+1;end if;else mon0<=mon0+6; --XXX0-XXX3加6后为XXX6-XXX9end if;--------------------------------------------------------else --超过10公里,每0.5公里金额加0.9元;--------------------------------------------------------if mon0>0 then --按十进制相加规律加9mon0<=mon0-1; --XXX1-XXX9加9后为YZW0-YZW8if mon1="1001" thenmon1<="0000";if mon2="1001" thenmon2<="0000";if mon3="1001" then mon3<="0000";else mon3<=mon3+1;end if;else mon2<=mon2+1;end if;else mon1<=mon1+1;end if;else mon0<=mon0+9; --XXX0加9后为XXX9end if;--------------------------------------------------------end if;elsif times=5 then times:="000";--每计数5次clk就重新计数以便下次"循环"使用--times=0,2,3,4时参数不变,而只在times=1时一笔带过,被包含了.times=0与times=5是等效的end if;end if;end if;end process;------------------------------------------------------------------------------------------------------end art_kms2money;3.元件seg7bcd--seg7bcd.vhdlibrary ieee;use ieee.std_logic_1164.all;entity seg7BCD isport( turn_on :in std_logic;x :in std_logic_vector(3 downto 0);y :out std_logic_vector(6 downto 0));--声明:-- 共阴极7段显示-- turn_on :显示使能开关,高电平有效-- x :4位BCD码,x(3)为最高位,x(0)为最低位-- y :7段显示码,y(6)..y(0)对应g f e d c b aend seg7BCD;architecture art_seg7BCD of seg7BCD isbeginprocess(x,turn_on)beginif turn_on='1' thencase x is --"gfedcba"when "0000"=>y<="0111111";--0when "0001"=>y<="0000110";--1when "0010"=>y<="1011011";--2when "0011"=>y<="1001111";--3when "0100"=>y<="1100110";--4when "0101"=>y<="1101101";--5when "0110"=>y<="1111101";--6when "0111"=>y<="0000111";--7when "1000"=>y<="1111111";--8when "1001"=>y<="1101111";--9when others=>y<="ZZZZZZZ";--无效end case;else y<="0000000";--熄灭end if;end process;end art_seg7BCD;3.仿真结果4.管脚绑定Port Num Name---------------------------------------- [+]LedEN[7..0]LedEN7 80LedEN6 81LedEN5 83LedEN4 3LedEN3 72LedEN2 73LedEN1 78LedEN0 79---------------------------------------- [+]g2a[6..0]g2a6 6 gg2a5 7 fg2a4 8 eg2a3 9 dg2a2 10 cg2a1 11 bg2a0 16 a---------------------------------------- [+]inputCLK 1 CP1dispCLK 43 CP2RST 28 K1nPause 29 K25.下载程序---------------------------------------------------------------------------------------------------------------------- 本程序十分简易,仅供交流与学习。
一、实验目的
(1)学习设计简单电子系统基本方法和步骤
(2)掌握使用multisim 软件进行电子系统的设计仿真
(3)了解霍尔元件的工作原理以及使用方法。
(4)掌握数据传输系统的原理以及串并转换的实现方法。
二、实验内容和原理
设计一个出租车里程表及数字传输系统,并在Multisim 中选用数字器件实现该数字系统。
霍尔元件安装在车轮上,轮子每转一圈产生一个脉冲,通过此脉冲来作为车辆行驶的信号。
假设车轮周长为2米,则车辆行驶的里程数为脉冲数的两倍,将里程数通过数码管显示。
然后将里程数的末两位数码管的值通过下述数字传输系统传送到接收端去并显示:在该数字传输系统中,其发送方的8位二进制数要通过一根1位数据线,传输到其接收方;要求在接收方也用两个数码管对比显示这些8位二进制数(考虑到传输路径上的延迟,接收方的显示可能略为滞后于发送方的显示)。
2.1霍尔元件
2.1.1霍尔开关电路又称霍尔数字电路,由稳压器、霍尔片、差分放大器、施密特触发器和输出级组成。
在外磁场的作用下,当磁感应强度B 逐渐增加,超过导通阈值BOP 时,霍尔电路输出管导通,输出低电平。
之后,B 再增加,仍保持导通态。
而当外加磁场的B 值逐渐降低,低于截止阈值BRP 时,输出管截止,输出高电平。
之后,B 再降低,仍保持截止态。
我们称BOP 为工作点,BRP 为释放点,BH=BOP-BRP 称为回差。
回差的存在使霍尔开关电路的抗干扰能力增强(B 的微小扰动不至于使输出来回剧变,相对稳定)。
2.1.2霍尔元件(Hall Effect Sensor )位于Misc 元件库→TRANSDUCERS →从OHN3019U 到OHS3175U 均是,可选定元件后按F1键或元件属性对话框中的Info 按钮查看其简要说明,具体元件型号的Bop (Magnetic Operation Point )和Brp (Magnetic Release Point )参数(意指磁通量引起电压变化的临界值)。
磁场源元件位于Sources 元件库→SIGNAL_CURRENT_SOURCES →MAGNETIC_FLUX (固定磁通量磁铁)或MAGNETIC_FLUX_GENERATOR (正弦变化磁通量磁铁),可选定元件后按F1键或元件属性对话框中的Info 按钮查看其简要说明
2.1.3霍尔元件电路的接法及其将磁场变化转换为电压变化的效果。
可参考《电子系统设计》教材。
注意2脚接地,1脚接电源,3脚输出,上拉电阻接在1和3脚之间。
2.2出租车计价器的里程
只需对轮脉冲进行计数,再相应得到里程数,以米为单位,里程数可用十六进制计数及显示。
用同步十进制计数器74ls160串联来实现百进制的计数功能,来记录轮脉冲信号。
再将轮脉冲的输出信号作为四位加法器74283的输入信号,通过加法运算来实现里程的计数,注意信号的高低位在输入输出端口和数码
装 订 线
管的高低位的对应。
2.3数字传输系统
数字传输系统的并串、串并转换可使用移位寄存器74LS165来实现并串变换,用74LS164来实现串并变换,再将数据输入到74LS273八D触发器实现对数据的存储,然后在第八个周期读出数据,在数码管上显示,从而实现通过一根1位数据线来传输数据的目的。
要特别注意并串、串并转换的时序,能够使在时钟的上升沿采到所有的八个数据信号,这样数码管显示的数字才是符合时序的、正确的。
2.4系统仿真
按设计要求画出电路图后,先通信号发生器产生适宜频率的方波脉冲来模拟轮脉冲,观察轮脉冲计数器和里程显示是否符合预期设计要求。
如果达到预期要求后,再将霍尔元件和磁场缘放到系统里进行仿真测试,用示波器观察八分频计数器是否实现分频功能,使之能观察到传输系统的数码管显示正确的数字。
三、实验设备
装有multisim软件计算机一台
四、实验结果记录与分析
整体实验原理框图如下图所示:
图4.1 实验整体原理图
从图中可以看到轮子的圈数在数码管上显示为7,在里程显示的数码管上为14,由于传输系统的延迟,
当前数码管显示的为第6圈轮数是的里程数,为12。
4.2 八分频计数器模拟示波器波形
通过八进制计数器实现八分频,通过示波器可以观察到实现了对传输系统频率的八分频的目标,使其能够在采集到所有八个周期的数据量,从而传输正确的数字。
五、实验心得
这次实验主要是练习multisim软件的操作和出租车里程表的电子系统的设计仿真。
由于课前未作详细的实验预习,导致一开始就照着书上的电子系统设计,实际上我们只要完成出租车计算里程的功能即可。
之后的设计我们直接将轮脉冲拿过来进行里程的计算,这样就没有设计轮子圈数的显示。
老师的建议方案将十六进制直接作为数码管显示不符合我们日常的认知方式,我觉得应当设计成十进制BCD码显示的比较好,但是这并不妨碍这个实验的目的。
参考方案一的传输系统方案可能有点问题,一开始我们就是照着这个方案来做传输系统的,在仿真时发现,由于将轮脉冲信号作为D触发器的触发信号,导致传输数据的输出时序和轮脉冲的周期有关,需要将轮脉冲的周期和传输系统的周期调试成大概八倍的关系,才能显示正确的数字,但是在电路实际工作中,磁场源是不断变化的,故轮脉冲的周期也是时变的,所以说这种做法不符合电子系统可靠的原则。
事实上,简单可行的做法就是将传输系统的时钟周期进行八分频。
将此分频信号作为D触发器的触发信号即可。
通过这次实验,对一些以前学过的数字电路知识和器件有了更加深入的理解,能够用现阶段掌握的数字电路器件来实现电子系统的设计。
对数字传输系统的实现结构有了一些了解,明白了时序的重要性。