基于某c语言单片机8位竞赛抢答器设计课程设计.pdf

上传人:tbuqq 文档编号:5488758 上传时间:2020-05-23 格式:PDF 页数:16 大小:168.41KB
返回 下载 相关 举报
基于某c语言单片机8位竞赛抢答器设计课程设计.pdf_第1页
第1页 / 共16页
基于某c语言单片机8位竞赛抢答器设计课程设计.pdf_第2页
第2页 / 共16页
基于某c语言单片机8位竞赛抢答器设计课程设计.pdf_第3页
第3页 / 共16页
基于某c语言单片机8位竞赛抢答器设计课程设计.pdf_第4页
第4页 / 共16页
基于某c语言单片机8位竞赛抢答器设计课程设计.pdf_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《基于某c语言单片机8位竞赛抢答器设计课程设计.pdf》由会员分享,可在线阅读,更多相关《基于某c语言单片机8位竞赛抢答器设计课程设计.pdf(16页珍藏版)》请在三一文库上搜索。

1、实用文档 文案大全 课程设计报告 课程名称:单片机课程设计 报告题目: 8 位竞赛抢答器的设计 学生姓名: 所在学院:信息科学与工程学院 专业班级: 学生学号: 指导教师: 2013 年 12月 25 日 实用文档 文案大全 课程设计任务书 报告题目8 位竞赛抢答器的设计 完成时间 12.15- 12.29 学生姓名 专业 班级 指导教师职称讲师 总体设计要求和技术要点 设计一个数字式电容测量仪电路,要求如下: 以单片机为核心, 设计一个 8 位竞赛抢答器: 同时供 8 名选手或 8 个代表队比 赛,分别用 8 个按钮 S0S7表示。 设置一个系统清除和抢答控制开关S,开关由主持人控制。 抢答

2、器具有锁存与显示功能。 即选手按按钮, 锁存相应的编号, 并在优先抢答 选手的编号一直保持到主持人将系统清除为止。当主持人启动“开始”键后,定时 器进行减计时,同时扬声器发出短暂的声响,声响持续的时间为0.5s 左右。 参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显 示选手的编号和抢答的时间,并保持到主持人将系统清除为止。 如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显 示器上显示 00 工作内容及时间进度安排 第 17周: 周一、周二:选题,明确任务,指导教师对课题进行讲解,资料检索 周三:硬件设计,硬件仿真 周四、周五:软件设计 第 18周: 周

3、一:综合调试 周二、周三、周四:书写课程设计报告 周五:答辩评分 课程设计成果 1与设计内容对应的软件程序 2课程设计总结报告 实用文档 文案大全 摘要 抢答器作为一种工具, 已广泛应用于各种智力和知识竞赛场合。但抢答器的 使用频率较低,且有的要么制作复杂,要么可靠性低。作为一个单位,如果专门 购一台抢答器虽然在经济上可以承受,但每年使用的次数极少, 往往因长期存放 使(电子器件的)抢答器损坏,再购置的麻烦和及时性就会影响活动的开展,因 此设计了本抢答器。 本设计是以八路抢答为基本理念。考虑到依需设定限时回答的功能,利用 AT89C52单片机及外围接口实现的抢答系统,利用单片机的定时器/ 计数

4、器定时 和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同 时使数码管能够正确地显示时间。用开关做键盘输出, 扬声器发生提示。 同时系 统能够实现:在抢答中,只有开始后抢答才有效, 如果在开始抢答前抢答为无效; 抢答限定时间和回答问题的时间可在1-30s 设定;可以显示是哪位选手有效抢答, 正确按键后有 5s 的音乐提示(即扬声器发出响声) ;抢答时间和回答问题时间倒 记时显示,满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下, 按键无效非法。 关键词: 89c52;电路;显示;按键 实用文档 文案大全 目录 一、概述1 二 、 方 案 设 计 1 三 、 硬

5、件 电 路设 计 2 1、抢答器的电路框图2 2、单元电路3 2.1 、抢答器电路3 2.2 、时序控制电路3 2.3 、复位电路3 3、时钟震荡电路3 4、报警电路3 四 、 软 件 设 计 4 1、系 统主 程序 4 2、 系 统 程 序 5 五、 结论与心得10 六、参考文献10 实用文档 文案大全 一、概述 本实验电路由抢答电路、译码显示电路、主持人控制电路、定时电路、报警 电路组成。通过复位按键FW ,电路进入准备就绪状态。将抢答时间设定在30S, 然后按下开始键开始抢答。,在电路中“S0-S7”为 8 路抢答器的 8 个按键,当 有键按下,程序锁定信号,从P2口输出抢答者号码的七段

