状态机例子-自动售货机

状态机例子-自动售货机
状态机例子-自动售货机

例:用三进程状态机实现一个简单自动售货机控制电路,电路框图如下。该电路有两个投币口(1元和5角),商品2元一件,不设找零。In[0]表示投入5角,In[1]表示投入1元,Out表示是否提供货品。

根据题意,可分析出状态机的状态包括:

S0(00001):初始状态,未投币或已取商品

S1(00010):投币5角

S2(00100):投币1元

S3(01000):投币1.5元

S4(10000):投币2元或以上

用独热码表示状态编码,如上所示。相应状态转换图如下(按Moore状态机设计)。

自动售货机状态转换图

设计代码

第一个Always块:状态转移。

数字逻辑模拟试卷

4、如果竞争的结果导致电路最终进入同一稳定总态,则称为临界竞争。 ( ) 5、门电路的扇出是表示输出电压与输入电压之间的关系。 ( ) 三、简答题(每题5分,共10分) 1、请列出3种“曾经是模拟的”现在却“已经成为数字的”系统,并简述为什么会有这种转变。 2、采用CMOS 晶体管实现的“与非门”和“或非门”,哪个速度快?为什么? 四、应用题(共70分) 1、已知接收端收到的汉明码码字a7a6a5a4a3a2a1=1100010,问在最多一位错的情况下发送端发送的码字是什么?(5分) 2、用卡诺图化简下列函数:(5分) ()()15,14,13,2,1,012,11,10,5,4,3,,,d F Z Y X W += ∑ 3、旅客列车分为特快A ,直快B 和慢车C ,它们的优先顺序为:特快、直快、慢车。同一时间内,只能有一趟列车从车站开出,即只能给出一个开车信号,试设计满足上述要求的开车信号控制电路。(10分) (1)列出真值表(5分) (2) 写出最简的输出逻辑表达式(5分) 4、运用一个MSI 器件实现余3码向8421BCD 码的转换。(10分) 5、运用“圈到圈”逻辑设计思想,采用74X138译码器和适当的逻辑门设计一个1位十进制数2421码的奇偶位产生电路(假定采用奇检验)。(10分)

1)作出状态/输出表(5分)。 2)说明它是Mealy 机还是Moore 机(2分) 3)说明这个电路能对何种输入序列进行检测。(3分) 7、作“0101”序列检测器的Mealy 型状态表和Moore 型状态表。凡收到输入序列为“0101”时,输出为1;并规定检测的“0101”序列不重叠。典型输入输出序列如下:(10分) 输入X :1 1 0 1 0 1 0 1 0 0 1 1 输出Z :0 0 0 0 0 1 0 0 0 0 0 0 看下面的例子就清楚了: 某序列检测器有一个输入端x 和一个输出端Z 。输入端 x 输入一串随机的二进制代码,当输入序列中出现011时,输出Z 产生一个1输出,平时Z 输出0 。典型输入、输出序列如下。 输入 x: 1 1 1 1 1 1 1 输出 Z: 1 1 试作出该序列检测器的原始状态图和原始状态表。 解.假定用Mealy 型同步时序逻辑电路实现该序列检测器的逻辑功能。 设: 状态A ------为电路的初始状态。 状态B ------表示收到了序列"011"中的第一个信号"0"。 状态C ------表示收到了序列"011"中的前面两位"01" 。 状态D ------表示收到了序列"011"。 ※ 当电路处在状态A 输入x 为0时,应令输出Z 为0转向状态B ;而处在状态A 输入x 为1时,应令输出Z 为0停留在状态A ,因为输入1不是序列"011"的第一个信号,故不需要记住。该转换关系如图5.16(a )所示。 Q1 Q2

用状态机设计的交通灯控制器

/module traffic (clock, reset, sensor1, sensor2, red1, yellow1, green1, red2, yellow2, green2); input clock, reset, sensor1, sensor2; output red1, yellow1, green1, red2, yellow2, green2; // Define the states. Enumerated type pragma allows Spectrum to chose encoding. parameter /*exemplar enum ee1 */ st0 = 0, st1 = 1, st2 = 2, st3 = 3, st4 = 4, st5 = 5, st6 = 6, st7 = 7; reg [2:0] /* exemplar enum ee1 */ state, nxstate ; reg red1, yellow1, green1, red2, yellow2, green2; // Update the state with the next state on the clock edge // or reset value. always @(posedge clock or posedge reset) begin if (reset) state = st0 ; else state = nxstate; end // // Calculate the next state and the outputs // based on the present state and the inputs // always @(state or sensor1 or sensor2) begin // Default values for the outputs

