当前位置:文档之家› 自动售货机控制系统的设计

自动售货机控制系统的设计

PORT (CLK: IN STD_LOGIC;
COIN1: IN STD_LOGIC; --1元信号
COIN2: IN STD_LOGIC; --2元信号
COIN3: IN STD_LOGIC;--5元信号
PRICE1: IN STD_LOGIC;--2元商品
PRICE2: IN STD_LOGIC;--5元商品
END SHOUHUOJI;
ARCHITECTURE BEHAV OF SHOUHUOJI IS
SIGNAL COIN: STD_LOGIC_VECTOR(3 DOWNTO 0);--保存钱数
SIGNAL COUT: STD_LOGIC_VECTOR(3 DOWNTO 0);--保存找零
BEGIN
PROCESS(CLK)
信息科学与工程学院
课程设计报告
(2008—2009学年第一学期)
课程名称:VHDL与数字电路课程设计
班级:电子0601
学号:18
******
****谈宜育 ____
2009年1月
课程设计题目:自动售货机控制系统的设计
目的与任务:
(1)进一步掌握MAX+PLUSⅡ软件的使用方法;
(2)会使用VHDL语言设计小型数字电路系统;
WHEN "1010"=> DOUT<="00010000";
WHEN "1011"=> DOUT<="00010001";
WHEN "1100"=> DOUT<="00010010";
WHEN ";
WHEN "1110"=> DOUT<="00010100";
PRICE2: IN STD_LOGIC; --5元商品
PRICE3: IN STD_LOGIC; --10元商品
Y0: OUT STD_LOGIC; --购买成功信号
Y1: OUT STD_LOGIC; --退币信号
MONEY: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
PAYBACK: OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
2、《 EDA技术实验与课程设计 》 : 曹昕燕 周凤臣 编著;
3、《 VHDL设计实例与仿真 》 :姜雪松 编著。
指导教师意见
内容及要求
评定等级



及格
不及格
独立完成全部工作量
课程设计报告质量
课程设计内容
创新性
出勤率
综合得分
教师评语:
指导教师:
年月日
《综合课程设计》教学大纲
教学环节名称
综合课程设计
PORT ( DIN: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
DOUT: OUT STD_LOGIC_VECTOR(7 DOWNTO 0));
END XIANSHI;
ARCHITECTUREBEHAVOFXIANSHIIS
BEGIN
PROCESS(DIN)
BEGIN
CASEDINIS
WHEN "0000"=> DOUT<="00000000";
WHEN "0001"=> DOUT<="00000001";
WHEN "0010"=> DOUT<="00000010";
WHEN "0011"=> DOUT<="00000011";
WHEN "0100"=> DOUT<="00000100";
本系统基本达到了作为自动售货机的绝大部分功能,但还有许多地方可以进一步完善使系统的功能更全面。比如说可以增加一个存储器来存储商品的信息,这样当售货机内没有物品时能提醒放入物品;另外还可以加一些键来设置售货机,如可以修改物品价格使价格可调等。
五、参考资料
1、《 EDA技术与应用 》(第2版) :江国强 编著;
WHEN "1111"=> DOUT<="00010101";
WHEN OTHERS=> DOUT<="00000000";
END CASE;
END PROCESS;
END BEHAV;
三、系统仿真与硬件验证
(1)系统的有关仿真
1)分频电路的仿真
如图3所示,为了便于仿真,在仿真时采用20分频,由图可看出
每经过10个外部时钟,新时钟翻转一次,实现了分频。
图3分频器仿真结果图
2)控制电路的仿真
如图4、图5、图6所示。
图4 输入7元,购买5元商品,找零2元,Y0显示购买成功
图5 输入13元,购买10元商品,找零3元,Y0显示购买成功
图6 输入7元,购买10元商品, Y1显示购买失败,退币7元
3)显示电路的仿真
BEGIN
IF CLK'EVENT AND CLK='1' THEN
IF COIN1='1' THENCOIN <= COIN+1; Y0<='0';Y1<='0';
ELSIF COIN2='1' THENCOIN <= COIN+2; Y0<='0';Y1<='0';
ELSIF COIN3='1' THENCOIN <= COIN+5; Y0<='0';Y1<='0';
如图7所示,当大于9时分开显示。
图7 显示电路仿真结果图
(2)系统的硬件验证
应用GW48实验系统,选择实验电路结构图NO.5,管脚定义如下:
CLK接CLOCK1、COIN1接PIO0、COIN2接PIO1、COIN3接PIO2、PRICE1接PIO3、PRICE2接PIO4、PRICE3接PIO5;MONEY[7..0]接PIO16~PIO23(数码管1、数码管2)、PAYBACK[7...0]接PIO24~PIO31(数码管3、数码管4)、Y0接PIO8(二极管D1)、Y1接PIO9(二极管D2)。
硬件验证方法:选择实验模式5,时钟信号CLK与CLOCK1信号组中的3MHz信号相连,用键1~键3输入钱数,用键4~键6选择商品,观察数码管及二极管的显示情况。
四、系统设计总结
自动售货机是采用VHDL设计控制系统的经典实例,设计中模块的不同功能划
分方式将会对程序的编写产生重要的影响,不恰当的模块划分将使模块间通信困难,同时程序的编写也将会很复杂。我们这次设计的自动售货机比较简单,功能不是很复杂,所以我将计算钱数、计算找零、控制显示等功能模块集成于一个核心控制模块,这样不用考虑各个模块间的通信问题了,程序编写起来结构就比较简单。










