- 3
- 0
- 约1.27万字
- 约 14页
- 2016-10-21 发布于贵州
- 举报
自动售货机控制统的设计
信息科学与工程学院
课程设计报告
( 2008 — 2009 学年 第 一 学期)
课程名称: VHDL与数字电路课程设计
班 级: 电子0601
学 号: 18
姓 名: 庞金伟
指导教师: 谈宜育 ____
2009 年 1 月
课程设计题目:自动售货机控制系统的设计
目的与任务:
进一步掌握MAX+PLUSⅡ软件的使用方法;
会使用VHDL语言设计小型数字电路系统;
掌握应用MAX+PLUSⅡ软件设计电路的流程;
掌握自动售货机的设计方法;
会使用GW48实验系统。
内容和要求:
设计一个简易的自动售货机,它能够完成钱数处理、找零、显示、退币等功能。
(1)用3个键表示3种钱,再用3个键表示3种物品。
(2)用2个数码管显示输入的钱数,再用2个数码管显示所找的钱数,以元为单位。
(3)买东西时,先输入钱,用数码管显示钱数,再按物品键,若输入的钱数大于物品的价格,用数码管显示所找的钱数,并用发光二极管表示购买成功。
(4)若输入的钱数少于物品的价格,用数码管显示退出的钱数,并用发光二极管表示购买失败。
设计内容(原理图以及相关说明、调试过程、结果)
系统设计方案
根据系统要求,系统的组成框图如图1所示。
图1 系统组成框图
系统按功能可分为分频模块、控制模块和译码输出模块。
(1)分频模块的作用是获得周期较长的时钟信号,便于操作,且不会产生按键抖动的现象。其原理是定义两个中间信号Q、DIV_CLK,QDIV_CLK的值翻转,最后将DIV_CLK赋给NEW_CLK即可,改变设定值可改变分频的大小。
(2)控制模块是这个系统的核心模块,它具有判断按键、计算输入钱数总和、计算找零、控制显示四个作用。它的工作原理是每当时钟上升沿到来时,判断哪个按键按下,若按下的是钱数键,则将钱数保存于中间信号COIN,若下次按下的仍是钱数键,COIN的值则加上相应的值并显示于数码管;当物品键按下时,则将COIN的值与物品 价格进行比较,然后控制找零。
(3)由于钱数可能大于9,所以译码显示模块的作用就是将钱数译码后用两个数码管显示,这样方便观察。
根据各个功能模块的功能并进行整合,可得到一个完整的自动售货机系统的整体组装设计原理图,如图2所示。
图2 设计原理图
系统主要VHDL源程序
分频器的源程序(外部时钟选用3MHz,实现3万分频)
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY CLKGEN IS
PORT(CLK:IN STD_LOGIC;
NEWCLK:OUT STD_LOGIC);
END CLKGEN;
ARCHITECTURE BEHAVE OF CLKGEN IS
SIGNAL Q:INTEGER RANGE 0 TO 14999;
SIGNAL DIVCLK: STD_LOGIC;
BEGIN
PROCESS(CLK)
BEGIN
IF CLKEVENT 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;
自动售货机控制器源程序( 3种钱数为1元、2元、5元;
3种物品的价格为2元、5元、10元 )
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY SHOUHUOJI IS
P ORT ( CLK: IN STD_LOGIC;
COIN1: IN STD_LOGIC; --1元信号
COIN2: IN STD_LOGIC; --2元信号
您可能关注的文档
最近下载
- 石竹山签谱详解100.doc VIP
- 中医临床诊疗术语标准及应用.docx VIP
- 2025年湘西土家族苗族自治州民族中医院医护人员招聘备考试题及答案解析.docx VIP
- 石竹山签谱全100签详解.pdf VIP
- 2023年高考历史真题:2023年高考山东历史真题及答案.pdf VIP
- 2025-2026学年人教版八年级数学上册期末考试试卷.pdf VIP
- 2023年高考历史真题试卷(新课标卷)(含答案及详细解析) .pdf VIP
- 2026中考英语复习《主谓一致》课件.pptx
- 2024年湘西土家族苗族自治州民族中医院医护人员招聘备考试题及答案解析.docx VIP
- 2025-2026学年小学科学六年级上册青岛版(六三制2024)教学设计合集.docx
原创力文档

文档评论(0)