基于STC单片机的8路抢答器设计(1)_第1页
基于STC单片机的8路抢答器设计(1)_第2页
基于STC单片机的8路抢答器设计(1)_第3页
基于STC单片机的8路抢答器设计(1)_第4页
基于STC单片机的8路抢答器设计(1)_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、.电子制作课程设计基于 stc 单片机的 8 路抢答器设计姓名: _朱胜涛 _班级 _测控 1151_学号: _ 1151203129_学院: _ 自动化学院 _任课教师: _郭新年 _2016 年 05 月 20 日.目录第一章绪论31.1抢答器应用31.2抢答器现状分析31.3本设计内容、指标3第二章总体方案设计32.1系统构成32.2主要硬件选型及介绍4第三章系统硬件设计53.1系统硬件电路53.2模块电路设计与实现错误 ! 未定义书签。第四章系统软件设计104.1软件系统设计104.2程序功能流程10第五章系统调试115.1实际硬件系统115.1开发环境115.1实验结果125.1结论

2、与展望12参考文献错误 ! 未定义书签。附件12要求:错误 ! 未定义书签。.第一章绪论1.1 抢答器应用随着计算机技术的高速发展,单片机以其自身的特点,已广泛应用于智能仪器,工业控制,家用电器,电子玩具等各个领域,特别是抢答题目的时候,同样需要单片机来控制整个过程。 在抢答过程中, 为了知道哪一组或哪一位选手先抢答,必须要设计一个系统来完成这个任务, 如果在抢答中, 靠视觉很难判断出哪组先答题, 利用单片机系统来设计抢答器, 是以上问题得以解决, 即使两组的抢答时间相差几微秒, 也可以分辨出哪组优先答题。 这样使得选手都处在同一起跑线上,体现公平公正原则本系统设计的八路抢答器主要是采用 at

3、mel 公司的 stc89c51 单片机作为核心, 控制系统的四个模块分别为: 显示模块,储存模块,语音模块,抢答开关模块。抢答组数在八组以内任意使用。 通过本系统的设计后,主持人可以很快判断是谁抢答成功,以及给予相应的惩罚。1.2 抢答器现状分析近年来,随着单片机档次的不断提高, 功能的不断完善, 其应用日趋成熟、应用日趋扩大, 特别是工业侧控、 尖端武器和日用家电等领域更是因为有了单片机而生辉增色。 单片机应用技术已成为一项新的工程应用技术。 本课程设计正是以 89c52 单片机为中心设计的简单的1.3 本设计内容、指标设计思路抢答器是为智力竞赛参赛者答题时进行抢答而设计的一种优先判决器电

4、路,竞赛者可以分为若干组, 抢答时各组对主持人提出的问题要在最短的时间内做出判断,并按下抢答按键回答问题。 当第一个人按下按键后, 则在显示器上显示该组的号码,同时电路将其他各组按键封锁,使其不起作用。回答完问题后,由主持人将所有按键恢复,重新开始下一轮抢答。该电路包括输入开关、声光显示、判别组控制以及组号锁存等部分。工作原理接通电源后,选手在定时时间内抢答时,抢答器完成 :优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停止、禁止二次抢答。如果再次抢答必须由主持人再次操作 复位”键才能再次开始抢答。第二章 总体方案设计2.1 系统构成主要电路的设计抢答电路完成两个功能 :一是

5、分辨出选手按键的先侯,并锁存优先抢答者的编.号,同时译码显示电路显示编号 ;二是禁止其他选手按键操作无效复位电路的设计该复位电路采用上电自动复位和手动复位两种复位方式,要实现复位只需在,stc89c52 单片机的 rese 下引脚上加上 5ms 的高电平就可以了。上电复位是利用电容的充电来实现的,即上电瞬间reset 端的电位与 vcc 相同,随着电容上储能增加,电容电压也逐渐增大,充电电流减小,reset 端的电位。这样就会建立一个脉冲电压, 调节电容与电阻的大小可对脉冲的持续时间进行调节。通常若采用 12mhz 的晶振时,复位元件参数为10nf 的电解电容和 1 ok q 的电阻。按钮复位

6、电路是通过按下复位按钮时,电源对 rese 丁端维持两个机器周期的高电平实现复位的。晶振电路的设计stc89c52 单片机的定时控制功能是用时钟电路和振荡器完成的,而根据硬件电路的不同,连接方式分为内部时钟方式和外部时钟方式。 本设计中采用内部时钟方式。音频放大电路其主要在于当单片机执行中断后, 当输出信号时能够在很短的时间里让扬声器工作并持续一定的时间。 当抢答器程序响应, 使三极管导通, 蜂鸣器的放大电路被接通,与此同时,喇叭发出声响。显示电路显示电路可由led 或 lcd 来实现。此处选用led 方式,由 6 位七段显示器来实现淇亮度高,使用简单方便。电源电路电源采用全波整流,简单方便。

