数字电路课程设计――拔河游戏机_第1页
数字电路课程设计――拔河游戏机_第2页
数字电路课程设计――拔河游戏机_第3页
数字电路课程设计――拔河游戏机_第4页
数字电路课程设计――拔河游戏机_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、设计要求:1、拔河游戏机需要9个发光二极管排成一行,开机后只有中间一个亮点,以此作为拔河的中间线,游戏双方各持一个按键,迅速、不端地按动产生脉冲,哪方按得快,亮点就向哪方移动,每按一次,亮点移动一次。移到任一方二极管的终端,该方获胜,此时双方按键均无作用,输出保持,只有经复位后才能使亮点恢复到中心线。2、显示器显示胜者的盘数。二、采用器件及软件环境:硬件:ispLSl1016E芯片软件:ispEXPERT System及windows2000操作系统三、设计思想及说明:1、概述:使用ispLSl1016E芯片,使用ispEXPERT下载到芯片,采用74LS162计数,采用数字电路实现系统设

2、备模拟测试2、设计思想:9个发光二极管用来模拟拔河的过程,中间一个灯为中线标志。模拟的两端按左右两个按钮,按钮产生脉冲信号,芯片根据两侧按钮信号的快慢,控制中间的发光二极管的灯的熄灭,某一侧按得较快,中间亮的灯就会向那一侧移动;当亮的灯到达最外侧的灯时,锁定程序,(即任何按键无效,直到按复位键复位并且相应端的计数器计数加一,用以表示获胜的次数。使用复位键可以在锁定或者在比赛中断后重新开始时,将标志灯回到中心。3、说明:中间灯亮表示中线;最外侧灯亮表示该端获胜;计数表示获胜次数;复位键使亮灯回到中线位置。四、设计步骤,各模块组成,简要说明:1、设计步骤:分析设计要求,选择合适芯片,编写芯片代码,

3、下载代码到芯片,连接数字电路,分项测试功能。2、模块组成:设计程序使用一个名为baheji的模块,模块分为初始化(复位,判断是否到达最末端,没有的话,根据按键方式判断移动中间的信号灯;如果到达末端,产生计数,并且锁定;四个部分。3、简要说明:count1.ar = cd1;count2.ar = cd1;score1.ar = cd2;score2.ar = cd2;初始化(复位拔河游戏。(count1-count2=4或(count1-count2=-4;/说明:判断是否到达最末端的条件,如果是的话,计分器加1,并执行将死锁,并且将L发光二极管锁定状态。Counter1-counter2结果

4、的绝对值小于4均为没有到达末端的情况,按下按键移动信号灯向左或者向右。五、源文件(ABEL-HDL源程序MODULE bahejiTITLE 'baheji'declarationsl8.l0 pin;clk1,clk2 pin;cd1,cd2 pin;p3.p0 node istype 'reg'q3.q0 node istype 'reg'count1 = p3.p0;count2 = q3.q0;m3.m0 pin istype 'reg'n3.n0 pin istype 'reg'score1 = m3.m

5、0;score2 = n3.n0;equationscount1.ar = cd1;count2.ar = cd1;score1.ar = cd2;score2.ar = cd2;count1.clk = clk1;count2.clk = clk2;score1.clk = (count1-count2=4;score1 := score1.fb+1;score2.clk = (count1-count2=-4;score2 := score2.fb+1;when(count1-count2=4 then l8=1;count1 := count1.fb;count2 := count2.f

6、b;elsel8=0;count1 := count1.fb+1;count2 := count2.fb+1;when(count1-count2=3 then l7 = 1;count1 := count1.fb+1;count2 := count2.fb+1;elsel7 = 0;count1 := count1.fb+1;count2 := count2.fb+1;when(count1-count2=2 then l6 = 1;count1 := count1.fb+1;count2 := count2.fb+1;elsel6 = 0;count1 := count1.fb+1;cou

7、nt2 := count2.fb+1;when(count1-count2=1 then l5 = 1;count1 := count1.fb+1;count2 := count2.fb+1;elsel5 = 0;count1 := count1.fb+1;count2 := count2.fb+1;when(count1-count2=0 then l4 = 1;count1 := count1.fb+1;count2 := count2.fb+1;elsel4 = 0;count1 := count1.fb+1;count2 := count2.fb+1;when(count1-count

8、2=-1 then l3 = 1;count1 := count1.fb+1;count2 := count2.fb+1;elsel3 = 0;count1 := count1.fb+1;count2 := count2.fb+1;when(count1-count2=-2 then l2 = 1;count1 := count1.fb+1;count2 := count2.fb+1;elsel2 = 0;count1 := count1.fb+1;count2 := count2.fb+1;when(count1-count2=-3 then l1 = 1;count1 := count1.

9、fb+1;count2 := count2.fb+1;elsel1 = 0;count1 := count1.fb+1;count2 := count2.fb+1;when(count1-count2=-4 then l0 = 1; count1 := count1.fb; count2 := count2.fb; else l0 = 0; count1 := count1.fb+1; count2 := count2.fb+1; END 七、使用情况: 使用情况: 测试时两测试者分别按左右控制键,拔河比赛开始,芯片根据两方按键速度的快慢来决定胜负,到达某端 的最后一个指示灯时该方获胜,该端计

10、数器+1;使用复位键复位即可继续下一场比赛。 八、验收时间、验收结果: 验收时间、验收结果: 验收时间: 验收时间:2006-09-8 8:00 PM 验收结果: 验收结果:验收顺利通过,程序演示成功地实现了功能 九、心得体会 在做这次的数字逻辑“拔河游戏机”的课程设计,我首先复习了上学期数字逻辑课程的基本内容,对于逻 辑问题的分析及设计有了更进一步的掌握。设计过程中,对于ABEL-HDL进一步的掌握,以及对具体问题的 分析,都是我们的收获。小组内协调,讨论分析问题,然后想办法解决,然后再分析,直到最终问题的解 决。尤其在一些小细节的实现方面,也是颇费精力的,小组成员仔细的相互推敲,然后测试,比如实现在 一旦到达最后一个指示灯时就实现计数的条件,我们分析代码的组成,最后修改了判断条件,当到达最外 层的指示灯后,无须再判断是否按下了按键就实现计数及锁定,即可实现制定的功能,由此,可逆计数器 的功能也实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论