HDL(Verilog)课程设计报告(自动售货机)

HDL(Verilog)课程设计报告(自动售货机)
HDL(Verilog)课程设计报告(自动售货机)

HDL(Verilog)课程设计报告(自动售货机)

摘要

本设计是以现场可编程逻辑器件(FPGA)为核心的自动售货机,利用QuartusⅡ软件编写verilog HDL 硬件描述语言程序以实现自动售货功能。

本设计主要以程序为主,硬件方面则使用实验箱,将程序各变量端口与实验箱管脚进行相应的配置,用八个开关分别代表商品价格、所投钱币价格及确认付款找零操作。当选择好商品并投币后,数码管显示所选商品价格及投入钱币价格;按下确认付款开关,数码管显示应找多少钱,蜂鸣器响,对应商品LED灯亮。若所投钱币不足所选商品价格,对应警告钱币不足的LED灯亮。

关键字:FPGA、Verilog HDL、自动售货机、Quartus Ⅱ

Abstract

This design is an auto-vending machine based on field programmable logic devices (FPGA) . We use QuartusⅡto write procedure in verilog HDL which is a language to describe hardware. The procedure will realize the function of auto-vending machine.

This design is mainly about procedure. For the hardware, we use experimental box. We allocate all variable quantities in the procedure to the feet in experimental box. We use eight switch respectively represent commodity prices and throw money price and confirm payment change operation. When choosing good commodities and coin, digital pipe display selected commodity prices and money price. When pressing confirm payment switch, digital pipe display should find how much money, buzzer sounded, corresponding commodity LED lights. If throw money shortage selected commodity prices, corresponding warning money shortage of LED lights.

Keywords: FPGA、Verilog HDL、auto-vending machine、QuartusⅡ

目录

摘要 I

第一章系统设计 1

1.1 系统设计 1

1.2 系统设计方案比较 1

1.2.1 总体设计 1

1.2.1 设计方案比较 1

第二章详细设计 2

2.1 自动售货机状态描述 2

2.2 详细状态描述 3

2.2.1 初始状态 3

2.2.2 选商品状态 3

2.2.3 投币状态 3

2.2.4 找零状态 3

第三章软件设计 3

3.1 程序总流程图 3

3.2 程序 4

第四章结果与讨论 7

4.1 实验调试 7

4.1.1 调试步骤 7

4.1.2 实验现象 7

4.2 结果与分析 8

总结 8

参考文献 8

附录 9

第一章系统设计

1.1系统设计

(1)用四个发光二极管分别模拟售出价值为5角、1元、1.5元和2元的小商品,购买者可以通过开关选择任意一种标价中的小商品。

(2)灯亮时表示该小商品售出。

(3)用开关分别模拟5角、1元硬币和5元纸币投入,可以用几只发光二极管(或数码管)分别代表找回剩余的硬币。

(4)每次只能售出一种小商品,当所投硬币达到或超过购买者所选面值时,售出货物并找回剩余的硬币,回到初始状态;

(5)当所投硬币值不足面值时,可通过一个复位键退回所投硬币,回到初始

状态。

1.2 系统设计方案比较

1.2.1 总体设计

采用FPGA来设计的原理图如图1.1所示.它由控制输入电路、FPGA、显示电路电路组成。

图1.1 采用FPGA设计的自动售货机原理方框图

控制输入电路主要是为用户设计的,起到一个输入控制的作用。FPGA是现场可编程逻辑器件,也是本设计方案的核心内容,它是实现自动售货机运作的主要

控制模块。将编写好的HDL程序烧制到现场可编程逻辑器件FPGA中,然后通过

控制输入电路把信号输入到FPGA,由八个开关控制输入信号即消费者选择商品

和消费者投币及确认消费,动态数码管显示输出信号即找零环节和所选择的商品、消费者投币。

1.2.2 设计方案比较

本设计可以通过多种方案来实现,下面就主要的三种方案进行阐述和比较。方案一:

采用数字逻辑电路制作,用IC 器件连接焊接外围电路实现,这种电路很直观,简单方便。但应用数字逻辑电路制作,使用的器件较多,连接复杂,体积大,功耗大。电路中焊点和线路较多会,使成品的稳定度和精度大大降低。

方案二:

使用现场可编程逻辑器件(FPGA)制作,利用Verilog HDL硬件描述语言

编程进行控制,然后烧写实现。

方案三:

单片机现在已经达到很成熟的阶段了,它的应用也十分广泛。采用单片机来实现自动售货机,它的原理方框图与用FPGA来实现的原理方框图类似,如图1.2所示。

图1.2 采用单片机实现自动售货机的原理方框图

图1.1和图1.2的基本原理都相同,唯一不同的是一个是用FPGA来制作,一个是用单片机来实现。采用单片机来实现自动售货机,主要的核心是单片机程序的设计。

方案比较:

对于自动售货机的设计,三个方案均可以实现,但是第一个方案中采用的是数字逻辑电路来制作,该电路硬件所需的器材多,体积庞大,比较复杂,而且精度和稳定度都不是很高。第二个方案采用的是现场可编程逻辑器件来实现, 它的优点是所有电路集成在一块芯片上,此方案所需的外围电路简单,这样它的体积就减少了,同时还提高了系统的稳定度。还可以用软件QuartusⅡ软件进行仿真和调试等。可以充分利用HDL硬件描述语言方便的编程,提高开发效率,缩短研发周期,降低研发成本;而且易于进行功能的扩展,实现方法灵活,调试方便,修改容易.方案三也有它的优点,但同时也存在缺点。它对设计者的要求比较高,设计者对软硬件必须十分熟悉[2]。和方案二来比它的实验仿真没有方案二简单直观,调试也有一定的难度。在外界环境相同的条件下,方案三设计出来的产品精度和稳定度要比方案二稍微差一些。因此,自动售货机的设计我们选择方案二来实现。

第二章详细设计

2.1自动售货机状态描述

判断开关被按下的个数N。若N>=2表示所选本次选择无效,返回初始状态;若N=1则显示所选商品,并继续执行下面的流程。3个开关分别代表三种商品。4个开关分别代表投入0.5元,1元,2元,5元,统计投入总额。投入总额与商品价格做比较,如果总额<商品价格,退钱并返回初始状态如果总额>=商品价格,则继续执行下面的程序。找零=总额-商品价格,数码管显示找零金额。状态图如图2.1所示:

图2.1自动售货机状态图

2.2详细状态描述

2.2.1 初始状态

各变量都设置为零,按下rst键后,一切恢复到初始状态。

2.2.2 选商品状态

分别有价格为0.5元、1元、1.5元和2元的商品,每次选择商品前,设置一个标志位btn_sell表示选择商品状态。此自动售货机每一次售货时只能一次选择一种商品,当同时选择两种以上时,选择商品无效,数码管显示清零,重新进行商品选择。选择商品后,数码管显示所选商品价格。

2.2.3 投币状态

