32北邮数电大综合实验报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1数字电路综合实验报告简易出租车计价器班级:20112111**学号:**姓名:**班内序号:**日期:**2一:设计课题的任务要求----------------------------------------------3基本要求:-------------------------------错误!未定义书签。提高要求:-------------------------------错误!未定义书签。二:系统设计(包括设计思路、总体框图、分块设计)------------------3设计思路-------------------------------------------------3总体框图-------------------------------------------------4分块设计-------------------------------------------------41:分频器-----------------------------------------42:控制器-----------------------------------------53:数码管显示模块---------------------------------54:点阵显示模块-----------------------------------65:里程计数模块-------------------错误!未定义书签。6:等待时间计数模块-------------------------------67:车费计算模块-----------------------------------78:总框图-----------------------------------------7三:仿真波形及波形分析--------------------------------------------81:控制器仿真-------------------------------------82:数码管模块仿真---------------------------------83:点阵显示模块-----------------------------------94:里程计数模块-----------------------------------95:时间计数模块----------------------------------106:车费计算模块----------------------------------11四:源程序-------------------------------------------------------121:分频器----------------------------------------122:数码管模块------------------------------------133:车费计算模块----------------------------------164:里程计数模块----------------------------------175:等待时间计数模块------------------------------186:矩阵显示模块----------------------------------187:控制模块-----------------------错误!未定义书签。五:功能说明-----------------------------------------------------22六:元件清单和利用情况-------------------------------------------22七:故障和问题分析-----------------------------------------------22八:总结和结论---------------------------------------------------233一:设计课题的任务要求题目三简易出租车计价器设计一台出租车计价器,不同情况具有不同的收费标准。基本要求:1、行驶公里:用时钟2秒钟表示出租车匀速行驶1公里,在行车5公里以内,按起步价13元收费,超过5公里部分,以每公里2元收费。燃油附加费为每运次1元。2、途中等待:用按键控制中途等待,等待少于(包括)5秒不收费,超过5秒后每等待3秒钟加收1元。3、用数码管分时显示计费金额、行驶里程和等候时间。字母A表示当前处于显示计费金额状态,字母B表示当前处于显示行驶里程状态,字母C表示当前处于显示等候时间状态。4、用按键控制出租车空驶、载客状态并用点阵显示空驶、载客状态。提高要求:1、用点阵滚动显示收费单据。2、具有夜间模式,基本单价加收20%的费用。出租汽车收费结算以元为单位,元以下四舍五入。3、出租车行驶速度可调可控。4、多人乘车,分段计价。5、自拟其它功能。二:系统设计(包括设计思路、总体框图、分块设计)设计思路由一个总的控制器完成各个状态的转换。主要分三个状态,一为没有乘客前的空载状态。二为有乘客上车后车辆行驶状态。三为车辆行驶中进入等待状态。车费由行驶里程以及等待时间决定,因此这两者应各自为一个模块,通过各自的输出信号控制计费模块的输出。另外还需要点阵显示模块来显示当前出租车状态。通过数码管分时显示车费、里程、等待时间。主要考虑问题是:不同模块需要不同频率的时钟信号,因此分频器的输出应该有多种。4综上,主要涉及以下几个模块:分频器,控制器,数码管显示模块,点阵显示模块,里程计数模块,时间计数模块,车费计算模块。总体框图如下图所示。分块设计1:分频器分频器等待时间行驶里程控制器打车费用数码管模块点阵模块按键输入5clk_1用于用于时间计数和LED显示,clk_dz用于点阵显示,clk_2k也用于LED显示,clk_10和clk_33用于模式控制。2:控制器状态控制器的功能是根据输入信号和自身当时所处的状态完成状态的转换和输出相应的控制信号,其模块框图如图所示。其中,en0为里程计数使能信号,里程满5公里有效,en1为等待时间计数使能信号,等待时间大于5秒有效。clk_out是输出时钟,其值为clk_in10和clk_in33中之一,根据en0和en1的不同组合确定。3:数码管显示模块c3、c2、c1、c0代表输入的车费信号,m0、m1代表等待时间,k1、k0代表行驶里程,clk1和clk代表不同情况下的时钟,分别用来进行整行显示和扫描显示。64:点阵显示模块点阵显示模块输入时钟为clk_1,fin是使能信号,受拨码开关控制,输出行向量row的某一位为低电平,列向量red或者green的某一位为高电平时对应的点阵中的点发光。5:里程计数模块里程计数模块输入时钟为clk2,fin是使能信号,受拨码开关控制。Stop1是停止信号,为高电平时有效,此时模块停止里程计数。K0、k1是里程计数输出信号。当里程大于5公里时en0为高电平,送往控制器。76:等待时间计数模块等待时间计数模块输入时钟clk1,fin是使能信号,受拨码开关控制。Stop1是停止信号,为高电平时有效,此时模块停止时间计数。M0、m1是里程计数输出信号。当等待时间超过5秒时en1为高电平,送往控制器。7:车费计算模块车费计计算模块的输入时钟为clk2,fin是计费使能信号,用来控制车费开始或暂停计算。C3、c2、c1、c0是四个输出端口,向数码管模块送车费信号。88:总框图三:仿真波形及波形分析1:控制器仿真图中,clk_in10和clk_in33为2个分频比不同的输入时钟,代表不同的功能模式。Clk_out为输出时钟信号,由仿真波形可以看出,当en0为1且en1为0时,clk_out的输出与clk_in10相同,而当en0为0且en1为1时,clk_out的输出与clk_in33相同,与代码相一致。92数码管模块仿真c3、c2、c1、c0代表输入的车费信号,m0、m1代表等待时间,k1、k0代表行驶里程,clk1和clk代表不同情况下的时钟。由仿真图可知,当车费为43元,行驶20公里、等待时间43秒时,在每一个clk的上升沿,循环输出“A43B20”这几个字符,由于数码管扫描频率很高,人眼又存在视觉暂留效应,因此人看到的就是整行显示这几个字符。3点阵显示模块:点阵显示模块输入时钟为clk_1,fin是使能信号,受拨码开关控制。有仿真波形可以知道,当fin为高电平时,即此时出租车上有乘客,在每个clk_1的时钟周期内,分别循环控制点阵的每一行能发光,而其余的行不能发光。同时10在每个clk_1的时钟周期内,循环控制red的每一行预先设定好的灯发光,由于数码管扫描频率很高,人眼又存在视觉暂留效应,所以人看到的是一个红色的叉号。表示此时处于载客状态,其他人不允许打车。而在fin为低电平时,此时出租车上没有乘客,在每个clk_1的时钟周期内,分别循环控制点阵的每一行能发光,而其余的行不能发光。同时在每个clk_1的时钟周期内,循环控制green的每一行预先设定好的灯发光,由于数码管扫描频率很高,人眼又存在视觉暂留效应,所以人看到的是一个绿色的方框。表示此时处于空载状态,可以打车。由此可见,该模块完成了预先设计好的电路功能。4:里程计数模块里程计数模块输入时钟为clk2,fin是使能信号,受拨码开关控制。Stop1是停止信号,为高电平时有效。K0、k1是里程计数输出信号。由仿真波形可见,当fin为低电平且stop1无效时,即出租车未开始载客,此时k1和k0始终为0,表示没有进行里程计数,而当fin为1时,即出租车开始载客,此时每当一个clk2上升沿来临,计数器就加1,表示里程增加一公里,当里程增加到5公里以上时,en0信号由0变成1,表示按公里计费开始,这与预期是一致的。5:等待时间计数模块11等待时间计数模块输入时钟clk1,fin是使能信号,受拨码开关控制。Stop1是停止信号,为高电平时有效。M0、m1是里程计数输出信号。可见当fin为0且stop1无效时,即出租车未开始载客,此时m1和m0始终为0,表示没有进行等待时间计数。而当fin为1时,表示出租车已经开始载客,此时clk1每来一个上升沿,计数器自动加1,表示等待时间增加一秒,当等待时间增加到5秒以上时,en1由0变成1,表示开始进行等待时间计费。可见,该模块完成了预期的电路设计功能。6:车费计算模块车费计数模块的输入时钟为clk2,fin是计费使能信号,用来控制车费开始或暂停计算。C3、c2、c1、c0是四个输出端口,向数码管模块送车费信号。由波形12图可见,当fin为低电平时,即此时没开始计费,计费信号不会随clk2上升沿的来临而发生变化。而当fin为高电平时,此时开始计费,每当clk2上升沿来临,计数器的值就会加1.可见该模块完成了预期功能。四:源程序1:分频器libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;entitydivisport(clk_50m:instd_logic;clk_2k:bufferstd_logic;clk_200:bufferstd_logic;clk_10:bufferstd_logic;clk_33:bufferstd_logic;clk_2:bufferstd_logic;clk_dz:bufferstd_logic;clk_1:bufferstd_logic);enddiv;architecturert1ofdivissignalq_10:integerrange0to2499999;--2499999;signalq_33:integerrange0to7575757;--7575757;signalq_1:integerrange0to24999999;--24999999;signalq_2:integerrange

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功