基于vhdl编程fpga的地铁自动售票机设计说明书Word文件下载.docx
- 文档编号:15903918
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:36
- 大小:46.92KB
基于vhdl编程fpga的地铁自动售票机设计说明书Word文件下载.docx
《基于vhdl编程fpga的地铁自动售票机设计说明书Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于vhdl编程fpga的地铁自动售票机设计说明书Word文件下载.docx(36页珍藏版)》请在冰豆网上搜索。
二、实验分析
1、
买票时,乘客按下开始键,售票机进入站台选择程序,乘客选择出站口后,可以按取消键重新选择,否则售票机自动进入票数选择程序,同样这时可以按下取消键重新开始选择出站口以及票数。
2、
当选择好出站口以及所需票数时,乘客可以投硬币或者用纸币,当所投的钱币总额大于或者等于票价时,售票机自动出票以及找零。
期间,可以按下取消键重新开始选择,并退出所有的钱币。
3、
乘客若还没选择出站口或者票数,就投币或者使用纸币,售票机会自动退出所有的钱币。
4、
有六个站台可供乘客选择,每个乘客最多可以买3张票,六个站台编号为1到6,票价从2元依次递增到7。
三、系统流程图
四、程序源代码
LIBRARYIEEE;
USEIEEE.std_logic_1164.ALL;
USEIEEE.std_logic_arith.ALL;
USEIEEE.std_logic_unsigned.ALL;
ENTITYmetrosellIS
PORT<
clk:
instd_logic;
--settheclocksignal
startselect:
--starttoselecttheplatform
sure:
--thisbuttonistosaveyourforwardstep<
s>
coin1y:
--1yuancoin
pmoney1y:
--1yuanpapermoney
pmoney2y:
--2yuanpapermoney
pmoney5y:
--5yuanpapermoney
pmoney10y:
--10yuanpapermoney
pmoney20y:
--20yuanpapermoney
cancel:
--canceltheforwardstep<
number:
instd_logic_vector<
3downto0>
;
--choosethenumberofthetickets
platform:
--choosetheplatformyouwanttoreach
moneystorage:
outstd_logic;
--tostorethemoney
acceptmo:
--acceptthemoney
stamp:
--stampoutgate
charge:
outstd_logic_vector<
--themountofcharge,upto15yuan
chargegate:
outstd_logic
--chargeoutgate
>
ENDmetrosell;
ARCHITECTUREsellOFmetrosellIS
typestate_typeis<
initial_type,selectp_type,selectnum_type,insert_type,stamp_type,charge_type>
--definesixtypes
signalstate:
state_type;
--defineasharedstate
BEGIN
main:
process<
clk,state,startselect,platform,number,coin1y,pmoney1y,pmoney2y,pmoney5y,pmoney10y,pmoney20y,cancel,sure>
variableunivalence:
integerrange0to7;
--theunivalenceoftheticket
variabletotal_money:
integerrange0to21;
--thepriceoftheticket<
variableselectp_alr:
std_logic;
--theflagofselectplatformtype
variableselectnum_alr:
--theflagofselectnumbertype
variablestamp_alr:
--theflagofthestampgate
variablecharge_alr:
--theflagofthechargegate
variablemoney_reg:
--themountofmoneyputin
variablecoin1y_f:
--theflagofoneyuancoin
variablepmoney1y_f:
--theflagofoneyuanpapermoney
variablepmoney2y_f:
--theflagoftwoyuanpapermoney
variablepmoney10y_f:
--theflagoftenyuanpapermoney
variablepmoney20y_f:
--theflagoftwelveyuanpapermoney
variablepmoney5y_f:
--theflagoffiveyuanpapermoney
variablecharge_reg:
integerrange0to15;
--theregisterofcharge
begin
if<
rising_edge<
clk>
>
then
casestateis
wheninitial_type=>
--initializesomevariables
univalence:
=0;
selectp_alr:
='
0'
selectnum_alr:
stamp_alr:
charge_a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 vhdl 编程 fpga 地铁 自动 售票 设计 说明书