当选好商品后,开始投币。同样有一标志位btn_price表示投币金额。投币口只接受三种面值的钱币0.5元、2元和5元,可以同时投入多种面值钱币。投完币后,先有一个确认买商品的过程,若投了币但又不购买商品了,就将全部投币金额退回;若确认购买商品,则进入下一状态——找零状态。

2.2.4 找零状态

投完币,并确认购买商品后,进入找零状态。首先要将所投的金额与所选商品的价格做比较,若所投金额小于商品价格,则退回所投钱币;若大于等于商品价格,则两者做差,得到需要找零的钱。

第三章软件设计

3.1 程序总流程图

3.2 程序

module

auto_seller(clk,rst,dis_mony,dis_price,btn_ok,btn_mon,btn_sell,led_warn,led,bee p);

input clk,rst,btn_ok;

input [2:0] btn_mon;//选择放入的钱

input [3:0] btn_sell;//选择商品bbt_5,gz_10,kqs_15,kl_20

output [3:0] led;//led_5,led_10,led_15,led_20

output led_warn;//钱不足,指示灯

output [11:0] dis_mony;//数码管显示投入面值,dia_mony[10:7]=com位选,dis_mony[7:0]=段码

output [11:0] dis_price;//数码管显示价钱

output beep;

reg clk_500Hz;

reg [3:0] led;//led_5,led_10,led_15,led_20

reg led_warn;//警告放入钱不足

reg [11:0] dis_mony;

reg [11:0] dis_price;

reg [31:0] counter;

reg [9:0] price,price_all;

reg [1:0] flag = 2'b00;//数码管显示标志位

reg beep=0;

parameter COUNT1 = 25'd10000;

/*分频使数码管显示稳定*/

always @ (posedge clk)

begin

if(counter== 0)

begin

counter <= COUNT1;

clk_500Hz <= ~clk_500Hz;

end

else

counter <= counter-1;

end

always @(negedge rst or posedge clk) begin

if(!rst)

begin

led = 4'b0000;//LED灭

price_all = 0;//价格清零

led_warn = 0;

price = 0;

beep = 0;

end

else

begin/*三种面值共8种组合*/

case(btn_mon)

3'b001:begin price_all = 5;end

3'b010:begin price_all = 10;end

3'b100:begin price_all = 50;end

3'b011:begin price_all = 15;end

3'b101:begin price_all = 55;end

3'b110:begin price_all = 60;end

3'b111:begin price_all = 65;end

default:begin price_all = 0;end

endcase

case(btn_sell)

4'b0001:begin price = 5;

end

4'b0010:begin price = 10;

end

4'b0100:begin price = 15;

end

4'b1000:begin price = 20;

end

default:begin price = 0;

end

endcase

if(btn_ok == 1)

begin

if(price_all < price) //放入钱不足begin

led_warn = 1;

price = 0;

end

else

begin //金钱足够

price_all = price_all-price;

beep = 1;

case(price) //LED灯显示货物卖出

5: begin led = 4'b0001;end

10:begin led = 4'b0010;end

15:begin led = 4'b0100;end

20:begin led = 4'b1000;end

endcase

end

end

else

beep = 0;

end

end

/*分频后将时钟给数码管,数码管分别显示放入钱的多少、商品价格*/ always @(posedge clk_500Hz)

begin

case(flag)

2'b00:

begin

dis_mony <= {4'b1110,led7(price_all%10),1'b1};

dis_price <= {4'b1110,led7(price%10),1'b1};

flag = 2'b01;

end

2'b01:

begin

dis_mony <= {4'b1101,led7(price_all/10),1'b0};

dis_price <= {4'b1101,led7(price/10),1'b0};

flag = 2'b00;

end

endcase

end

/*数码管段码表*/

function [6:0] led7;

input [3:0] dis_input;

begin

case (dis_input)

0 : led7 = ~7'b111_1110;

1 : led7 = ~7'b011_0000;

2 : led7 = ~7'b110_1101;

3 : led7 = ~7'b111_1001;

4 : led7 = ~7'b011_0011;

5 : led7 = ~7'b101_1011;

6 : led

7 = ~7'b101_1111;

7 : led7 = ~7'b111_0000;

8 : led7 = ~7'b111_1111;

9 : led7 = ~7'b111_0011;

default : led7 = ~7'b111_1111;

endcase

end

endfunction

endmodule

第四章结果与讨论

4.1 实验调试

4.1.1 调试步骤

①运行Quartus II软件,新建工程。

②建立文本文件Verilog HDL File。在文件中写入程序。保存,编译。

③分配管脚。保存,编译。

④将生成的.sof文件写入FPGA试验箱中。

⑤根据要求选择几种买东西的可能情况,在实验箱上实验,观察记录结果。

4.1.2 实验现象

⑴选择买0.5元的商品,投5元的金额,调试现象如下:

①选择0.5元商品数码管显示0.5,再选择一种商品,数码管显示清零,

重新进行商品选择。

②按下5元投币键,对应数码管显示5.0。

③按下确认购买开关,找零时,对应数码管显示4.5,蜂鸣器响,对应

0.5元商品的LED灯亮。

⑵选择1.5元的商品,投1元的金额,调试现象如下:

①选择1.5元的商品,对应数码管显示1.5。

②按下1元的投币键,对应数码管显示1。

③找零显示1元,退回所投的钱,表示警告的LED灯亮(交易不成功)。

4.2 结果与分析

调试过程中出现的问题及原因:

①数码管显示不正确。管脚配置不正确导致数码管显示异常。

②重新分配管脚后,仍为先前程序的操作结果。重新配置管脚后,未运行

程序,使得烧写进去的仍为原先的程序。

第五章总结

VHDL语言有限状态机设计控制电路,可大大降低设计难度和时间,提高设计效率和可靠性,利用语言的灵活性及功能强大的EDA工具,可以轻松完成硬件的功能扩充与升级,还可以实现更复杂的数字系统,整个设计过程相对于传统的设计方法,有较大的突破。VHDL语言作为现代数字系统的重要设计工具,以其灵活、简洁的设计风格在电路设计中发挥着越来越重要的作用。

通过本次课程设计,我对Verilog HDL语言有了更深刻的了解,能够比较灵活地运用它来实现我们所想要要其实现的功能。在实验中,我也遇到了很多挫折,不过我都和同伴一一克服了,大家齐心协力解决了问题,使我明白了和他人共同合作的重要性。在以后的道路上我们也必须深刻认识到团队合作的精神,投入今后的发展之中。

成功就是在不断摸索着前进中实现的,遇到问题我们不能灰心、烦躁,甚至放弃,而要静下心来仔细思考,分部检查,找出最终的原因进行改正,这样才会有进步,才会一步步向自己的目标靠近,才会取得自己所要追求的成功。

参考文献

[1] 夏宇闻编著《Verilog数字系统教程》北京航空航天出版社

[2] 梁瑞宇编写《FPGA设计实验指导书(Verilog HDL)》

[3] 百度网站https://www.360docs.net/doc/ed18194648.html,

附录

