- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE 2
word文档整理分享
参考资料
北华大学
电子系统综合实习报告
学 院 : 电气信息工程学院
专业班级 : 通信工程
姓 名 : 闫梦迪
学 号 :
指导老师 : 董胜
实习时间 : 2015.11.30 — 12.11
目录
实习题目……………………………………………………………P3
实习目的……………………………………………………………P3
实习技术要求………………………………………………………P3
实现过程……………………………………………………………P3
功能及代码…………………………………………………………P5
仿真及硬件测试……………………………………………………P9
实习 心得…………………………………………………………P12
8. 教师 评语…………………………………………………………P14
一.实习题目
自动售货机设计
二.实习目的
通过本课题的研究,可以掌握电子控制系统的基本原理与其实现,通过对各个模块的编程及其仿真,对QuartusII软件的使用有所了解。每个波形模块的VHDL实现加深了硬件描述语言的学习。最终的顶层文件的调试,更是体现了综合知识的运用。
三.实习技术要求
本设计要实现自动售货机的基本功能,如货物信息存储、商品选择、进程控制、硬币处理、余额计算、显示等功能。利用软件QuartusII平台,采用VHDL硬件描述语言编程的设计方法设计系统核心电路的硬件程序,与一般的软件开发不同,VHDL编程更需要熟悉一些底层的硬件知识,特别是数字逻辑电路的设计,因此VHDL编程的方法、思路都要更多的与硬件电路联系起来。完成系统各个功能模块的硬件程序设计后,在软件平台上进行编译和电路仿真,最后生成的目标文件下载到实验台内的FPGA芯片以实现该系统,并在实验台上对设计进行验证。
四.实现过程
1)、根据设计要求实现过程分两部分:
a、面向客户端模块设计
基于Quartus2软件环境下,应用VHEDL语言进行程序设计。以clk输入端口进行商品选择,coin1输入端口做钱数输入,Finish输入端口做确认,进而完成商品购买。
b、面向个体端模块设计
以Get端口进行对商品价格修改的确认,以ST端口进行选择要修改的商品种类,coin0作为单价输入端口。
2)、整体结构框图
商品选择输入钱数
商品选择
输入钱数
设定
设定
控制器
控制器
品种选择显示译码
品种选择
显示
译码
价格设定
价格设定
3)、程序框图
开始开始
开始
开始
商品选择Y返还输入钱数YN
商品选择
Y
返还输入钱数
Y
N
商品选择
商品选择
价格设定
价格设定
输入钱数
输入钱数
钱数
钱数=单价?
N结束
N
结束
重新输入钱数?
重新输入钱数?
确认、找零 ( 商品、价格设定模块)
确认、找零
交易完成
交易完成
结束
结束
( 客户端模块程序框图)
五.功能及代码
功能:顾客商品选择、付钱购买、找零,个体商户对商品种类及价格的修改,商品数量统计
代码:
library ieee;
use ieee.std_logic_arith.all;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity S1 is
port ( clk:in std_logic; --系统时钟
r,set,st,get,finish: in std_logic; --设定、买、选择、完成信号
coin0,coin1: in std_logic_vector(3 downto 0); -- 输入钱数
act0,act1:out std_logic_vector(3 downto 0); --显示、开关信号
y0,y1,y2,y3,y4:out std_logic_vector(6 downto 0)); --输入钱数、商品价格、找零显示数据
end S1;
architecture behav of S1 is
signal item0,item1: std_logic_vector(1 downto 0); --商品种类
signal Q: INTEGER RANGE 20 DOWNTO 0; --找零
signal pri0,pri1,pri2,pri3: std_
文档评论(0)