《计算机组成原理》课程设计报告基于VHDL的自动售货机设计与实现_第1页
《计算机组成原理》课程设计报告基于VHDL的自动售货机设计与实现_第2页
《计算机组成原理》课程设计报告基于VHDL的自动售货机设计与实现_第3页
《计算机组成原理》课程设计报告基于VHDL的自动售货机设计与实现_第4页
《计算机组成原理》课程设计报告基于VHDL的自动售货机设计与实现_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、长沙理工大学计算机组成原理课程设计报告基于vhdl的自动售货机设计与实现学 院 计算机与通信工程 专 业 网络工程 班 级 网络工程08-02 学 号 200850250114 学生姓名 * 指导教师 * 课程成绩 完成日期 2010年12月31日课程设计任务书计算机与通信工程学院 网络工程专业 课程名称计算机组成原理课程设计时间20102011学年第一学期1718周学生姓名梁正凯指导老师蔡烁题 目基于单片机水温控制系统主要内容: 基于vhdl自动售货机的设计与实现,本设计主要运用vhdl语言和maxplus进行设计,用gw48进行仿真,实现预定的自动售货功能。要求:(1)通过对相应文献的收集

2、、分析以及总结,给出相应课题的背景、意义及现状研究分析。(2)通过课题设计,掌握计算机组成原理的分析方法和设计方法。(3)学按要求编写课程设计报告书,能正确阐述设计和实验结果。(4)学生应抱着严谨认真的态度积极投入到课程设计过程中,认真查阅相应文献以及实现,给出个人分析、设计以及实现。应当提交的文件:(1)课程设计报告。(2)课程设计附件(主要是源程序)。课程设计成绩评定学 院 计算机通信工程 专 业 网络工程 班 级 网络08-02 班 学 号 200858080219 学生姓名 * 指导教师 * 课程成绩 完成日期 2010年12月31日指导教师对学生在课程设计中的评价评分项目优良中及格不

3、及格课程设计中的创造性成果学生掌握课程内容的程度课程设计完成情况课程设计动手能力文字表达学习态度规范要求课程设计论文的质量指导教师对课程设计的评定意见综合成绩 指导教师签字 年 月 日基于vhdl的自动售货机设计与实现学生:*指导老师:蔡烁摘要: 本设计运用vhdl语言编写一个自动售货机的控制系统,该系统具有货物信息存储,进程控制,硬币处理,余额计算,显示等功能。商品的种类、单价和数量在初始化时输入,然后存储。可以识别的币种为硬币,五毛和一元的面额。用户投入硬币,系统累计数量,然后对比物品的单价和数量,扣除价格,最后计算余额,可以找零。 设计没有考虑硬件的实现,只进行功能的相应仿真,性质为实验

4、性质的课程设计。关键词:vhdl、自动售货机、课程设计、mxaplus、系统仿真abstract: this design use of vhdl language design a vending machine control system, the system have the functions to storage the goods information, process control, coin handling, balance calculation, display and other functions. the type of goods, unit price

5、and quantity in the initialization to be input, and then stored. currency for the coins can be identified, fifty cents and one dollar denomination. user input coins, the system account sum, and then comparing the unit price and quantity of goods, net price, the final calculation of the balance, you

6、can give change. design did not consider the hardware implementation, only the corresponding functional simulation, experimental nature of the curriculum design.keywords: vhdl, vending machines, curriculum design, mxaplus , system simulation目录1. 引言.71.1 自动售货机系统概述71.2 设计任务和主要内容82. 系统设计过程.92.1 自动售货机系统

7、总体框图92.2 系统功能模块92.3 程序源代码113. 系统仿真.153.1 系统仿真全图153.2 系统分步仿真图. 164. 总结.20参考文献. 211 引言随着现在生活节奏越来越快,自动售货机的出现大大方便了人们的日常生活。它使得人们在匆忙的上学、上班途中能方便的购买到自己需要的常见日常用品。因为有需求,所以才有市场,这就是本设计的最大意义所在。这是我们将书本中知识运用到生活中的开端,尽管存在许多的不完善和稚嫩的地方,但对于我们学生来说,却是一次很不寻常的体验。学有所用的感觉也让我在进行设计的时候倍受激励,从而最大程度的投入到本次设计中来。而对vhdl语言的应用,也是我们第一次自学

8、一门语言。以往都是在老师的教导下系统的学习,这次则是自己去网上、图书馆找资料进行学习,这对提高我们的自学能力和独立完成任务的能力都很有帮助。1.1 自动售货机系统概述自动化、机械化是信息时代发展的必然产物,许许多多的原本需要人力来完成的任务都在被机器取代,自动售货机就是解放人类劳动力的发明之一。随着科技的发展及人们生活水平的提高,自动售货机市场的发展越来越呈现出多元化及个性化的需求。通过自动售货机进行自助购物正逐渐成为市民的一种新的消费时尚,快捷方便的购物方式满足了人们在当今科技高速发展的现代社会追求高品质生活的需要。自动售货机在城市商业区、写字楼大厅、风景区、车站、码头、繁华街道等公共场所的