6、码值,送到数码管显 示,并封锁按键,保持刚才按键按下时刻的时间,禁止其他人按键的输入,从而 实现了抢答的功能。 当设定的抢答时间结束, 仍然没有抢答键被按下, 则产生已 经超时的报警信号,结束抢答。当要进行下一次的抢答时, 首先按一下复位按键, 电路复位。 该设计是以 MCS51 为基础,结合单片机汇编语言知识, 设计而成的 8 位竞赛 抢答器。在伟福试验箱上实现仿真。 主持人按下“开始抢答键”既单脉冲键后,喇叭响0.5 秒给出提示信号,并 立刻进入抢答倒计时(预设30 秒抢答时间)此时,数码显示管上显示倒计时时 间:有选手抢答,停止计时,八段数码显示抢答时间和选手号;无选手抢答,倒 计时 3

7、0 秒后,显示 00。然后选手等待主持人按下按钮开始新一轮抢答。 注意: (1)由于设计的局限性,如果在无人抢答期间,30秒还未到,主持人不能按 下重新下一轮抢答按钮。 (2)由于试验箱上按钮数量有限,故选用开关代替按钮,供8 位选手抢答使 用。鉴于开关与按钮动作过程的差异,所以每次当选手抢答, 拨下开关时必须将 开关复位。 (3)当系统出现错误的时候,停止操作,重新编译开始。 二、方案设计 方案: 该系统采用 51 系列单片机 AT89C51作为控制核心,该系统可以完成运 算控制、信号识别以及显示功能的实现。由于用了单片机,使其技术比较成熟, 应用起来方便、 简单并且单片机周围的辅助电路也比

8、较少,便于控制和实现。 整 个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改。 MCS-51单片机特点如下: 可靠性好:单片机按照工业控制要求设计,抵抗工业噪声干扰优于一般 实用文档 文案大全 抢答按扭 优先编 码电路 锁存器译码电路译码显示 主 持 人 控 制开关 控制电路报警电路 秒脉冲产生电路定时电路译码电路显示电路 的 CPU ,程序指令和数据都可以写在ROM 里,许多信号通道都在同一芯片,因此 可靠性高,易扩充。 单片机有一般电脑所必须的器件。 控制功能强:单片机指令除了输入输出指令, 逻辑判断指令外还有更丰 富的条件分支跳跃指令。 三、硬件电路设计 1、抢答器的电路

9、框图 如图 3.1.1 所示为电路框图。 其工作原理为: 接通电源后, 主持人按下开关即 为“开始”状态,宣布“开始”抢答器工作。编号显示器灭灯,定时器显示设定 时间。定时器倒计时,扬声器给出5s 声响提示。选手在定时时间内抢答时,抢 答器完成:优先判断、编号锁存、编号显示。当一轮抢答之后,定时器停止、禁 止二次抢答、定时器显示剩余时间。 如果再次抢答必须由主持人再次操作“ 开始、 停止“ 状态按键。 图 3.1.1 电路框图 实用文档 文案大全 2、单元电路 3.2.1、抢答器电路 该电路完成两个功能:一是判断出选手按键的先后,并锁存优先抢答者的编 号,同时译码显示电路显示编号;二是禁止其他

10、选手按键操作无效。如有再次抢 答需由主持人将 S开关重新置 , “清除”然后再进行下一次抢答。 3.2.2、时序控制电路 时序控制电路是抢答器设计的关键,它要完成以下功能: a. 主持人将控制开关拨到 “开始“ 位置时,扬声器发声,抢答电路和定时电路进人 正常抢答工作状态。 b. 当参赛选手按动抢答键时,扬声器发声,抢答电路和定时电路停止工作。 3.2.3、复位电路设计 外部中断和内部中断并存,单片机硬件复位端,只要持续4 个机器周期的高 电平即可实现复位, 硬件复位后的各状态可知寄存器以及存储器的值都恢复到了 初始值,因为本设计中功能中有倒计时时间的记忆功能,所以不能对单片机进行 硬件复位,

11、 只能用软件复位, 软件复位实际上就是当程序执行完之后,将程序通 过一条跳转指令让它完成复位。 3、时钟震荡电路 时钟震荡电路单片机必须在89C52驱动下才能工作,在单片机内部有一个时 钟震荡电路,只需要外接一个振荡器就能产生一定的时钟信号送到单片机内部的 各个单元。 4、报警电路 报警电路用于报警,当遇到报警信号时,发出警报。8952动喇叭的信号为各 种频率的脉冲。 因此,最简单的喇叭驱动方式就是利用达林顿晶体管,或者以两 个常用的小晶体管连接成达林顿架势。在右图中电阻 R为限流电阻, 在此利用晶 体管的高电流增益,以达到电路快速饱和的目的。不过,如果要由P0输出到此 电路,还需要连接一个1

12、0K的上拉电阻。 实用文档 文案大全 图 3 硬件电路图 四、软件设计 1、系统主程序 为了能够达到抢答的公平、公正、合理,应该在主持人发布抢答命令之前必 须先设定抢答的时间, 因而在编开始抢答前的程序得先编写设定时间的程序,当 时间设好了之后,主持人发布抢答命令按下s1 按键,程序开始打开定时中断开 始倒计时, 然后调用键盘扫描子程序, 编写键盘扫描程序。 当在扫描到有人按下 了答题键,马上关闭T0、调用显示程序、封锁键盘。 以单片机为核心,设计一个8 位竞赛抢答器:同时供8 名选手或 8 个代表队 比赛,分别用 8 个按钮 S0S7表示。 设置一个系统清除和抢答控制开关S,开关由主持人控制

