基于FPGA自动饮料售货机.doc

基于FPGA自动饮料售货机.doc

ID:59592578

大小:6.55 MB

页数:10页

时间:2020-11-14

基于FPGA自动饮料售货机.doc_第1页
基于FPGA自动饮料售货机.doc_第2页
基于FPGA自动饮料售货机.doc_第3页
基于FPGA自动饮料售货机.doc_第4页
基于FPGA自动饮料售货机.doc_第5页
资源描述:

《基于FPGA自动饮料售货机.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、.自动饮料售货机word范文.目录1.前言....................................................12.设计流程图..............................................23.源代码编写..............................................34.仿真时序图..............................................65.分析与总结............................

2、..................76.参考文献................................................7word范文.1.前言本人在本科阶段自学了一部分PLC,并运用PLC完成了本科的毕业设计,同在毕业设计课题组的同学选做基于PLC自动饮料售货机的设计,当时对自动饮料售货机的控制系统了解仅限于基于单片机与PLC的控制没有亲自动手去尝试设计。在本学期,全新的接触和学习了FPGA课程,正处于一个FPGA的入门阶段,基于以前的兴趣,该次尝试基于FPGA简单设计自动饮料售货机的一部分控制。本次是采用Q

3、uartusII13.0sp1进行了程序源代码的编写和时序仿真。图1-1自动饮料售货机部结构图图1-2自动饮料售货机部结构图word范文.1.设计流程图word范文.3.源代码编写/*信号定义:clk:表示时钟输入;rst_n:为系统复位信号;half_yuan:代表投入5角钱币;one_yuan:代表投入1元钱币;half_out:代表找零信号;dispense:代表机器售出一瓶饮料;collect:用于提示投币者取走饮料.seg1:LCDA数码管显示;seg2:LCDB数码管显示;seg3:LCDC数码管显示;*/moduleSCD

4、(half_yuan,one_yuan,half_out,collect,dispense,rst_n,clk,seg1,seg2,seg3);parameteridle=0,half=1,one=2,two=3,three=4;//idle,half,one,two,three代表投入钱币的几种状态inputhalf_yuan,one_yuan,rst_n,clk;outputcollect,half_out,dispense,seg1,seg2,seg3;reg[2:0]D;//D代表当前时刻投币的状态regtemp1,temp2;

5、regcollect,half_out,dispense;reg[3:0]seg1;reg[3:0]seg2;reg[7:0]seg3;always(posedgeclkornegedgerst_n)beginif(!rst_n)begindispense<=0;collect<=0;half_out<=0;D<=idle;temp1<=0;temp2<=0;{seg1,seg2}<=8'b0000_0000;{seg3}<=8'b11111101;endelsebegintemp1<=half_yuan;temp2<=one_yuan

6、;//初始状态赋值case(D)idle:if({temp1,half_yuan}==2'b10)//0元状态下检测下降沿beginD<=half;{seg1,seg2}<=8'b0000_0101;{seg3}<=8'b1111_1101;//数码管显示dispense<=0;collect<=0;half_out<=0;end//循环时输出置0elseif({temp2,one_yuan}==2'b10)beginD<=one;word范文.{seg1,seg2}<=8'b0001_0000;{seg3}<=8'b1111_1101

7、;dispense<=0;collect<=0;half_out<=0;endhalf:if({temp1,half_yuan}==2'b10)//0.5元状态下检测下降沿beginD<=one;{seg1,seg2}<=8'b0001_0000;{seg3}<=8'b11111101;endelseif({temp2,one_yuan}==2'b10)beginD<=two;{seg1,seg2}<=8'b0001_0101;{seg3}<=8'b11111101;endone:if({temp1,half_yuan}==2'b10)

8、//1元状态下检测下降沿beginD<=two;{seg1,seg2}<=8'b0001_0101;{seg3}<=8'b11111101;endelseif({temp2,one_yuan}==2'b10

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

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

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