单片机-拔河游戏机.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机-拔河游戏机

PAGE  PAGE - 7 - 单片机课程设计报告 设计课题: 拔河游戏机 专业班级: 电子信息工程0701 学生姓名: 韩子梁、李帆、谷金宇 指导教师: 欧阳斌林 设计时间: 2010年6月25号 题目 拔河游戏机 设计者 韩子梁 李帆 谷金宇 指导教师 欧阳斌林 摘要 本课题设计的电子拔河机是由AVR单片机、2个按键和16个发光二极管组成,当电源开启,双方各自循环按下己方对应按键,当某方速度快于另一方时,发光二极管点亮速度快于对方,这样达到拔河的模拟效果。经调试,整机功能效果等各项性能指标均达到本实验要求。 关键词 AVR mega16 中断 定时器计数器 显示 引言 ?随着现代科技的不断发展,人们的生产生活水平也在不断提高。与此同时,各式各样的仪器设备、新型家电产品都在不断出现,丰富着人们的生活,为人们排忧解难,娱乐身心。拔河游戏机就是一种综合性、趣味性的试验,它结构简单,易安装与调试,使生产或者自行制作的最佳选择。 1 设计任务与要求 (1)设计一个能进行拔河游戏的电路。 (2)电路使用16个发光二极管,其中八个黄色,八个红色。16个发光二极管排成一行,两种颜色分开位于两侧,不同颜色之间为拔河的中心点。开机后由中间两个开始发亮,当按键按动一定次数,发光二极管向两边移动。 (3)游戏双方各持一个按钮,迅速地、不断地按动,产生脉冲,谁按得快,亮点就向谁的方向移动的快,每按五次,亮点移动一次。 (4)任一方亮点移到发光二极管终端时,这一方就获胜,亮点恢复到中心。 (5)显示获胜者、时间和双方点击次数。 2 方案设计与论证 图一 设计电路框图 方案一 采用延时_delay_ms()程序,分别点亮发光二极管。按键采用通用I\O口采集,根据按键按下次数比较,次数多者延时小,即小灯移动速度快。按键次数为每20次比较一次,之后清零变量,以便之后继续比较。当某一方率先移动到端点时,此方获胜,并通过液晶屏显示出来胜负结果,和所用时间。液晶屏显示用avr的定时器/计数器2的溢出中断。 本方案基本可以完成要求,但是对于delay延时存在不足的地方。Delay延时会影响时间显示,并且并延时不够准确。而且如果延时过大,会导致发光二极管移动速度不明显,严重影响结果。 所以我们设计了方案二 方案二 采用AVR的定时计数器0作为时间的延时。并且对方案进行改动,按键的读取采用avr外部中断的下降沿,这样有效防止作弊(按住按键不放手),并采用了防抖处理。当某方按键按下一定次数,此方的发光二极管向外移动一位。当某一方率先移动到端点时,此方获胜,并通过液晶屏显示出来胜负结果,和所用时间。液晶屏显示用avr的定时器/计数器2的溢出中断。 方案二不但可以按照要求准确完成任务,并且对于时间的显示也非常精确。所以我们采用了方案二。 3 硬件电路设计及原理电路图 本设计采用16个发光二极管模拟拔河游戏,当某一方按下的按键频率高于对方的时候,此方发光二极管向此方移动一位,以此类推,直至最后一个灯被点亮,比赛结束。 (1).16个发光二极管如下图 (2)设计AVR的C端口的第6、7引脚为按键输入,当按键按下,如下图,PC.6(7)读到一个低电平,然后通过防抖处理控制PD0~1输出一个下降沿以控制外部中断INT0、INT1。这样做是防止外终端端口的PD.3~4受抖动影响。 按键电路图 (3)液晶屏显示数据和时间,第一行显示:红方点击数,第二行显示:橙方点击数,第三行显示时间,第四行显示比赛结果等数据。 PD7 6 5 VCC VDD 液晶显示电路 4 总原理图及元器件清单 ⑤ 总原理图 总电路图 4.2 元件清单 +5V、+12V直流电源板;AVR mega16电路板;8个黄色发光二极管,8个红色发光二极管;2个按键;18个500欧姆电阻;排针、排线若干;液晶屏一个。 5 程序流程图 初始化 判断是否有按键按下 PORTA~B不动 按键0被按下,开始计时 按键1被按下,开始计时 外中断0服务程序 外中断1服务程序 m++,每5次灯向端点移动1位 n++,每5次灯向端点移动1位 PORTA向左移动一位 PORTB向左移动一位 如果左移了8位 关中断 液晶屏显示 程序初始化过程是初始化一些I\O口功能、液晶屏设置、外中断设置和定时器计数器设置。同时开启全局中断。 程序进入死循环,判断是否有按键按下,如果有按键被按下,时间开始计时,并把按键次数送至显示单元。这里在外中断服务函数里设置了一个变量n,每次程序进入中断服务函数,即按键被按下了,该变量自增1,即n++。

文档评论(0)

zw4044 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档