最新VHDL出租车计价器Word文档格式.docx
- 文档编号:14877117
- 上传时间:2022-10-25
- 格式:DOCX
- 页数:15
- 大小:186.31KB
最新VHDL出租车计价器Word文档格式.docx
《最新VHDL出租车计价器Word文档格式.docx》由会员分享,可在线阅读,更多相关《最新VHDL出租车计价器Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
车速选择
起/停开关
基本速率
Reset
扫描时钟
显示输出显示输出
计费器按里程收费,每100米开始一次计费。
各模块功能如下:
(1)车速控制模块
当起停键为启动状态时(高电平),模块根据车速选择和基本车速发出响应频率的脉冲驱动计费器和里程显示模块进行计数;
当处于停止状态时暂停发出脉冲,此时计费器和里程显示模块相应的停止计数。
(2)里程动态显示模块
其包括计数车速控制模块发出的脉冲以及将计数显示动态显示出来,每来一个脉冲里程值加0.1(控制器每发一个脉冲代表运行了0.1公里)。
(3)计费动态显示模块
其初值为10元,当里程超过3公里后才接受计数车速控制模块发出的脉冲的驱动,并且计数显示动态显示出来,每来一个脉冲(代表运行了0.5公里)其数值加1元,当收费超过20时数值加1.5元。
三、出租车计费系统的实现
3.1系统的总体模块图:
3.2系统各功能模块的实现:
(1)模块MS的实现
模块MS,输入端口CK0、CK1为两个不同的时钟信号,来模拟汽车的加速和匀速,JS加速按键。
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYMSIS
PORT(CK0:
INSTD_LOGIC;
CK1:
JS:
CLK_OUT:
OUTSTD_LOGIC);
ENDMS;
ARCHITECTUREONEOFMSIS
BEGIN
PROCESS(JS,CK0,CK1)
BEGIN
IFJS='
0'
THENCLK_OUT<
=CK0;
ELSECLK_OUT<
=CK1;
ENDIF;
ENDPROCESS;
ENDONE;
(2)模块SOUT的实现
该模块实现车行状态输出功能,其中clk为时钟信号,enable为启动使能信号,sto暂停信号,clr为清零信号,st为状态信号。
LIBRARYIEEE;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYSOUTIS
PORT(CLK:
ENABLE:
STO:
CLR:
ST:
OUTSTD_LOGIC_VECTOR(1DOWNTO0));
ENDSOUT;
ARCHITECTUREONEOFSOUTIS
PROCESS(CLK,ENABLE,STO,CLR)
VARIABLECQI:
STD_LOGIC_VECTOR(7DOWNTO0);
VARIABLESTATE:
STD_LOGIC_VECTOR(1DOWNTO0);
IFCLR='
THENCQI:
=(OTHERS=>
'
);
ELSIFCLK'
EVENTANDCLK='
1'
THEN
IFSTO='
THENSTATE:
="
00"
;
CQI:
=CQI;
ELSIFENABLE='
THEN
CQI:
=CQI+1;
IFCQI<
=30THENSTATE:
01"
ELSIFCQI>
30ANDCQI<
=80THENSTATE:
10"
ELSE
STATE:
11"
ST<
=STATE;
ENDPROCESS;
(3)模块PULSE的实现
该模块实现将时钟信号5分频功能。
ENTITYPULSEIS
PORT(CLK0:
FOUT:
ENDPULSE;
ARCHITECTUREONEOFPULSEIS
PROCESS(CLK0)
VARIABLECNT:
STD_LOGIC_VECTOR(2DOWNTO0);
VARIABLEFULL:
STD_LOGIC;
IFCLK0'
EVENTANDCLK0='
IFCNT="
100"
CNT:
000"
;
FULL:
='
ELSE
=CNT+1;
FOUT<
=FULL;
(4)模块COUNTER的实现
实现汽车模拟计费功能。
clr1为清零信号,si为状态信号,c1,c2,c3分别为费用的三为显示。
ENTITYCOUNTERIS
PORT(CLK_DIV:
CLR1:
SI:
INSTD_LOGIC_VECTOR(1DOWNTO0);
C1:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
C2:
C3:
OUTSTD_LOGIC_VECTOR(3DOWNTO0));
ENDCOUNTER;
ARCHITECTUREONEOFCOUNTERIS
PROCESS(CLK_DIV,CLR1,SI)
VARIABLEQ1:
STD_LOGIC_VECTOR(3DOWNTO0);
VARIABLEQ2:
VARIABLEQ3:
IFCLR1='
THENQ1:
0000"
Q2:
Q3:
ELSIFCLK_DIV'
EVENTANDCLK_DIV='
CASESIIS
WHEN"
=>
Q1:
=Q1;
=Q2;
=Q3;
=>
Q1:
0001"
IFQ2<
"
1001"
Q2:
=Q2+1;
IFQ3<
Q3:
=Q3+1;
IFQ1<
0101"
=Q1+5;
IFQ1="
=Q2+2;
WHENOTHERS=>
NULL;
ENDCASE;
ENDIF;
C1<
C2<
C3<
(5)模块SCAN_LED的实现
该模块实现显示车费功能。
BT为选位信号,SG译码信号。
ENTITYSCAN_LEDIS
PORT(DI1:
INSTD_LOGIC_VECTOR(3DOWNTO0);
DI2:
DI3:
CLK2:
SG:
OUTSTD_LOGIC_VECTOR(6DOWNTO0);
BT:
OUTSTD_LOGIC_VECTOR(2DOWNTO0));
ENDSCAN_LED;
ARCHITECTUREONEOFSCAN_LEDIS
SIGNALCNT4:
SIGNALA:
STD_LOGIC_VECTOR(3DOWNTO0);
P1:
PROCESS(CLK2)
VARIABLESQ:
IFCLK2'
EVENTANDCLK2='
IFSQ="
THENSQ:
SQ:
=SQ+1;
CNT4<
=SQ;
ENDPROCESSP1;
P2:
PROCESS(CNT4)
CASECNT4IS
BT<
001"
A<
=DI1;
010"
=DI2;
=DI3;
1111"
WHENOTHERS=>
ENDPROCESSP2;
P3:
PROCESS(A)
CASEAIS
SG<
0111111"
0000110"
0010"
1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 VHDL 出租车 计价器