自动售货机设计和实现

自动售货机设计和实现

ID:33783115

大小:15.43 MB

页数:19页

时间:2019-03-01

自动售货机设计和实现_第1页
自动售货机设计和实现_第2页
自动售货机设计和实现_第3页
自动售货机设计和实现_第4页
自动售货机设计和实现_第5页
资源描述:

《自动售货机设计和实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、大学实验报告课程名称:数字系统现场集成技术实验项目名称:实验四(自动售货机设计和实现)学院:专业:指导教师:报告人:学号:班级:实验时间:实验报告提交时间:教务部制一、实验目的与要求:基本要求:该实验为团队协作,2人一个小组。可以对3种不同种类的货物进行自动售货,价格分别为A=4.00,B=2.50,C=1.00。售货机可以接受10元,5元,1元三种硬币(即有三种输入信号SY,WY,IY),并且在7段数码管(二位代表元,一位代表角)显示已投入的总钱数,选择货物的输入信号Ia,Ib,Ic,输出指示信号为Sa,Sb,Sc分别表示售出相应的货物,同时输出的信号yuan,jiao代表找零,并显示在7

2、段数码管上。高级要求(可选):VGA显示3种货物图片及其价格,鼠标点击购买数量(1-9)后显示总价,安规格说明2中的button2-button4输入硬币,VGA显示已投入的总钱数,鼠标点击购买后,显示找零数目,购买物品闪烁,交易完成。规格说明:·按一下button1按钮,表示购买货物A,第一个LED灯亮;按两下button1按钮,表示购买货物B,第二个LED灯亮;按三下button1按钮,表示购买货物C,第三个LED灯亮,同时7段数码管显示所要购买货物的价格。·LED灯亮后,开始输入硬币。button2按一下,输入10元,按两下,输入二十元,以此类推;Button3按一下输入5元,按两下输入

3、10元,以此类推;button4按一下输入1元,按两下输入2元,以此类推。7段数码管显示已投入的总钱数,再次按下button1键,7段数码管显示找零数目,同时指示货物的LED灯熄灭。·如果投入的钱币不够就按下button1键确认购买,数码管显示“ER”。·本实验使用FPGA板:Sparant6XC6SLX16CSG324C(建project时,需要选择该芯片的型号)。二、实验过程与代码:1、顶层代码:moduletop(inputclk,inputrst,input[4:0]btn,output[3:0]an,output[7:0]seg,output[2:0]led);wireclk,rst

4、;wire[7:0]first_seg,second_seg,third_seg;wire[4:0]btn_down;seg_drvv1(.clk(clk),.rst(rst),.first_seg(first_seg),.second_seg(second_seg),.third_seg(third_seg),.an(an),.seg(seg));mainv2(.clk(clk),.rst(rst),.btn_down(btn_down),.first_seg(first_seg),.second_seg(second_seg),.third_seg(third_seg),.led(led)

5、);btn_scanv3(.clk(clk),.rst(rst),.btn(btn),.btn_down(btn_down));Endmodule2、数码管驱动:moduleseg_drv(inputclk,inputrst,input[7:0]first_seg,input[7:0]second_seg,input[7:0]third_seg,//input[7:0]forth_seg,outputreg[3:0]an,outputreg[7:0]seg);localparam[1:0]s0=2'b00,s1=2'b01,s2=2'b10,s3=2'b11;reg[1:0]state;alw

6、ays@(posedgeclk,posedgerst)beginif(rst)beginan<=4'b1111;seg<=8'b1111_1111;state<=s0;endelsebegincase(state)s0:beginan<=4'b1110;seg<=first_seg;if(ms_up)state<=s1;elsestate<=state;ends1:beginan<=4'b1101;seg<=second_seg;if(ms_up)state<=s2;elsestate<=state;ends2:beginan<=4'b1011;seg<=third_seg;if(ms_up)

7、state<=s3;elsestate<=state;ends3:beginan<=4'b0111;seg<=8'b1111_1111;if(ms_up)state<=s0;elsestate<=state;endendcaseendendreg[17:0]ms_cnt;regms_up;always@(posedgeclk,posedgerst)beginif(rst)beginms_cnt<=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。