7、2.1 主要硬件选型及介绍.第三章 系统硬件设计3.1 系统硬件电路为使硬件电路设计尽可能合理,应注意以下几方面:(1) 尽可能采用功能强的芯片,以简化电路,功能强的芯片可以代替若干普通芯片,随着生产工艺的提高, 新型芯片的价格不断下降, 并不一定比若干普通芯片价格的总和高。(2) 留有设计余地。在设计硬件电路时,要考虑到将来修改扩展的方便。因为很少有一锤定音的电路设计, 如果现在不留余地, 将来可能要为一点小小的修改或扩展而被迫进行全面返工。(3) 程序空间,选用片内程序空间足够大的单片机,本设计采用stc89c52单片机。(4) i/o 端口,在样机研制出来后进行现场试用时,往往会发现一些

8、被忽视的问题,而这些问题不是靠单纯的软件措施来解决的。 如有些新的信号需要采集,就必须增加输入检测端; 有些物理量需要控制, 就必须增加输出端。 如果在硬件电路设计就预留出一些 i/o 端口,虽然当时空着没用,那么用的时候就派上用场了。系统设计原理图1. 本设计各原理图所使用的画图软件简介altium designer 的介绍如图, altium designer 是原 protel 软件开发商 altium 公司推出的一体化的电子产品开发系统,主要运行在 windows 操作系统。这套软件通过把原理图设计、电路仿真、 pcb 绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融

9、合, 为设计者提供了全新的设计解决方案, 使设计者可以轻松进行设计,熟练使用这一软件必将使电路设计的质量和效率大大提高。altiumdesigner 采用设计库管理模式, 可以进行联网设计, 具有很强的数据交换能力和开放性及 3d 模拟功能,是一个 32 位的设计软件,可以完成电路原理图设计,印制电路板设计和可编程逻辑器件设计等工作,可以设计32 个信号层, 16 个电源 -地层和 16 个机加工层。.2. 原理图图 3.1-1 系统原理图如图, p3.3 口为开始 start 键, p3.4 为复位 reset 键, p1.0-p1.7 为八路抢答输入 s1-s8 键,数码管段选 p0 口,

10、位选 p2.4、p2.5、p2.6、p2.7,蜂鸣器输出为 p2.0 口。 p3.5 为时间加 1 add 键, p3.6 为时间减 1 dec 键。3.2 模块电路设计与实现1.时钟频率电路的设计图 3.2-1如图 3-3,单片机必须在时钟的驱动下才能工作.在单片机内部有一个时钟振.荡电路 ,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元 ,决定单片机的工作速度。本设计采用 12m 晶振,使计时更加精准。单片机一般选用石英晶体振荡器。此电路在加电大约延迟10ms 后振荡器起振 ,在 xtal2 引脚产生幅度为 3v 左右的正弦波时钟信号 ,其振荡频率主要由石英晶振的频率确

11、定。电路中两个电容 c1,c2 的作用有两个 :一是帮助振荡器起振 ;二是对振荡器的频率进行微调。c1,c2 的典型值为 30pf。单片机在工作时 ,由内部振荡器产生或由外直接输入的送至内部控制逻辑单元的时钟信号的周期称为时钟周期。其大小是时钟信号频率的倒数,常用 fosc 表示。如时钟频率为12mhz, 即 fosc=12mhz,则时钟周期为 1/12 s。2.显示电路的设计图 3.2-2如图 3-5,数码管采用 4 位八段共阳极 led,位选采用 pnp 三极管间接控制。增强数码管的电流输入。 避免了因单片机驱动电流较小而引起的显示问题。 使选手和主持人都能清楚的看到显示内容。且大大减小了

12、单片机的负担。3.键盘扫描电路的设计键盘是人与微机系统打交道的主要设备。 键盘分为独立式和矩阵式。 它们各有自己的特点, 其中独立键盘硬件电路简单, 而且在程序设计上也不复杂, 一般用在对硬件电路要求不高的简单电路中; 矩阵键盘与独立键盘有很大区别, 首先在硬件电路上它要比独立键盘复杂得多, 而且在程序算法上比它要烦琐, 但它在节省端口资源上有优势得多, 因此它更适合于多按键电路。 其次就是消除在按键过程中产生的“毛刺”现象。这里采用最常用的方法,即延时法,延时法的原理为:因为“毛刺”脉冲一般持续时间短,约为几ms,而我们按键的时间一般远.远大于这个时间 ,所以当单片机检测到有按键动静后再延时

13、一段时间 (这里我们取200ms)后再进行运算。本设计共 12 个键。为增强本设计的稳定性,减少单片机的工作量,在单片机剩余引脚允许的情况下,本设计采用了独立式键盘。1. 抢答部分图 3.2-32. 主持人控制部分图 3.2-44.报警电路的设计.图 3.2-5如图,本设计对声音要求不高, 不需要复杂的编程。 我们只需要简单的控制 p2.7 的高低电平即可。4.电源电路的设计图 3.2-6如图,为了能够使用更广的电源电压范围,并且保证系统电压的稳定性,这里使用简单且性能可靠的线性稳压器78m05,为系统提供可靠的5v 电源。.第四章 系统软件设计4.1 软件系统设计采用单片机内部定时器来产生倒

