自动饮料售货机.docx自动饮料售货机
目录
V 、八—1—
1. HU S
设计流程图 2
源代码编写 3
仿真时序图
分析与总结
参考文献
本人在本科阶段自学了一部分PLC,并运用PLC完成了本科的毕业设计, 同在毕业设计课题组的同学选做基于PLC自动饮料售货机的设计,当时对自动 饮料售货机的控制系统了解仅限于基于单片机与PLC的控制没有亲自动手去尝 试设计。在本学期,全新的接触和学习了 FPGA课程,正处于一个FPGA的入 门阶段,基于以前的兴趣,该次尝试基于FPGA简单设计自动饮料售货机的一部 分控制。本次是采用Quartus II 。
图1-1自动饮料售货机内部结构图
图1-2自动饮料售货机内部结构图
找零显示
1元投币口
找零出11
饮料出【J
图2-1自劲饮料售货机示意图
图2-2自动饮料售货机流程图
3•源代码编写
厂信号定义:
elk:
表示时钟输入;
rst_n:
为系统复位信号;
half_yuan:
代表投入5角钱币;
one_yuan:
代表投入1元钱币;
half_out:
代表找零信号;
dispe nse:
代表机器售出一瓶饮料;
collect:
用于提示投币者取走饮料.
segl:
LCDA数码管显示;
seg2:
LCDB数码管显示;
seg3:
LCDC数码管显示;*/
module SCD(half_yuan *one_yuan,half_out,collect,dispensejst_n,clk,seg:Useg2,seg3);
parameter idle=O,half=l,one=2,two=3,three=4; // idle,half,one,two,three 代表投入
钱币的几种状态
in put half_yua n,on e_yua njst_n ,clk;
output collect'half_outqispense,segl,seg2,seg3;
reg[2:0]D; //D代表当前时刻投币的状态
reg templ,temp2;
reg collect,half_out,dispense;
reg [3:0]segl; reg[3:0]seg2; reg[7:0]seg3;
always @(posedge elk or negedge rst_n)
begin
讦(!rst_n)
begi n disp en se<=0;collect<=0;
half_out<=0;D<=idle; templ<=0;temp2<=0;
{segl,seg2}<=8*b0000_0000;{seg3}<=8,bllllll01;end
else
begin templ<=half_yuan;temp2<=one_yuan; 〃初始状态赋值
case(D)
i
自动饮料售货机 来自淘豆网m.daumloan.com转载请标明出处.