自动售货机控制系统的设计(最终版)

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

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

自动售货机控制系统的设计(已修)

自动售货机控制系统的设计专业:电子信息工程 班级:10级电信(1)班 学号:12010248815 姓名:李浩

1.1系统描述与控制要求 PLC 控制的自动售货机系统主要有三个可以感受到投币量的传感器,六个按钮开关(分别为启动按钮、停止按钮、退币按钮、汽水选择按钮、花茶选择按钮和咖啡选择按钮)三个指示灯,(分别为汽水指示灯,花茶指示灯和咖啡指示灯),和两个七段数码管。传感器用来接收投币信号,传送投币量的多少;按钮开关分别对系统功能进行控制,当投入的钱币够某一种饮料时,按下这种饮料的选择按钮时才会有饮料送出,有剩余钱币时,还可以通过按下退币按钮来找回剩余钱币;三个指示灯分别用来只是哪种饮料可以选择,只有投币量大于或等于这种饮料的价格时,这种饮料的指示灯才会亮;同时,还有两个七段数码管,用于显示当前剩余的总钱币。具体对自动售货机的控制要求如下: 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控制工艺分析 自动售货机的基本功能就是对投入的钱币数进行计算, 然后根据运算结果做出相应的判断,看看哪种商品可以进行购买,哪种商品不能购买,本次课程设计的要求是可识别三种钱币,分别是 1 元,5元,10 元,采用三个按钮进行模拟, 自动售货机共出售3 种货物,其价格分别定为12 元,15元,20元,当投币数大于等于货物价格时,该种货物的指示灯亮,表示可以进行购买,3 种货物分别用3个信号灯进行指示.除此之外,本次设计还涉及了显示,找零等功能的实现, 其中显示部分采用数码管进行显示, PLC的外围接口由两个CD4511 连接两个数码显示管,以显示投币总数和购买后的余额;当按下找零按钮后,数码管显示进行清零。整个系统由三个可以感受到投币量的传感器,六个按钮开关,三个指示灯,和两个七段数码管和两片CD4511组成。

第14章 状态机设计(state machine design)

第14章 状态机设计(State Machine Design) 讲到VHDL设计而不讲state machine,感觉上就是不太完整,我们先来看看什么是state machine,它应该是一种流程控制的设计,在有限的状态中,根据判别信号的逻辑值决定后面要进入哪一个状态,这样的讲法似乎有些抽象,我们先来看看下面的状态图。 图14-1所显示的是一个十字路口的红绿灯控制设计,在一开始时信号Reset 会被设为逻辑’0’,此时state machine会在Reset状态,一直等到信号Reset变成逻辑’1’时,state machine才会进入真正的控制状态。在之后的三个状态中,我们各定义了一个counter,当进入Red或是之后的Green及Yellow状态时,相对的counter值即会开始递减。当counter值递减到0时,state machine即会改变到下一个状态。 当然state machine的执行就是依照这种方式进行,但是其中仍有许多的细节是设计者所要注意的,在接下来的章节中,我们会依据实际的例子来介绍state machine的设计方式。 14-1State Machine的建立 在这一节我们所举的例子是一个类似检查密码的设计,在一般办公室的门口都会有门禁管制,进门前须先输入一组四个数字的密码,当密码确认无误后门才会打开,除此之外还有更改密码的功用。我们先来看看其状态图。 在图14-2中一共有四个状态,一开始会维持在idle状态,当要更改或是第一次输入密码时,需要按下一个特殊的“密码更改”按键,此时InpinN信号会变成逻辑’0’的状态,状态机即会进入LoadPin的状态,接着再输入四个数字的密码,密码输入完毕按下“输入”按键,状态机即回到原先的idle状态。 在另一方面,当处于平时状态,有人进入门口要输入密码前,他也必需要按下另一个特殊键“密码输入”,表示之后输入的数字是待验证的密码,此时InData 信号会变成逻辑’0’,于是状态机进入InPin的状态。在输入四个数字之后,一个

