




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 自动售货机的设计 一一 实验内容 实验内容 本自动售货机系统 结合 EDA 技术 采用 ALTERA 公司可编程逻辑器件 CPLD EPM7128SLC84 15 芯片作为控制核心 再配以必要的外围电路从而实 现只销售两种饮料 售价均为 15 元 可以找零和退币等功能的 EDA 应用系统 芯片的设计是以 MAX PLUS II 作为开发平台 VHDL 语言作为开发语言 使用掌 宇公司 CIC 310 CPLD FPGA 数字开发系统完成软件测试 自己制作下载板与外 围电路 二二 实验分析 实验分析 本自动售货机只销售两种罐装饮料 售价均为 15 元 顾客可以由两个不同 投币孔分别投入 3 个 5 元硬币或 2 个 10 元硬币 一次交易只能买一罐 且自动 找零 只要按下取消键就会马上无条件退币 本设计的硬件电路用 2 个按键电 路代替 2 个投币孔 以 LED 点亮的数量显示各币种的投入数量 在以 4Hz 闪烁 的 LED 来显示退币种类与数量 因为投币是计次电路 应先经过抖动消除电路 处理 本设计采用 1000Hz 的系统时钟信号来控制所有买卖行为 系统中设计的 复位键为管理人员所用 并未在用户界面中设计 三三 系统设计流程图 系统设计流程图 2 四四 自动售货机外观图 自动售货机外观图 为指示灯 为指示灯 五五 电路原理图电路原理图 3 六六 PCB PCB 图 图 根据 PROTEL99 画的系统原理图 成生 PCB 图 然后进行布局与布线 注意 注意 布线时将晶振这种易产生噪声的器件的输出端与芯片时钟输入端的连线 尽量布为直线 将电源与地线的宽度定为 30mil 到 100mil 之间 本系统的电流 不是很大 所以不用将板子的两面分别布成电源与地 七七 系统实物图系统实物图 4 八八 软件系统框图软件系统框图 九九 源程序 源程序 1 1 产生系统频率和退币信号电路产生系统频率和退币信号电路 首先要根据硬件电路的晶振频率确定分频系数 先产生系统频率 在进一 步分频产生退币信号 由于掌宇公司的开发系统上的晶振频率为 20MHz 所以 要分频系数分别为 20000 COUNT 和 250 COUNT1 注 由于在自制的下载板 上使用了 1MHz 的有源晶振 所以把程序中的 COUNT 的范围改为 0 到 1000 即可 详见下面括号内部分 return clock block input reset and clk output return clk signal count integer range 1 to 20000 1 to 1000 signal count1 integer range 1 to 250 000 signal f1hz std logic begin process clk begin if rising edge clk then count count 1 if count 10000 then count 500 f1hz10000 and count500 and count 1000 f1hz 1 else f1hz 0 count 0 end if end if end process process f1hz begin if rising edge f1hz then count1 count1 1 if count1 125 then return clk125 and count1 250 then return clk 1 else return clk 0 count1clk touch coin 10 push out coin10 process reset coin10 begin if reset 1 then total amount ten 0 no coin ten 0 led ten 00 elsif rising edge coin10 then total amount ten total amount ten 10 no coin tenled tenled tenled ten 11 end case end process end block coin 10 counting 3 3 退币处理电路退币处理电路 此模块先要判断局部信号 total amount 是否为 15 若大于等于 15 则输出 全局信号 money ok 在出货信号为 1 时 程序才开始判断应该退出何种硬币与 数量 如果按了取消键 必须立即执行退币处理 此程序在投币后 但未按下 确认键时 而是按下取消键 也可以实现退出何种货币与种数的精确显示 另 外 在按下确认键后 找零的硬币已经退出后 再按取消键 则又把原来投入 的硬币退出 导致退出的硬币比投入的还要多 为了避免此情况发生 通过增 加 IF 语句来把此中情况排除 此处的不足是无法对退货进行管理 coin returned block input clk reset total amount ten total amount five return clk cancel cola out diet out output money ok led five return led ten return cola choice die t choice signal total amount integer range 0 to 35 7 begin process reset clk begin if reset 1 then total amount 0 money ok 0 led five return 0 led ten return 0 elsif rising edge clk then total amount 15 then money ok 1 else money ok 0 end if if cancel 1 then if no coin five 3 then led five return 2 return clk led five return 1 return clk led five return 0 return clk elsif no coin five 2 then led five return 1 return clk led five return 0 return clk elsif no coin five 1 then led five return 0 return clk end if if no coin ten 2 then led ten return 1 return clk led ten return 0 return clk elsif no coin ten 1 then led ten return 0 null when 5 led five return 2 led ten return 1 null 8 when 20 led five return 2 led ten return 0 led five return 1 return clk led ten return 1 led ten return 0 return clk led ten return 1 led five return 0 return clk led ten return 0 led ten return 1 return clk led ten return 0 led ten return 1 return clk led ten return 0 return clk led five return 0 null end case end if end if end process end block coin returned 4 4 出货并计算存货处理电路出货并计算存货处理电路 当 money ok ok 饮料选择都同时为 1 时 才进行出货处理 先假定两种存 货量分别为 20 当发生出货时进行递减计数处理 为了节省硬件资源与功耗 此系统并未采用数码管实时的显示存货量 而且初始货存由软件设定 为了使 系统更加的人性化 所以在货存不足 2 时加以显示 以提醒顾客作出其他选择 所编程序为 give check block input money ok ok cola choice diet choice reset output cola out diet out led cola out led diet out led cola ok l ed diet signal no cola integer range 0 to 20 9 signal no diet integer range 0 to 20 begin cola out 1 when money ok 1 and ok 1 and cola choice 1 else 0 led cola out cola out diet out 1 when money ok 1 and ok 1 and diet choice 1 else 0 led diet out diet out cola process reset cola out begin if reset 1 then no cola 2 cola store amount led cola ok 1 elsif rising edge cola out then no cola no cola 1 else null end if if no cola 0 then led cola ok 0 elsif no cola 1 then led cola ok return clk else led cola ok 1 end if end process cola diet process reset diet out begin if reset 1 then no diet 20 diet store amount led diet ok 1 elsif rising edge diet out then no diet no diet 1 else null end if if no diet 0 then led diet ok 0 elsif no diet 1 then led diet ok return clk else led diet ok 1 end if 10 end process diet end block give check 完整程序在软盘上 完整程序在软盘上 十十 仿真管脚分配图 仿真管脚分配图 十一十一 结束语结束语 通过软件的设计调试 硬件电路的制作 最后软硬相结合 制作出了 自动售货机系统的核心电路 它不仅完成了设计之初的基本要求 而且还 增加了精确退币 存货报警 以及接受退货服务等功能 但是 由于受到 学习时间和芯片逻辑单元的限制 在退货和复位上面还有待完善 还无法 达到成为产品的要求 这次实验使我对 EDA 技术有了更加深刻的理解 对电路板的设计和制 作 及对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农发行驻马店市新蔡县2025秋招半结构化面试题库及参考答案
- 农发行喀什地区英吉沙县2025秋招金融科技岗笔试题及答案
- 农发行桂林市兴安县2025秋招笔试创新题型专练及答案
- 2025年生物质能生物质气化技术在工业应用报告
- 生活垃圾填埋场填埋气发电技术在2025年废弃物资源化利用中的应用研究报告
- 2025年生物质能源分布式能源系统分布式能源设备智能化管理与优化报告
- 2025年制作单招考试试题及答案
- 造价工程师工程造价核算考试试卷及答案
- 人事招聘人才库建设试题
- 高考标准考试题型及答案
- 教科版五年级上册科学期中测试卷附答案(夺分金卷)
- 药房管理规章制度目录
- 中职第1课 社会主义在中国的确立和探索试题
- 2025年辽宁省交投集团招聘笔试参考题库含答案解析
- 2024年版高尔夫球场场地租赁及会员服务协议3篇
- 香港 信托合同范本
- 少先队活动课《民族团结一家亲-同心共筑中国梦》课件
- 阀门培训课件
- 《焦化机械设备维护检修标准》
- DB11∕T 899-2019 盆栽蝴蝶兰栽培技术规程
- ISO27001信息安全管理体系培训资料
评论
0/150
提交评论