9、布设能够美化亮化城市环境,方便群众生活,已经成为城市各角落的一道亮丽风景线。自动售货机已在国内普及,并成为城市现代文明程度的一种象征性标志。1.2 设计任务和主要内容1 预定实现功能 存储物品的种类、单价、数量 投入硬币数量及金额的累加 扣除购买物品价格后余额 显示金额及计算找零2 主要内容通过用vhdl语言编码,实现预定功能,再应用maxplus进行仿真,的到仿真图。并进行系统的语言组织,写成实验报告。 2 系统设计过程2.1 自动售货机系统总体框图时钟按键数据投币控制器译码ram分频器显示图2.12.2 各功能模块模块框图控制系统金额模块显示模块物品模块信号模块图2.2 各模块功能 金额模

10、块:用于依据设置的金额,计算用户投币的总金额,物品的单价、总价,以及用户的余额。 显示模块:将计算的结果及用户操作信号译码后显示在显示屏上。 物品模块:记录物品的种类、对应的单价、以及其数量 信号模块:系统对系统时钟,用户的买、选择、完成信号,显示 开关信号等信号的设置。2.3 程序源代码-文件名:pl_auto1.vhd。-功能:货物信息存储,进程控制,硬币处理,余额计算,显示等功能。-说明:显示的钱数coin的 以5角为单位。library ieee;use ieee.std_logic_arith.all;use ieee.std_logic_1164.all;use ieee.std_

11、logic_unsigned.all;entity pl_auto1 isport ( clk:in std_logic; -系统时钟set,get,sel,finish: in std_logic; -设定、买、选择、完成信号coin0,coin1: in std_logic; -5角硬币、1元硬币price,quantity :in std_logic_vector(3 downto 0); -价格、数量数据item0 , act:out std_logic_vector(3 downto 0); -显示、开关信号y0,y1 :out std_logic_vector(6 downto 0

12、); -钱数、商品数量显示数据act10,act5 :out std_logic); -1元硬币、5角硬币end pl_auto1;architecture behav of pl_auto1 istype ram_type is array(3 downto 0)of std_logic_vector(7 downto 0); signal ram :ram_type; -定义ramsignal item: std_logic_vector(1 downto 0); -商品种类signal coin: std_logic_vector(3 downto 0); -币数计数器signal pr

13、i,qua:std_logic_vector(3 downto 0); -商品单价、数量signal clk1: std_logic; -控制系统的时钟信号begincom:process(set,clk1)variable quan:std_logic_vector(3 downto 0);begin if set=1 then ram(conv_integer(item)=price & quantity;act=0000;-把商品的单价、数量置入到ram elsif clk1event and clk1=1 then act5=0; act10=0; if coin0=1 then if

14、 coin1001then coin=coin+1; -投入5角硬币,coin自加1 else coin=0000; end if; elsif coin1=1 then if coin1001then coin=coin+2; -投入1元硬币,coin自加2 else coin=0000; end if; elsif sel=1 then item0000 and coin=pri then coin=coin-pri;quan:=quan-1;ram(conv_integer(item)=pri & quan; if item=00 then act=1000; -购买时,自动售货机对4种

15、商品的操作elsif item=01 then act=0100; elsif item=10 then act=0010; elsif item=11 then act0001 then act10=1;coin0000 then act5=1; coin=coin-1; else act5=0; act10=0; end if; elsif get=0 then act=0000; for i in 4 to 7 loop pri(i-4)=ram (conv_integer(item)(i); -商品单价的读取 end loop; for i in 0 to 3 loop quan(i)

16、:=ram(conv_integer(item)(i); -商品数量的读取 end loop; end if; end if;qua=quan;end process com;m32:process(clk) -此进程完成对32mhz的脉冲分频variable q: std_logic_vector( 24 downto 0);begin if clkevent and clk=1 then q:=q+1; end if; if q=111111111111111111111111 then clk1=1; else clk1item0item0item0item0y0y0y0y0y0y0y0

17、y0y0y0y0y1y1y1y1y1y1y1y1y1y1y1=1111111; end case;end process;end behav;3.1系图统仿真全注:仿真图里没有对clk信号进行分频处理。图 3.1 系统仿真全图3.2系统分步仿真图图 3.2.1 系统仿真图-预置部分图 3.2.2 系统仿真图-商品种类选择部分2图 3.2.3 系统仿真图-投币部分图 3.2.4 系统仿真图-购买、找币结束交易部分总结 本次课程设计是我第一次用一门自己陌生的语言做的设计,也知道不会做得很完善,现在只能说是在模拟上初步通过,也许在硬件上会得到不同的结果。但我们本来设计的初衷就只是锻炼一下自己的动手实

18、践的能力,所以这样的结果也无可厚非了。关于自动售货机系统,因为时间和知识缺乏的关系,设计得很是简陋,远远达不到当今社会的需求。如果条件允许的话,应该要多增加商品的数量,还要添加纸币的识别,因为纸币毕竟是主流的货币。课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.回顾起此次课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在短短的两个星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论