13、。 抢答器具有锁存与显示功能。即选手按按钮,锁存相应的编号,并在优先抢 答选手的编号一直保持到主持人将系统清除为止。当主持人启动“开始”键后, 定时器进行减计时,同时扬声器发出短暂的声响, 声响持续的时间为0.5s 左右。 参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上 显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。 如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时 显示器上显示 00。 实用文档 文案大全 图 4.1 主程序方框图 2、系统程序 #include #define uint unsigned int #define uchar

14、unsigned char sbit s1=P30; sbit we=P36; 主程序 设置抢答时间和回答问题时间 定时器及并行口初始化 将时间计数器及启动标志值1 开中断 采并行口数据为0 吗? 启动标志 =1 吗? 判断抢答组号 将抢答组发光二极管点亮 判断哪一组为抢答组 将抢答组号送显示 抢答时间到了吗? 输出响铃信号提示超时 继续抢答比赛吗? 系统返回 N Y Y Y N Y N 实用文档 文案大全 uchar h=0xe0,0xd0,0xb0,0x70; uchar code table =0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x

15、90,0xff; uchar num,count; uchar a=0,c=0,t,bb=0,t1; void delay(uint z) uint x,y; for(x=110;x0;x-) for(y=z;y0;y-); void write_sx() P2=0xdf; P0=0x08; P2=0x00; P0=0xff; P2=0xff; P0=tablet1; P2=0x00; P0=0x00; delay(5); P2=0xdf; P0=0x40; P2=0x00; P0=0xff; P2=0xff; P0=table(t/10)%10; P2=0x00; P0=0x00; dela

16、y(5); P2=0xdf; P0=0x80; P2=0x00; 实用文档 文案大全 P0=0xff; P2=0xff; P0=tablet%10; P2=0x00; P0=0x00; delay(5); void init() P2=0xbf;P0=0xbf; TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=0; ET0=1; TR0=1; void keyscan() we=0; if(s1=0) delay(5); if(s1=0) while(!s1); EA=1; P2=0xbf;P0=0xff; t=30; a

17、=1; t1=10; c=0; 实用文档 文案大全 if(c=0) P3=0xfd; num=P3; num=num if(num!=0xf0) delay(5); if(num!=0xf0) while(P3!=0xfd); c=1; EA=0; if(num=h3) t1=1; if(num=h2) t1=2; if(num=h1) t1=3; if(num=h0) t1=4; P3=0xfb; num=P3; num=num if(num!=0xf0) delay(5); if(num!=0xf0) while(P3!=0xfb); 实用文档 文案大全 c=1; EA=0; if(num

18、=h3) t1=5; if(num=h2) t1=6; if(num=h1) t1=7; if(num=h0) t1=8; void main() init(); while(1) keyscan(); if(a=1) if(t=0) EA=0; t=0; t1=10; void timer0() interrupt 1 实用文档 文案大全 TH0=(65536-50000)/256; TL0=(65536-50000)%256; count+; if(count=10) P2=0xbf;P0=0xbf; if(count=20) count=0; t-; 五、结论与心得 通过这次课程设计,我

19、深刻的认识到自己在许多方面的不足。通过编程,我 学会了如何独立的写出程序, 提高了自己的分析解决问题的能力,并且使自己所 学的知识与实践相结合,应用到实践当中。 在刚开始的时候无从下手, 感觉有些茫然,但同学和老师给予我很大的帮助, 每当设计过程中遇到困难时, 老师都会细心的教导我, 耐心的为我讲解, 同学也 热心帮助我,为我排忧解难,让我深深的体会到了团队的力量和重要性。 通过设计,我也学到了很多书本上没有的知识。在设计当中遇到了很多问题, 但通过查找资料,克服了这些问题,提高了自己在实际当中解决问题的能力。 在此我感谢学校给了我们的这次实践机会。在这里为奔波劳累在这次设计 中老师便是感谢, 老师们不辞劳苦, 不在乎身体的不适认真为我们讲解并为我们 知道实际操作过程中的问题。 让我们一步一步有序完成此次课程设计。在这里对 我们的廖老师、曹老师说声谢谢,谢谢你们,你们辛苦了!也祝你们身体健康工 作顺利 六、参考文献 1 张毅刚 . 单片机原理及应用 . 高等教育出版社, 2009 2 谭浩强 . C程序设计教程 . 清华大学出版社 3 周兴华 . 单片机 C程序设计 . 北京航空航天大学出版社 实用文档 文案大全 教 师 评 语 及 设 计 成 绩 教师评语: 课程设计成绩: 指导教师:(签名) 日期:年月日 实用文档 文案大全

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1