北邮数电实验报告4人表决器
[模版仅供参考,切勿通篇使用]
数字电路综合实验设计
简易出租车计价器的设计与实现
学院: 电子工程学院 班级: 20xx 学号: 20xx 姓名: 孙月鹏 班内序号: 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 结构框图
由结构框图可以分析得出,该系统的的主体是计数控制器。该系统由外部控制载客控制信号和等待控制信号,以时钟信号的翻转为计数依据,完成对时间、里程和费用的计数,并将结果通过数码管译码电路显示出来。
该系统的控制信号可由拨码或按键输入,时钟由开发板内部时钟分频得出,输出有点阵输出和数码管输出。因此,可将系统分为分频器、计数控制器、数码管译码和显示以及点阵显示四部分。并以此得出系统的逻辑框图如下:
图2 逻辑框图
2. 控制器部分的状态转移图
该控制器一共有三个基本状态: 空驶状态、载客状态和等待状态。 分别由v 、和w 来进行控制。
三、分块电路和总体电路设计
总体电路设计
图3 状态转移图
整体电路由数码管译码电路、转换电路、点阵译码电路、技术控制电路、
分频电路五部分构成。
分频电路将开发板内部的50MHz 时钟分为500hz 、
1Hz 、 、 以及用于提高分频效率的其他若按频率。
计数控制电路由四部分构成,整体完成行驶距离的计数、等待时间的计
数以及费用的计数。输出为三组十位二进制数。
转换电路有转换数据类型和在数码管上分时显示两个功能。首先将输入
的十位二进制数转换为4位十进制数,并且利用除法和取余数的运算提取出个位、十位、百位、千位,并转换为四位二进制BCD 码。其次利用 的时钟,将行驶里程、等待时间、计费金额以2秒为周期依次out1~4,供给数码管以便分时显示。
数码管译码电路以500HZ 实现动态扫描,并将转换电路输出的5组BCD
码依次译码,完成显示。
点阵译码器根据载客控制信号,分别显示“O ”、“X ”静态图案。
分块电路设计 1. 分频器
电路模块 关键代码
ENTITY div_100 IS PORT; --END div_100;
ARCHITECTURE a100 OF div_100 IS
SIGNAL tmp100: INTEGER RANGE 0 TO 99; --BEGIN
p1:PROCESS --p1 BEGIN
IF clear ="0" THEN tmp100
ELSIF clk100"event AND clk100="1" THEN IF tmp100=99 THEN tmp100
tmp100
END PROCESS p1;
clk100 :输入时钟
clear : 复位端 clk1 : 输出时钟 输入时钟 输出时钟 计数信号 进行100进制的计数
p2:PROCESS --p2输出占空比为50%的新时钟 BEGIN
IF clk100"event AND clk100="1" THEN IF tmp100>49 THEN clk1
clk1
END PROCESS p2; END a100;
仿真波
北邮数电实验报告4人表决器 来自淘豆网m.daumloan.com转载请标明出处.