管脚分配:

+ 安徽汽车职业技术学院毕业设计(论文) 学生姓名:王家伟 系部:机电系 专业:机电一体化 班级:14-04班 指导老师;李明

自动售货机的PLC控制系统设计 摘要:本文介绍了自动售货机的基本原理以及工作流程,然后以一次交易过程为例,把交易过程分为几个程序块,然后分别对程序块进行编程。具体说明了可编程序控制器在自动售货机中的作用。程序涉及到了自动售货机工作的绝大部分过程。利用PLC控制的自动售货机提高了系统的稳定性,保证自动售货机能够长期稳定运行。 关键词自动售货机;可编程序控制器;梯形图 Abstract:This paper describes the basic principle of the vending machine and the working process, and then take a transaction process, the transaction process is divided into several block, then respectively for programming block. The concrete expression of the role of programmable controller in the vending machine. Program involves the vending machine work most of the process. Using PLC control of automatic vending machine to improve the stability of the system, and the vending machine to ensure the long-term stable operation. Keywords:The vending machine; Programmable controller; Ladder diagram

<基于Verilog HDL显示译码器设计>实验报告 学生姓名: 班级学号: 指导老师:

<实验报告内容> 一、实验名称:基于Verilog HDL 显示译码器设计 二、实验学时:4学时 三、实验目的:进一步掌握QuartusII 软件逻辑电路设计环境及Verilog HDL 的基本语法,熟悉设计流程及思路。掌握显示译码器的工作原理及应用。(提示:本实验将涉及到verilog 的条件语句(如if …else, case ….end case, for ….等)、赋值语句(如assign 等)和二进制变量位宽的定义等内容,请大家实验前做好本部分预习和自学,可参考本课本第九章内容,也可自行查找有关Verilog 设计基础的相关内容,推荐参考书:北京航空航天出版社,夏宇闻编著 )。通过对所设计逻辑电路功能仿真,分析所设计电路逻辑功能是否正确,掌握逻辑功能仿真的方法。 四、实验内容:基于verilog 的显示译码器逻辑设计及功能仿真 五、实验原理:(1)半导体发光二极管(LED )数码显示器:半导体发光二极管数码显示器由7(或8)个LED 排成“日”字形,称为七段(或八段),封装成数码管,如错误!未找到引用源。所示。LED 数码管内部有共阴极和共阳极两种接法。如错误!未找到引用源。。 (2 )常用显示译码器管脚功能(74LS148):LCD —七段显示译码器:介绍常用的74LS148七段显示译码器, 图 3为74LS48 74LS48 (a ) 图 1 图 2 CC f g a b c d e BI 7123456

图 3 (3)74LS48的逻辑功能:如表1: 表1 其译码器输出(Ya~Yg)是高电平有效,适用于驱动共阴极LED数码管,显示的字形表中所示。因其译码器输出端的内部有上拉电阻(是2K的限流电阻),因此在与LED管连接时无需再外接限流电阻。 具体功能介绍及内部设计图,请自行上网查阅74LS48的DATASHEET。 六、实验步骤: 1.复习QuartusII软件逻辑电路设计环境及Verilog HDL的基本语法,熟悉设计流程及思路。 2.做好预习和自习,查找相关资料。 3.设计出文本输入并进行功能仿真。

综合课程设计报告书 自动售货机控制系统设计 题目: 学院:机械与电气工程学院 专业:电气工程及其自动化 班级:13级2班 姓名:付少官 学号: 指导教师:崔茂齐 教师职称:讲师 2016年6月29日

机械与电气工程学院综合课程设计任务书 专业:电气工程及其自动化班级:2013-2 姓名:付少官 自动售货机控制系统设计 (1) 摘要 (1)

Abstrct (1) 1、绪论 (1) 2、自动售货控制系统设计总体方案 (2) 元器件选择 (2) 开发工具 (2) 3、自动售货控制系统硬件设计 (3) 硬件总体框图 (3) AT89C51单片机模块(介绍本次设计所到的功能) (3) (3) (4) 本次所应用的管脚说明 (4) 单片机驱动模块 (5) 选择按键模块 (5) (6) (6) 系统显示模块 (6) 数码管显示器 (6) 显示器的驱动电路 (7) 出货以及退币模块 (8) 4、自动售货控制系统软件设计 (8) 系统流程图 (8) 元器件计算 (9) 5、系统总电路图及调试仿真 (10) 总电路图 (10) 系统调试 (11) 系统仿真 (11) 总结及致谢 (14) 参考文献 (15) 附录 (16) 附录1、元件清单 (16) 附录2、源程序 (16) 附录3、自动售货机控制系统protel99se原理图 (23)

自动售货机控制系统设计 付少官 摘要本文详细介绍了自动售货机系统的方案设计、硬件选择、软件规划和编写,并重点描述了自动售货机系统的工作原理、系统设计、软件编程的原则和技巧。该系统以单片机AT89C51芯片为核心,采用集中控制方式实现了对自动售货机全过程的自动控制。本系统选择独立式键盘按键作为货物选择端,实现了投币总数的显示功能。此外,系统程序采用keil软件进行程序的编写和编译,该软件具有编程简单、查错方便、阅读容易等特点。汇编语言是程序的基本语言,具有容易理解,便于记忆和使用等特点。 关键词:自动售货机,AT89C51,LCD显示 Abstrct T his paper describes a vending machine system design, hardware selection, software planning and preparation, and describes the focus of the work vending machine system theory, system design, software programming principles and techniques. AT89C51in the system as the core chip, the realization of a centralized control of the vending machine's automatic control the entire process. Choice of the system as a stand-alone keyboard keys to choose the goods side, the realization of the coin shows the total number of features. In addition, the system program using keil software to prepare and compile procedures, the software programming is simple, convenient error checking, easy to read and so on. Assembly language is the basic language program with easy to understand, easy to remember and use and so on. Key words:Vending Machines,AT89C51,LED Display 1、绪论 自动售货机是一种全新的商业零售形式,从自动售货机的发展趋势来看,它的出现是由于劳动密集型的产业构造向技术密集型社会转变的产物。大量生产、大量消费以及消费模式和销售环境的变化,要求出现新的流通渠道;而相对的超市、百货购物中心等新的流通渠道的产生,人工费用也不断上升;再加上场地的局限性以及购物的便利性等这些因素的制约,无人自动售货机作为一种必须的机器便应运而生了。 随着科技的发展及人们生活水平的提高,自动售货机市场越来越呈现出多元化及个性化的需求。人们通过自动售货机自助购物,这种简单、快捷的方式正逐渐成为市民的一种新的消费时尚,并且满足了人们在当今科技高速发展的现代社会追求高品质生活的需要。自动售货机在城市商业区、写字楼大厅、风景区、车站、码头、繁华街道等公共场所的布设能够美化城市环境,方便群众生活,它已经成为城市各角落的一道亮丽风景线。 自动售货机必将在国内普及,并成为城市现代文明程度的一种象征性标志。本文详细介绍了如何控制、要求进行自动售货机系统的方案设计、硬件选择、软件规划和编写,并重点描述了自动售货机系统的工作原理、系统设计、软件编程的原则和技巧。

