基于单片机的电子智能抢答器毕业设计论文正稿Word格式文档下载.docx
《基于单片机的电子智能抢答器毕业设计论文正稿Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的电子智能抢答器毕业设计论文正稿Word格式文档下载.docx(62页珍藏版)》请在冰豆网上搜索。
3keyboardarrayinput,withabuzzersoundprompt.
Keyword:
singlechipmicrocomputer;
responder;
12864;
LCD
第1章引言
近年来,随着电子技术和微机的发展,以及电子产品在人们生活中的广泛应用,对单片机的应用已经进入到了人们生活中的方方面面,单片机在人们日常生活中起到越来越重要的作用。
单片机就是在一块硅片上集成了微处理器、存储器及各种输入/输出接口的芯片,这样一块芯片就具有了计算机的属性,因而被称为单片微型计算机,简称单片机[]。
单片机的应用非常广泛,在工业的自动化、智能仪器和仪表、消费类的电子产品、通信领域、武器装备等领域都要用到单片机。
而且大多数电器内的主控芯片就是由一块单片机,可以说,凡是与控制或者简单计算有关的电子设备都可以使用单片机来实现。
单片机把我们带入了一个智能化的电子世界,许多复杂的系统如果由单片机进行设计,就能使电路变得简单。
随着科技的发展和进步单片机与其他硬件设备进行串并行通信的结合使用得到了广泛的应用。
本设计就是基于单片机的抢答器,通过并行通信的方式与显示设备LCD12864传输数据。
从而使抢答系统的显示界面友好美观。
电子智能抢答器是在日常生活中应用非常广泛的一种设备,它快速,公正的判断出最先获得发言权的选手。
现在大多数的抢答器都是使用单片机加外围数字电路组成,增加了许多新的功能,如选手编号显示、倒计时、选手得分等功能。
本设计的电子抢答器用一片8051单片机控制,用4×
3矩阵键盘来模拟选手和主持人的按键,用一块带字库的12864液晶作为显示模块。
显示模块接单片机的P0口。
抢答器采用键盘扫描进行抢答,采用并行方式与液晶屏通信显示信息。
1.1单片机的应用与发展
一般的单片机系统由硬件系统和软件系统构成。
硬件系统是指微型计算机机系统的实体和装置,通常包括运算器、控制器、存储器、I/O接口等。
运算器和控制器集成在一起称为CPU,是微机核心部件;
CPU加上存放程序和数据的存储器、I/O端口以及外围设备构成单片机硬件系统[]。
软件系统是单片机系统中所用的各种程序的总称,软件系统对整个单片机系统进行控制,使系统按照人的意图完成特定的任务。
软硬件系统共同构成一个完整的单片机系统,紧密结合,缺一不可。
单片机在自动化、实时控制、家用电器、仪器仪表、网络通信、商业、医用、汽车、电子产品、航天军事等领域都有着广泛的应用。
例如:
(1)在传感器方面。
长久以来,传感器的品种和规格繁多,原理上的差别也比较大,使传感器的标准化工作进度较慢,不利于传感器在更广阔的领域中应用。
但是随着单片机技术的发展,对传感器和测试仪器的发展带来积极的影响。
传感器的的标准化工作也会更好的促进智能仪器和仪表的规范化,使其可以针对不同的对象,不同功能功能,设计成模块化的结构,并根据需要进行组合,这样可以在很大程度上提高可靠性并且降低成本。
(2)在自动控制系统方面。
单片机控制的自动控制系统不仅具有控制简单、方便、灵活性大的特点,还能提高技术指标,并且在单片机控制系统中,智能化的控制技术正被广泛使用。
(3)在自动化生产方面。
由单片机系统控制的自动化设备提高了工作效率,并且使人的劳动强度降低很多。
在改善了人工操作的工作方式同时,安全性大大提高。
单片机的发展趋势:
(1)微型化。
现今,单片机生产厂商将各种各样功能额的电路包含在单片机里面,是单片机的功能越来越强大,有些厂商还可以根据用户要求量身定做。
在单片机的功能越来越多的同时也要求它的体积更小、重量更轻,这就要求单片机除了有更强的功能外,体积也要尽量小。
现在的单片机都有多种封装形式,其中SMD(表面封装)越来越受欢迎,使单片机系统的产品也朝着微型化发展。
(2)低功耗化。
随着对单片机功率消耗的要求越来越低,现在各个单片机制造商基本都采用了CMOS(互补金属氧化物半导体工艺)。
80C51就采用了HMOS和CHMOS。
CMOS虽然功率较低,但是其工作速率不够高,二CHOMS则具备高速和低功耗的特点。
随意这种工艺将是今后一段时期单片机发展的主要方向。
(3)大容量、高性能。
以往的单片机内部ROM一般为几K字节,RAM为数百字节。
这在一些比较复杂的控制场合,这样的容量显然是不够的,必须进行外接存储器对ROM进行扩充。
目前,单片机内的ROM和RAM容量已经得到了很大提升,ROM最大可达64K,RAM最大可达2K。
并且进一步提高了CPU的运算性能,采用精简指令集和流水线技术,大幅提高了运行速率,并加强了中断和定时器功能。
(4)主流与多品种共存。
现今的单片机种类众多,各有各的特点,但依旧是以8051为核心的单片机占据主流地位,兼容8051结构和指令系统的单片机占据了单片机市场的半壁江山。
然而其他的PCI、AVR等单片机也有很强劲的发展势头。
台湾的HOLTEK公司近年单片机产量与日俱增,也占据不小的市场份额。
在一定时期内,这种情形将得到延续。
(5)串行扩展技术。
很长时间里,单片机通过三总线结构扩展外围器件成为单片机使用的主流。
随着低价位OTP和各种特殊的片内存储器的发展,外围接口不断进入片内,推动了单片机“单片”结构的发展。
特别是I2C、SPI等串行总线的应用,使单片机的引脚更少,系统结构更加简化更加规范。
1.2抢答器系统的发展分析
在2007年以前,抢答器作为一种竞赛设备,一直没有得到多大的提高,在使用过程中只起到抢答作用,而且在设计上基本是采用模拟电路的方式,抢答的精确度不够高,而且要受到线路和距离的限制。
随着电脑的普及率在大幅提高,在新的信息化时代中,各类竞赛活动也发生了一些大的变化,不再是现场主持人念题,选手回答,这种固定的、单调且死板的方式。
现场要求有更多互动和更多娱乐的效果。
活动的策划者们在不断的思考和在活动环节上进行设计。
电脑抢答器的出现解决了策划者们面对的难题,电脑抢答器是以电脑做为操作平台,控制器方面采用了数字电路和单片机的方式和电脑进行通信,这样设计使知识竞赛长期以来固定的模式被打破[]。
活动中出现了更多的设计和新玩法,使知识竞赛走向了新的方向。
以电脑做为平台的抢答器系统,可以通过竞赛软件控制抢答器,答题器,记分屏,灯光效果等等。
通过知识竞赛软件可以做到各个环节中的题目显示,选手可以通过手中的抢答器抢答,抢答结果会显示在大屏幕上和分数会显示在LED记分屏中。
选手还能通过答题器对题目进行按键回答,在显示设备上显示出每位选手答题的情况,这样的方式很大程度的提高了比赛的档次和娱乐性。
除了电脑抢答器外还有数字电路式、单片机式的抢答器。
对数字电路式的抢答器来说电路复杂,且成本偏高,故障率高,显示方式简单,电脑抢答器不够便携[]。
随着单片机的应用不断深入,以单片机为核心的抢答器不断出现。
利用单片机的优点,使抢答器具有结构简单、功能强大、性能可靠等特点。
第2章总体方案设计
2.1系统主要功能
本系统是以单片机为主控芯片的八路抢答器,它包括了8路抢答按钮、计时显示、倒计时提示、开始与复位控制按钮、加分减分控制按钮。
系统的主要功能模块框图如图2-1所示。
图2-1抢答器的总体框图
Fig.2-1theoverallblockdiagramoftheresponder
在抢答比赛中八路抢答按钮分别对应一组选手。
计时显示以及其他的各种显示功能都由LCD12864液晶实现。
倒计时即将结束时蜂鸣器会响铃提示。
开始、复位、加分、减分按钮都由主持人控制。
在主持人按下开始键后才能开始抢答,在抢答时选手的抢答犯规、抢答成功都会显示在液晶屏幕上。
抢答成功后的选手答对题目可以加分,打错可以减分或者不减分,可以由主持进行加减分的操作,一轮抢答结束之后由主持人按下复位键复位。
在本设计中我们设定开始之后有5秒中的预备时间,在预备时间结束前抢答为犯规蜂鸣器持续响,预备时间结束之后可以开始抢答,有15秒抢答时间,15秒内无人抢答则本轮抢答结束,由主持人复位,复位后显示所有选手的得分。
在倒计时最后5秒时,每一秒蜂鸣器都会响铃提示。
总结其系统的需求分析如下:
1、在抢答时只有主持人按下开始后才能抢答。
在预备时间结束前抢答视为犯规。
2、可以显示抢答成功的选手和抢答犯规的选手。
抢答成功的选手显示他当前得分。
3、显示倒计时,倒计时将要结束时有响铃提示。
4、抢答成功后锁定按键,使其他选手的按键无效。
5、选手答题后主持人进行加分或减分。
并显示为当前得分。
6、主持人复位后进入下一轮抢答,并显示所有选手的分数。
2.2系统工作流程
系统的工作流程图如图2-2所示。
图2-2抢答器系统工作流程图
Fig.2-2respondersystemworkflowchart
根据图1-2所示的流程,一次具体的抢答过程如下:
上电后屏幕显示所有选手的得分,初始状态下得分都为10。
主持人按下开始键,进入5秒预备抢答的倒计时阶段,每一秒会响铃提示。
在5秒结束前有选手抢答判定为犯规,屏幕显示犯规选手编号,主持人按下复位键进入下一轮抢答。
预备时间结束后进入15秒倒计时的抢答阶段,有选手率先抢答时倒计时停止,屏幕显示抢答成功的选手编号,并锁定键盘,使其他选手的抢答无效。
此时抢答成功的选手进行答题,答题结束后主持人可以为该选手加分或减分(也可以既不加分也不减分),之后由主持人按复位键进行下一轮抢答,此时屏幕显示所有选手的得分。
如一直无人抢答,在最后5秒倒计时的每一秒会响铃提示,直到倒计时结束还无人抢答,则屏幕显示无人抢答,主持人复位进入下一轮抢答。
2.3软硬件方案选择
2.3.1硬件方案选择
(1)主控芯片选择方案
根据以上我们提出的需求,抢答器系统的主控芯片可以有多种选择方案。
嵌入式微处理器一般可分为四类,嵌入式微处理器(MPU)、嵌入式微控制器(MCU)、嵌入式DSP(DSP)、嵌入式片上系统(SoC)[]。
这些处理器都可以用于本设计。
除此之外,可编程逻辑器件(FPGA/CPLD)也可以用来作为主控芯片。
在本设计中,我们用MCU(又称单片机)中较为常见的8051系列单片机作为主控芯片。
该芯片相较于DSP、FPGA、ARM等芯片简单易用、价格便宜,而且完全能够满足本设计的要求。
能够加快我们设计的进程、节约设计成本。
本设计中使用的主控制器是宏晶科技生产的STC89C51RC。
该产品标准易用,价格便宜,是新一代超强抗干扰、高速、低功耗的单片机,指令代码完全兼容传统8051单片机。
该型号单片机有LQFP44、PDIP、PLCC、PQFP四种封装,在本次设计中我们采用PDIP-40这种封装,其外部结构图如图2-3所示[]。
图2-3STC89C52RC外部结构图
Fig.2-3STC89C52RCexternalstructure
主要功能特性:
●8K的Flash程序存储器可擦写100000次以上
●512字节的RAM数据存储器
●EEPROM功能
●工作频率范围:
0-40MHz
●通用I/O口(32个),复位后为:
P1/P2/P3是准双向口(普通8051传统I/O口)P0是开漏输出,作为总线扩展用时,不加上拉电阻,做I/O口时需要加上拉电阻。
●ISP/IAP,无需专用编程器/仿真器可通过串口(P3.0/P3.1)直接下载用户程序。
●看门狗
●共3个16位定时器/计数器,其中定时器0还可当成2个8位定时器使用。
●外部中断4路,下降沿中断或低电平触发中断。
可行性分析:
从上述单片机的基本参数来看,STC89C552RC单片机拥有8K的程序空间,对于本设计而言是完全足够的。
而且本设计中除了液晶模块为了保证显示无延迟用了并行方式传输数据外,其它模块采用了尽量节省I/O口的设计思路,能保证单片机的I/O口足够。
而且有3个定时器,本设计只需用到1个。
综上所述,STC89C52单片机能够满足设计需求。
(2)抢答器显示模块选择方案
在抢答器系统运行的整个过程中都伴随着信息的显示,选择一种合理的信息显示方式能给我们的设计带来方便。
本设计中可用的显示设备有数码管、液晶。
数码管结构简单,易于控制,程序算法也相对简单,缺点是数码管占用端口资源多。
液晶显示(LCD)由于具有可编程驱动、接口控制方便、体积小、功耗低、具有良好的可视化人机界面等优点,在各种电子设备中得到广泛使用[]。
本设计考虑到需要显示的内容较多,用数码管作为显示模块需要占用很多端口资源,所以本设计采用带字库的12864液晶作为显示模块,利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面[]。
它的外部结构图如图2-4所示。
图2-412864外部结构图
Fig.2-412864externalstructure
该液晶模块可显示8×
4行16×
16的汉字,也可以显示128×
64像素的图形。
其基本特性:
●低电源电压(VDD:
+3.0V--+5.5V)。
●显示分辨率:
128×
64点。
●内置汉字库,提供8192个16×
16点阵汉字。
●内置128个16×
8点阵字符。
●2MHz始终频率。
●显示方式:
STN、案头、正显。
●视角方向:
6点。
●通讯方式:
串行、并行可选。
LCD12864的引脚功能表2-1所示。
表2-112864引脚说明
Table2-112864pindescription
引脚号
引脚名称
功能说明
1
GND
电源地
2
VCC
电源正端
3
V0
对比度调整
4
RS(CS)
并行数据/指令选择型号;
串行片选信号
5
R/W(SID)
并行读写选择信号;
串行的数据口
6
E(CLK)
并行使能信号;
串行同步时钟
7-14
DB0-DB7
数据0-数据7
15
PSB
并/串行接口选择:
H-并行L-串行
16
NC
空脚
17
/RST
复位低电平有效
18
VOUT
倍压输出脚(VDD=+3.3V有效)
19
LED_A
背光源正极(LED+5V)
20
LED_K
背光源负极(LED-0V)
在本设计中我们采用并行的方式在单片机和12864模快之间通信。
8为并行连接时序图如图2-5和图2-6所示。
图2-5MPU写资料到模块
Fig.2-5MPUwritedatatothemodule
图2-6MPU读出资料
Fig.2-6MPUreaddata
本设计中需要显示的信息有倒计时的显示,选手分数显示,抢答成功和犯规的显示。
由ST7920驱动的12864液晶,能够显示汉字、图形、数字、字母以及其他ASCII字符,完全能够满足本设计的需求。
(3)抢答器键盘的选择方案
在一个单片机应用系统中,键盘是系统中并不可少的输入设备,是控制系统与操作人员对话的窗口。
键盘通常有两种结构形式:
线性键盘和矩阵键盘。
在不同的场合下,这两种键盘都得到了广泛的应用,线性键盘是由若干独立的按键构成,每个按键的一端与单片机的一个I/O口相连[]。
有几个按键就要有几根连线与单片机的I/O口相连,因此,线性键盘一般只适用于按键较少的场合。
矩阵式键盘的按键是按N行M列排列,每个按键在行列的一个交点上,需要的I/O口数目是N+M,能提供的最大按键数是N×
M。
显然,用矩阵键盘可以有效减少单片机I/O口的连线数,简化结构,是一般单片机常用的键盘结构。
根据矩阵键盘的识键和译键方法的不同,矩阵键盘又分为非编码键盘和编码键盘两种。
非编码键盘是用软件的方法识键和译键。
根据按键扫描方法的不同,可以分为扫描行法、扫描列法和反转法3种。
编码键盘是用硬件来实现按键的扫描和识别,一般使用专用接口芯片,在硬件上要求较高。
行列式键盘有节省I/O口的优点。
考虑到本设计所需的按键较多,为了节省端口资源,降低硬件要求本设计采用非编码行列式键盘。
(4)发声模块选择方案
有源蜂鸣器和普通扬声器相比,最重要一个特点是只要按照极性要求加合适的直流电压,就可以发出固有频率的声音,因此使用起来比扬声器简单[]。
由此可知,有源蜂鸣器的控制和LED的控制对单片机而言是没有区别的。
无源蜂鸣器则要交流驱动,改变驱动频率可以奏简单音乐。
本设计中的发声装置只需要发出固定频率的提示音即可,无需改变发声的频率。
为求简化软件设计,本设计中选用有源蜂鸣器作为发声装置。
发声模块在本设计中用于报警,只要能够发出一定频率的提示音即可。
使用蜂鸣器即可满足设计需求。
2.3.2软件方案选择
C语言和汇编语言是单片机应用系统开发常用的编程工具。
C语言是一种高级编程语言。
早在1985年便出现了51单片机专用的C语言,简称C5l。
C51除了遵循一般C语言的语法规则外,还有自身的特点。
它增加了变量数据类型(如bit、sb)、中断服务函数(如interruptn),对80C5l单片机的特殊功能寄存器的定义是C51特有的,是对标准C语言的扩展。
C语言作为一种高级语言,接近人的自然语言,编写的程序与人们通常的思路相近,而且不依赖于计算机的结构和指令系统,是面向过程而且独立于机器的通用语言,容易学习、通用性好、便于移植。
汇编语言是为了方便使用而设计的一种符号语言。
它用易于理解和记忆的英文名称或缩写形式(助记符)来表示二进制指令。
指令助记符、语句标号、数据变量、伪指令以及它们的使用规则构成了整个汇编语言的内容。
汇编语言的程序占用内存少,执行速度快,并且可以直接对硬件进行编程,能够充分发挥计算机的硬件功能。
它是计算机所能提供的最快、最有效的语言。
主要应用在实时性要求高、对硬件设备进行控制的场合。
使用C语言与使用汇编语言相比:
不需要掌握8051系列单片机的指令集,只需了解单片机内部特殊功能寄存器的用途;
编程人员不必考虑寄存器的分配和寻址方式等细节,都有编程器自动进行管理;
利于结构化编程,易于维护;
由于可以实现模块化编程技术,大量例程直接调用,节省开发时间,提高效率[]。
基于以上所讲述的在单片机领域中的C语言和汇编语言编程各自的优缺点。
考虑到本设计整体结构简单,生成的代码占用空间小,一般的单片机足以满足需求,并且对时序的要求不高。
所以采用C语言编写程序能更方便快捷的完成我们的设计,并且具有良好的可移植性,方便以后移植系统到其他硬件设备上。
在集成开发环境(IDE)上我们选择目前最流行的KeilC51,KeilC51是KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案。
如果你使用C语言编程,那么Keil几乎就是你的不二之选。
KeilC51生成目标代码的效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
Proteus软件是LabCenterElectronics公司的一款电路设计与仿真软件,它包括ISIS,ARES等模块,它能仿真大量的单片机芯片,比如MCS-51系列,PIC系列等等,以及单片机外围电路[]。
通过Proteus软件的使用我们能很容易获得一个强大,方便的单片机实验系统。
同时Proteus兼有PCB板绘制的功能。
并且Proteus与Keil的结合使用能很方便的完成单片机的调试工作。
作为目前市场上最流行的单片机仿真软件,它的好处是资源丰富,在网上能获得最多的技术支持与帮助。
本设计即是采用Keil作为集成开发环境,以Proteus作为仿真原理图、PCB设计工具。
第3章硬件设计
3.1总体设计
本设计包含了硬件设计和软件设计两部分,两者紧密结合,不可分离。
硬件设计是这个系统运行的基础,没有硬件一切都无从谈起。
软件设计是系统正常运转的核心,在硬件的基础上软件控制着系统的运作,实现系统的功能。
随着技术的发展,硬件电路的集