基于STC单片机的8路抢答器设计.doc

上传人:李司机 文档编号:1124026 上传时间:2022-06-28 格式:DOC 页数:18 大小:101.48KB
返回 下载 相关 举报
基于STC单片机的8路抢答器设计.doc_第1页
第1页 / 共18页
基于STC单片机的8路抢答器设计.doc_第2页
第2页 / 共18页
基于STC单片机的8路抢答器设计.doc_第3页
第3页 / 共18页
基于STC单片机的8路抢答器设计.doc_第4页
第4页 / 共18页
基于STC单片机的8路抢答器设计.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《基于STC单片机的8路抢答器设计.doc》由会员分享,可在线阅读,更多相关《基于STC单片机的8路抢答器设计.doc(18页珍藏版)》请在三一办公上搜索。

1、-电子制作课程设计基于STC单片机的8路抢答器设计目录第一章绪论21.1抢答器应用21.2抢答器现状分析21.3本设计容、指标2第二章总体方案设计22.1系统构成22.2主要硬件选型及介绍2第三章系统硬件设计23.1系统硬件电路23.2模块电路设计与实现错误!未定义书签。第四章系统软件设计24.1软件系统设计24.2程序功能流程2第五章系统调试25.1实际硬件系统25.1开发环境25.1实验结果25.1结论与展望2参考文献错误!未定义书签。附件2要求:错误!未定义书签。第一章 绪论1.1 抢答器应用随着计算机技术的高速开展,单片机以其自身的特点,已广泛应用于智能仪器,工业控制,家用电器,电子玩

2、具等各个领域,特别是抢答题目的时候,同样需要单片机来控制整个过程。在抢答过程中,为了知道哪一组或哪一位选手先抢答,必须要设计一个系统来完成这个任务,如果在抢答中,靠视觉很难判断出哪组先答题,利用单片机系统来设计抢答器,是以上问题得以解决,即使两组的抢答时间相差几微秒,也可以分辨出哪组优先答题。这样使得选手都处在同一起跑线上,表达公平公正原那么本系统设计的八路抢答器主要是采用ATMEL公司的STC89C51单片机作为核心,控制系统的四个模块分别为:显示模块,储存模块,语音模块,抢答开关模块。抢答组数在八组以任意使用。通过本系统的设计后,主持人可以很快判断是谁抢答成功,以及给予相应的惩罚。1.2

3、抢答器现状分析近年来,随着单片机档次的不断提高,功能的不断完善,其应用日趋成熟、应用日趋扩大,特别是工业侧控、尖端武器和日用家电等领域更是因为有了单片机而生辉增色。单片机应用技术已成为一项新的工程应用技术。本课程设计正是以89C52单片机为中心设计的简单的1.3 本设计容、指标设计思路抢答器是为智力竞赛参赛者答题时进展抢答而设计的一种优先判决器电路,竞赛者可以分为假设干组,抢答时各组对主持人提出的问题要在最短的时间做出判断,并按下抢答按键答复下列问题。当第一个人按下按键后,那么在显示器上显示该组的,同时电路将其他各组按键封锁,使其不起作用。答复完问题后,由主持人将所有按键恢复,重新开场下一轮抢

4、答。该电路包括输入开关、声光显示、判别组控制以及组号锁存等局部。工作原理接通电源后,选手在定时时间抢答时,抢答器完成:优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停顿、制止二次抢答。如果再次抢答必须由主持人再次操作复位键才能再次开场抢答。第二章 总体方案设计2.1系统构成主要电路的设计抢答电路完成两个功能:一是分辨出选手按键的先侯,并锁存优先抢答者的编号,同时译码显示电路显示编号;二是制止其他选手按键操作无效复位电路的设计该复位电路采用上电自动复位和手动复位两种复位方式,要实现复位只需在,StC89C52单片机的RESE下引脚上加上5ms的高电平就可以了。上电复位是利用电容