基本素质、能力要求:
掌握专业基础理论以及系统设计的能力。
综合素质、能力要求:
要求具备综合运用已有知识,设计完整实用电路系统的能力。
创新素质、能力要求
根据设计要求,创新设计出具有特色的系统的能力。












教学内容
方法及课时安排
课程设计动员,提出要求,布置任务,学生查阅资料;选择总体方案,设计单元电路;选择元器件,计算参数;考核;审图,画出总体电路图,完成设计报告。
在系统的设计过程中采用图形输入法和VHDL文本输入法相结合的方法,可使系统结构更简单直观,比如系统顶层设计采用图形输入法,系统底层模块用VHDL文本输入法设计。
本次试验中在进行软件仿真和硬件验证时有一点需要注意,由于设计程序时钱数输入信号和商品选择信号共用一个时钟,所以在软件仿真时每个时钟上升沿处只能有一个信号值为1,而在硬件验证时每次只能有一个键的值为高电平,否则会出错。
英文名称
Course Design
课程编码
周数
3周
学分
3学分




电子技术基础、电子线路、微机系统原理与接口技术、单片机原理等。




对大学期间所学的电子专业基础知识和专业知识进行一次综合运用,为下一步毕业实习和毕业设计做好准备。学生通过本课程设计可以进一步理解电子技术、电路理论、微机等方面的相关知识,并可综合运用这些知识解决一定的实际问题,使学生在所学知识的综合运用能力上以及分析问题、解决问题能力上得到一定的提高。
(3)掌握应用MAX+PLUSⅡ软件设计电路的流程;
(4)掌握自动售货机的设计方法;
(5)会使用GW48实验系统。
内容和要求:
设计一个简易的自动售货机,它能够完成钱数处理、找零、显示、退币等功能。
(1)用3个键表示3种钱,再用3个键表示3种物品。
(2)用2个数码管显示输入的钱数,再用2个数码管显示所找的钱数,以元为单位。
(3)买东西时,先输入钱,用数码管显示钱数,再按物品键,若输入的钱数大于物品的价格,用数码管显示所找的钱数,并用发光二极管表示购买成功。
(4)若输入的钱数少于物品的价格,用数码管显示退出的钱数,并用发光二极管表示购买失败。
设计内容(原理图以及相关说明、调试过程、结果)
一、系统设计方案
根据系统要求,系统的组成框图如图1所示。
相关主题