单片机课程设计 P L C课程设计报告 学生姓名学号 班级 专业电气工程及其自动化 题目自动售货机控制 指导教师 2012 年 5 月

一、设计指标 1.掌握可逆计数器指令的使用及编程 2.掌握自动售货机控制系统的接线、调试、操作 二、设备 序号名称型号与规格数量备注 1实训装置THPFSM-1/2 1 2实训挂箱A16 1 3导线3号若干 4通讯编程电缆PC/PPI 1 西门子 5实训指导书THPFSM-1/2 1 计算机(带编程 1 自备 6 软件) 三、面板图 +

四、控制要求 1.总体控制要求:如面板图所示,钢板从右侧送入,在M2、M1、M3电机的带动下,经过三次轧压后从左侧送出。 2.打开“SD”启动开关,系统开始运行,钢板从右侧送入,打开“S1”开关,模拟钢板被检测到,MZ1、MZ2、MZ3点亮,表示电机M1、M2、M3正转,将钢板自右向左传送。同时指示灯“A”点亮,表示此时只有下压量A作用。 3.钢板经过轧压后,超出“S1”传感器检测范围,电机“M2”停止转动。 4.钢板在电机的带动下,被传送到左侧,被“S2”传感器检测到后,MF1、MF2、MF3点亮,表示电机M1、M2、M3反转,将钢板自左向右传送。同时指示灯“A”、“B”点亮,表示此时有下压量A、B一起作用。 5.钢板在电机的带动下,被传送到右侧,被“S1”传感器检测到后,MF1、MF2、MF3点亮,表示电机M1、M2、M3反转,将钢板自左向右传送。同时指示灯“A”、“B”“C”点亮,表示此时有下压量A、B、C一起作用。 6.钢板经过轧压后,超出“S1”传感器检测范围,电机“M2”停止转动 7.钢板传送到左侧,被“S2”传感器检测到后,电机“M1”停止转动。 8.钢板从左侧送出后,超出“S2”传感器检测范围,电机“M3”停止转动。 9.“S1”传感器再次检测到钢板后,根据2至8的步骤完成对钢板的轧压。 10.在运行时,断开“SD”开关,系统完成后一个工作周期后停止运行。 五、功能指令使用及程序流程图 1.加法计数器指令使用

HDL实验报告 专业电子科学与技术 姓名 学号 指导老师

1 实验一Modelsim仿真软件的使用 1.1 实验目的 (1)熟悉Modelsim 软件; (2)掌握Modelsim 软件的编译、仿真方法; (3)熟练运用Modelsim 软件进行HDL 程序设计开发。 1.2 实验步骤 (1)学习使用Modelsim软件; (2)分析原理及功能; (3)用Verilog HDL编写程序; (4)编写测试程序进行仿真; (4)观察波形,分析仿真结果是否正确。 1.3 实验内容 用Verilog HDL 程序实现一个异或门,Modelsim 仿真,观察效果。 1.4.1 程序 module my_xor(ina,inb,out); input ina,inb; output out; assign out=ina^inb; endmodule module t_xor; reg ina,inb; wire out; initial begin ina=1'b0; forever #20 ina=~ina; end initial begin inb=1'b0; forever #10 inb=~inb; end my_xor tt(.ina(ina),.inb(inb),.out(out)); endmodule

2 实验二简单组合电路设计 2.1 实验目的 (1)掌握基于Modelsim 的数字电路设计方法; (2)熟练掌握HDL 程序的不同实现方法 2.2 实验步骤 (1)分析原理及功能; (2)根据原理用Verilog HDL编写程序; (3)编写测试程序进行仿真; (4)观察波形,分析仿真结果是否正确。 2.3 实验内容 设计一个三人表决器(高电平表示通过) ,实验内容如下: (1)三个人,一个主裁判,两个副裁判; (2)规则:只要主裁判同意,输出结果为通过;否则,按少数服从多数原则决定是否通过。使用Verilog HDL 程序实现上述实验内容,并使用modelsim 仿真(要求:至少使用两种方法实现上述实验内容和testbench)。 2.4.1 程序 方法1: module voter(v0,v1,v2,y); input v0,v1,v2; output y; assign y=v0|(v1&v2); endmodule 方法2: module voter(v0,v1,v2,y); input v0,v1,v2; output reg y; always @(v0,v1,v2) begin if(v0) y=1;

湖南工学院课程设计说明书 课题名称:自动售货机的控制设计 专业名称:自动化 学生班级:自本0701 学生学号: 410070131 学生姓名:冯源 指导老师:陆秀令

课程设计任务书 自动售货机的控制设计 一、控制要求 1.自动售货机有3个投币孔,分别为1元、5元和10元。 2.售货共有3种饮料供选择,分别为汽水、花茶和咖啡。 3.如投币总额超过销售价格,将可由退币钮找回余额。 4.投币总额或当前值显示在7段数码管上。 5.投币值等于或大于12元时,汽水指示灯亮,表示只可选择汽水。 6.投币值等于或大于15元时,汽水和花茶指示灯亮,表示只可选择汽水和花茶。 7.投币值等于或大于20元时,汽水、花茶和咖啡指示灯亮,表示3种均可选择。 8.按下要饮用的饮料按钮,则相对应的指示灯开始闪烁,3s后自动停止,表示饮料已经掉出。 9.动作停止后按退币钮,可以退回余额,退回金额如果大于10元,则先退10元再退1元,如果小于10元则直接退1元的。 二、设计任务 学生根据控制要求,明确设计任务,拟定设计方案与进度计划,运用所学的理论知识,进行自动售货机运行原理设计、硬件系统设计、软件系统设计、创新设计,提高理论知识工程应用能力、系统调试能力、分析问题与解决问题的能力。主要内容包括: 1. 设计出硬件系统的结构图、接线图、时序图等; 2. 系统有启动、停止功能; 3. 运用功能指令进行PLC控制程序设计,并有主程序、子程序和中断程序; 4. 程序结构与控制功能自行创新设计; 5. 进行系统调试,实现自动售货机的控制要求。

三、设计报告 课程设计报告要做到层次清晰,论述清楚,图表正确,书写工整;详见“课程设计报告写作要求”。

电气控制技术课程设计任务书课程设计说明书 名称自动售货机控制系统的设计院系 班级 姓名 学号 系主任 教研室主任 指导教师

