




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东 北 石 油 大 学课 程 设 计课 程 EDA技术课程设计 题 目 拔河游戏机 院 系 电子科学学院07-5班 专业班级 电子信息工程 学生姓名 郭佳炜 学生学号 070901140513 指导教师 2011年 3 月11日东北石油大学课程设计任务书课程 EDA技术课程设计题目 拔河游戏机专业 电子信息工程 姓名 郭佳炜 学号 070901140513主要内容、基本要求、主要参考资料等主要内容:电子拔河游戏机是一种能容纳甲乙双方参赛游戏电路。由一排发光二极管表示拔河的“电子绳”。由甲乙双方通过按纽开关使发光二极管向一方的终点延伸,当延伸到某方的最后一个发光二极管时, 则该方获胜,连续比赛多局以定胜负。基本要求:1、设计一个能进行拔河游戏的电路。2、电路使用9个发光二极管,开机后只有中间一个发亮,此即拔河的中心点。3、游戏双方各持一个按钮,迅速地、不断地按动,产生脉冲,谁按得快,亮点就向谁的方向移动,每按一次,亮点移动一次。4、亮点移到任一方终端二极管时,这一方就获胜,此时双方按钮均无作用,输出保持,只有复位后才使亮点恢复到中心。5、用数码管显示获胜者的盘数。主要参考资料:1 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005.2 康华光主编.电子技术基础 模拟部分. 北京:高教出版社,2006.3 阎石主编.数字电子技术基础. 北京:高教出版社,2003.完成期限 2011.3.11 指导教师 专业负责人 2011年 3月7日一、总体设计思想1.基本原理1.1 由设计内容可知,需要一个十进制的计数器,用于对双方按钮的次数计数,并通过译码器显示在数码管上。设计要求用50MHz的频率,而设计用到的是1KHz的频率,所以要设计一个程序进行分频。1.2 显视控制部分设计要求在发光二极管上显示游戏状态,双方每按十次,亮点向先按十次移动一次,对脉冲进行计数,每十次移一位。需接入一个清零端,用于复位。1.3 将以上程序组装起来。2.设计框图译码器编码电路选择开关整形电路可逆计数器控制电路图1. 拔河机游戏机框图二、设计步骤和调试过程1、总体设计电路总体电路图和仿真图如图(25)所示,由仿真图可知,此电路设计无误,可以实现按动A、B两个按键时,分别产生两个脉冲信号,经整形后分别加到可逆计数器上,可逆计数器输出的代码经译码器译码后驱动电平指示灯点亮并产生位移,当亮点移到任何一方终端后,由于控制电路的作用,使这一状态被锁定,双方按键产生的输入脉冲不起作用。如按动复位键C,亮点又回到中点位置,再次按C键则比赛又可重新开始。图2. 电路图2、模块设计和相应模块程序2.1新建工程,其中需注意顶层实体名与编写的程序实体名一致。2.2输入设计项目VHDL程序。如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity bahe is port (a,b,rst,clk:in std_logic; sg,led:out std_logic_vector(6 downto 0); bt:out std_logic_vector(7 downto 0);end bahe;-architecture one of bahe is component cnt10 port (clk,rst,en:std_logic; cout:out std_logic; cq:out std_logic_vector(3 downto 0);end component;component scan port (clk :in std_logic; a1, a2,a3,b1,b2,b3:in std_logic_vector(3 downto 0); sg:out std_logic_vector(6 downto 0); bt: out std_logic_vector(7 downto 0);end component;component lmovport (kl ,kr:in std_logic_vector(3 downto 0) ; led:out std_logic_vector(6 downto 0); en : out std_logic; rst:in std_logic);end component;signal e,f,ca1,ca2,cb1,cb2:std_logic;signal cqa1,cqa2,cqa3,cqb1,cqb2,cqb3:std_logic_vector(3 downto 0);beginu1: cnt10 port map (en=e,rst=rst,clk=a,cout=ca1,cq=cqa1);u2: cnt10 port map (en=e,rst=rst,clk=ca1,cout=ca2,cq=cqa2);u3: cnt10 port map (en=e,rst=rst,clk=ca2,cq=cqa3);u4: cnt10 port map (en=e,rst=rst,clk=b,cout=cb1,cq=cqb1);u5: cnt10 port map (en=e,rst=rst,clk=cb1,cout=cb2,cq=cqb2);u6: cnt10 port map (en=e,rst=rst,clk=cb2,cq=cqb3);u7: scan port map (a1=cqa1,a2=cqa2,a3=cqa3,b1=cqb1, b2=cqb2,b3=cqb3,clk=clk,sg=sg,bt=bt);u8:lmov port map (en=e,kl=cqa2,kr=cqb2,rst=rst,led=led);end architecture one;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt10 isport(clk,rst,en:std_logic; cout:out std_logic; cq:out std_logic_vector(3 downto 0);end;architecture one of cnt10 isbeginprocess(clk,rst,en) variable cqi:std_logic_vector(3 downto 0); begin if rst=1 then cqi:=(others=0);elsif clkevent and clk=1 then if en=1 then if cqi0);end if ;end if;end if;if cqi=9 then cout=0 ;else cout=1;end if;cqbt=10000000;abt=01000000;abt=00100000;abt=00000100;abt=00000010;abt=00000001;abt=00000000;end case ;end process p1;-p2:process (clk)variable ct:integer range 0 to 50000; begin if clkevent and clk=1 then -1000HZ if ct49999 thenct:=ct+1;clk1=0;else ct:=0;clk1=1;end if;end if;end process p2;process(clk1)begin if clk1event and clk1=1 thenif cnt45 thencnt4=cnt4+1;else cnt4sgsgsgsgsgsgsgsgsgsgnull;end case ;end process;end;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity lmov is port (kl ,kr:in std_logic_vector(3 downto 0) ; led:out std_logic_vector(6 downto 0); en : out std_logic; rst:in std_logic);end ;architecture one of lmov is begin process(rst,kl,kr) begin if rst=1 then led=1110111;en=1; elsif kl-kr=1 then led=1101111;en=1; elsif kl-kr=2 then led=1011111;en=1; elsif kl-kr=3 then led=0111111;en=0; elsif kr-kl=1 then led=1111011;en=1; elsif kr-kl=2 then led=1111101;en=1; elsif kr-kl=3 then led=1111110;en=0;elsif kr-kl=0 then led=1110111;en=1; else null;end if; end process;end;3存盘,注意文本取名。4. 启动编译,如果设计正确则完全通过编译,如果有错误则根据错误信息返回进行修改,知道完全通过编译为止。3、仿真及仿真结果分析3.1 创建一个仿真波形文件,输入引脚,并对所有input引脚付出值,保存仿真波形文件。3.2 开始仿真,若仿真没有出错,则可观察仿真得到的波形图。仿真波形图如下:(1)当a输入的频率大于b时,可观察到led:低电平有规则的向左移动。即向a方向移动,符合设计要求。见仿真图1。(2)改变输入a b的大小,b的输入频率大于a,得到的波形如下,由波形图可知低电平向右边移动,即向b方向移动,符合设计要求。见仿真图2。仿真图1仿真图24、实验调试结果4.1编程下载及配置,选择Assignments Assignments Editor ,在Assignments Edito窗口中选择pin标签页,按下图分配引脚。4.2 重编译,并进行编程下载到SOPC开发板进行功能验证。 4.3 验证,按key 1和key10,观察led灯和数码管的显示变化是否符合设计要求,如果和设计不符合对程序进行更改,知道符合设计要求。三、结论及心得体会EDA课程设计要求做一个拔河游戏机,电路使用9个发光二极管,开机后只有中间一个发亮,此即拔河的中心点。游戏双方各持一个按钮,迅速地、不断地按动,产生脉冲,谁按得快,亮点就向谁的方向移动,每按十次,亮点移动一次。亮点移到任一方终端二极管时,这一方就获胜,此时双方按钮均无作用,输出保持,只有复位后才使亮点恢复到中心。用数码管显示双方按键的次数。通过这次课程设计,我更加感到理论和实际之间的差异很大。我也越来越强烈地感到要掌握一门技术,唯一的办法也是最好的办法就是实践。只有通过实践才能将书本上的知识应用,也只有实践才能发现很多问题,真正掌握知识,学以致用。虽然遇到的问题很多,但是同时得到很多有用的经验。这些对于以后的学习和工作都是很有用的。参考资料1 潘 松,EDA技术实用教程(第二版). 北京:科学出版社,2005.2 谭京生,EDA技术及应用M,西安:西安电子科技大学出版社,20013 徐志军,CPLD/FPGA的开发与应用M,北京:电子工业出版社,20014 朱正伟,EDA技术与应用M,北京:清华大学出版社,20055 潘 松,VHDL实用教程M,成都:电子科技大学出版社,200114东北石油大学课程设计成绩评价表课程名
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 八中自主招生考试题及答案
- 解析卷公务员考试《常识》同步练习试题(含答案及解析)
- 护理查对制度试题(含答案)
- 贵州企业招聘:2025贵州黔晨综合发展有限公司招聘15人考前自测高频考点模拟试题及完整答案详解1套
- 2025年在线职业技能认证平台投资风险评估分析报告
- 2025年文化娱乐产业产业链重构与协同发展报告
- 2025年婴幼儿配方食品营养配方研究进展与挑战分析报告
- 2025年城市慢行系统建设与城市交通拥堵治理创新策略可行性研究报告
- 2025年教育行业质量评估与认证体系在学校特色教育中的应用报告
- 2025年海洋生态修复政策与海洋生物保护研究报告
- 2025国投生物制造创新研究院有限公司招聘(31人)考试备考试题及答案解析
- 新学期,新征程+课件-2025-2026学年高二上学期开学第一课主题班会
- 2025新版企业员工劳动合同范本
- 医院信息化建设中长期规划(十五五规划2025年)
- 国家中医药管理局《中医药事业发展“十五五”规划》全文
- 碳九加氢标准工艺标准流程
- 阿尔茨海默病及其他类型痴呆临床路径表单
- 公开课第一课素描基础入门课件
- 数据结构ppt课件完整版
- GB∕T 36527-2018 洁净室及相关受控环境 节能指南
- 应用语言学(全套课件197P)
评论
0/150
提交评论