毕业设计(论文)单片机八路扫描式抢答器

上传人:1888****888 文档编号:39173117 上传时间:2021-11-10 格式:DOC 页数:37 大小:1.97MB
返回 下载 相关 举报
毕业设计(论文)单片机八路扫描式抢答器_第1页
第1页 / 共37页
毕业设计(论文)单片机八路扫描式抢答器_第2页
第2页 / 共37页
毕业设计(论文)单片机八路扫描式抢答器_第3页
第3页 / 共37页
点击查看更多>>
资源描述
河南工业职业技术学院毕业设计任务书 类别:单片机八路扫描式抢答器 专业: 班级: 姓名: 毕业设计题目:八路扫描式抢答器指导老师姓名: 目录八路抢答器设计1一、引言3二、设计要求:5三、方案设计:6四、系统核心AT89S52单片机简介81 AT89S52单片机的特点82 AT89S52芯片引脚及其功能特点介绍9五、硬件电路的设计131 CPU模块132 键盘模块143 倒计时显示模块154 选手编号显示模块165 发声模块16六、软件电路设计181 电路部分功能设计182 程序流程图193 程序设计22七、调试30八、设计总结:33参考文献:3435八路抢答器设计Eight Roads Rob The Answer Machine Design电子工程系 电子信息工程摘要:本文主要以AT89S52 单片机为核心器件,设计实现了八路抢答器系统。利用C语言编程及单片机芯片与外围硬件电路来实现八路抢答、锁存、显示、定时、报警、清零等功能。工作时,用按键通过开关电路输入各路的抢答信号,经单片机的处理,输出控制信号,控制数码管和其它硬件工作。在数码管上显示优先答题组号,从而实现整个抢答过程。关键词:单片机 AT89S52 数码管 八路抢答器 报警 ABSTRACT: This paper mainly AT89S52 microcontroller as the core device, designed to achieve the eight Responder system. Use of C language programming and microcontroller chips and hardware to achieve the eight peripheral answer in, latch, display, time, alarm, clear functions. Work, with the key switch circuit by the answer in the input signals from various quarters, the MCUs processing, the output control signal to control the digital pipes and other hardware work. Displayed on the digital answering priority group number, in order to achieve the answer in the process. Key words: microcontroller AT89S52 Responder eight digital alarm一、引言随着科学技术的发展和普及,各种各样放入竞赛越来越多,其中抢答器的作用也就显而易见。目前很多抢答器基本上采用小规模数字集成电路设计,使用起来不够理想,因此设计一更易于使用和区分度高的抢答器成了非常迫切的任务。现在单片机已进入各个领域,以其功耗小、智能化而著称,所以若有单片机来设计抢答器,更使以上的问题得以解决,针对以上的情况,本文设计出以AT8952单片机为核心的八路抢答器,它能根据不同的抢答输入信号,经过单品级的控制和处理并产生不同的与输入信号相对应的路数。最后通过数码管进行显示。当抢答人员按下所对应的键值后,数码管上立即显示所对应的键值号码,且蜂鸣器响一下,这时其他抢答人员再次按下其他键都是无效,不能被单片机所识别,只有当主持人按下倒计时键时,数码管从20s倒计时,因为是程序控制,所以时间可以任意设置,我是以20s的标准来设计的,当倒计时为0时,蜂鸣器开始发出滴滴的声音,数码管上显示两个0,直到主持人按下重新开始键,又一轮开始,重新开始键也就是复位键。二、设计要求:1.能够实现8 人抢答。2.数码管显示,程序用动态扫描的方式编写。3.有倒计时显示。4.当倒计时为0时,蜂鸣器发出滴滴的声音以示报警。三方案设计:方案一:用数字电路制作,设计如图3-1所示,采用JK触发器,优先编码器,数码管译码器74ls48,共阴数码管等数字电路组成。其电路功能比较单一,制作复杂,有一定技术缺陷。八路抢答开关触发锁存电路编码器7段显示译码数码管显示解锁电路图3-1 数字电路设计方框图 方案二:用单片机制作抢答器,系统设计如图3-2所示,包括键盘模块、选手显示模块、得分显示模块、倒计时显示模块、蜂鸣器模块、CPU模块等。其具有多功能,制作简单,便于调试。单片机AT89S52裁判键抢答键复位键 选手号蜂鸣器倒计时显示图3-2 单片机抢答器设计框图通过对两个方案的选择和分析,由于方案二制作简单、成本较低、性价比好而且调试方便等原因。所以选择方案二的设计。四、系统核心AT89S52单片机简介AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器,使用ATMEL公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。1 AT89S52单片机的特点 灵活的ISP在线系统编程。只需要一条ISP下载线就可以直接把PC上编好的程序写到单片机和程序存储器中,不需要购买仿真器、编程器、擦写器和芯片适配器等设备。 32个可编程的IO口线。为用户提供了丰富的IO口资源。 6个中断源。 2个16位定时计数器。 1288字节内部RAM。 全双工串行UART通道。 4.05.5V的工作电压范围。 10000次可重复擦写周期。2 AT89S52芯片引脚及其功能特点介绍单片机具有体积小、功耗低、功能强、性价比高、易于推广应用等优点,在自动化装置、智能仪器仪表、过程控制、通信、家用电器等许多领域得到日益广泛的应用。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止,如图11 所示。 P0口(39 32脚)P0口是一组8位准双向IO口。作为输出口时,应外加上拉电阻,每位能驱动8个TTL逻辑电平。若作为输入口使用时,应先将“1”写入此口。当用地址数据总线使用时,P0口是一个真正的双向接口。 P1口(1 8脚)P1口是一个具有内部上拉电阻的8位准双向IO口。能驱动4个TTL逻辑电平,下面表11为P1口引脚第二功能。引脚号第 二 功 能P1.0(1脚)T2(定时计数器T2的外部记数输入),时钟输出 P1.1(2脚)T2EX(定时计数器T2的捕捉重载出发和方向控制) P1.5(6脚)MOSI(用于系统内部编程) P1.6(7脚)MISO(用于系统内部编程) P1.7(8脚)SCK(用于系统内部编程) 表11 P1口第 二 功 能 图41 AT89S52 P2口(21 28脚)P2口是一个带有内部上拉电阻的8位双向IO口,作为通用的IO口使用时,与P1功能相同。与P0口不同的是P2口只能作为地址使用而不作为数据线使用。P2口也是准双向口。 P3口(1 0 17脚)P3口除作为通用IO口使用外,在实际应用中它的第二功能信号更为重要,这是与其他3组8为IO口不同的地方。如下表12所示。 引脚号第 二 功 能P3.0(10脚)RXD ( 串行输入 )P3.1(11脚)TXD ( 串行输出 )P3.2(12脚)/INT0( 外部中断0 ) P3.3(13脚)/INT1 ( 外部中断1 ) P3.4(14脚)T0(定时计数器0外部记数输入) P3.5(15脚)T1(定时计数器1外部记数输入) P3.6(16脚)/WR(外部数据存储器写选通) P3.7(17脚)/WR(外部程序存储器写选通)表12 P3口第 二 功 能五、硬件电路的设计1 CPU模块单片机AT89S52的P1口控制数码管八段码显示,P2.6,P2.7控制数码管的公共端,P3口采集抢答按键信号,P2.4采集裁判键信号,P2.5控制蜂鸣器的输出。如图5-1所示:图5-1 单片机系统2 键盘模块键盘是人与单片机打交道的主要设备。在单片机应用中键盘用得最多的形式是独立键盘及矩阵键盘。它们各有自己的特点,其中独立键盘硬件电路简单,而且在程序设计上也不复杂,一般用在对硬件电路要求不高的简单电路中;矩阵键盘与独立键盘有很大区别,首先在硬件电路上它要比独立键盘复杂得多,而且在程序算法上比它要烦琐,但它在节省端口资源上有优势得多,因此它更适合于多按键电路。其次就是消除在按键过程中产生的“毛刺”现象。这里采用最常用的方法,即延时重复扫描法,延时法的原理为:因为“毛刺”脉冲一般持续时间短,约为几ms,而我们按键的时间一般远远大于这个时间,所以当单片机检测到有按键动静后再延时一段时间(这里我们取5ms)后再判断此电平是否保持原状态,如果是则为有效按键,否则无效。电路中S1S8是八位选手的抢答按键信号采集端口,SA1时裁判键信号采集端口,如图5-2所示:图5-2键盘电路3 倒计时显示模块数码管采用的是两位七段共阳数码管,其中AH段分别接到单片机的P1口,由单片机输出的P1口数据来决定段码值,位选码wei1、wei2分别接到单片机的P2.6、P2.7上,由单片机来决定当前该显示的是哪一位。如图5-3所示:图5-3显示电路4 选手编号显示模块 图5-4 编号显示5 发声模块声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单片机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,再利用延时程序控制“高”“低”电平的持续时间,能改变输出频率,从而改变音调,使喇叭发出不同的声音。如图5-5所示: 图5-5发声电路六、软件电路设计软件电路的设计包括键盘识别、倒计时、蜂鸣器控制、显示控制等几个方面。1 电路部分功能设计裁判按键识别:裁判按下裁判键后(key=0),开启定时器中断0,讲time赋值为20,开始倒计时,time开始自减,每秒钟减一,当time=0时,开启定时器中断1,然后数码管上显示00,定时器中断0为每秒time自减,定时器中断1为蜂鸣器发出滴滴的声音。当要新的一轮时按下重新开始键,就是复位键,新的一轮又开始。抢答键识别:当裁判位为1时,也就是说开始的一轮没有按下裁判键时,可以采集抢答按键信号,若没有选手抢答,则数码管上一直显示等待抢答的标志,如果是单个选手抢答,蜂鸣器发出一声报警,则同时将选手编号显示在数码管上,后任何其他情况则视为抢答失败。倒计时:在定时中断0中实现。当抢答成功时,裁判开始按下裁判键开始让抢答人员在一定时间内回答问题,我在这里以20s为例,每1s时间减1;当减到0时,开启外部中断1,使蜂鸣器鸣叫。蜂鸣器控制:只有选手抢答,蜂鸣器就鸣叫,当在一定时间内到达时没有回答完,蜂鸣器开始不断鸣叫,直到裁判员按下复位键。新的一轮抢答开始。显示控制:显示控制采用数码管扫描方式控制,当抢答开始,并且有人抢答时,显示对应选手的编号显示。2 程序流程图开始数码管显示-是否倒计时为0数码管从20开始倒计时YesNOYes数码管现实抢答人员编号判断是否抢答no图是否按下裁判键Yes 结束No开启外部中断1,蜂鸣器不断报警继续递减PCB图如下Pcb图实物图3 程序设计/*/抢答器 1)设置一个裁判键,当按下裁判键后,进入答题时间。2)20秒倒计数显示,时间到时,蜂鸣器不断的响,答题时间结束。3)每次当有一个选手抢答成功,其他选手则被屏蔽,不能再抢答。4)显示抢答选手编号。/*/#include #define uint unsigned int #define uchar unsigned char sbit shuma1=P27; sbit shuma2=P26; sbit beep=P25; sbit key=P24; void delay(uint xms); void display(uint shu); void di(); uchar shi,ge,time,msec=0,msecc=0; uchar code table=0xC0,0xF9,0xA4,0xB0,0x99, 0x92,0x82,0xF8,0x80,0x90; main() uchar haoma,fengming; EA=1;ET0=1;ET1=1;TMOD=0x01;TH0=0x3c;TL0=0xb0;TH1=0x3c;TL1=0xb0;TR0=0;TR1=0;P3=0xff;while(1)shuma2=0;shuma1=0; P1=0xbf;if(P3!=0xff)break; while(1)if(key=0)time=20;TR0=1;while(1)display(time);fengming=time;if(fengming=0) TR1=1;while(1)display(0);elseP3=0xff;haoma=P3;time=5;switch(haoma) case 0xfe:di();while(1)display(1);if(key=0)break;break;case 0xfd:di();while(1)display(2);if(key=0)break;break;case 0xfb:di();while(1)display(3);if(key=0)break;break;case 0xf7:di();while(1)display(4);if(key=0)break;break;case 0xef:di();while(1)display(5);if(key=0)break;break;case 0xdf:di();while(1)display(6);if(key=0)break;break;case 0xbf:di();while(1)display(7);if(key=0)break;break;case 0x7f:di();while(1)display(8);if(key=0)break;break; void delay(uint xms) uint i;uchar j;for(i=0;ixms;i+)for(j=0;j121;j+); void timer0() interrupt 1 TH0=0x3c;TL0=0xb0;msec+;if(msec=20)msec=0;time-;if(time=0)time=0;TR0=0; void timer1() interrupt 3 TH1=0x3c;TL1=0xb0;msecc+;if(msecc=20)msecc=0;beep=beep; void display(uint shu) shi=shu/10;ge=shu%10;shuma1=1;shuma2=0;P1=tableshi;delay(10);shuma1=0;shuma2=1;P1=tablege;delay(10); void di() beep=0;delay(500);beep=1;delay(500); 七、调试在电路的焊接时,为了便于焊接,我们采用先小后大的方法进行焊接,其中要注意对晶振的保护。焊接完成后,必须进行对整体电路板的检测,看看有没有漏焊、虚焊、短接和错接等问题,检查无误后,通电检测电路板是否正常。最小系统的电路不工作,首先应该确认电源电压是否正常。用电压表测量接地引脚跟电源引脚之间的电压,看是否符合电源电压,常用的是5V左右。接下来就是检测复位引脚的电压是否正常,EA引脚的电压正常为5V左右。然后利用下载线下载编写的程序,进行整机调试,直到数码管可以正确显示抢答选手的编号及得分情况并有蜂鸣器发声。八、设计总结: 在以前实训中做过数字电路抢答器,在数字电路抢答器制作中,缺少倒计时,犯规等功能,而且由于用了优先编码器,在理论上也存在不公平,而我们所用的单片机电路,具有倒计时,犯规的功能,在制作上功能更加齐全,结构更加简单,价格也相对降低。但本电路也存在缺点:由于芯片资源问题,它只能用复位键当作开始键使用。但基本功能得到了满足。在制作抢答器的过程中,我收获颇多,第一:我觉得通过制作抢答器让我更加深刻地理解所学的专业知识,而且学到了书本以外的电子技术知识,并且能够有效地把它们联系起来;第二:在制作的过程中,我体会到了协作精神对于一个团体是多么的重要,而且也培养了我专心致志的工作学习习惯,懂得了相互之间的理解与体谅。我们组的同学互相讨论、交流,增进了我们之间的感情,而且扩大彼此的视野。第三:我将所学到的知识应用到了实践,加深了我对单片机的认识,这使我在使用办公软件和绘图方面的能力得到了提高,可谓获益匪浅。 以上就是我的一些体会,我觉得我们的设计还不够完善,还有待不断地改进,因此我们还必须不断地学习相关的知识来丰富自己。八、设计总结: 在以前实训中做过数字电路抢答器,在数字电路抢答器制作中,缺少倒计时,犯规等功能,而且由于用了优先编码器,在理论上也存在不公平,而我们所用的单片机电路,具有倒计时,犯规的功能,在制作上功能更加齐全,结构更加简单,价格也相对降低。但本电路也存在缺点:由于芯片资源问题,它只能用复位键当作开始键使用。但基本功能得到了满足。在制作抢答器的过程中,我收获颇多,第一:我觉得通过制作抢答器让我更加深刻地理解所学的专业知识,而且学到了书本以外的电子技术知识,并且能够有效地把它们联系起来;第二:在制作的过程中,我体会到了协作精神对于一个团体是多么的重要,而且也培养了我专心致志的工作学习习惯,懂得了相互之间的理解与体谅。我们组的同学互相讨论、交流,增进了我们之间的感情,而且扩大彼此的视野。第三:我将所学到的知识应用到了实践,加深了我对单片机的认识,这使我在使用办公软件和绘图方面的能力得到了提高,可谓获益匪浅。 以上就是我的一些体会,我觉得我们的设计还不够完善,还有待不断地改进,因此我们还必须不断地学习相关的知识来丰富自己。参考文献:1 李全利单片机原理及应用技术 高等教育出版社 2 张齐 杜群贵 编著单片机应用系统设计技术电子工业出版社3 张凯单片机的C语言应用程序设计北京航空航天大学出版社4 张友汉电子线路设计应用手册福建科学技术出版社5 刘立凯C语言高级实例解析 清华大学出版社6 武志强 王英大 单片机实训基础教程天津教育出版社7 龙威林 杨冠声 单片机应用入门化学工业出版社8 施晓琴C语言编程技能训练天津教育出版社
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸下载 > CAD图纸下载


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!