四位抢答器课程设计报告_第1页
四位抢答器课程设计报告_第2页
四位抢答器课程设计报告_第3页
四位抢答器课程设计报告_第4页
四位抢答器课程设计报告_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

课程设计报告课程名称:微机原理课程设计题目:四位电子抢答器学院:环境与化学工程系:过程装备与测控工程专业:测控技术与仪器班级:测仪121学号:007学生姓名:文艺三起讫日期:2023-06-19~2023-06-29指导教师:熊剑、杨俊清、杨大勇摘要单片机就是微控制器,是面向应用对象设计、突出控制功能的芯片。单片机接上晶振、复位电路和相应的接口电路,装载软件后就可以构成单片机应用系统。将它嵌入到形形色色的应用系统中,就构成了众多产品、设备的智能化核心。本设计就是应用单片机制作多功能四位电子抢答器,具有抢答限时、抢答自锁、灯光指示、暂停复位等强大功能。本设计采用的是STC89S52单片机,该单片机采用的MCU51内核,具有很好的兼容性,内部带有8KB的ROM,能够存储大量的程序,采用STC_ISP软件给单片机烧写程序。除单片机外其他主要部件有12MHz的晶振、6位按键开关、八段共阴极数码管、无源蜂鸣器。关键词:抢答器四位多功能目录TOC\o"1-3"\h\u摘要-0-一、设计任务、要求-2-二、方案总体设计-3-2.1、显示模块-3-2.2、按键控制模块-3-2.4、声音报警模块-3-2.5、总体设计………………4三、硬件设计-5-3.1、单片机最小系统……………………….5、复位电路-5-、时钟信号的产生-5-3.2、数码管显示模块-6-3.3、抢答器显示模块-6-3.4、电源方案的选择-7-3.5、抢答器键盘的选择……………………83.6、蜂鸣器模块……………93.7、控制系统及所需元件-9-3.8、整体电路图…………..113.9、lochmaste硬件电路………………….12四、软件设计-13-五、系统仿真与调试-15-5.1、Proteus仿真原理图-15-5.2、实物图………………..17六、设计总结-19-七、参考文献-27-附录:源程序代码………………21一、设计任务、要求1.1、设计任务:利用单片机、STC89C52、3×2矩阵开关、数码管、无源蜂鸣器实现具有抢答限时、抢答自锁、灯光指示、暂停复位功能的四位电子抢答器。1.2、设计要求:〔1〕抢答器同时供4名选手或4个代表队比赛使用,分别用4个按钮K1~K4表示。〔2〕设置裁判开关k5和清零开关k6,该开关由主持人控制,当主持人按下k6,系统复位,预备抢答,当主持人按下总控制控制开关k5,开始抢答;〔3〕抢答器具有定时抢答功能,抢答时间为倒计时15秒。当主持人启动“开始〞键后,定时器进行减计时,同时扬声器发出短暂的提示声响,声响持续的时间0.5秒左右,当计时小于5秒后,每减少一秒,便报警一次以提示选手。〔4〕抢答器具有锁存功能,参赛选手在设定的时间内进行抢答,抢答有效,蜂鸣器发声,计时停止,数码管上显示选手的编号和时间,选手相应的信号灯被点亮,其他选手再抢答时无效。〔5〕如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答。等待下一轮抢答。二、方案总体设计本次设计四位电子抢答器,使用了STC89C52单片机芯片控制电路,单片机控制电路简单,电路简明易懂,使用键盘键上的按键来进行开始、抢答、复位,用一蜂鸣器来进行提醒,编程采用C程序,用keil软件进行程序编译,用protues软件进行软件仿真,lochmaster软件进行电路板布线。再通过四个模块:键盘、芯片、蜂鸣器、数码管即可满足设计要求。2.1、显示模块数码管是利用发光二极管的特性组合而成数字显示器件,通过控制相应的二极管的状态显示相应的数字。要使数码管正常显示就得有驱动电路驱动相应的段码,数码管的现实方式可分为静态显示和动态显示,静态显示方式只适合显示单个的数字。本设计采用的数码管为四位八段共阴极数码管,故此采用动态显示。2.2、按键控制模块本设计用到的键盘有6个按键,分别为四位选手抢答按键,主持人开始按键和复位按键,依次接p1.0-p1.5口。2.4、声音报警模块此模块采用无源蜂鸣器实现,通过编写相应的程序,当满足一要求时,蜂鸣器发声。蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、机、定时器等电子产品中作发声器件。2.5、总体设计设计总体框架图如图2-5-1所示四位八段共阴数码管四位八段共阴数码管六位按键输入STC六位按键输入蜂鸣器蜂鸣器89C52LED灯LED灯图2-5-1三、硬件设计3.1、单片机最小系统、复位电路复位操作有上电自动复位和按键手动复位两种方式,本设计采用按键电平复位,结构如图3-1所示。图3-1-1复位电路、时钟信号的产生89C52芯片内部有一个高增益法相放大器,用于构成振荡器。反相放大器的输入端为XTAL1,输出端为XTAL2,两端跨接石英晶体及两个电容就可以构成稳定的自己振荡器,电路如图3-2所示。图3-1-2晶振电路3.2、数码管显示模块图3-3四位共阴极数码管引脚图与实物图3.3、抢答器显示模块显示模块分为数码管模块和LED信号灯模块分别采用四位一体共阴极数码管和四个发光二极管,体积小,功耗低,故障率低,程序编译容易,资源占用较少。〔见图3-4,图3-5〕图13.3、系统电源图3-4数码管显示模块图3-5LED灯显示模块3.4、电源方案的选择系统需要5V电源来驱动单片机STC89C52。利用电脑的USB接口可以提供5V电压来驱动单片机。图3-6USB接口图3.5、抢答器键盘的选择键盘是单片机不可缺少的输入设备,是实现人机对话的纽带。键盘按结构形式可以分为非编码键盘和编码键盘,前者用软件方法产生键码,而后者那么用硬件方法来产生键码。在单片机中使用的都是非编码键盘,因为非编码键盘结构简单,本钱低廉,非编码键盘的类型很多,常用的有独立式键盘,行列式键盘等。本设计采用独立式键盘。键盘接口中使用多少根I/O线,键盘中就有几个按键,键盘接口使用了6根I/O口线,该键盘就有6个按键,这种类型的键盘,其按键比拟少,且键盘中各按键的工作互不干扰。因此可以根据实际需要对键盘中的按键灵活的编码。如下图。最简单的编码方式就是根据I/O输入口所直接反映的相应按键,按下的状态进行编码,称按键直接状态码,对于这样编码的独立式键盘,CPU可以通过直接读取I/O口的状态来获取按键的直接状态编码值,根据这个值直接进行按键识别,这样形式的键盘结构简单,按键识别容易。独立式键盘的缺点是需要占用比拟多的I/O口线,当单片机应用系统键盘中需要的按键比拟少或I/O口线比拟充裕时,可以采用这样类型的键盘。其模块电路图如图4所示。采用六个BUTTON按钮作为抢答的选择按钮,与STC89C52的相连。图3-7键盘模块3.6、蜂鸣器模块蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、机、定时器等电子产品中作发声器件,其图形如下图.图3-6-13.7、控制系统及所需元件控制系统主要由单片机应用电路、存储器接口电路、显示接口电路组成。其中单片机STC89C52是系统工作的核心,它主要负责控制各个局部协调工作。所需元件:该系统的核心器件是STC89C52。各口功能:是数码管的位选口;P2.0-P2.7是数码管的段选口,为其传送段选信号;P1.0-P1.3是4组抢答信号的输入口;P1.4、P1.5由裁判控制,分别是抢答开始\复位功能键;P1.6为蜂鸣器的控制口;P3.4-P3.7为选手信号灯输出口;在其外围接上电复位电路、数码管电路、LED发光二极管、按键电路及扬声器电路。电子抢答器用单片机来设计制作完成的,由于其功能的实现主要是通过软件编程来完成的,所以采用单片机STC89C52,它是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和512bytes的随机存取数据存储器〔RAM〕,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的STC89C52单片机可为您提供许多较复杂系统控制应用场合。下列图为其I/O口引脚图:STC89C52管脚图3.8、整体电路图图3-73.9、Lochmaster硬件电路图3-8 硬件电路正面视图与反面视图四、软件设计4.1、程序流程图:初始化局部初始化局部K5==0启动中断,数码管开始倒计时假设有选手抢答中断停止,数码管显示选手的标号并点亮信号灯结束开始NYYN抢答器主程序流程图定时器0中断定时器0中断1秒时间到?中断返回N秒加1数码管显示秒值Y抢答器定时器中断流程图扫描键盘扫描键盘K0键按下K1键按下K3键按下K2键按下扫描停止与K0键对应的发光二极管亮及数码管显示与K1键对应的发光二极管亮及数码管显示与K2键对应的发光二极管亮及数码管显示与K3键对应的发光二极管亮及数码管显示YYYYNNNN五、系统仿真与调试5.1、Proteus仿真原理图Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。它是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台。以下是用Proteus仿真调试图:抢答倒计时3号选手抢答成功无人抢答最终显示界面5.2、实物图图5-1正在运行中的实物图图5-2实物图正面图5-3实物图反面六、设计总结经过近十天的努力,在不懈的努力下,我总算是成功地焊出了属于自己的成果,完成了这次设计工程。说实话,这些天真的很累,不停歇地学习软件的用法,学习各种器件的功能。但是,毋庸置疑的是收获确实是巨大的。通过此次课程设计,我重新认识到了自学的重要性,以及学以致用的道理。我在图书馆和网上查阅了大量的资料,极大地系统化了我所学的知识。通过此次的抢答器的设计,让我更加重视到专业知识的重要性及动手能力的必要性,在整个制作过程中,我出现很多问题,但我们并没有因此而放弃,在不断调试和失败中,我不仅熟悉了专业知识,更是磨炼了我的心智,让我明白了任何事情只要去做,多多去尝试,那么任何事情即使做的不好,也会受益很多。就像有句话叫做:心态决定的成败的话。无论做什么事情都不可能一帆风顺,碰到阻碍不要舍弃,不要踟蹰不前,不经历风雨,怎么见彩虹!在这次课程设计中,碰到了很多技术上的问题。首先是程序的编写,我采用的是C语言编写本设计的程序。由于根底知识知识不扎实,即使在查阅了很多资料的情况下,我依旧不能一次性的编写出正确的程序。在keil软件中经过不停地修改,程序终于编译成功。那一瞬间的欣喜文字真的很难表述。接下来就是洞洞板的排线问题了。由于我购置器件时未注重规格,导致买的洞洞板过小,而电阻和LED灯过大,在器件的安放上着实伤透了脑筋。然后由于洞洞板太小,没有足够的地方进行排线,导致数码管的f、g管脚采取了飞线的连接方式。最后那么是在焊接上了。一般来说,造成硬件问题的首要问题就是焊接了,也就是说焊接的好与坏直接响产品的正常运行。造成焊接质量不高的常见原因是:①焊锡用量过多,形成焊点的锡堆积;焊锡过少,缺乏以包裹焊点。②冷焊。焊接时烙铁温度过低或加热时间缺乏,焊锡未完全熔化、浸润、焊锡外表不光亮(不光滑),有细小裂纹(如同豆腐渣一样!)。③夹松香焊接,焊锡与元器件或印刷板之间夹杂着一层松香,造成电连接不良。假设夹杂加热缺乏的松香,那么焊点下有一层黄褐色松香膜;假设加热温度太高,那么焊点下有一层碳化松香的黑色膜。对于有加热缺乏的松香膜的情况,可以用烙铁进行补焊。对于已形成黑膜的,那么要"吃"净焊锡,清洁被焊元器件或印刷板外表,重新进行焊接才行。④焊锡连桥。指焊锡量过多,造成元器件的焊点之间短路。这在对超小元器件及细小印刷电路板进行焊接时要尤为注意。⑤焊剂过量,焊点明围松香残渣很多。当少量松香残留时,可以用电烙铁再轻轻加热一下,让松香挥发掉,也可以用蘸有无水酒精的棉球,擦去多余的松香或焊剂。⑥焊点外表的焊锡形成锋利的突尖。这多是由于加热温度缺乏或焊剂过少,以及烙铁离开焊点时角度不当浩成的内。由于自己经验缺乏,导致在焊接过程中频频犯错,幸好及时改正,也没有造成大错。总而言之,本次课程设计对自己而言是一次非常有意义的经历,希望自己能吸取经验,在以后的学习中改正自己的缺乏之处,以更饱满的精神状态迎接日后的挑战。附录〔C程序〕#include<reg52.h> #defineucharunsignedchar#defineuintunsignedintUcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共阴数码管0~9编码uinti,j,time,num;ucharge,shi;bitflag,flag1;sbitk1=P1^0;sbitk2=P1^1;sbitk3=P1^2;sbitk4=P1^3;sbitk5=P1^4;sbitk6=P1^5;//k1~k4为选手按键,k5为主持人开关,k6为复位键sbitbeep=P1^6;//定义蜂鸣器的端口sbitwei1=P0^0;sbitwei2=P0^1;sbitwei3=P0^2;sbitwei4=P0^3;//定义数码管的位选端口sbitled1=P3^4;sbitled2=P3^5;sbitled3=P3^6;sbitled4=P3^7;//定义LED灯的端口voiddelay(uinta)//延时函数{uinti,j;for(i=a;i>0;i--)for(j=110;j>0;j--);}voiddisplay()//显示函数{ shi=time/10;ge=time%10; P2=table[num];//显示选手编号 wei1=0;delay(1); wei1=1;P2=table[shi]; wei3=0; delay(1);//显示时间 wei3=1;P2=table[ge]; wei4=0; delay(1); wei4=1; }voidkeyscan(){ if(time==6) TR1=1;if(k1==0)//按键按下 { delay(10);//延时去抖动 if(k1==0) {num=1;led1=0;flag=1;TR0=~TR0;TR1=0;//关定时器0,关定时器1beep=1;delay(500);beep=0;//蜂鸣器响500毫秒while(!k1);//等待按键释放} } if(k2==0) {delay(10); if(k2==0) {num=2;led2=0;flag=1;TR0=~TR0;TR1=0;beep=1;delay(500);beep=0;while(!k2);} } if(k3==0) { delay(10); if(k3==0) {num=3;led3=0;flag=1;TR0=~TR0;TR1=0;beep=1;delay(500);beep=0;while(!k3);}} if(k4==0) { delay(10); if(k4==0) {num=4;led4=0;flag=1;TR0=~TR0;TR1=0;beep=1;delay(500);beep=0;while(!k4);} }display();//显示选手编号和时间if(time==0){TR0=0;TR1=0;flag=1;//关计时器0和1}}voidinit(){TMOD=0x11;TH0=(65536-50000)/256;TL0=(65536-50000)%256; TH1=(65536-50000)/256;TL1=(65536-50000)%256;EA=1;ET0=1;ET1=1;beep=0;//作品上蜂鸣器是赋高电平响,开始置低关闭}voidmain(){init();//初始化while(1) { display(); if(k6==0) {delay(10); if(k6==0) {P3=0xff;//关闭所有LED灯flag1=k6;time=15;wei1=0;num=0;

温馨提示

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

评论

0/150

提交评论