自动售货机控制系统设计

综合课程设计报告书 自动售货机控制系统设计 题目: 学院:机械与电气工程学院 专业:电气工程及其自动化 班级: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、绪论 自动售货机是一种全新的商业零售形式,从自动售货机的发展趋势来看,它的出现是由于劳动密集型的产业构造向技术密集型社会转变的产物。大量生产、大量消费以及消费模式和销售环境的变化,要求出现新的流通渠道;而相对的超市、百货购物中心等新的流通渠道的产生,人工费用也不断上升;再加上场地的局限性以及购物的便利性等这些因素的制约,无人自动售货机作为一种必须的机器便应运而生了。 随着科技的发展及人们生活水平的提高,自动售货机市场越来越呈现出多元化及个性化的需求。人们通过自动售货机自助购物,这种简单、快捷的方式正逐渐成为市民的一种新的消费时尚,并且满足了人们在当今科技高速发展的现代社会追求高品质生活的需要。自动售货机在城市商业区、写字楼大厅、风景区、车站、码头、繁华街道等公共场所的布设能够美化城市环境,方便群众生活,它已经成为城市各角落的一道亮丽风景线。 自动售货机必将在国内普及,并成为城市现代文明程度的一种象征性标志。本文详细介绍了如何控制、要求进行自动售货机系统的方案设计、硬件选择、软件规划和编写,并重点描述了自动售货机系统的工作原理、系统设计、软件编程的原则和技巧。

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

课程设计题目:自动售货机控制系统的设计 目的与任务: (1)进一步掌握MAX+PLUSⅡ软件的使用方法; (2)会使用VHDL语言设计小型数字电路系统; (3)掌握应用MAX+PLUSⅡ软件设计电路的流程; (4)掌握自动售货机的设计方法; (5)会使用GW48实验系统。 内容和要求: 设计一个简易的自动售货机,它能够完成钱数处理、找零、显示、退币等功能。 (1)用3个键表示3种钱,再用3个键表示3种物品。 (2)用2个数码管显示输入的钱数,再用2个数码管显示所找的钱数,以元为单位。 (3)买东西时,先输入钱,用数码管显示钱数,再按物品键,若输入的钱数大于物品的价格,用数码管显示所找的钱数,并用发光二极管表示购买成功。 (4)若输入的钱数少于物品的价格,用数码管显示退出的钱数,并用发光二极管表示购买失败。

设计内容(原理图以及相关说明、调试过程、结果) 一、系统设计方案 根据系统要求,系统的组成框图如图1所示。 (1) 即可,改变设 (a2)控制模块是这个系统的核心模块,它具有判断按键、计算输入钱数总和、计算找零、控制显示四个作用。它的工作原理是每当时钟上升沿到来时,判断哪个按键按下,若按下的是钱数键,则将钱数保存于中间信号COIN,若下次按下的仍是钱数键,COIN的值则加上相应的值并显示于数码管;当物品键按下时,则将COIN的值与物品价格进行比较,然后控制找零。 (3)由于钱数可能大于9,所以译码显示模块的作用就是将钱数译码后用两个数码管显示,这样方便观察。 根据各个功能模块的功能并进行整合,可得到一个完整的自动售货机系统的整体组装设计原理图,如图2所示。 图2 设计原理图 二、系统主要VHDL源程序 (1)分频器的源程序(外部时钟选用3MHz,实现3万分频)

北京邮电大学 数字逻辑期末模拟试题8

本科试卷(八) 一、选择题(每小题2分,共30分) 1.逻辑函数F1=∑m (2,3,4,8,9,10,14,15), 它们之间的关系是________。 A . B . C . D .、互为对偶式 2. 最小项的逻辑相邻项是________。 A .ABCD B. C. D. 3. 逻辑函数F (ABC )=A ⊙C 的最小项标准式为________。 A.F=∑(0,3) B. C.F=m 0+m 2+m 5+m 7 D. F=∑(0,1,6,7) 4. 一个四输入端与非门,使其输出为0的输入变量取值组合有_______种。 A. 15 B. 8 C. 7 D. 1 5. 设计一个四位二进制码的奇偶位发生器(假定采用偶检验码),需要_______个异或门。 A .2 B. 3 C. 4 D. 5 6. 八路数据选择器如图1-1所示,该电路实现的逻辑函数是F=______。 A . B . C . D . 图1-1 7. 下列电路中,不属于时序逻辑电路的是_______。 A .计数器 B .触发器 C .寄存器 D .译码器 8. 对于JK 触发器,输入J=0,K=1,CP 脉冲作用后,触发器的次态应为_____。 A .0 B. 1 C. 保持 D. 翻转 9. Moore 型时序电路的输出_____。 A.与当前输入有关 B. 与当前状态有关 C. 与当前输入和状态都有关 D. 与当前输入和状态都无关 2F ABC ABCD ABC ABC ACD =++++12F F =12F F =12F F =1F 2F ABCD ABCD ABCD ABCD C A C A F +=AB AB +AB AB +A B ⊕A B +

