




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 摘要此次设计提出了用at89s52单片机为核心控制元件 , 设计一个简易的抢答器,本方案以 at89s52单片机作为主控核心,与74hc573锁存器、按键开关、数码管、蜂鸣器等构成四路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时/ 中断等电路,设计的抢答器具有实时显示抢答选手的号码和抢答时间的特点,还有复位电路,使其再开始新的一轮的答题和比赛, 同时还利用 c语言编程,使其实现一些基本的功能。本设计的系统实用性强、判断精确、操作简单、扩展功能强。它的功能实现是比赛开始,主持人读完题之后按下总开关,即计时开始,直到有一个选手抢答时,对应的会在数码管上显示出该选手的编号,蜂鸣器
2、也会发出声音,以提示有人抢答本题,如果在规定的规定时间内没有做出抢答,则此题作废,即开始重新一轮的抢答。根据抢答结果主持人可控制加分、减分按键对抢答的选手加减分数。关键词:单片机;抢答器;蜂鸣器;c程序2 目录1、设计任务 . 31.1 设计目的和意义:. 31.2 设计任务与要求:. 32、系统设计 . 32.1 总体方案设计. 32.2 芯片选型与具体电路设计. 42.2.1 单片机的选型. 42.2.2 振荡电路的设计. 52.2.3 复位电路的设计. 52.2.4 计分和组号显示的设计 . 62.2.5 选手按键的设计. 62.2.6 主持人控制电路的设计 . 72.2.7 蜂鸣器电路
3、设计. 72.3 系统总体电路. 82.4 系统所用元器件. 83、软件流程及程序设计. 93.1 软件系统总体设计方案. 93.2 软件系统流程图. 93.3 工作过程分析. 104 系统调试 . 104.1 硬件调试 . 104.2 软件调试 . 105. 总结 . 105.1 本系统存在的问题及改进措施 . 105.2 心得体会 . 11参考文献 . 11附录 1:系统源程序. 11附录 2:系统实物图. 163 1、设计任务1.1 设计目的和意义:在开展的竞赛抢答活动越来越多, 而在大多数比赛当中都是采用抢答器进行抢答的。本设计的核心是使用at89s52单片机控制, 抢答器可同时满足4
4、 名选手或 4 个代表队参加竞赛抢答比赛。且本文设计的抢答器具有功能强大,造价低廉,维修方便等特点。该抢答器同时具有锁存,数码led显示功能,抢答报警,分数控制等功能。即选手按动按钮,会锁存相应的编号,并且在led数码管上同步显示,同时蜂鸣器会发出报警声响提示。1.2 设计任务与要求:1)可容纳 4 组参赛者抢答器,每组设置一个抢答按钮供参加竞赛者使用;2)电路具有第一抢答信号的鉴别和锁存功能。在第一时间按抢答开关,指示灯亮并用扬声器发出声响;3)每组在开始时预置成10分,抢答后有主持人计分,答对一次加1 分,打错一次减 1分。2、系统设计2.1 总体方案设计根据系统的要求,确定系统的总体方案
5、如图1 所示。4 单片机选手抢答按键时钟电路分数显示蜂鸣器复位电路主持人控制按键组号显示锁存电路图 1 系统总体设计方案2.2 芯片选型与具体电路设计2.2.1 单片机的选型atmel 公司生产的at89s52 单片机,它是at89c52/51 的升级版, 其硬件资源完全兼容。所不同的是 at89s52 增加了在线调试功能,即程序可以通过 jtag 接口下载,调试和固化。因而,该芯片的开发不再需要昂贵的硬件仿真器,可实现实时仿真,所有的资源都可以为用户所使用,可以在线编程或在系统编程,更进一步地说,在线编程或在系统编程是开发的系统具有了通过网络进行升级、维护的潜在功能。at89s52 的性能及
6、特点:与 mcs-51 系列单片机兼容;片内有 4k(8k)可在线重复编程的快速内存可擦写存储器(flash memory) ;存储器可循环写入/擦写 10000 次以上;存储器数据保存时间为10 年以上;宽工作电压范围:vcc 可为 2.7v 6.5v ;全静态工作:可从0hz 24mhz ;图 2 89s52 5 程序存储器具有三级加密保护;128 个字节( 256 字节)的内部ram ;32 条可编程i/o 口线;三个 16 位定时器 /计数器;中断结构具有5 级( 6 级)中断源和两个优下级;可编程全双工串行通讯;空闲维持低功耗和掉电状态保护存储数据;具有 jtag 接口,可方便的在线
7、编程或在系统编程。2.2.2振荡电路的设计at89s52 内部有一个用于构成片内振荡器的高增益反相放大器, 振荡器产生的信号送到cpu, 作为 cpu 的时钟信号 ,驱动 cpu 产生执行指令功能的机器周期。引脚xtal1 和 xtal2 是此放大器的输人端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器 , 振荡电路的连接如图所示图8 所示,外接石英晶体或陶瓷谐振器以及电容c3 和 c4 构成并联谐振电路 , 接在放大器的反馈回路中。对外接电容c3 和 c4 的值虽然没有严格的要求, 但电容的大小多少会影响振荡器频率的高低、振荡器的稳定性、起振圈内部振荡的
8、接法的快速性和温度稳定性。图 3. 振荡电路2.2.3 复位电路的设计单片机复位是使cpu 和系统中的其他功能部件都处在一个确定的初始状态, 并从这个状态开始图 3. 晶振电路6 工作。无论是在单片机刚开始接上电源时, 还是断电后或者发生故障后都要复位。89 系列单片机的复位信号是从rst 引脚输人到芯片的施密特触发器中的。当系统处于正常工作状态时, 且振荡器稳定后 , 如果 rst 引脚有一个高电平并维持2 个机器周期( 24 个振荡周期)1, 则 cpu 就可响应并且将系统复位。 复位分为手动复位和上电复位。本设计系统采用的是手动复位, 当按下按钮时 , 即使人的动作很快 , 也会使按钮保
9、持通达数十毫秒,所以 , 手动复位能确保复位时间要求。复位电路连接如图。图 4. 复位电路2.2.4 计分和组号显示的设计计分部分由一个共阴极八位八段数码管构成,初始置数为“10101010”两个一组组成四组选手初始分数“ 10 分”;组号显示是由一个共阳极七段数码管构成,通过p2口直接对其控制。电路图如下:图 5. 显示电路2.2.5 选手按键的设计四位选手通过按键产生的电平下降沿信息送至p1.0p1.3 口,然后再经由主控制模块处理锁存,最后在七段数码管上显示最早按下的选手号。电路图如下:7 图 6. 选手按键电路2.2.6 主持人控制电路的设计主持人控制部分由一个开始键和减分、加分两个按
10、钮组成。开始按键通过外部中断送信息给控制模块,加分、减分分别通过p1.4 和 p1.5 送入分数控制信息。电路图如下:图 7. 主持人控制开始电路图 8. 主持人控制加分、减分电路2.2.7 蜂鸣器电路设计p3.5 口控制的蜂鸣器主要是提醒选手答题时间到。电路图如下:8 图 9. 蜂鸣器电路2.3 系统总体电路图 10. 总电路图2.4 系统所用元器件本系统所用的元器件清单如表1 所示。表 1 本系统所用的元器件元器件名称数量16seg-mpx8-cc-red 1 stc89s52 1 蜂鸣器1 电阻 10k 1 9 独立按键7 瓷片电容22pf 2 电解电容10uf 1 10k 排阻1 七段
11、数码管1 锁存器74hc5732 电源 vcc 1 导线若干3、软件流程及程序设计3.1 软件系统总体设计方案主函数内先将中断请求打开、设置触发方式,然后调用延时子程序、数码管显示子程序、键盘扫描子程序、中断子程序来达到设计目的。3.2 软件系统流程图系统启动锁存状态有人抢答主持人按开始键蜂鸣器yes延时、回答问题判断对错加分减分no对错10 图 11. 主程序流程图3.3 工作过程分析系统上电后,八位八段数码管显示“10101010”从右到左两两一组分别为四位选手的初始分数10 分。当主持人按下开始键后四位选手开始抢答,最早按键的选手的组号将显示在七段数码管上,紧接着在规定的时间内做答,时间
12、到蜂鸣器发出声音提示答题结束,主持人凭借选手回答内容通过a5、a6 按键加分、减分。没人回答主持人可按开始键进行下一轮。4 系统调试系统调试包括硬件调试和软件调试,而且两者是密不可分的。我们设计好的硬件电路和软件程序,只有经过联合调试,才能验证其正确性;软硬件的配人情况以及是否达到设计任务的要求,也只有经过调试,才能发现问题并加以解决、完善,最终开发成实用产品。4.1 硬件调试硬件调试分单元电路调试和联机调试,单元电路试验在硬件电路设计时已经进行,这里的调试只是将其制成印刷电路板后试验电路是否正确,并排除一些加工工艺性错误(如错线、开路、短路等)。这种调试可单独模拟进行,也可通过开发装置由软件
13、配合进行,硬件联机调试则必须在系统软件的配合下进行。本设计硬件是用开发板上已有的部件搭建而成的,所以只要熟悉板子的原理图连接好所需的模块,然后做一些简单的测试确保各个器件正常工作。4.2 软件调试由于本设计简单所以是一边在keil软件上修改程序一边烧写观察运行结果,其中在 keil软件上查错时可以通过调试里面的单步运行、进入子函数内部和设置断点分析。5. 总结5.1 本系统存在的问题及改进措施本设计用软件定时造成延时不准。另外本设计可以对抢答器扩展的功能有:1)可以将该抢答器扩展抢答定时功能,添加定时中断可以比较精确的设置延时。2)可以对该抢答器扩展遥控抢答,这样可以对抢答器进行遥控控制不受位
14、置环境限制。3)可以对该对抢答器的报警电路扩展,可以改变抢答或报警单调的音调改为柔美的音11 乐声音。5.2 心得体会经过近两周的努力 , 在老师和同学的商讨和帮助下, 我较好的完成了设计任务,通过此次课程设计,我重新认识到了自学的重要性,以及学以致用的道理。我在图书馆和网上查阅了大量的资料。通过此次的抢答器的设计,让我重新拾起了以前所学习的电子知识,及我觉得此次设计让我更加巩固了所学的知识并在设计的过程中学会了与时俱进,克服了编程的枯燥感,让我受益匪浅。在今后的学习过程中,应该多到图书馆看一些专业方面的书籍和增长上网解决问题的能力,以丰富自己的知识。此次设计遇到的最大问题是可以在proteu
15、s 上正常显示的程序在板子上运行出错,调试后在板子上运行良好的程序仿真时又有问题。此次设计加深了我对单片机及一些外围芯片、电路的理解和应用,由于知识水平的局限,设计中可能会存在着一些不足,我真诚的接受老师和同学的批评和指正。参考文献1 郭文川主编 . 单片机原理与接口技术 . 北京:中国农业出版社, 2007:20-42.2 郭天祥主编 . 新概念 51单片机 c 语言教程 :入门、提高、开发、拓展全攻略 . 北京:电子工业出版社, 2008:108-120.附录 1:系统源程序#include #include #define uchar unsigned char #define uint
16、 unsigned int uchar code seg=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f; /共阴极数码管0-9uchar code seg1=0 xbf,0 xf9,0 xa4,0 xb0,0 x99,0 xc0; /共阳数码管 -12340 uchar code bit=0 x7f,0 xbf,0 xdf,0 xef,0 xf7,0 xfb,0 xfd,0 xfe; /数码管位选 1-8 依次亮uchar a5; sbit beep=p35; /蜂鸣器sbit dula=p17; sbit wela=p
17、16; sbit inte=p32; /主持人开始12 sbit k1=p10; sbit k2=p11; sbit k3=p12; sbit k4=p13; sbit k5=p14; sbit k6=p15; uint i,j; uchar s_flag,k,shi,ge; void delay1ms(unsigned int count) / nms延时 unsigned int i,j; for(i=0;icount;i+) for(j=0;j120;j+); void delay() /1ms 延时函数 for(j=0;j120;j+); void beep() uint m,n; f
18、or(m=0;m800;m+) /p3.5 脚发声提示 for(n=0;n47;n+); /延时beep=beep; /取反输出到喇叭的信号 void display(uchar x,uchar a,uchar b) / 显示数据,显示位置a和 b shi=x/10; ge=x%10; dula=1; p0=segge; dula=0; wela=1; p0=bita; wela=0; p0=0 xff; /消隐delay(); 13 dula=1; p0=segshi; dula=0; wela=1; p0=bitb; wela=0; p0=0 xff; delay(); uchar key
19、scan() /4 路热键扫描 (哪个键先按下 ,哪个优先级最高 ) p1=0 xff; if(k1=0) delay1ms(55); if(k1=0) k=1; s_flag=0; /关闭开始键标志位 ,使再按其他七个键不会响应while(!k1); if(k2=0) /下面七个键的处理同上 delay1ms(55); if(k2=0) k=2; s_flag=0; /重要标志位while(!k2); if(k3=0) delay1ms(55); if(k3=0) k=3; s_flag=0; while(!k3); if(k4=0) 14 delay1ms(55); if(k4=0) k=4; s_flag=0; while(!k4); if(s_flag=0 & k!=0) return (k); else /有 2 人同时抢答或无人抢答继续显示- k=0; return (k); /*外中断 0 的中断服务子程序 */ void intersevr0(void) interrupt 0 ex0=0; /关 cpuwai 中断请求k=0; /每次进入中断清除上次k 值if(inte=0) /测试 p3.2是否是低电位 ,如果是 ,则延时一段时间消抖再测 delay1ms(50); /仿真不用消抖if(inte=0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 课题申报书多少字合适呢
- 课题申报书文献引用格式
- 课程衔接课题申报书
- 高中课题研究申报书
- 小学语课题申报书怎么写
- 咨询个人合同范本
- Unit 3 Keep Fit section B 同步课时讲练(含答案)七年级英语下册(人教版2024)
- bt模式合同范例
- 制式房屋购买合同范本
- 出售工地叉车合同范本
- 肺癌放疗靶区的定义和勾画
- 三年级美术下册 曲曲直直 教学课件
- 团员民主评议测评表
- 生产运作管理备货型与订货型生产
- 防洪防汛监理细则
- 2023年青岛远洋船员职业学院高职单招(数学)试题库含答案解析
- GB/T 25137-2010钛及钛合金锻件
- 公司安全生产管理架构图
- 服饰礼仪四三七三七一一五
- 团课知识点考团课必备
- 测量基础知识和操作培训 课件
评论
0/150
提交评论