5、的充电来实现的,即上电瞬间RESET端的电位与Vcc一样,随着电容上储能增加,电容电压也逐渐增大,充电电流减小,RESET端的电位。这样就会建立一个脉冲电压,调节电容与电阻的大小可对脉冲的持续时间进展调节。通常假设采用12MHz的晶振时,复位元件参数为10NF的电解电容和1 Ok Q的电阻。按钮复位电路是通过按下复位按钮时,电源对RESE丁端维持两个机器周期的高电平实现复位的。晶振电路的设计StC89C52单片机的定时控制功能是用时钟电路和振荡器完成的,而根据硬件电路的不同,连接方式分为部时钟方式和外部时钟方式。本设计中采用部时钟方式。音频放大电路其主要在于当单片机执行中断后,当输出信号时能够

6、在很短的时间里让扬声器工作并持续一定的时间。当抢答器程序响应,使三极管导通,蜂鸣器的放大电路被接通,与此同时,喇叭发出声响。显示电路显示电路可由LED或LCD来实现。此处选用LED方式,由6位七段显示器来实现淇亮度高,使用简单方便。电源电路电源采用全波整流,简单方便。2.1 主要硬件选型及介绍第三章 系统硬件设计3.1 系统硬件电路为使硬件电路设计尽可能合理,应注意以下几方面:(1) 尽可能采用功能强的芯片,以简化电路,功能强的芯片可以代替假设干普通芯片,随着生产工艺的提高,新型芯片的价格不断下降,并不一定比假设干普通芯片价格的总和高。(2) 留有设计余地。在设计硬件电路时,要考虑到将来修改扩

7、展的方便。因为很少有一锤定音的电路设计,如果现在不留余地,将来可能要为一点小小的修改或扩展而被迫进展全面返工。(3) 程序空间,选用片程序空间足够大的单片机,本设计采用STC89C52单片机。(4) I/O端口,在样机研制出来后进展现场试用时,往往会发现一些被无视的问题,而这些问题不是靠单纯的软件措施来解决的。如有些新的信号需要采集,就必须增加输入检测端;有些物理量需要控制,就必须增加输出端。如果在硬件电路设计就预留出一些I/O端口,虽然当时空着没用,那么用的时候就派上用场了。系统设计原理图1. 本设计各原理图所使用的画图软件简介Altium Designer的介绍如图,Altium Desi

8、gner 是原Protel软件开发商Altium公司推出的一体化的电子产品开发系统,主要运行在Windows操作系统。这套软件通过把原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合,为设计者提供了全新的设计解决方案,使设计者可以轻松进展设计,熟练使用这一软件必将使电路设计的质量和效率大大提高。Altium Designer采用设计库管理模式,可以进展联网设计,具有很强的数据交换能力和开放性及3D模拟功能,是一个32位的设计软件,可以完成电路原理图设计,印制电路板设计和可编程逻辑器件设计等工作,可以设计32个信号层,16个电源-地层和16个机加工层

9、。2. 原理图图3.1-1系统原理图如图,P3.3口为开场START键,P3.4为复位RESET键,为八路抢答输入S1-S8键,数码管段选P0口,位选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后振荡

10、器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。电路中两个电容 C1,C2的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进展微调。C1,C2的典型值为30PF。单片机在工作时,由部振荡器产生或由外直接输入的送至部控制逻辑单元的时钟信号的周期称为时钟周期。其大小是时钟信号频率的倒数,常用fosc表示。如时钟频率为12MHz,即fosc=12MHz,那么时钟周期为1/12s。2.显示电路的设计图3.2-2如图3-5,数码管采用4位八段共阳极LED,位选采用PNP三极管间接控制。增强数码管的电流输入。防止了因单片机驱动电流较小而引起的显示问题。使

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

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

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