如何设计最优化的状态机(有图版)

如何设计最优化的状态机 前言:数字电路通常分为组合逻辑电路和时序电路, 组合逻辑电路outputs = F(current inputs) 时序电路outputs = F(current inputs,past inputs) 有限状态机就是时序电路的数学抽象,一个有限状态机系统包括inputs ,outputs, states .状态机分为同步状态机(synchronous)和异步状态机(asynchronous),异步状态机由于输出信号不稳定,所以不详细讨论,对绝大多数设计来说,用的最广泛的是同步状态机。下面主要讨论了同步状态机的设计。 一.状态机的基础知识 1.1. moore状态机和mealy状态机的区别: 2.1.1moore状态机输出只依赖于及其的当前状态,与输入信号无关。这是moore状态机的优点。下面是moore状态机的模型: moore状态机比较容易用数学的方式来分析,因此被更广泛的用在代数状态机理论中(algebraic FSM theory)。 Mealy状态机输出依赖于机器现在的状态和输入的值,如果输入改变,输出可以在一个时钟周期中将发生了改变。其模型如下: 图的说明:state memory :保存现在的状态(current state s(t) ) state transistion function :根据现态和输入x(t),s(t+1)来决定下一个状态。 Output function :根据s(t)和x(t)来决定最后的输出。 Mealy 状态机通常可以有更少的状态变量,因此在工程领域有更为广阔的应用,状态变量越少,则所需的存储单元就越少。

-自动售货机的设计

安康学院FPGA/SOPC课程设计报告书 课题名称:自动售货机的设计 姓名: 学号: 院系:电子与信息工程系 专业: 指导教师: 时间:

课程设计项目成绩评定表设计项目成绩评定表

课程设计报告书目录 设计报告书目录 一、设计目的 (1) 二、设计思路 (1) 三、设计过程 (1) 3.1、系统方案论证 (1) 3.2、模块程序设计 (2) 3.3、各单元模块功能介绍及电路设计 (4) 四、仿真结果 (6) 4.1、设计电路图 (6) 4.2、程序生成的原理图 (7) 4.3、仿真图 (8) 五、对应变量的管脚配置表 (8) 六、课程设计体会与建议 (9) 6.1、设计体会 (9) 6.2、设计建议 (10) 七、参考文献 (10)

一、设计目的 1)熟悉学习QuartusII的编程与调试方式,学会在QuartusII中使用波形图进行软件仿真,并使用EDA6000进行硬件仿真与调试。 2)设计一个自动售货机,具有投币和选择商品等功能 二、设计思路 1、售货机模块:该模块能完成货物信息的存储,硬币处理,余额计算。 2、动态扫描模块:功能主要是硬件实验板上让两路信号同时在两个7段数码管上显示出来。 3、输出控制模块:该模块主要是控制OUT和OUT1输出信号来控制阀门打开与找钱,并且控制阀门的打开时间。 设计思路:控制信号输入到售货机模块,售货机进行各项功能操作输出信号在7段数码管 三、设计过程 3.1、系统方案论证 3.1.1、自动售货机系统组成框图 图1 系统组成框图 3.1.2工作原理 1)设计一个自动售货机,此机能出售1元、2.5元、3元、3.5元的四种商品。出售哪种商品可有顾客按动相应的按键即可,并同时用数码管显示售出的是

数字逻辑状态机例子