一任务描述: 自动售货机是可完成无人自动售货的商业自动化设备,它不受任何场地限制,方便快捷,在我国也越来越普及。传统的自动售货机采用单片机作为控制核心,但这样在输入输出接口上消耗很大。PLC不但可实现类似控制功能,还具有可靠性高、编程简单、功能强、能耗低、调试方便等优点。本文设计的是售汽水和咖啡这两种饮料的自动饮料机,它的售货过程是:首先由顾客按下商品选择开关时,然后顾客投入的硬币(投入硬币的面值和剩余值由PLC驱动数码管显示)经过光传感器感应,再由光传感器驱动硬币识别传感器识别硬币(由于能力有限,在识别硬币上不做具体研究)。如果是无效币则使继电器打开阀门,将硬币退出;如果是真币则系统将硬币自动传送到相应的硬币贮币腔,并经硬币识别传感器将信号送给PLC。最后经顾客选择,同时PLC控制,使PLC的输出口上有相应的信号输出。若贮币腔内无硬币(红外检测器感应)、饮料的量位小于设定值(红外传感器感应)、售货机遭损,系统就报警【7】。大体运行如图2-1: 图2-1自动售货机控制系统硬件组成示意图

图2-2是自动售货机简单示意图。在该机中有两种已经配制好的饮料储液桶(未画出来),一种为汽水,另一种为咖啡。汽水出口和咖啡出口分别代表由两个电磁阀控制放入杯中的饮料品种的饮料出口。 咖啡指示灯投币不足指示灯 图2-2自动售货机简单示意图 二控制要求 (1)自动售饮料机可投入1角、5角、1元的硬币。 (2)所售饮料标价:汽水——2元,咖啡——3元。 (3)投币总额或现在值显示在7段数码管上。 (4)当投入的硬币总值超过所购饮料的标价时,所有可购买饮料的指示灯均亮,作可购买提示。(如:当投入的硬币总值超过2 元,汽水指示灯亮;当投入的硬币总值超过3元时,汽水、咖

目录 实验一 (2) 实验二 (9) 实验三 (21) 实验四 (44)

实验一 实验目的:熟悉硬件开发流程,掌握Modelsim设计与仿真环境,学会简单组合逻辑电路、简单时序逻辑电路设计,不要求掌握综合和综合后仿真。 实验内容:必做实验:练习一、简单的组合逻辑设计 练习二、简单分频时序逻辑电路的设计 选做实验:选做一、练习一的练习题 选做二、7段数码管译码电路 练习一、简单的组合逻辑设计 描述一个可综合的数据比较器,比较数据a 、b的大小,若相同,则给出结果1,否则给出结果0。 实验代码: 模块源代码: module compare(equal,a,b); input a,b; output equal; assign equal=(a==b)?1:0; endmodule 测试模块源代码: `timescale 1ns/1ns `include "./compare.v" module t; reg a,b; wire equal; initial begin a=0; b=0; #100 a=0;b=1; #100 a=1;b=1;

#100 a=1;b=0; #100 a=0;b=0; #100 $stop; end compare m(.equal(equal),.a(a),.b(b)); endmodule 实验波形 练习二、简单分频时序逻辑电路的设计 用always块和@(posedge clk)或@(negedge clk)的结构表述一个1/2分频器的可综合模型,观察时序仿真结果。 实验代码: 模块源代码: module halfclk(reset,clkin,clkout); input clkin,reset; output clkout; reg clkout; always@(posedge clkin) begin if(!reset) clkout=0; else clkout=~clkout; end endmodule 测试模块源代码: `timescale 1ns/100ps `define clkcycle 50 module tt; reg clkin,reset; wire clkout;

目录 综述 (1) 1方案比较与选定 (2) 2方案设计与分析 (2) 2.1逻辑抽象 (2) 2.2单元模块设计 (3) 2.2.1可供选择商品的指示灯模块 (3) 2.2.2商品输出模块 (5) 2.2.3找零模块 (6) 3整体电路及仿真 (8) 3.1电路原理 (8) 3.2电路仿真 (9) 3.2.1投一元买矿泉水 (9) 3.2.2投一块五买饮料 (10) 3.2.3投两元买饮料并找零 (11) 心得体会 (12) 参考文献 (13)

哈尔滨工业大学电子技术课程设计 综述 自动售货机是能根据投入的钱币自动付货的机器。一般的自动售货机由钱币装置、指示装置、贮藏售货装置等组成。钱币装置是售货机的核心,其主要功能是确认投入钱币的真伪,分选钱币的种类,计算金额。如果投入的金额达到购买物品的数值即发出售货信号,并找出余钱。指示装置用以指示顾客所选商品的品种。贮藏售货装置保存商品,接收出售指示信号,把顾客选择的商品送至付货口。一般售货机的钱币装置由投币口、选别装置、确认钱币真伪的检查装置、计算金额的计算装置和找钱装置组成。七十年代以来,出现了采用微型计算机控制的各种新型自动售货机和利用信用卡代替钱币并与计算机连接的更大规模的无人售货系统,如无人自选商场、车站的自动售票和检票系统、银行的现金自动支付机等。 本设计用JK触发器和基本逻辑门电路通过时序电路的设计方法完成了一种自动贩卖机的设计,该贩卖机能够售卖三种商品,要求系统能够自动完成:投币识别,价格比较,选择商品同时对应的指示灯亮,输出商品和找零过程。 1

自动贩卖机逻辑电路设计 1方案比较与选定 方案一:采用开关控制的计数器,通过加法器投硬币的方式将来确定投入的数值大小,再通过控制减法器的方式来减掉花费的数值,输出需要找回的数值,原理简单,设计也相对简约,思路清晰便于操作。逻辑电路图如图1-1所示。 图1-1 自动贩卖机逻辑电路图 方案二:采用JK触发器和基本逻辑门电路通过时序电路的设计方法完成了一种自动贩卖机的设计,具体思路是通过传感器产生的硬币信号,在电路中输入不同的状态,来表示所投硬币的数值,然后根据所需,通过开关电路,确认各种状态,达到目的。优点是采用简单触发器,和简单门电路就设计出方案。 综上所述,采取方案二,尽管稍微有些复杂,但是可以使我对时序逻辑电路的设计方法有更深的理解。该方案成本低,性价比高。 2方案设计与分析 2.1逻辑抽象 输入变量: 2

《电气控制与PLC》综合训练 说明书 专业名称:电气自动化技术 班级: 学号: 姓名: 指导教师: 日期:年月日

《电气控制与PLC》综合训练课程设计评阅书

本实验设计基于西门子S7-200系列PLC进行自动售货机控制系统的设计,阐述了自动售货机系列设计的基本原理及工作流程,按后以一次交易过程为例,把交易分成了几个程序模块,分别用PLC进行编写。文中的梯形图使用西门子PC梯形图编译软件STEP7来进行编写,并完成了PLC外部接线图。利用PLC控制的自动售货机提高了系统的稳定性,保证自动售货机能够长期稳定运行。 关键词:售货机;PLC;控制系统

1课题描述 (1) 2设计过程 (2) 2.1自动售货机的设计要求 (2) 2.2控制系统的I/O点及地址分配 (2) 2.3 PLC系统选型 (2) 2.4 PLC外围接线图 (5) 2.5系统程序设计 (6) 3总结 (9) 4参考文献 (10)

1 课题描述 自动售货机的概况 自动售货机(vending machine),能根据投入的钱币自动付货的机器。自动售货机是商业自动化的常用设备,它不受时间、地点的限制,能节省人力、方便交易。近几年,随着我国商品市场的不断繁荣和城市现代化程度的不断提高,自动售货机也已悄然步入了我国的大中城市。在国家相关政府部门的大力支持下,我国的自动售货机产业以超常规的速度迅猛发展,并带动了一批新的服务业、物流运输配送业的快速发展,丰富了我国的商业产业结构,开创了一个全新的自动销售和自助服务时代。我国自动售货机市场到2008年以后将进入发展期。 本文介绍一种能自动销售汽水和咖啡的售货机的PLC控制系统。主要从控制要求、控制系统的I/O点及地址分配、PLC系统选型、电气控制系统原理图、系统程序设计、PLC的安装、电源设计、系统的接地、PLC 输出端保护等方面来展开说明与论述。

Verilog HDL数字系统设计 实验报告汇总 任课教师 实验者姓名 学号 实验指导教师

姓名学号 时间地点 实验题目阻塞赋值与非阻塞赋值的区别 一.实验目的与要求 (1)通过实验,掌握阻塞赋值与非阻塞赋值的概念与区别; (2)了解非阻塞赋值和阻塞赋值的不同使用场合; (3)学习测试模块的编写,综合和不同层次的仿真。 二.实验环境 仿真软件: modlsim6.2SE 三.实验内容 阻塞赋值与非阻塞赋值,在教材中已经了解了他们之间在语法上的区别以及综合后所得到的

电路结构上的区别。在always块中,阻塞赋值可以理解为赋值语句是并发执行的。时序逻辑设计中,通常都使用非阻塞赋值语句,而在实现组合逻辑的assign结构中,或者always快结构中都必须采用阻塞赋值语句。 四.系统框图 五.实验波形图 六.实验体会 (1)一开始使用modelsimSE6.2时候不知道建立工作区的方法。后面请教了毕老师才知道如何来建立工作区。 (2)编译时候错误看不懂,细心找才发现‘ ` 两个符号有区别 (3)波形找不到,后来发现时没有放大。 七.代码附录: 源代码:

// ---------- 模块源代码:---------------------- // ------------- blocking.v --------------- module blocking(clk,a,b,c); output [3:0] b,c; input [3:0] a; input clk; reg [3:0] b,c; always @(posedge clk) begin b = a; c = b; $display("Blocking: a = %d, b = %d, c = %d ",a,b,c); end endmodule //------------- non_blocking.v ------------------- module non_blocking(clk,a,b,c); output [3:0] b,c; input [3:0] a; input clk; reg [3:0] b,c; always @(posedge clk) begin b <= a; c <= b; $display("Non_Blocking: a = %d, b = %d, c = %d ",a,b,c); end endmodule 测试模块: // ---------- 测试模块源代码:-------------------------- //------------- compareTop.v -----------------------------

自动售货机图形模拟系统 需求分析 课题名称:自动售货机图形模拟系统 小组成员:朱伟鑫U201314490 班级:测控1301班 指导老师:周纯杰、何顶新、彭刚、周凯波 上交日期:贰零壹肆年玖月贰拾壹日

目录 1.引言--现实中的自动售货机 (2) 2.运行环境 (3) 3.功能设计 (3) 3.1触摸屏 (3) 3.2自动换零 (3) 3.3销量统计 (3) 3.4提前补货 (4) 3.5显示商品信息 (4) 3.6自动售货机网络 (4) 3.7无响应自动处理 (4) 4.软件系统需求分析 (4) 4.1图形显示 (4) 4.2菜单模块 (5) 4.3交易模块 (5) 4.4管理模块 (5) 5.系统流程图 (5) 6.时间安排 (6)

自动售货机图形模拟系统 朱伟鑫 课题要求 以自动售货机为对象,图形化模拟投币、找零、出货的基本流程;能对售货机的商品进行管理:补货、查询、统计等功能。 1引言--现实中的自动售货机 自动售货机是能根据投入的钱币自动付货的机器。自动售货机是商业自动化的常用设备,它不受时间、地点的限制,能节省人力、方便交易。是一种全新的商业零售形式,又被称为24小时营业的微型超市。能分为三种:饮料自动售货机、食品自动售货机、综合自动售货机。 从自动售货机的发展趋势来看,它的出现是由于劳动密集型的产业构造向技术密集型社会转变的产物。大量生产、大量消费以及消费模式和销售环境的变化,要求出现新的流通渠道;而相对的超市、百货购物中心等新的流通渠道的产生,人工费用也不断上升;再加上场地的局限性以及购物的便利性等这些因素的制约,无人自动售货机作为一种必须的机器便应运而生了。 从广义来讲投入硬币、纸币、信用卡等后便可以销售商品的机械,从狭义来讲就是自动销售商品的机械。从供给的条件看,自动售货机可以充分补充人力资源的不足,适应消费环境和消费模式的变化,24小时无人售货的系统可以更省力,运营时需要的资本少、面积小,有吸引人们购买好奇心的自身性能,可以很好地解决人工费用上升的问题等各项优点。 2运行环境 根据课题要求,在DOS环境下,用TC或BC开发软件编写C语言程序模拟自动售货机的工作,因此本系统将会有较高的兼容性,能够在大多数操作系统上运行,包括Windows XP系统和Windows732位系统,但Windows764位操作系统除外。

电子科技大学 实 验 报 告 一、实验室名称:虚拟仪器实验室 二、实验项目名称:交通灯设计实验 三、实验学时:4学时 四、实验原理

假设交通灯处于南北和东西两条大街的“十”字路口,如图1所示。用FPGA 开发板的LED 灯来模拟红、黄、绿3种颜色信号,并按一定顺序、时延来点亮LED ,如图2所示。图3给出了交通灯的状态转移图。设计使用频率为1Hz 的时钟来驱动电路(注1:仿真时采用1MHz 的时钟来驱动电路),则停留1个时钟可得到1S 的延时,类似停留3个时钟可得到3S 的延时,停留15个时钟可得到15S 的延时(注2:开发板工作时钟为50MHz )。 北 南 西东 图1. 六个彩色LED 可以表示一组交通信号灯 图2. 交通灯状态 南北 东西 红 黄 绿 红 黄 绿 S0 1 0 0 0 0 1 S1 1 0 0 0 1 0 S2 1 0 0 1 0 0 S3 0 0 1 1 0 0 S4 0 1 0 1 0 0 S5 1 0 0 1 0 0

图3. 交通灯的状态转移图 顶层模块 时钟分频模块状态机跳转模块 图4. 交通灯的原理框图 五、实验目的 本实验是有限状态机的典型综合实验,掌握如何使用状态转移图来定义Mealy状态机和Moore状态机,熟悉利用HDL代码输入方式进行电路的设计和仿真的流程,掌握Verilog语言的基本语法。并通过一个交通灯的设计掌握利用EDA软件(Xilinx ISE 13.2)进行HDL代码输入方式的电子线路设计与仿真的详细流程。。 六、实验内容 在Xilinx ISE 13.2上完成交通灯设计,输入设计文件,生成二进制码流文件下载到FPGA开发板上进行验证。 七、实验器材(设备、元器件)

《软件工程》课程设计报告

一、问题描述 (一)关于自动售货机 自动售货机像磁卡、银行柜员机一样,以方便、新颖、文明、昼夜服务等特点,成为发达国家不可缺少的便民配套设施。如今的自动售货机可以为顾客提供多种服务。顾客可以根据自己的需要选择商品并投入钱币,售货机接收钱币,售出商品。 (二)自动售货机的设计 自动售货机系统是一种无人售货系统。售货时,顾客把硬币投入机器的投币口中,机器检查硬币的大小、重量、厚度及边缘类型。有效的硬币是一元币、五角币、一角币、五分币和一分币。其它货币都被认为是假币。机器拒收假币,并将其从退币孔退出。当机器接收了有效的硬币之后,将之送入硬币储藏器。顾客支付的货币根据硬币的面值进行累加。 自动售货机装有货物分配器,每个分配器中包含0 个或多个价格相同的货物。顾客通过选择货物分配器来选择货物。如果有货,且顾客支付的货币值不小于该货物的价格,货物将被分配到货物传送孔送给顾客,并将找零返回到退币孔。如果无货,则和顾客支付的货币值相等的硬币将被送到退币孔。如果顾客支付的货币值小于所选货物的价格,机器将等待顾客投进更多的货币。如果顾客决定不买所选择的货物,他投放进的硬币将从退币孔中退出。 二、需求分析 (一)UML自动售货机系统功能需求: 自动售货机系统是一种无一元等3个硬币投币口。顾客确认购货后,售货机可根据硬币的面值进行累加。 自动售货机装有货物分配器。每个货物分配器中包含零个或多个价格相同的货物。顾客通过

选择货物分配器来选择货物。如果货物分配器中有货物,而且顾客支付的货币值不小于该货物的价格,货物将被分配到货物传送孔送给顾客,并将适当的零钱返回到退币孔。如果分配器是空的,则和顾客支付的货币值相等的硬币将被送加到退币孔。如果顾客支付的货币值少于所选择的分配器中的货物的价格,机器将等待顾客投进更多的货币。如果顾客决定不买所选择的货物,将所投硬币从退币孔退出。 (二)UML自动售货机系统控制要求: 根据售货机自动控制系统的流程可以知道自动售货机的主要系统包括:计币系统、比较系统、选择系统、饮料供应系统、退币系统和报警系统。 1.计币系统: 当有顾额色买饮料时,投入的钱币经过感应器,感应器记忆投币的个数关且传送到检测系统(即电子天平)和计币系统。只有当电子天平测量的重量少于误差值时,允许计币系统进行叠加钱币,叠加的钱币数据存放在数据寄存器中。如果不正确时,认为是假币。既定出投币,既定出系统,等待新顾客。 2.比较系统: 投入完毕后,系统会把钱币数据和可以购买饮料的价格进行区间比较,当投入的钱币小于2元时,指示灯亮,显示投入的钱币不足。此时可以再投币或选择退币。当投稿的钱币在2~3元之间时,汔水选择指示灯长亮。当大于3元时,汔水和咖啡的指示灯同时长亮。此时可以选择饮料或选择退币。 3.选择系统: 比较电路完成后选择电路指示灯是长亮的,当按下汽水或咖啡选择时,相应的选择指示灯由长亮转为以1秒为周期闪烁。当饮料供应完毕时,闪烁同时停止。

大连海洋大学 职业技术学院 PLC课程设计 名称自动售货机控制系统的设计院系电气工程系 班级船电09 姓名冯森

一任务描述: 自动售货机是可完成无人自动售货的商业自动化设备,它不受任何场地限制,方便快捷,在我国也越来越普及。传统的自动售货机采用单片机作为控制核心,但这样在输入输出接口上消耗很大。PLC不但可实现类似控制功能,还具有可靠性高、编程简单、功能强、能耗低、调试方便等优点。本文设计的是售汽水和咖啡这两种饮料的自动饮料机,它的售货过程是:首先由顾客按下商品选择开关时,然后顾客投入的硬币(投入硬币的面值和剩余值由PLC驱动数码管显示)经过光传感器感应,再由光传感器驱动硬币识别传感器识别硬币(由于能力有限,在识别硬币上不做具体研究)。如果是无效币则使继电器打开阀门,将硬币退出;如果是真币则系统将硬币自动传送到相应的硬币贮币腔,并经硬币识别传感器将信号送给PLC。最后经顾客选择,同时PLC控制,使PLC的输

出口上有相应的信号输出。若贮币腔内无硬币(红外检测器感应)、饮料的量位小于设定值(红外传感器感应)、售货机遭损,系统就报警【7】。大体运行如图2-1: 图2-1自动售货机控制系统硬件组成示意图 图2-2是自动售货机简单示意图。在该机中有两种已经配制好的饮料储液桶(未画出来),一种为汽水,另一种为咖啡。汽水出口和咖啡出口分别代表由两个电磁阀控制放入杯中的饮料品种的饮料出口。 退币按钮汽水按钮咖啡按钮 退币口投币口退币指示灯汽水指示灯咖啡指示灯投币不足指示灯汽水出口咖啡出口 商品选择开关 硬币感应器 PLC 各种指示灯 退币电动机 出货电磁阀 液位感应器 报警

五邑大学实验报告 实验课程名称 ) 数字频率计的Verilog HDL语言实现 院系名称:信息工程学院 专业名称:通信工程(物联网工程) 实验项目名称:EDA实验 班级: 110711 学号: 。 报告人:冯剑波

实验六 数字频率计的Verilog HDL 语言实现 一、实验目的: 1、掌握较复杂数字电路或系统的纯Verilog HDL 实现方法; 2、体会纯Verilog HDL 语言输入设计与原理图输入设计的差别。 二、实验原理: 【 数字频率计是用来测量输入信号的频率并显示测量结果的系统。一般基准时钟的高电平的持续时间为s T 10 ,若在这0T 内被测信号的周期数为N 则被测信号的频率就是N ,选择不同的0T ,可以得到不同的测量精度。一般0T 越大,测量精度越高,但一次的测量时间及频率计所需的硬件资源也增加。 三、设计任务与要求: 1、设计一个6位频率计,测量范围从1Hz 到99 99 99Hz ,测量结果用6个数码管显示,基准时钟频率为1Hz ; 2、只显示测量结果,中间计数过程不显示;结果更新时间2秒一次; 3、频率计只设一个复位键,按下该键(reset=0)系统复位,释放该键(reset=1)系统工作,测量并显示结果。 4、显示用静态方式; 5、用Verilog HDL 实现上述要求的频率计。 四、设计源程序及注释与仿真结果 设计源程序: module pinlvji(oHEX0,oHEX1,oHEX2,oHEX3,oHEX4,oHEX5,clk_50M,clk_1Hz,reset,signal_out); @ input clk_50M,reset; //50MHz 时钟输入、复位 output[6:0] oHEX0,oHEX1,oHEX2,oHEX3,oHEX4,oHEX5; //数码管0-5,分别显示个、十、百、千、万、十万位的数字 output reg clk_1Hz; output reg signal_out; reg signal_in; reg[29:0] cnt; reg[29:0] cnt1; reg count_en; //计数允许,count_en=1时计数,下降沿到来时锁存 reg load; reg[3:0] ge,shi,bai,qian,wan,shiwan; reg cout1,cout2,cout3,cout4,cout5; reg[3:0] q0,q1,q2,q3,q4,q5; wire clr; always @(posedge clk_50M) //改变Hz 的范围,自己设定的频率1Hz-999999Hz begin

课程设计任务书 设计题目:饮料自动售货机PLC控制系统设计 学院:机械工程学院 专业:机械测控 班级: 姓名: 组员: 指导老师:

【摘要】 本文介绍了自动售货机的基本原理以及工作流程,然后以一次交易过程为例,把交易过程分为几个程序块,然后分别对程序块进行编程。具体说明了可编程序控制器在自动售货机中的作用。程序涉及到了自动售货机工作的绝大部分过程。利用PLC控制的自动售货机提高了系统的稳定性,保证自动售货机能够长期稳定运行。 关键词:自动售货机;可编程序控制器;梯形图 Abstract:This paper introduces the basic principle s of vending machines, as well as workflow, and t hen to a transaction process as an example, the t ransaction process is divided into several block, a nd then the block were programmed. Specify the PLC in the role of vending machines. Procedures relat ed to the work of the vast majority of vending m achine process. PLC control of the use of vending machines enhance the stability of the system to ensure that vending machines capable of long-term s table operation. Key words:Vending machines; PLC; Ladder Diagram

明书 专业指导老师 姓名学号 完成日期2018年6月10号

选题四、自动售货机PLC 控制 1.工作要求: 1)此售货机可投入5 角、1 元、5 元硬币。 2)所售饮料标价:可乐——2.50 元、橙汁——3.00 元、红茶——5.50 元、咖啡——10.00 元 3)当投入的硬币和纸币总价值超过所购饮料的标价时,所有可以购买饮料的指示灯均亮,作可购买提示。(如:当投入的硬币总价值超过2.5 元,可乐按钮指示灯亮;当投入的硬币总价值超过3 元,可乐、橙汁按钮指示灯均亮;当投入的硬币总价值超过10.00 元所有饮料按钮指示灯都亮)。 4)当饮料按钮指示灯亮时,才可按下需要购买饮料的按钮,购买相应饮料,(如:当可乐按钮指示灯亮时,按可乐按钮,则可乐排出10s 后自动停止,此时可乐按钮指示灯闪烁) 5)购买饮料后,系统自动计算剩余金额,并根据剩余金额继续提示可购买饮料(指示灯亮)。 6)若投入的硬币和纸币总价值超过所消费的金额时,找余指示灯亮,按下退币按钮,就可退出多余的钱。 7)系统退币箱中只备有5 角、1 元硬币,退币时系统根据剩余金额首先退出1 元硬币, 1 元硬币用完后,所有找余为5 角硬币。 表3 自动售货机控制信号说明

课程设计报告目录一、引言 1.1自动售货机研究的背景 1.2 自动售货机国内外发展现状 1.3 本课题研究的目的及意义 1.4 研究的主要内容 二、系统总体方案设计 2.1自动售货机硬件结构 2.2 PLC选型设计 2.3硬币的识别

2.4 纸币的识别 2.5电机的选择 2.6自动售货机出货结构三、控制系统设计 3.1自动售货机工作流程图 3.2自动售货机I/O分配 3.3 PLC外部接线图 3.4 PLC程序的设计 3.4.1钱币计数系统 3.4.2商品购买系统 3.4.3 找零系统 四、系统调试及结果分析 4.1仿真软件的操作设置 4.2仿真调试结果五.参考文献 一、引言 1.1自动售货机研究的背景 自动售货机的出现是自动化社会的产物。在社会消费水平迅速提高的今天,大量的购买消费可发生在任何时间任何地点。由于时间,地理位置的限制,给人们的购物带来了不便,为了满足商业的需求方便人们的购物消费自动售货机便出现在人们的生活中,自动售货机以其占地面积小,24 小时不间断工作,后

课题一: 饮料自动售货机控制系统设计 一. 饮料自动售货机概况及控制要求 饮料自动售货机有两种已经配制好的饮料储液桶,一种为汽水,另一种为橙汁,分别由两个电磁阀控制放入杯中的饮料品种。 1、自动售货机可投入1角、5角、1元的硬币。 2、当投入的硬币总值超过2元时,汽水指示灯亮;当投入的硬币总值超过 3元时,汽水及橙汁指示灯亮。 3、当汽水指示灯亮时,按放汽水按钮,则排出汽水,8 s后,自动停止, 且汽水指示灯熄灭。 4、当橙汁按钮指示灯亮时,按放橙汁按钮,则排出橙汁,8 s后,自动停 止且橙汁指示灯熄灭。 5、若投入硬币总值超过按钮所需的钱数(汽水2元,橙汁3元)时,找钱 指示灯亮,并找出多余的钱。 二.设计任务 1. 设计和绘制电气控制原理图或PLC I/O接线图、功能表图和梯形图,编写指令程序清单。 2.选择电气元件,编制电气元件明细表。 3.设计操作面板电器元件布置图。 4.上机调试程序。 5.编写设计说明书。

目录 第1章概述 (6) 第2章总体设计方案 (7) 第3章硬件电路设计 (8) 3.1 PLC型类选择 (8) 3.2 PLC I/O口分配 (8) 3.3 系统硬件接线图 (8) 第4章软件设计 (10) 4.1 程序流程图 (10) 4.2 梯形图 (10) 第5章实验调试 (14) 第6章总结 (15) 参考文献 (16) 附录A 梯形图……………………………………………………. 附录B 语句表 (17)

第1章概述 饮料自动售货机有两种已经配制好的饮料储液桶,一种为汽水,另一种为橙汁,分别由两个电磁阀控制放入杯中的饮料品种。如图所示。 1、自动售货机可投入1角、5角、1元的硬币。 2、当投入的硬币总值超过2元时,汽水指示灯亮;当投入的硬币总值超过 3元时,汽水及橙汁指示灯亮。 3、当汽水指示灯亮时,按放汽水按钮,则排出汽水,8 s后,自动停止, 且汽水指示灯熄灭。 4、当橙汁按钮指示灯亮时,按放橙汁按钮,则排出橙汁,8 s后,自动停 止且橙汁指示灯熄灭。 5、若投入硬币总值超过按钮所需的钱数(汽水2元,橙汁3元)时,找钱 指示灯亮,并找出多余的钱。

相关文档
最新文档