单片机抢答器毕业设计论文.docx
《单片机抢答器毕业设计论文.docx》由会员分享,可在线阅读,更多相关《单片机抢答器毕业设计论文.docx(33页珍藏版)》请在冰豆网上搜索。
单片机抢答器毕业设计论文
单片机抢答器设计与实现
摘要
此次设计提出了用AT89C51单片机为核心控制元件,设计一个简易的抢答器,本方案以AT89C51单片机作为主控核心,与MAX232、发光二极管、数码管、蜂鸣器等构成硬件操作,再利用C语言编程,来控制抢答器的功能实现。
本设计的系统实用性强、判断准确、操作简单、扩展功能强。
其实在以往企业或学校等举行自己搞的知识竞赛中,都是主持人读题,观众选手得安静仔细听题目,有条件的花上万元买个电子抢答器,算是给知识竞赛赛场添彩了。
大多依靠主持人发挥水平,选手和观众渴望的类似电视台的节目效果难以实现。
与电视播放的那些竞赛场面对照——选手坐在显示器前答题,观众看着大屏幕显示题目和答案,大屏幕有抢答显示计分排行等,绚丽的画面有节奏的音乐——差距很大,但这些都不是电视台的专利,利用竞赛软件,运用互动式多媒体技术,将竞赛题目制作成演示程序。
通过投影仪大屏幕或电视墙在现场播放,给观众强烈的视听感受,凝聚竞赛现场气氛。
通过选手面前的显示器,为参赛队员提供最直接的看题效果,保证队员对题目的正确理解。
而我们设计的抢答器节省的不小的开支,还能直观公正的看清哪位选手先抢答到题并有主持人来往下读题目。
它的功能实现是有主持人按键来控制总开关,主持人按下开关那么选手开场抢答,此时数码管开场0—60计数,并且选手们必须在规定的时间内进展抢答,假设过了60秒还没抢答那么抢答失效,选手们假设有一个在规定的时间内抢答成功那么其余的选手不可以再抢答,在数码管上会显示哪位选手抢答到题目及其所用的时间。
关键字:
STC89C52单片机、动态显示、中断
第一章绪论………………………………………………………………………………1
1.1单片机抢答器的背景………………………………………………………………1
1.2单片机抢答器的意义………………………………………………………………1
1.3抢答器的应用………………………………………………………………………1
第二章整体设计方案……………………………………………………………………2
2.3单片机的存储器配置………………………………………………………………6
第三章硬件设计…………………………………………………………………………8
3.1最小系统的设计……………………………………………………………………8
3.2数码管显示电路……………………………………………………………………8
3.3按键控制电路………………………………………………………………………9
第四章软件设计…………………………………………………………………………11
4.1抢答器系统软件设计的流程图……………………………………………………11
4.2主程序………………………………………………………………………………12
4.3中断程序……………………………………………………………………………15
第五章系统的仿真………………………………………………………………………18
5.1protenus软件的介绍及使用………………………………………………………18
5.2抢答器protenus软件的仿真……………………………………………………22
第六章调试功能说明……………………………………………………………………23
6.1系统的调试…………………………………………………………………………23
6.2软件调试问题及解决………………………………………………………………23
6.3焊接的问题及解决…………………………………………………………………24
6.4单片机的通信………………………………………………………………………25
结论…………………………………………………………………………………………27
工作展望………………………………………………………………………………………28
参考文献……………………………………………………………………………………29
致谢……………………………………………………………………………………………30
第一章绪论
1.1单片机抢答器的背景
二十世纪跨越了三个"电〞的时代,即电气时代、电子时代和现已进入的电脑时代。
不过,这种电脑,通常是指个人计算机,简称PC机。
它由主机、键盘、显示器等组成。
还有一类计算机,大多数人却不怎么熟悉。
这种计算机就是把智能赋予各种机械的单片机〔亦称微控制器〕。
顾名思义,这种计算机的最小系统只用了一片集成电路,即可进展简单运算和控制。
因为它体积小,通常都藏在被控机械的"肚子〞里。
它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。
现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。
各种产品一旦用上了单片机,就能起到使产品升级换代的成效,常在产品名称前冠以形容词——"智能型〞,如智能型洗衣机等。
现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。
究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。
在知识竞赛中,特别是做抢答题时,在抢答过程中,为了更确切的知道哪一组或哪一位选手先抢答到题,必须要有一个系统来完成这个任务。
假设在抢答中,只靠人的视觉〔或者是听觉〕是很难判断出哪一组〔或哪一个选手〕先抢答到题的。
利用单片机编程来设计抢答器,可以使以上问题得以解决,即使两组的抢答时间相差几微秒,也能轻松的分辨出哪一组〔或哪个选手〕先抢答到题的。
本文主要介绍了抢答器的工作原理及设计,以及它的实际用途。
1.2单片机抢答器的意义
本系统采用单片机作为整个控制核心。
控制系统的四个模块为:
显示模块、存储模块、语音模块、抢答开关模块。
该系统通过开关电路四个按键输入抢答信号;利用一个数码管来完成显示功能;用按键来让选手进展抢答,在数码管上显示哪一组先答题的,从而实现整个抢答过程。
在知识比赛中,特别是做抢答题目的时候,在抢答过程中,为了知道哪一组或哪一位选手先答题,必须要设计一个系统来完成这个任务。
如果在抢答中,靠视觉是很难判断出哪组先答题。
利用单片机系统来设计抢答器,使以上问题得以解决,即使两组的抢答时间相差几微秒,也可分辨出哪组优先答题。
本文主要介绍了单片机抢答器设计及工作原理,以及它的实际用途。
系统工作原理本系统采用89c52单片机作为核心。
控制系统的四个模块分别为:
存储模块、显示模块、语音模块、抢答开关模块。
该抢答器系统通过开关电路四个按键输入抢答信号;利用一个数码管来完成显示功能。
工作时,用按键通过开关电路输入各路的抢答信号,经单片机的处理,输出控制信号,单片机控制的智能抢答器设计。
1.3抢答器的应用
随着我国经济和文化事业的开展,在很多公开竞争场合要求有公正的竞争裁决,诸如证券、股票交易及各种智力竞赛等,因此出现了抢答器。
抢答器一般是由很多电路组成的,线路复杂,可靠性不高,功能也比拟简单,特别是当抢答路数很多时,实现起来就更为困难。
因此我们设计了以单片机为核心的新型智能的抢答器,在保存了原始抢答器的根本功能的同时又增加一系列的实用功能并简化其电路构造。
抢答器又称为第一信号鉴别器,其主要应用于各种知识竞赛、文艺活动等场合。
传统普通抢答器主要存在以下缺陷:
〔一〕、在一次抢答过程中,当出现超前违规抢答时,只能处理违规抢答信号,而对没有违规的有效抢答信号不能进展处理,因而使该次抢答过程变为无效。
〔二〕、当有多个违规抢答时,普通抢答器或采用优先编码电路选择其中一个,或利用抢答电路电子元件的"竞争〞选择其中一个。
对于后者由于抢答电路制作完毕后电子元件被固定。
各路抢答信号的"竞争〞能力也被固定,因而本质上也有优先权。
普通抢答器存在不公平性。
〔三〕、当有多个违规抢答时,普通抢答器只能"抓住〞其中一个而出现"漏洞〞。
第二章整体设计方案
2.1单片机的选择
2.1.1什么是单片机
单片机是指一个集成在一块芯片上的完整计算机系统。
尽管它的大局部功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大局部部件:
CPU、内存、内部和外部总线系统。
单片机是将中央处理器,随机存储器。
只读存储器,定时器芯片和I/O接口电路集成于一个芯片上的微控制器。
单片机也被称为微控制器〔Microcontroler〕,是因为它最早被用在工业控制领域。
单片机由芯片内仅有CPU的专用处理器开展而来。
最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提及要求严格的控制设备当中。
INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的开展便分道扬镳。
早期的单片机都是8位或4位的。
其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。
此后在8031上开展出了MCS51系列单片机系统。
基于这一系统的单片机系统直到现在还在广泛使用。
随着工业控制领域要求的提高,开场出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。
90年代后随着消费电子产品大开展,单片机技术得到了巨大的提高。
随着INTELi960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。
而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。
目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。
当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。
而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。
单片机是靠程序的,并且可以修改。
通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些那么是花大力气也很难做到的。
一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!
但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!
只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的平安保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。
因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
2.1.2单片机的应用
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个X畴:
1.在智能仪器仪表上的应用
单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。
采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。
例如精细的测量设备〔功率计,示波器,各种分析仪〕。
2.在工业控制中的应用
用单片机可以构成形式多样的控制系统、数据采集系统。
例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。
3.在家用电器中的应用
可以这样说,现在的家用电器根本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。
4.在计算机网络和通信领域中的应用
现代的单片机普遍具备通信接口,可以很方便地与计算机进展数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备根本上都实现了单片机智能控制,从手机,机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动,集群移动通信,无线电对讲机等。
5.单片机在医用设备领域中的应用
单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。
此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。
2.1.3如何选择单片机
ATMEL公司的89C52单片机,是增强型RISC内载Flash的单片机,芯片上的Flash存储器附在用户的产品中,可随时编程,再编程,使用户的产品设计容易,更新换代方便。
89C52单片机采用增强的RISC构造,使其具有高速处理能力,在一个时钟周期内可执行复杂的指令,每MHz可实现1MIPS的处理能力。
89C52单片机工作电压为2.7~6.0V,可以实现耗电最优化。
89C52的单片机广泛应用于计算机外部设备,工业实时控制,仪器仪表,通讯设备,家用电器,宇航设备等各个领域.
由于单片机的种类很多,在选择单片机时要依据实际设计要求选择适宜的单片机。
例如当设计仅仅需要一个单片机定时器那么选择89C1051或89C2051即可,而不选择89C52,因为后者的价格较高一些。
当然假设程序和数据区的要求较高那么选择的单片机还要满足程序空间的要求。
下面我们来比拟89C51和89C52:
数据存储器
程序存储器
定时器
中断
51系列
128B
4KB
2
5
52系列
256B
8KB
3
8
表2-1-151和52的比拟
在本课题中,我们选用现在较为流行的52系列单片机,即选用ATMEL公司的STC89C52。
2.2单片机的根本构造
2.2.1单片机的引脚分布及功能
MCS-52的引脚说明:
MCS-52系列单片机中的8032、8052及8752均采用40Pin封装的双列直接DIP构造,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。
现在我们对这些引脚的功能加以说明:
图2-2-1STC89C52的引脚图
Pin9:
RESET/Vpd复位信号复用脚,当8052通电,时钟电路开场工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。
初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用存放器被清"0”。
RESET由高电平下降为低电平后,系统即从0000H地址开场执行程序。
然而,初始复位不改变RAM〔包括工作存放器R0-R7〕的状态,8052的初始态。
8052的复位方式可以是自动复位,也可以是手动复位,见下列图4。
此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丧失。
图2-2-2复位电路和晶振电路图
1、8位微处理器和控制器
2、内部含有4KB的程序ROM。
3、2个16位的计数/定时器。
4、内部时钟振荡器
5、全双工方式的串行接口〔UART〕种寻址方式。
6、最高时钟振荡频率可达12MHZ,大局部指令执行时间为1µs,乘、除指令为4µs。
2.2 信号引脚介绍:
1.输入/输出口线
2.ALE地址锁存控制信号
3.在系统扩展时,ALE用于控制把口输出的底8位地址送入锁存器锁存起来,以实现低位地址和数据的分时传送。
此外由于ALE是以十二分之一晶振频率的固定频率输出的正脉冲,因此可作为外部时钟或外部定时脉冲使用。
4.外部程序存储器读选通信号
5.在读外部ROM时有效〔低电平〕,以实现外部ROM单元的读操作
6.访问程序存储器控制信号
7.当信号为低电平时,对ROM的读操作限定在外部程序存储器;而当信号为高电平时,那么对ROM的读操作是从内部程序存储器开场,并可延续至外部程序存储
8.RST复位信号
当输入的复位信号延续2个机器周期以上高电平时即为有效,用以完成单片机的复位操作。
9.XTAL1和XTAL2外接晶体引线端
当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。
10.VSS地线
11.VCC+5V电源
2.3单片机的存储器配置
〔b〕
图2-3-1单片机的内部存储器配置
从用户的角度存储器分3个逻辑地址空间:
1.片内外统一编址的64KB程序存储器地址空间0000H~FFFFH即〔a〕图;
2.256B的片内数据存储器地址空间00H~FFH〔包括低128B的内部RAM地址00H~7FH和高128B的特殊功能存放器地址空间〕即〔b〕图;
3.64KB的外部数据存储器或扩展I/O接口地址空间0000H~FFFFH如〔c〕图。
4.画出RAM的组成
RAM共有256个单元,按功能分为两局部低128单元〔单元地址00H~7FH〕和高128单元〔单元地址80H~FFH〕。
其中高128单元是供应专用存放器使用,因这些存放器的功能已作为专门规定故此称之为特殊功能存放器SFR—11个SFR有位寻址作用,而且要说明低128单元是单片机的真正RAM存储器。
30H~7FH
通用RAM区
20H~2FH
位寻址区〔00H~7FH〕
18H~1FH
工作存放器3区〔R7~R0〕
10H~17H
工作存放器2区〔R7~R0〕
08H~0FH
工作存放器1区〔R7~R0〕
00H~07H
工作存放器0区(R7~R0)
图2-3-2RAM的组成图
低128单元是单片机的真正RAM存储器,按其用途划分为三个区域:
⒈通用存放器区
通用存放器为CPU提供了就近数据存储的便利,有利于提高单片机的运算速度。
此外,使用通用存储器还能提高程序编制的灵活性,因此在单片机的应用编程中应充分利用这些存放器,以简化程序设计,提高程序运行速度。
⒉位寻址区
内部RAM的20H~2FH单元,即可作为一般RAM单元使用,进展字节操作,也可以对单元中每一位进展位操作,因此把该区称之为位寻址区。
⒊工作存放区
用户存储数据的。
第三章硬件设计
3.1单片机的最小系统
52单片机的最小系统电路图:
图3-1-1单片机的最小系统图
说明:
①复位电路:
由电容串联电阻构成,由图并结合"电容电压不能突变"的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位.一般教科书推荐C取10u,R取8.2K.当然也有其他取法的,原那么就要让RC组合可以在RST脚上产生不少于2个机周期的高电平;
②复位输入高电平有效,当振荡器工作是,RST引脚出现两个机器周期以上的高电平,使单片机复位。
此电路除具有上电复位功能外,假设要复位只需按"RST〞键,此电源Vcc经电阻分压,在RST端产生一个复位高电平;
③晶振电路:
典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生准确的方波便于12分频,方便定时操作);
④单片机:
一片AT89S51/52或其他51系列兼容单片机;
注意:
对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开场执行;当接低电平时,复位后直接从外部ROM的0000H开场执行;
⑤电源局部:
接+5伏特的电压。
3.2数码管显示电路
LED显示器,实现七段数码管的显示三位十六进制数。
来进展倒计时,即来限制抢答的时间。
其中数码管的显示可以分为两种:
静态显示和动态显示。
静态显示的段选位和位选位均单独连接,因此占用的I/O接口多,无法扩展多个数码管,在这种采用这种方式,必须要给LED恒定的电压,要求电压一直保持,所以一般在LED和单片机之间加锁存器,这种显示方式亮度高,编程较简单,构造清晰,管理也较简单,占用的CPU时间少。
②动态显示驱动:
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共端增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到一样的字形码,但终究是那个数码管会显示出字形,取决于单片机对位选通端电路的控制,所以我们只要将需要显示的数码管选通控制翻开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
从电路上,按数码管的接法不同又分为共阴和共阳两种。
图1-1是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。
其数码管的外形如下列图所示:
图3-2数码管的共阴和共阳极接法
第四章软件设计
4.1抢答器流程图
流程图是使用图形表示算法的思路是一种极好的方法,不管采用何种程序设计方法,程序总体构造确定后,一般以程序流程图的形式对其进展描述。
总体框图中的各个子模块或各个子任务也应该结合具体的教学模型和算法画出较详细的程序流程图,供后面编写具体程序和阅读程序使用。
流程图是由一些图框和流程线组成的,其中图框表示各种操作的类型,图框中的文字和符号表示操作的内容,流程线表示操作的先后次序。
流程图的根本构造为顺序构造,分支构造〔又称选择构造〕,循环构造。
为便于识别,绘制流程图的习惯做法是:
方框表示:
要执行的处理〔Process〕
平行四边型表示:
代表资料输入〔Input〕
不规那么图形代表资料输出〔Output〕或报表输出〔Print〕
菱形表示:
决策或判断〔例如:
If...Then...Else〕
初始化局部
Kz==0
启动中断,数码管开场计时
假设有选手抢答
中断停顿,数码管显示选手的标号及所用的时间
完毕
开场
N
Y
Y
N
图4-1-1抢答器主程序流程图
定时器0中断
1秒时间到?
中断返回
N
秒加1
数码管显示秒值
Y
图4-1-2抢答器定时器中断流程图
外部中断0中断
K0键按下
K1键按下
K3键按下
K2键按下
中断返回
与K0键对应的发光二极管亮及数码管显示
与K1键对应的发光二极管亮及数码管显示
与K3键对应的发光二极管亮及数码管显示
与K2键对应的发光二极管亮及数码管显示
Y
Y
Y
Y
N
N
N
N
图4-1-3外部中断程序图
4.2主程序
我们组所设计的抢答器的程序采用的是C程序设计,C语言的显著特点是用二进制来编写程序,程序的各个局部除了必要的信息交流外彼此之间相互独立。
这种构造化方式可使程序层次清晰,便于使用、维护以及调试。
C语言是以函数形式提供应用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全构造化。
虽然C语言也是强类型语言,但它的语法比拟灵活,允许程序编写者有较大的自由度。
本次设计的主程序中包括时钟设计程序,定时器中断子程序,LED显示程序以及按键控制子程序,