Digital System Design 1 2011/6/21 Computer Faculty of Guangdong University of Technology 例:用三进程状态机实现一个简单自动售货机控制电路,电路框图如下。该电路有两个投币口(1元和5角),商品2元一件,不设找零。In[0]表示投入5角,In[1]表示投入1元,Out 表示是否提供货品。

Digital System Design 2 2011/6/21 Computer Faculty of Guangdong University of Technology 根据题意,可分析出状态机的状态包括: S0(00001):初始状态,未投币或已取商品 S1(00010):投币5角 S2(00100):投币1元 S3(01000):投币1.5元 S4(10000):投币2元或以上 用独热码表示状态编码,如上所示。相应状态转换图如下(按Moore 状态机设计)。

Digital System Design 3 2011/6/21 Computer Faculty of Guangdong University of Technology 自动售货机状态转换图

Digital System Design 4 2011/6/21 Computer Faculty of Guangdong University of Technology 设计代码 第一个Always 块:状态转移。

Digital System Design 5 2011/6/21 Computer Faculty of Guangdong University of Technology 第二个Always 块:状态转移的组合逻辑条件判断

基于VHDL的自动售货机的设计与实现

自动售货机实验报告 一、设计任务 设计一个自动售货饮料机,设每瓶饮料2.5元,投币口有两个,1元硬币(one)或5角硬币(half),每个时刻可以输入其中一种硬币,自动售货机有找零钱功能,oute为出货,outm为找零。 二、设计过程 1.设计思路: 状态定义:s0表示初态,s1表示投入5角,s2表示投入1元,s3表示投入1元5角,s4表示投入2元,s5表示投入2元5角,s6表示投入3元。 输入信号:state_outputs(0)表示输入货物,comb_outputs(1)表示找5角硬币,输入信号为1 表示投入硬币,输入信号为1表示未投入硬币。 输出信号:comb_outputs(0)表示输出货物,comb_outputs(1)表示找5角零钱,输出信号为1表示输出货物或找零,输入信号为0表示不输出货物或找零。 根据设计要求分析,得到状态转化图如下图所示,其中状态为s0、S1、S2、S3、S4、S5、S6;输入为state_inputs(0,1);输出为comb_outouts(0,1);输入仅与状态有关,因此将输入写在状态圈内部。

2.设计步骤: (1)创建工程。打开QuartusII ,创建一个新的工程并命名。根据实验室条件,选择的芯片为cyclone 系列中的EP1C6Q240C8芯片。 00

输入VHDL文本文件。新建文本文件VHDL file。输入程序并保存。程序如下:library ieee; use ieee.std_logic_1164.all; entity autosell is port(clk,reset :in std_logic; state_inputs:in std_logic_vector(0 to 1); comb_outputs:out std_logic_vector(0 to 1)); end autosell; architecture be of autosell is type fsm_st is(s0,s1,s2,s3,s4,s5,s6); signal current_state,next_state:fsm_st; begin reg:process(reset,clk) begin if reset='1'then current_state<=s0; elsif rising_edge(clk)then

自动售货机的设计论文

自动售货系统 摘要:提出并实现一套基于单片机控制步进电机的自动售货系统。其主要目的是为当前的自动售货机系统提出一种可行的改进方案,扩展其功能,系统主要是由三部分组成:步进电机、51单片机、以及中间的接口电路,可以使自动售货机的功能更加完善,更加有利于自动售货机的多样化发展。 关键词:驱动电路,单片机,步进电机,OCS Abstract:Put forward and realize a set of auto selling machine system according to the single-chip microcomputer control stepper motors .Its main purpose is to put forward a kind of viable improvement project, expanding its function for current auto selling machine system .the system primarily is composed of three parts: stepper motors ,single-chip microcomputer, and connecting circuit in them which can make the function of auto selling machine more perfect, is benefit to have more diverse uses of auto selling machine. Keyword: the driving circuit, single-chip microcomputer , Office Coffee Servic e

数字逻辑实验 8_序列检测器