14、计时所需的秒信号,因为定时器所能计数的最大值为 65535,在 12m 系统时钟下,单次计时时间最多为65535us,为了计算方便,我们对计数器赋初值65535-50000=15535,这样使得定时器单次定时为50ms,计时完成后进入定时器中断,用变量t 来计量进入中断的次数,当进入次数为 20 时,刚好为一秒时间,此时将变量t 清零,并将倒计时值减一。4.2 程序功能流程图 4.2-1.第五章系统调试5.1 实际硬件系统图 5.1-1实验测试的效果图,在程序烧录成功后,取得理想的效果。5.1 开发环境运用 keil uvision5 软件进行编程, 烧录软件进行烧录, 达到实验的最终目的,

15、取得成功。图 5.2-1keil uvision5如图, keil uvision5 是一款主要用于 arm 开发的 mdk 软件,我们通过一定的配置使其与 c51 编译器融合,实现可以同时用于 arm 和 51 单片机的开发。keil 的网站虽然没有中文版本, 但是 keil 软件却被中国 80%的硬件工程师使用,但凡与电子相关的专业, 都会开始从单片机和计算机编程开始学习, 而学习单片机自然会用到 keil 软件。国内由米尔科技、亿道电子、英倍特提供 keil 的销售和技术支持服务,他们是 arm 公司合作伙伴,也是国内领先的嵌入式解决.方案提供商。5.2实验结果在单片机输入程序后,经过认

16、真的测试,效果特别的正常,各项结果符合老师给的要求。5.3 结论与展望首先,结业课题的研究是检验我们课堂学习成果的重要措施, 也是提高教学质量的重要环节, 是作为大学生所必须完成的任务。 通过本次课题的研究, 可以锻炼我们同学仔细认真的学习态度,可以很好的培养我的求实创新思维。本课题主要是研究和设计基于 51 单片机的 8 位数字抢答器,选用 stc89c52 单片机芯片作为核心, 加上廉价的 led 数码管巧妙完美的配合, 设计出了廉价,实用,小巧的抢答器,提升了抢答器市场的竞争力,弥补了智力竞赛的不足。本课题是以产品的低能耗、提高性价比为出发点进行构思设计, stc89c52 单片机采用

17、cmos 工艺。大大减少了系统的能耗。符合国家节能减排的大背景。数字抢答器的设计这一课题具有很强的针对性实战性, 很好的考查了我对电子类知识的掌握能力, 在研究课题期间让我学习到了很多知识同时也认识到了自己的不足之处, 为我今后的发展提供更好的指引; 拿到课题后在老师的关怀指导和同学们的热心帮助下, 通过查阅相关书籍、 上网查阅等途径涉猎与课题相关的知识,经过不懈努力最终将课题完成, 在这期间很好的培养了我独立处理问题的能力和主动涉猎知识的习惯,为我以后的学习生活打下了更好的基础。附件/*程序开始 */项目:基于 stc 单片机的 8 路抢答器设计/时间: 2016.05.22/作者:朱胜涛#

18、include #define uint unsigned int#define uchar unsigned charsbit sw1=p10;sbit sw2=p11;.sbit sw3=p12;sbit sw4=p13;sbit sw5=p14;sbit sw6=p15;sbit sw7=p16;sbit sw8=p17;sbit start=p33;sbit reset=p34;sbit add=p35;sbit dec=p36;sbit a=p20;sbit h1=p24;sbit h2=p27;sbit h3=p26;显示部分:段选: p0.0p0.6;7 段位选: p2.4,p2

19、.6,p2.7;三位注:共阳极 led*/uchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,;void keyscan();void display();void delay(uint);void reset();void deal();uint input=30;uchar ge,shi,bai=0,n=1,m=0,t=0,temp;void main()tmod=0x01;th0=(65536-50000)/256;tl0=(65536-50000)%256;.ea=1;et0=1;while(1)keys

20、can();display();/系统复位函数void reset()tr0=0;/关定时器th0=(65536-50000)/256;/重装初值。tl0=(65536-50000)%256;/低 8 位t=0;/中断函数计数清零a=0;/*delay(500);/报警 500 毫秒a=1;/*bai=0;/选手编号清零input=30;/设置剩余时间/系统显示函数void display()h1=0;/*p0=tablebai;/*选手编号显示*delay(1);/*h1=1;/关一位数码管,保证选手编号位不被干扰 *h2=0;/*p0=tableshi;/*剩余时间十位显示 *delay(1);/*h2=1;/*关二位数码管*.h3=0;/*p0=tablege;/*剩余时间个位显示*delay(1);/*h3=1;/*关三位数码管 */拆分任意两位数函数void deal()shi=input/10;/取整ge=input%10;/取余/键盘扫描函数void keyscan()/复位操作,无论何

温馨提示

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

评论

0/150

提交评论