14、5如图,Keil uVision5是一款主要用于ARM开发的MDK软件,我们通过一定的配置使其与C51编译器融合,实现可以同时用于ARM和51单片机的开发。Keil 的虽然没有中文版本,但是Keil 软件却被中国80%的硬件工程师使用,但凡与电子相关的专业,都会开场从单片机和计算机编程开场学习,而学习单片机自然会用到Keil 软件。国由米尔科技、亿道电子、英倍特提供Keil 的销售和技术支持效劳,他们是ARM公司合作伙伴,也是国领先的嵌入式解决方案提供商。5.2 实验结果在单片机输入程序后,经过认真的测试,效果特别的正常,各项结果符合教师给的要求。5.3 结论与展望首先,结业课题的研究是检验我

15、们课堂学习成果的重要措施,也是提高教学质量的重要环节,是作为大学生所必须完成的任务。通过本次课题的研究,可以锻炼我们同学仔细认真的学习态度,可以很好的培养我的创新思维。本课题主要是研究和设计基于51单片机的8位数字抢答器,选用STC89C52单片机芯片作为核心,加上廉价的LED数码管巧妙完美的配合,设计出了廉价,实用,小巧的抢答器,提升了抢答器市场的竞争力,弥补了智力竞赛的缺乏。本课题是以产品的低能耗、提高性价比为出发点进展构思设计,STC89C52单片机采用CMOS工艺。大大减少了系统的能耗。符合国家节能减排的大背景。数字抢答器的设计这一课题具有很强的针对性实战性,很好的考察了我对电子类知识

16、的掌握能力,在研究课题期间让我学习到了很多知识同时也认识到了自己的缺乏之处,为我今后的开展提供更好的指引;拿到课题后在教师的关心指导和同学们的热心帮助下,通过查阅相关书籍、上网查阅等途径涉猎与课题相关的知识,经过不懈努力最终将课题完成,在这期间很好的培养了我独立处理问题的能力和主动涉猎知识的习惯,为我以后的学习生活打下了更好的根底。附件/*程序开场*/工程:基于STC单片机的8路抢答器设计/时间:/ 朱胜涛#include #define uint unsigned int#define uchar unsigned charsbit SW1=P10; sbit SW2=P11; sbit S

17、W3=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.6,P2.7;三位注:共阳极LED*/uchar code table=0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80

18、,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) keyscan();display();/系统复位函数void reset()TR0=0; /关定时器TH0=(65536-50000)/256; /重

19、装初值。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)

20、; /*H3=1; /* 关三位数码管 * /拆分任意两位数函数 void deal() shi=input/10;/取整ge=input%10;/取余 /键盘扫描函数 void keyscan() /复位操作,无论何时,都可以复位,节省时间if(RESET=0)delay(10);/延时10毫秒,防止按键机械振动引起的误差reset();/系统复位n=1;/复位后开启主持人其他权限/n为1时,表示还没开场抢答,可以操作if(n)if(START=0)/开场抢答需要自锁0;x-)for(y=z;y0;y-);参考文献1 臧殿红,臧殿红.基于AT89S51的八路抢答器的设计J. 科技信息,201

21、1,25期:3.2 毅刚. 新编MCS-51单片机应用设计M.3版.:工业大学,2008:43 王建. 单片机入门与典型应用实例M.1版.:中国电力,2010:6-74 郭天祥. 新概念51单片机C语言教程M.1版.:电子工业,2009:7-10.5 凌志浩. AT89C52单片机原理与接口技术M.1版.:高等教育,2011:106 学海. 经典80C51单片机轻松入门与上手M.1版.:清华大学,2009:10-117 建岭. Protel99SE设计宝典M.1版.:电子工业,2011:178 郭天祥. 新概念51单片机C语言教程M.1版.:电子工业,2009:13.9 朝青. 单片机原理及接口技术M.3版.:航空航天大学,2006:15.10 王东锋. 单片机C语言应用100例M.1版.:电子工业,2009:17. z.

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号