实验八序列检测器的设计与仿真 一、实验要求 1.用VHDL语言设计一个Mealy机以检测“1101001”序列; 2.用VHDL语言设计一个Moore机以检测“1101001”序列; 3.在文本编辑区使用VHDL硬件描述语言设计逻辑电路,再利用波形编辑区进行逻辑功 能仿真,以此验证电路的逻辑功能是否正确。 二、实验内容 用VHDL语言设计各一个mealy和moore状态机测试“1101001”位串的序列检测器,并通过仿真波形验证设计的功能是否正确。 三、实验过程 由于在报告1中已经详尽描述了如何使用Quartus 2建立逻辑原理图和使用VHDL语言实现元件功能,所以本次的实验报告中便不再赘述上述内容,报告将主要就VHDL 语言描述实现元件的功能的过程进行阐述。 1.Mealy机 选择File→New,弹出新建文本对话框,在该对话框中选择VHDL File并单击OK按钮,进入文本编辑窗口,输入VHDL代码。 library ieee; use ieee.std_logic_1164.all; entity melay is port(clk,rst,d: in std_logic; z: out std_logic); end melay; architecture arc of melay is type state_type is(s0,s1,s2,s3,s4,s5,s6); signal state: state_type; begin process(clk,rst) begin if rst= '1' then state<=s0; elsif (clk'event and clk ='1') then case state is --1101001 when s0 => if d='1' then state<=s1; else

自动售货机PLC控制设计方案

自动售货机PLC控制设计方案1.可编程逻辑控制器简介 可编程逻辑控制器(Programmable Logical Controller),简称PLC,是综合了计算机技术、自动控制技术和通讯技术而发展起来的一种新型的工业控制装置,它具有可靠性高、编程简单、维护方便等优点,已在工业控制领域得到广泛的应用。因为自动售货机作为社会上完成商品零售和综合服务的独立设施,要求它的结构必须可靠、稳定和执行效率高。 PLC是以CPU为核心,综合了计算机技术和通信技术发展起来的一种通用的工业自动控制装置,是现代工业控制的三大支柱(PLC 、机器人和CAD / CAM )之一。目前,可编程控制器在国外已广泛应用于钢铁、石油、化工、电力、建材、机械制造、汽车、轻纺、交通运输、环保等各行各业。 PLC的发展与计算机技术、半导体技术、控制技术、数字技术、通信网络技术等高新技术的发展息息相关,这些高新技术的发展推动了PLC的发展,而PLC的发展又对这些高新技术提出了更高更新的要求,促进了他们的发展。本次设计就在于结合PLC的种种优点联系实际情况来弥补原有系统的不足,利用PLC控制的自动售货机提高了系统的稳定性,保证了自动售货机能够长期稳定的运行。

2.自动售货机简介 自动售货机最早出现在二十世纪五、六十年代的西欧,其中英国是较早实行自动售货机售货的国家之一。1942年,在食品销售中首先推广了自动售货的销售方式。1950年,英国食品杂货行有500家采用自动售货机售货。1969年,采用自动售货机售货的商家增加到23000家,销售的商品扩展到唱片、文化用品、食品、香烟等多个方面。进入70年代后,约有40多万家香烟、饮料店采用自动售货机。1980年英国有50余万台自动售货机,年销售额达8.81亿英镑。70年代后,日本、欧美等发达国家和地区自动售货机迅猛的发展,短短30年,发达国家自动售货机产业已发展到相当大规模。自动售货机被广泛地布放于车站、油站、机场、码头、写字楼、宾馆、娱乐场所及大街小巷和公路旁,人们通过自动售货机可以买到食品、香烟、报纸、饮料、票、卡甚至鲜花和小宠物等物品。 自动售货机实现了商品需求化、性能多样化的发展,原先其只能出售有限商品品种,而如今呈现了继百货公司、超级市场、便民店之后,以消费者与售货机“一对一”自动售货的无店铺销售状态。 目前自动售货机是集声、光、机电一体化的高新智能化产品,在我国也开始得到应用。在中国人们可以看到现代化的自动售货机摆放在一些大商场门口、繁华街道两旁、公园入口处以及其它热闹的场所。自动售货机的新奇、文明、高档、昼夜服务、占地小、灵活方便深受许多地区市民的青睐,甚至出现许多排队购买的现象。专家测算,中国的自动售货机在市场容量最保守算应该有四十七万台,一年的销售额可达三百

实验四 有限状态机设计(2学时)

实验四有限状态机设计(2学时) 实验内容一: 状态机是指用输入信号和电路状态(状态变量)的逻辑函数去描述时序逻辑电路功能的方法,也叫时序机。有限状态机是指在设计电路中加入一定的限制条件,一般用来实现数字系统设计中的控制部分。 根据时序电路输出信号的特点可将时序电路划为Mealy 型和Moore 型两种。Moore型电路中,输出信号仅仅取决于存储电路的状态。Mealy型电路中,输出信号不仅取决于存储电路的状态,而且还取决于输入变量。图1是某Mealy型电路的状态转换图,图中圆圈内的S0、S1等代表电路的状态,状态转换箭头旁斜杠“/”上边的数字代表输入信号,斜杠“/”下边的数字代表输出信号。假设电路的当前状态为S0,当输入信号为0时,电路的下一个状态仍为S0,输出信号为0;当输入信号为1时,电路的下一个状态为S1,输出为1。 图1 Mealy状态机 下面的程序中使用两个进程来描述该状态机。第一个进程负责状态转化,在CP上升沿到达时,当前状态(PresetState)向下一个状态(NextState)的转换;第二个进程负责检测输入信号(DIN)和当前状态(PresetState)的值,并由CASE-WHEN 语句决定输出信号(OP)和下一个状态值(NextState)的值。请补充下图中虚线“…”部分省略掉的程序,然后对完整程序进行编译,并用Tools->Netlist Views->State Machine Viewer和RTL Viewer工具查看该状态机的状态图和RTL顶层图。

… … 实验内容二: 论文《基于VHDL的一个简单Mealy状态机》中设计了一个Mealy状态机用来检测数据流“1101010”,用以验证状态机在数据检测上的应用。请在读懂文中程序的基础上,在Quartus Ⅱ软件中通过编译仿真得到状态图和波形图,仿真中输入波形的设置应能体现该状态机的用途。 实验报告: 本次实验占用两个学时,请于12周周四(5月12日)上课时交实验报告。对于实验内容一,报告的内容应重在程序的完善上,对于实验内容二,报告的内容应重在对论文中源程序的分析和理解,以及仿真的波形图上。

数字逻辑第7篇习题

画出图7-5中所示的S-R锁存器的输出波形,其输入波形如图X7-4所示。假设输入和输出信号的上升和下降时间为0,或非门的传播延迟是10ns(图中每个时间分段是10ns) 解: 用图X7-5中的输入波形重作练习题7-2。结果可能难以置信,但是这个特性在转移时间比传输时间延迟短的真实器件中确实会发生。 解: 将图X7-41中的电路与图7-12中的锁存器进行比较。请证明这两个电路的功能是一致的。图X7-41中的电路常用于某些商用D锁存器中,在什么条件下该电路性能更好? 解:当C=0时,输入端2个与非门都关断,功能相同。 当C=1时,输入端2个与非门等同于反相器,功能也相同。 从传输延迟和电路代价比较:图X7-41的优点为节省一个反相器,电路代价较小,电路建立时间少一个反相器延迟,所需建立时间较短。缺点为下端输入的传输延迟较长(与非门比反相器长)。

图7-34表示出了怎样用D触发器和组合逻辑来构造带有使能端的T触发器。请表示出如何用带有使能端的T触发器和组合逻辑来构造D触发器。 解:先写出对应的特性表,再建立相应组合逻辑的卡诺图,最后写出激励组合逻辑的最小和表达: + T? ? = D ' D 'Q Q 请示出如何使用带有使能端的T触发器和组合逻辑来构造J-K触发器。 解:先写出对应的特性表,再建立相应组合逻辑的卡诺图,最后写出激励组合逻辑的最小和表达: ? =' T? + Q K Q J 分析图X7-9中的时钟同步状态机。写出激励方程,激励/转移表,以及状态/输出表(状态Q1Q2=00~11使用状态名A~D)。 解:激励方程D1=Q1’+Q2 D2=XQ2’ 输出方程Z=Q1+Q2’ 激励/转移表:现态和输入为变量,激励为函数,根据D触发器特性方程,激励/转移表可表达:

状态机及其VHDL设计

第7章状态机及其VHDL设计 内容提要:有限状态机(Finite State Machine,简称FSM)是一类很重要的时序电路,是许多数字系统的核心部件,也是实时系统设计中的一种数学模型,是一种重要的、易于建立的、应用比较广泛的、以描述控制特性为主的建模方法,它可以应用于从系统分析到设计的所有阶段。有限状态机的优点在于简单易用,状态间的关系清晰直观。建立有限状态机主要有两种方法:“状态转移图”和“状态转移表”。标准状态机通常可分为Moore和Mealy两种类型。本章主要介绍了基于VHDL的常见有限状态机的类型、结构、功能及表达方法,重点是如何有效地设计与实现。 学习要求:了解状态机的基本结构、功能和分类,掌握有限状态机的一般设计思路与方法、状态机编码方案的恰当选取、Moore和Mealy状态机的本质区别及设计实现。 关键词:状态机(State Machine),Moore,Mealy,VHDL设计(VHDL Design) 状态机的基本结构和功能 一般状态机的VHDL设计 状态机的一般组成 状态机的编码方案 摩尔状态机的VHDL设计 米立状态机的VHDL设计 状态机的基本结构和功能 状态机的基本结构如图所示。除了输人信号、输出信号外,状态机还包含一组寄存器记忆状态机的内部状态。状态机寄存器的下一个状态及输出,不仅同输入信号有关,而且还与寄存器的当前状态有关,状态机可以认为是组合逻辑和寄存器逻辑的特殊组合。它包括两个主要部分:即组合逻辑部分和寄存器。组合逻辑部分又可分为状态译码器和输出译码器,状态译码器确定状态机的下一个状态,即确定状态机的激励方程,输出译码器确定状态机的输出,即确定状态机的输出方程。寄存器用于存储状态机的内部状态。 状态机的基本操作有两种: 1.状态机的内部状态转换。 状态机经历一系列状态,下一状态由状态译码器根据当前状态和输入条件决定。2.产生输出信号序列。

饮料自动售货机系统的分析与设计

饮料自动售货机系统的分析与设计 1.系统的分析 1.1 需求分析描述 自动售货机像磁卡电话、银行柜员机一样,以方便、新颖、文明、昼夜服务等特点,成为便民配套设施。如今的自动售货机可以为顾客提供多种服务。顾客可以根据自己的需要选择商品并投入钱币,售货机接收钱币,售出商品。 自动售货机是一种无人售货系统。售货时,顾客投入硬币,售货机进行真假币的检查,若是假币拒绝接收,若是有效硬币则进行累加。售货机装有若干个含有相同价格货物的货物分配器。顾客可以通过货物分配器选择货物,如果有被选货物,并且顾客支付的货币值不小于货物的价格,货物将被传送给顾客,同时余额返回到退币口。如果货币值小于货物价格,则等待投币,此时如果顾客取消本次活动,那么之前所投的货币将从退币口中退出,返回给顾客。 1.2 系统功能结构图 图1 体统功能结构图 1.3 用例图 图2 饮料自动售货系统用例图 1.4 系统类图的建立 系统的类图揭示了系统的整个结构。分析时先产生问题域中的对象,再抽象出类。在本系统中,类有:自动售货机、顾客、货币、货币累加器、货物、货物分配器、显示屏、取消按钮、选择按钮、事务、更新。 图3 饮料自动售货系统类图 1.5 动态模型的建立 从系统模型的角度,静态模型定义了系统的结构和组成。任何实际的系统都是活动的,都通过系统元素间的互动来实现系统。面向对象的许多方法在建立动态模型时首先写各种情况时的交互行为脚本,通过对脚本的分析描绘动态模型。脚本是用例的一次具体执行过程,一般包括正常情况脚本和异常情况脚本。系统的卖货物用例中,顾客投入硬币,系统检查硬币的有效性,然后对有效硬币进行累加,顾客选择货物及其数量,系统送出货物;这系列步骤表示正常情况脚本。异常脚本为:顾客投入有效硬币,然后选择货物,若货物量不够,系统将投入的硬币从退币口退出。在UML中,可以利用序列图来表示脚本。下面是卖货物用例的一次具体交互的序列图。 图4 自动卖货物的顺序图 由于本系统中,自动售货机本身的状态比较复杂,因此建立其状态图。 图5 饮料自动售货机状态图 2.系统的设计 2.1 数据库设计 图6 数据库图 数据库的描述:钱币有面值和数量两种属性,其中,面值是主属性。送货员有用户名和密码两种属性,其中用户名是主属性,当添加新的送货员时,如果用户名已经存在,则会出错。饮料有类型、数量和价格三种属

相关文档
最新文档