版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信息科学与工程学院课程设计报告( 2008 2009 学年 第 一 学期)课程名称: VHDL与数字电路课程设计 班 级: 电子0601 学 号: 18 姓 名: 庞金伟 指导教师: 谈宜育 _2009 年 1 月课程设计题目:自动售货机控制系统的设计目的与任务:(1) 进一步掌握MAX+PLUS软件的使用方法;(2) 会使用VHDL语言设计小型数字电路系统;(3) 掌握应用MAX+PLUS软件设计电路的流程;(4) 掌握自动售货机的设计方法;(5) 会使用GW48实验系统。内容和要求:设计一个简易的自动售货机,它能够完成钱数处理、找零、显示、退币等功能。(1)用3个键表示3种钱,再用3个键表
2、示3种物品。(2)用2个数码管显示输入的钱数,再用2个数码管显示所找的钱数,以元为单位。(3)买东西时,先输入钱,用数码管显示钱数,再按物品键,若输入的钱数大于物品的价格,用数码管显示所找的钱数,并用发光二极管表示购买成功。(4)若输入的钱数少于物品的价格,用数码管显示退出的钱数,并用发光二极管表示购买失败。设计内容(原理图以及相关说明、调试过程、结果)一、 系统设计方案根据系统要求,系统的组成框图如图1所示。时钟分频器 控制器商品选择钱数输入译码显示 图1 系统组成框图系统按功能可分为分频模块、控制模块和译码输出模块。(1)分频模块的作用是获得周期较长的时钟信号,便于操作,且不会产生按键抖动
3、的现象。其原理是定义两个中间信号Q、DIV_CLK,Q在外部时钟CLK的控制下循环计数,每当计数到一个设定的值时DIV_CLK的值翻转,最后将DIV_CLK赋给NEW_CLK即可,改变设定值可改变分频的大小。(2)控制模块是这个系统的核心模块,它具有判断按键、计算输入钱数总和、计算找零、控制显示四个作用。它的工作原理是每当时钟上升沿到来时,判断哪个按键按下,若按下的是钱数键,则将钱数保存于中间信号COIN,若下次按下的仍是钱数键,COIN的值则加上相应的值并显示于数码管;当物品键按下时,则将COIN的值与物品 价格进行比较,然后控制找零。(3)由于钱数可能大于9,所以译码显示模块的作用就是将钱
4、数译码后用两个数码管显示,这样方便观察。根据各个功能模块的功能并进行整合,可得到一个完整的自动售货机系统的整体组装设计原理图,如图2所示。 图2 设计原理图二、 系统主要VHDL源程序(1) 分频器的源程序(外部时钟选用3MHz,实现3万分频)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CLKGEN ISPORT(CLK:IN STD_LOGIC; NEWCLK:OUT STD_LOGIC);END CLKGEN; ARCHITECTURE BEHAVE OF CLKGEN IS SIGNAL Q:INTEGER RANGE 0 TO 149
5、99; SIGNAL DIVCLK: STD_LOGIC; BEGIN PROCESS(CLK) BEGIN IF CLK'EVENT AND CLK='1' THEN IF Q < 14999 THEN Q <=Q+1; ELSE DIVCLK <= NOT DIVCLK;Q <=0; END IF; END IF; END PROCESS;NEWCLK <= DIVCLK;END BEHAVE;(2) 自动售货机控制器源程序( 3种钱数为1元、2元、5元;3种物品的价格为2元、5元、10元 ) LIBRARY IEEE;USE IEEE
6、.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SHOUHUOJI ISP ORT ( 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元商品 PRICE2: IN STD_LOGIC; -5元商品 PRICE3: IN STD_LOGIC; -10元商品 Y0: OUT
7、STD_LOGIC; -购买成功信号 Y1: OUT STD_LOGIC; -退币信号 MONEY: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); PAYBACK: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); 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)BEGINIF
8、CLK'EVENT AND CLK='1' THEN IF COIN1='1' THEN COIN <= COIN+1; Y0<='0'Y1<='0' ELSIF COIN2='1' THEN COIN <= COIN+2; Y0<='0'Y1<='0' ELSIF COIN3='1' THEN COIN <= COIN+5; Y0<='0'Y1<='0'ELSIF PRIC
9、E1='1' THEN IF COIN >= "0010" THEN Y0<='1'Y1<='0'COUT<=COIN-2; ELSE Y0<='0'Y1<='1'COUT<=COIN; END IF;ELSIF PRICE2='1' THEN IF COIN >= "0101" THEN Y0<='1'Y1<='0'COUT<=COIN-5; ELSE Y0&l
10、t;='0'Y1<='1'COUT<= COIN;END IF;ELSIF PRICE3='1' THEN IF COIN >= "1010" THEN Y0<='1'Y1<='0'COUT<=COIN-10;ELSE Y0<='0'Y1<='1'COUT<=COIN; END IF;END IF;END IF;END PROCESS;MONEY<=COIN; - 输入的钱数PAYBACK<=COU
11、T; - 找零END BEHAV;(3) 译码显示源程序(总钱数应小于16元)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY XIANSHI ISPORT ( DIN: IN STD_LOGIC_VECTOR(3 DOWNTO 0); DOUT: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END XIANSHI;ARCHITECTURE BEHAV OF XIANSHI IS BEGIN PROCESS(DIN) BEGIN CASE DIN IS WHEN "0000"=> DOUT<=&
12、quot;00000000" WHEN "0001"=> DOUT<="00000001" WHEN "0010"=> DOUT<="00000010" WHEN "0011"=> DOUT<="00000011"WHEN "0100"=> DOUT<="00000100"WHEN "0101"=> DOUT<="00000101&quo
13、t;WHEN "0110"=> DOUT<="00000110"WHEN "0111"=> DOUT<="00000111" WHEN "1000"=> DOUT<="00001000" WHEN "1001"=> DOUT<="00001001" WHEN "1010"=> DOUT<="00010000" WHEN "101
14、1"=> DOUT<="00010001" WHEN "1100"=> DOUT<="00010010" WHEN "1101"=> DOUT<="00010011" WHEN "1110"=> DOUT<="00010100" WHEN "1111"=> DOUT<="00010101" WHEN OTHERS=> DOUT<=&qu
15、ot;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)显示电路的仿真 如图7所示,当大于9时分开显示。 图7 显示电路仿真结果
16、图(2) 系统的硬件验证 应用GW48实验系统,选择实验电路结构图NO.5,管脚定义如下: CLK接CLOCK1 、COIN1 接PIO0、COIN2接 PIO1、COIN3接PIO2、PRICE1接 PIO3、 PRICE2接PIO4、PRICE3接 PIO5;MONEY7.0 接PIO16PIO23(数码管1、数码管2)、PAYBACK7.0 接PIO24PIO31(数码管3、数码管4)、Y0接PIO8(二极管D1)、 Y1接PIO9(二极管D2)。 硬件验证方法:选择实验模式5,时钟信号CLK与CLOCK1信号组中的3MHz信号相连,用键1键3输入钱数,用键4键6选择商品,观察数码管及二
17、极管的显示情况。四、 系统设计总结自动售货机是采用VHDL设计控制系统的经典实例,设计中模块的不同功能划分方式将会对程序的编写产生重要的影响,不恰当的模块划分将使模块间通信困难,同时程序的编写也将会很复杂。我们这次设计的自动售货机比较简单,功能不是很复杂,所以我将计算钱数、计算找零、控制显示等功能模块集成于一个核心控制模块,这样不用考虑各个模块间的通信问题了,程序编写起来结构就比较简单。在系统的设计过程中采用图形输入法和VHDL文本输入法相结合的方法,可使系统结构更简单直观,比如系统顶层设计采用图形输入法,系统底层模块用VHDL文本输入法设计。 本次试验中在进行软件仿真和硬件验证时有一点需要注
18、意,由于设计程序时钱数输入信号和商品选择信号共用一个时钟,所以在软件仿真时每个时钟上升沿处只能有一个信号值为1,而在硬件验证时每次只能有一个键的值为高电平,否则会出错。本系统基本达到了作为自动售货机的绝大部分功能,但还有许多地方可以进一步完善使系统的功能更全面。比如说可以增加一个存储器来存储商品的信息,这样当售货机内没有物品时能提醒放入物品;另外还可以加一些键来设置售货机,如可以修改物品价格使价格可调等。五、 参考资料1、 EDA技术与应用 (第2版) :江国强 编著;2、 EDA技术实验与课程设计 : 曹昕燕 周凤臣 编著;3、 VHDL设计实例与仿真 :姜雪松 编著。指 导 教 师 意 见内 容 及 要 求评 定 等 级优良中及格不及格独立完成全部工作量课程设计报告质量课程设计内容创新性出勤率综合得分教师评语: 指导教师: 年 月 日综合课程设计教学大纲教学环节名称综合课程设计英文名称Course Design课 程 编 码周 数3 周学 分3学分理论基础 电子技术基础、电子线路、微机系统原理与接口技术、单片机原理等。教学目的对大学期间所学的电子专
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 巢湖市庐江县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 鹤壁市淇县2025-2026学年第二学期三年级语文期中考试卷(部编版含答案)
- 长沙市望城县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 渠道拓展方案
- 深度解析(2026)《CBT 3798-2016船舶钢制舾装件涂装要求》
- 深度解析(2026)《2026年退役光伏组件回收处理企业的商业模式与绿色融资渠道》
- 嫁接理论考试试卷及答案
- 9《端午粽》跨学科公开课一等奖创新教学设计
- 社会学资格考试中等试题及答案
- 非小细胞肺癌绿色治疗指南
- 手机摄影技巧培训PPT
- X光安检机培训-PPT
- 盐城市区饮用水源生态净化工程验收调查报告
- GB/T 42477-2023光伏电站气象观测及资料审核、订正技术规范
- LY/T 2787-2017国家储备林改培技术规程
- GB/T 33187.2-2016地理信息简单要素访问第2部分:SQL选项
- GB/T 29256.3-2012纺织品机织物结构分析方法第3部分:织物中纱线织缩的测定
- 六年级下册数学试题数认识专题训练版语文
- 化工设备安装课件
- SY∕T 7298-2016 陆上石油天然气开采钻井废物处置污染控制技术要求
- 钢结构焊接施工方案(最终版)
评论
0/150
提交评论