基于单片机的电子智能抢答器_毕业设计论文1.docx_第1页
基于单片机的电子智能抢答器_毕业设计论文1.docx_第2页
基于单片机的电子智能抢答器_毕业设计论文1.docx_第3页
基于单片机的电子智能抢答器_毕业设计论文1.docx_第4页
基于单片机的电子智能抢答器_毕业设计论文1.docx_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

本科毕业论文(设计)题 目 基于单片机的电子智能抢答器 学 院 电子信息工程学院 专 业 通信工程 2013年5月1日基于单片机的电子智能抢答器杨勇西南大学电子信息工程学院,重庆400715摘要:抢答器是一种应用非常广泛的,用于公平裁决的电子设备,它的应用非常广泛,所以逐渐形成了一定的市场。但目前市场上销售的抢答器一般价格较高,而且功能较为单一,显示界面不够友好,不能为使用者带来较好的体验。本设计是采用单片机设计的一款八路多功能的电子抢答器。它除了具有基本的抢答功能外,还包含了由主持人控制的倒计时、为每一位选手计分、加减分数、响铃提示答题时间等功能。它具有结构简单,可靠性好,界面友好的特点。本设计利用stc89c52单片机作为主控制芯片,加外围电路实现抢答和显示功能。利用单片机的定时计数器,使系统能正确计时。用lcd12864液晶作为显示模块,显示时间和选手分数等,用43的键盘阵列做输入,蜂鸣器发声提示。关键词:单片机;抢答器;12864;液晶electronic responder on single chip microcomputeryang yongschool of electronic and information engineering, southwest university, chongqing 400715 ,chinaabstract: responder is a widely used in enterprises and commercial sectors, electronic equipment for the fair decision, because it has a very wide range of applications, and gradually formed a certain market. but sales of resonder on the market at present price is higher, and the function is relatively single, the display interface is not friendly enough, cant bring a better experience for users. this design is designed by single chip microcomputer a eight-way multi-function electronic responder. it in addition to the basic vies to answer first function outside, still contain a countdown, for each player scoring functions. it has a simple structure, good reliability, user-friendly features. this design using the stc89c52 single-chip microcomputer as the main control chip, with peripheral circuit to achieve responder and display functions. use of the the microcontroller timer counter, so that the system can correct timing, used lcd12864 liquid crystal as a display module, display time and score, made from 43 keyboard array input, with a buzzer sound prompt.key word: single chip microcomputer; responder; 12864; lcd西南大学 电子信息工程学院2013届本科毕业论文目 录第1章 引 言01.1单片机的应用与发展01.2抢答器系统的发展分析0第2章 总体方案设计02.1系统主要功能02.2系统工作流程02.3软硬件方案选择02.3.1硬件方案选择02.3.2软件方案选择0第3章 硬件设计03.1总体设计03.2时钟频率电路的设计03.3键盘扫描电路的设计03.4复位电路的设计03.5发声电路的设计03.6 综合pcb板的设计03.6.1 布局的原则03.6.2 布线03.6.3焊盘0第4章 软件设计04.1软件任务分析04.2主要模块的流程图及分析04.2.1按键扫描程序04.2.2计时模块04.2.3显示模块04.2.4 初始化模块04.2.5计分模块04.2.6发声模块0第5章 系统综合调试05.1系统实现的功能05.2系统运行效果0第6章 总结0参考文献0致谢0附录1:主程序源代码main.c0附录2:字模数据和类型定义头文件data.h0第1章 引 言近年来,随着电子技术和微机的发展,以及电子产品在人们生活中的广泛应用,对单片机的应用已经进入到了人们生活中的方方面面,单片机在人们日常生活中起到越来越重要的作用。单片机就是在一块硅片上集成了微处理器、存储器及各种输入/输出接口的芯片,这样一块芯片就具有了计算机的属性,因而被称为单片微型计算机,简称单片机 郭天祥. 51单片机c语言教程m. 北京:电子工业出版社, 2009 :2.。单片机的应用非常广泛,在工业的自动化、智能仪器和仪表、消费类的电子产品、通信领域、武器装备等领域都要用到单片机。而且大多数电器内的主控芯片就是由一块单片机,可以说,凡是与控制或者简单计算有关的电子设备都可以使用单片机来实现。单片机把我们带入了一个智能化的电子世界,许多复杂的系统如果由单片机进行设计,就能使电路变得简单。随着科技的发展和进步单片机与其他硬件设备进行串并行通信的结合使用得到了广泛的应用。本设计就是基于单片机的抢答器,通过并行通信的方式与显示设备lcd12864传输数据。从而使抢答系统的显示界面友好美观。电子智能抢答器是在日常生活中应用非常广泛的一种设备,它快速,公正的判断出最先获得发言权的选手。现在大多数的抢答器都是使用单片机加外围数字电路组成,增加了许多新的功能,如选手编号显示、倒计时、选手得分等功能。本设计的电子抢答器用一片8051单片机控制,用43矩阵键盘来模拟选手和主持人的按键,用一块带字库的12864液晶作为显示模块。显示模块接单片机的p0口。抢答器采用键盘扫描进行抢答,采用并行方式与液晶屏通信显示信息。1.1单片机的应用与发展一般的单片机系统由硬件系统和软件系统构成。硬件系统是指微型计算机机系统的实体和装置,通常包括运算器、控制器、存储器、i/o接口等。运算器和控制器集成在一起称为cpu,是微机核心部件;cpu加上存放程序和数据的存储器、i/o端口以及外围设备构成单片机硬件系统 应届毕业生求职网. 免费电子智能抢答器eb/ol. 2013-4-30. /fanwen/dianzixinxigongcheng/368973.html.。软件系统是单片机系统中所用的各种程序的总称,软件系统对整个单片机系统进行控制,使系统按照人的意图完成特定的任务。软硬件系统共同构成一个完整的单片机系统,紧密结合,缺一不可。单片机在自动化、实时控制、家用电器、仪器仪表、网络通信、商业、医用、汽车、电子产品、航天军事等领域都有着广泛的应用。例如:(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年以前,抢答器作为一种竞赛设备,一直没有得到多大的提高,在使用过程中只起到抢答作用,而且在设计上基本是采用模拟电路的方式,抢答的精确度不够高,而且要受到线路和距离的限制。随着电脑的普及率在大幅提高,在新的信息化时代中,各类竞赛活动也发生了一些大的变化,不再是现场主持人念题,选手回答,这种固定的、单调且死板的方式。现场要求有更多互动和更多娱乐的效果。活动的策划者们在不断的思考和在活动环节上进行设计。电脑抢答器的出现解决了策划者们面对的难题,电脑抢答器是以电脑做为操作平台,控制器方面采用了数字电路和单片机的方式和电脑进行通信,这样设计使知识竞赛长期以来固定的模式被打破 郑州卓豫公司. 抢答器系统的发展分析eb/ol. 2013-4-30. /s57021498.html.。活动中出现了更多的设计和新玩法,使知识竞赛走向了新的方向。以电脑做为平台的抢答器系统,可以通过竞赛软件控制抢答器,答题器,记分屏,灯光效果等等。通过知识竞赛软件可以做到各个环节中的题目显示,选手可以通过手中的抢答器抢答,抢答结果会显示在大屏幕上和分数会显示在led记分屏中。选手还能通过答题器对题目进行按键回答,在显示设备上显示出每位选手答题的情况,这样的方式很大程度的提高了比赛的档次和娱乐性。除了电脑抢答器外还有数字电路式、单片机式的抢答器。对数字电路式的抢答器来说电路复杂,且成本偏高,故障率高,显示方式简单,电脑抢答器不够便携 何伶俐. 基于stc89c52的四路抢答器设计j. 科技致富向导, 2012(9):106.。随着单片机的应用不断深入,以单片机为核心的抢答器不断出现。利用单片机的优点,使抢答器具有结构简单、功能强大、性能可靠等特点。第2章 总体方案设计2.1系统主要功能本系统是以单片机为主控芯片的八路抢答器,它包括了8路抢答按钮、计时显示、倒计时提示、开始与复位控制按钮、加分减分控制按钮。系统的主要功能模块框图如图2-1所示。图2-1 抢答器的总体框图fig. 2-1 the overall block diagram of the responder在抢答比赛中八路抢答按钮分别对应一组选手。计时显示以及其他的各种显示功能都由lcd12864液晶实现。倒计时即将结束时蜂鸣器会响铃提示。开始、复位、加分、减分按钮都由主持人控制。在主持人按下开始键后才能开始抢答,在抢答时选手的抢答犯规、抢答成功都会显示在液晶屏幕上。抢答成功后的选手答对题目可以加分,打错可以减分或者不减分,可以由主持进行加减分的操作,一轮抢答结束之后由主持人按下复位键复位。在本设计中我们设定开始之后有5秒中的预备时间,在预备时间结束前抢答为犯规蜂鸣器持续响,预备时间结束之后可以开始抢答,有15秒抢答时间,15秒内无人抢答则本轮抢答结束,由主持人复位,复位后显示所有选手的得分。在倒计时最后5秒时,每一秒蜂鸣器都会响铃提示。总结其系统的需求分析如下:1、在抢答时只有主持人按下开始后才能抢答。在预备时间结束前抢答视为犯规。2、可以显示抢答成功的选手和抢答犯规的选手。抢答成功的选手显示他当前得分。3、显示倒计时,倒计时将要结束时有响铃提示。4、抢答成功后锁定按键,使其他选手的按键无效。5、选手答题后主持人进行加分或减分。并显示为当前得分。6、主持人复位后进入下一轮抢答,并显示所有选手的分数。2.2系统工作流程系统的工作流程图如图2-2所示。图2-2抢答器系统工作流程图fig. 2-2 responder system workflow chart根据图1-2所示的流程,一次具体的抢答过程如下:上电后屏幕显示所有选手的得分,初始状态下得分都为10。主持人按下开始键,进入5秒预备抢答的倒计时阶段,每一秒会响铃提示。在5秒结束前有选手抢答判定为犯规,屏幕显示犯规选手编号,主持人按下复位键进入下一轮抢答。预备时间结束后进入15秒倒计时的抢答阶段,有选手率先抢答时倒计时停止,屏幕显示抢答成功的选手编号,并锁定键盘,使其他选手的抢答无效。此时抢答成功的选手进行答题,答题结束后主持人可以为该选手加分或减分(也可以既不加分也不减分),之后由主持人按复位键进行下一轮抢答,此时屏幕显示所有选手的得分。如一直无人抢答,在最后5秒倒计时的每一秒会响铃提示,直到倒计时结束还无人抢答,则屏幕显示无人抢答,主持人复位进入下一轮抢答。2.3软硬件方案选择2.3.1硬件方案选择(1)主控芯片选择方案根据以上我们提出的需求,抢答器系统的主控芯片可以有多种选择方案。嵌入式微处理器一般可分为四类,嵌入式微处理器(mpu)、嵌入式微控制器(mcu)、嵌入式dsp(dsp)、嵌入式片上系统(soc) 王晓春. 嵌入式系统技术-基于arm的嵌入式系统m. 高等教育出版社, 2010 :3-4.。这些处理器都可以用于本设计。除此之外,可编程逻辑器件(fpga/cpld)也可以用来作为主控芯片。在本设计中,我们用mcu(又称单片机)中较为常见的8051系列单片机作为主控芯片。该芯片相较于dsp、fpga、arm等芯片简单易用、价格便宜,而且完全能够满足本设计的要求。能够加快我们设计的进程、节约设计成本。本设计中使用的主控制器是宏晶科技生产的stc89c51rc。该产品标准易用,价格便宜,是新一代超强抗干扰、高速、低功耗的单片机,指令代码完全兼容传统8051单片机。该型号单片机有lqfp44、pdip、plcc、pqfp四种封装,在本次设计中我们采用pdip-40这种封装,其外部结构图如图2-3所示 宏晶科技. stc89c52rc使用手册eb/ol. 2007: 5.。图2-3 stc89c52rc外部结构图fig. 2-3 stc89c52rc external structure主要功能特性:l 8k的flash程序存储器可擦写100000次以上l 512字节的ram数据存储器l eeprom功能l 工作频率范围:0-40mhzl 通用i/o口(32个),复位后为:p1/p2/p3是准双向口(普通8051传统i/o口)p0是开漏输出,作为总线扩展用时,不加上拉电阻,做i/o口时需要加上拉电阻。l isp/iap,无需专用编程器/仿真器可通过串口(p3.0/p3.1)直接下载用户程序。l 看门狗l 共3个16位定时器/计数器,其中定时器0还可当成2个8位定时器使用。l 外部中断4路,下降沿中断或低电平触发中断。可行性分析:从上述单片机的基本参数来看,stc89c552rc单片机拥有8k的程序空间,对于本设计而言是完全足够的。而且本设计中除了液晶模块为了保证显示无延迟用了并行方式传输数据外,其它模块采用了尽量节省i/o口的设计思路,能保证单片机的i/o口足够。而且有3个定时器,本设计只需用到1个。综上所述,stc89c52单片机能够满足设计需求。(2)抢答器显示模块选择方案在抢答器系统运行的整个过程中都伴随着信息的显示,选择一种合理的信息显示方式能给我们的设计带来方便。本设计中可用的显示设备有数码管、液晶。数码管结构简单,易于控制,程序算法也相对简单,缺点是数码管占用端口资源多。液晶显示(lcd)由于具有可编程驱动、接口控制方便、体积小、功耗低、具有良好的可视化人机界面等优点,在各种电子设备中得到广泛使用 陶庆红. 谈单片机控制的液晶显示控制j. 科学与财富, 2011(5).。本设计考虑到需要显示的内容较多,用数码管作为显示模块需要占用很多端口资源,所以本设计采用带字库的12864液晶作为显示模块,利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面 韩成, 张延伟. 拿来就用单片机m. 北京市:人民邮电出版社, 2008 :64.。它的外部结构图如图2-4所示。图2-4 12864外部结构图fig. 2-4 12864 external structure该液晶模块可显示84行1616的汉字,也可以显示12864像素的图形。其基本特性:l 低电源电压(vdd:+3.0v-+5.5v)。l 显示分辨率:12864点。l 内置汉字库,提供8192个1616点阵汉字。l 内置128个168点阵字符。l 2mhz始终频率。l 显示方式:stn、案头、正显。l 视角方向:6点。l 通讯方式:串行、并行可选。lcd12864的引脚功能表2-1所示。表2-1 12864引脚说明table 2-1 12864 pin description引脚号引脚名称功能说明1gnd电源地2vcc电源正端3v0对比度调整4rs(cs)并行数据/指令选择型号;串行片选信号5r/w(sid)并行读写选择信号;串行的数据口6e(clk)并行使能信号;串行同步时钟7-14db0-db7数据0-数据715psb并/串行接口选择:h-并行 l-串行16nc空脚17/rst复位 低电平有效18vout倍压输出脚(vdd=+3.3v有效)19led_a背光源正极(led+5v)20led_k背光源负极(led-0v)在本设计中我们采用并行的方式在单片机和12864模快之间通信。8为并行连接时序图如图2-5和图2-6所示。图2-5 mpu写资料到模块fig. 2-5 mpu write data to the module图2-6 mpu读出资料fig. 2-6 mpu read data可行性分析:本设计中需要显示的信息有倒计时的显示,选手分数显示,抢答成功和犯规的显示。由st7920驱动的12864液晶,能够显示汉字、图形、数字、字母以及其他ascii字符,完全能够满足本设计的需求。(3)抢答器键盘的选择方案在一个单片机应用系统中,键盘是系统中并不可少的输入设备,是控制系统与操作人员对话的窗口。键盘通常有两种结构形式:线性键盘和矩阵键盘。在不同的场合下,这两种键盘都得到了广泛的应用,线性键盘是由若干独立的按键构成,每个按键的一端与单片机的一个i/o口相连 王怀瑞, 顼庆坤. 单片机i/o口键盘扩展方法c. 冶金自动化, 2004.。有几个按键就要有几根连线与单片机的i/o口相连,因此,线性键盘一般只适用于按键较少的场合。矩阵式键盘的按键是按n行m列排列,每个按键在行列的一个交点上,需要的i/o口数目是n+m,能提供的最大按键数是nm。显然,用矩阵键盘可以有效减少单片机i/o口的连线数,简化结构,是一般单片机常用的键盘结构。根据矩阵键盘的识键和译键方法的不同,矩阵键盘又分为非编码键盘和编码键盘两种。非编码键盘是用软件的方法识键和译键。根据按键扫描方法的不同,可以分为扫描行法、扫描列法和反转法3种。编码键盘是用硬件来实现按键的扫描和识别,一般使用专用接口芯片,在硬件上要求较高。行列式键盘有节省i/o口的优点。考虑到本设计所需的按键较多,为了节省端口资源,降低硬件要求本设计采用非编码行列式键盘。(4)发声模块选择方案有源蜂鸣器和普通扬声器相比,最重要一个特点是只要按照极性要求加合适的直流电压,就可以发出固有频率的声音,因此使用起来比扬声器简单 徐玮, 彭敏芳, 魏巍, 等. 轻松学pic之蜂鸣器和继电器j. 电子制作, 2010(5):70-71.。由此可知,有源蜂鸣器的控制和led的控制对单片机而言是没有区别的。无源蜂鸣器则要交流驱动,改变驱动频率可以奏简单音乐。本设计中的发声装置只需要发出固定频率的提示音即可,无需改变发声的频率。为求简化软件设计,本设计中选用有源蜂鸣器作为发声装置。可行性分析:发声模块在本设计中用于报警,只要能够发出一定频率的提示音即可。使用蜂鸣器即可满足设计需求。2.3.2软件方案选择c语言和汇编语言是单片机应用系统开发常用的编程工具。c语言是一种高级编程语言。早在1985年便出现了51单片机专用的c语言,简称c5l。c51除了遵循一般c语言的语法规则外,还有自身的特点。它增加了变量数据类型(如bit、sb)、中断服务函数(如interrupt n),对80c5l单片机的特殊功能寄存器的定义是c51特有的,是对标准c语言的扩展。c语言作为一种高级语言,接近人的自然语言,编写的程序与人们通常的思路相近,而且不依赖于计算机的结构和指令系统,是面向过程而且独立于机器的通用语言,容易学习、通用性好、便于移植。汇编语言是为了方便使用而设计的一种符号语言。它用易于理解和记忆的英文名称或缩写形式(助记符)来表示二进制指令。指令助记符、语句标号、数据变量、伪指令以及它们的使用规则构成了整个汇编语言的内容。汇编语言的程序占用内存少,执行速度快,并且可以直接对硬件进行编程,能够充分发挥计算机的硬件功能。它是计算机所能提供的最快、最有效的语言。主要应用在实时性要求高、对硬件设备进行控制的场合。使用c语言与使用汇编语言相比:不需要掌握8051系列单片机的指令集,只需了解单片机内部特殊功能寄存器的用途;编程人员不必考虑寄存器的分配和寻址方式等细节,都有编程器自动进行管理;利于结构化编程,易于维护;由于可以实现模块化编程技术,大量例程直接调用,节省开发时间,提高效率 徐小菲, 刘辉. 基于单片机c语言和汇编语言程序j. 青春岁月, 2012(6):362.。基于以上所讲述的在单片机领域中的c语言和汇编语言编程各自的优缺点。考虑到本设计整体结构简单,生成的代码占用空间小,一般的单片机足以满足需求,并且对时序的要求不高。所以采用c语言编写程序能更方便快捷的完成我们的设计,并且具有良好的可移植性,方便以后移植系统到其他硬件设备上。在集成开发环境(ide)上我们选择目前最流行的keil c51,keilc51是keil software公司出品的51系列兼容单片机c语言软件开发系统。keil提供了包括c编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案。如果你使用c语言编程,那么keil几乎就是你的不二之选。keil c51生成目标代码的效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。proteus软件是lab center electronics公司的一款电路设计与仿真软件,它包括isis,ares等模块,它能仿真大量的单片机芯片,比如mcs-51系列,pic系列等等,以及单片机外围电路 蔡朝阳. 单片机控制实习于专题制作m. 北京航空航天大学出版社, 2006.。通过proteus软件的使用我们能很容易获得一个强大,方便的单片机实验系统。同时proteus兼有pcb板绘制的功能。并且proteus与keil的结合使用能很方便的完成单片机的调试工作。作为目前市场上最流行的单片机仿真软件,它的好处是资源丰富,在网上能获得最多的技术支持与帮助。本设计即是采用keil作为集成开发环境,以proteus作为仿真原理图、pcb设计工具。第3章 硬件设计3.1总体设计本设计包含了硬件设计和软件设计两部分,两者紧密结合,不可分离。硬件设计是这个系统运行的基础,没有硬件一切都无从谈起。软件设计是系统正常运转的核心,在硬件的基础上软件控制着系统的运作,实现系统的功能。随着技术的发展,硬件电路的集成度越来越高,各种功能强大的芯片降低了硬件设计的复杂程度。为是硬件电路设计更加合理,应注意以下几个方面:(1)尽量使用集成度更高功能更强的芯片,以简化电路。功能更强大的芯片能只占用较少的端口资源就完成同样的甚至是跟多的功能。本设计中除了主控制芯片以外,显示模块采用了一块高度集成的12864液晶,在兼顾显示界面的友好美观的情况下极大程度的简化了硬件电路的设计工作,而且节约了单片机的i/o端口。(2)留有一定设计余地。在硬件设计是,往往不是一次成型的。考虑到以后修改扩展的方便。要留有一定的余地,以避免为了一点小小的修改而全面返工。本次设计采用的硬件电路均在一块开发板上,硬件电路已经经过生产厂商的测试,比较可靠,可以放心的使用,将更多经历投入到软件的设计过程中去。(3)程序空间。应该选择内部程序空间足够大的单片机。所以你需要估计自己设计程序的复杂程度,选择相匹配的单片机。本设计所采用stc89c52rc单片机拥有8k的程序空间,基本上能够满足电子抢答器的设计所需的空间大小。(4)ram空间,单片机内部的ram空间不多。如果片内空间不够就需要增加片外ram,设计时需要预留i/o接口。在本设计中,系统的功能简单,已有的单片机完全可以满足需要,无需考虑这个问题。(5)i/o端口:在设计的初期就要对各个i/o口资源合理分配,可以预留若干备用,也许在后期的调试过程中就会派上用场。在本设计中使用的开发板上硬件电路已经固定,i/o端口的分配也很合理,无需再重新分配i/o端口。本次设计的总体硬件电路原理图如图3-1所示。图3-1硬件电路原理图fig. 3-1 hardware circuit principle diagram图2-1中主控制器为stc89c52rc单片机,显示模块为一块集成的lcd12864液晶。由于采用并行传输数据,液晶模块的db0-db7接单片机p0口。rs脚接p1.0、r/w脚接p1.1、e脚接p2.5、pse脚接p1.2、rst脚接p1.4。所有的按键全部在接在p3口的键盘阵列中,第一行和第二行按键为8为选手的抢答按键,第三行是主持人控制按键,左一为加分键、左二为减分键、左三为开始键、左四为复位键。buz1为蜂鸣器,作为系统中的响铃提示功能。3.2时钟频率电路的设计单片机与其他微机一样,它的各种操作都是按着节拍有序的工作的。89c51内部有一个高增益反响放大器,用于构成振荡器。反相放大器的输入端为xtal1,输出端为xtal2,两断跨接石英晶体及两个电容就可以构成稳点的自己振荡器。时钟电路如图2-2所示。图3-2外部震荡源电路fig. 3-2 external oscillators circuitc1和c2通常取30pf左右,可以稳定频率并对震荡频率有微调作用 李朝青. 单片机原理及接口技术m. 北京:北京航空航天大学出版社, 2006 :34.。震荡脉冲频率范围为fosc=024mhz,我们所用的震荡频率为12mhz。3.3键盘扫描电路的设计键盘是单片机应用中必不可少的硬件之一,由于其设计方法多种多样,所以在应用系统设计时,应根据整个系统的硬件结构、软件设计等信息综合考虑,设计出稳定可靠、结构紧凑、成本低廉、简单易用、性能优良的人机键盘界面 陈铭. 单片机矩阵式键盘的设计j. 工业控制计算机, 2012, 25(1):99-100.。键盘是进行人机交互的主要设备。在单片机应用中主要是独立键盘和矩阵键盘。其中独立键盘结构简单,程序设计也较为简单,一般用于对硬件电路要求不高的简单电路中;矩阵键盘在硬件结构上较为复杂,程序算法上也比独立键盘复杂得多,但是矩阵键盘更加能够节省端口资源,适合在按键较多的电路中使用。在本设计中,为了节省端口资源,采用矩阵键盘。按键电路如图3-3所示。图3-3 按键电路fig. 3-3 key circuit在这个4*3的矩阵键盘中,上两行8个按键是8为选手的抢答按键,最下面一行是主持人控制的加减分按键和开始、复位按键。这个矩阵键盘接在单片机的p3端口上,p3.0到p3.2接行线,p3.4到p3.7接列线,在必要的时候可以再加一行按键,行线接p3.3扩展为4*4的矩阵键盘。在按键的过程中会出现抖动现象,这种现象会造成按下按键判定不准确,要消除这种影响就需要在扫描程序中采用消抖动处理 徐志军, 王金明. eda技术与pld设计m. 北京:人民邮电出版社, 2005 :49.。通常采用的方法是,延时重复扫描的办法,在检测到按键按下之后延时一段时间再次检测按键电平是否保持原状态,进行多次扫描后如果键盘的电平保持不变则判定按键被按下,否则判定为无效。3.4复位电路的设计使cpu回到初始状态,从0000h地址开始执行程序的过程脚系统复位,系统的复位可分为硬件复位和软件复位 程相波, 卫安军. 基于mcs-51单片机的八路抢答器设计方法研究j. 北京工业职业技术学院学报, 2007, 6(2).。硬件复位必须通过cpu外部的硬件电路给cpu的reset端加上足够时间的高电位才能实现。上电复位,人工按键复位和看门狗复位均为硬件复位。硬件复位后,各个寄存器状态呗初始化,对片内通用寄存器的内容没有影响。软件复位就是用一系列指令来模拟硬件复位功能。软件复位中对中断标志的清除工作常被遗忘,但清除中断标志非常重要。在本设计中的主持人控制的复位按键只是使程序结束当前的抢答过程进入到下一轮的抢答环节,并不是真正意义上的对整个单片机系统进行复位。对整个系统复位后,所有选手的分数也将会清零。复位电路如图2-4所示。图3-4 复位电路fig. 3-4 reset circuit复位电路主要由电解电容c3、电阻r1、按键s1组成。由于单片机是高电平复位,所以当复位键按下时候,单片机的9脚reset管脚处于高电平,此时单片机处于复位状态。当上电后,由于电容的缓慢放电,单片机的9脚电压逐步由高向低转化,经过一段时间后,单片机的9脚处于稳定的低电平状态,此时单片机上电复位完毕,系统程序从0000h开始执行。需要强调的是,在本设计中的主持人复位,并没有使系统回到0000h开始执行,只是回到抢答的开始阶段开始执行程序,不属于以上所述的复位的范畴。如果需要整个系统重新启动进行工作,则可以按下reset键进行硬件复位。3.5发声电路的设计蜂鸣器是众多电子产品中常用的发声器件,本设计中也使用蜂鸣器作为发声装置,本设计中的发声电路如图2-5所示。图3-5发声电路fig. 3-5 sounding circuit本设计中的发声装置一端接在单片机的p2.3脚,当p2.3脚为低电平是蜂鸣器发声,当p2.3为高电平时蜂鸣器静音。单片机内部通过编程控制i/o口的高低电平就能控制蜂鸣器的响铃时常和频率。3.6 综合pcb板的设计印制电路板(pcb)是各种电子产品中电路元器件的载体,pcb提供了电路元件和器件之间的电气连接,pcb设计的好坏对产品性能有很大影响 夏青. 电子线路设计:pcb设计的一般原则j. 大家, 2011(12):236.。因此,在进行pcb设计时。必须遵守pcb设计的一般性原则,并应符合抗干扰设计的要求。为了设计出优质低廉的pcb,应遵循一些原则。3.6.1 布局的原则1、要考虑pcb尺寸大小。pcb尺寸过大时,印制线就条长,同时阻抗增加,抗噪声能力也会下降,成本也增加;过小,则散热不好,而且邻近线条易受干扰。2、确定特殊元件的位置。在确定特殊元件的位置时要遵守以下原则:a) 缩短高频元器件间的连线,以减少它们的分布参数和相互的电磁干扰。容易受干扰的元器件不能太近,输入和输出元件要尽量远离。b) 某些元器件或导线之间可能有比较高的电位差,应该增加它们之间的距离,以避免放电引发意外短路。c) 较重的元器件应该用支架固定,再焊接。那些笨重、发热量多的元器件,不宜装在印制板上,应装在机箱底板上,热敏元件应远离发热元件。d) 应留出印制板定位孔及固定支架所占用的位置。3、根据电路的功能模块,对全部元器件进行布局时,要符合以下原则:a) 按照电路的流程安排电路中各个功能单元的位置,使布局放便信号流通,并使信号尽量保持一致的方向。b) 以每个功能电路的核心元件为中心,围绕它来进行布局。元器件应均匀、整齐、紧凑地排列在pcb上。尽量减少各元器件之间的引线和缩短连接。c) 一般应当使元器件平行排列。这样,既美观有容易装焊,易于批量生产。3.6.2 布线 1、i/o口的导线应尽量避免相邻平行,最好加线间地线,以避免发生反馈藕合。 2、导线的最小宽度主要由导线与绝缘基扳间的粘附强度和流过它们的电流大小决定。 在条件允许的情况下尽量使用宽线。尤其是电源线和地线。导线间的最小距离主要由最坏情况下的线间绝缘电阻和击穿电压决定。工艺允许的条件下,使间距尽量小。3、印制导线拐弯处一般采用圆弧形,直角或夹角在高频电路中会影响电气性能。还应尽量不使用大面积铜箔。长时间受热时,易发生铜箔膨胀和脱落现象。必须用大面积铜箔时,最好用栅格状。这样有利于排除铜箔与基板间粘合剂受热产生的挥发性气体。3.6.3焊盘 焊盘尺寸、焊盘的内孔尺寸必须从元件引线直径和公差尺寸以及镀锡层厚度、孔径公差、孔金属化电镀层厚度等方面考虑,一般以金属引脚直径加上0.2mm作为焊盘的内孔直径。而焊盘外径应该为焊盘孔径加1.2mm,最小应该为焊盘孔径加1.0mm。当焊盘直径为1.5mm时,为了增加焊盘的抗剥离强度,可采用方形焊盘。设计焊盘时的注意下列事项:1、焊盘孔边缘到电路板边缘要大于1mm,这样可以防止加工时导致焊盘缺损。2、焊盘补泪滴,当与焊盘连接的铜膜线较细时,要将焊盘与铜膜线之间的连接设计成泪滴状,这样可以使焊盘不易被剥离,而铜膜线与焊盘之间的连线不易断开。3、相邻的焊盘尽量不要有锐角。根据上述要求,我们设计pcb。我们将各个模块组合起来之后得到综合电路原理图(如图3-1)。我们将综合原理图输入proteus中,就可以利用proteus的pcb设计工具aers自动生成pcb图。由proteus生成pcb图的主要有以下步骤:(1) 绘制原理图。这是电路板设计的先期工作,主要是完成原理图的绘制,包括生成网络表。当然,也可直接进入pcb设计,不绘制原理图。原来用于仿真的原理图需将信号源及测量仪表的接口连上适当的连接器。(2) 规划电路板。在绘制印制电路板之前,要对电路板有一个大体的规划,比如电路板采用多大的物理尺寸,采用几层电路板,各元件采用何种封装形式及其安装位置等。这是确定电路板设计的框架,都可以从菜单栏system里进行设置。(3) 设置参数。设置参数主要是设置元件的布置参数、层参数、布线参数等。(4) 装入网络表及元件封装。网表是原理图设计系统与印制电路板设置系统的接口,只有将网络表装入之后,才可能完成对电路板的自动布线。元件的封装是元件的外形,对每个元件必须有相应的外形封装,才能保证电路板设计的顺利进行。本设计中的按键,12864液晶没有封装,需自行封装。(5) 元件布局。元件布局可以采用自动布局和手工布局。一般自动布局后进行调整。(6) 布线。一般先进行自动布线,然后手工布线进行调整。(7) 文件保存及输出。完成电路板的布线后,保存完成的电路线路图文件。按照需求可以打印成纸质文档。最终本设计生成的pcb图如图3-6所示。图3-6 pcb设计图fig. 3-6 pcb design第4章 软件设计4.1软件任务分析一个单片机系统是有软硬件结合而成的,硬件电路的设计解决了系统的物理层面实现,而要赋予这些硬件“灵魂”,就需要软件来实现。软件设计主要是针对主控芯片来讲的,由软件设计来告诉主控芯片如何去控制外围电路完成某些特定的功能。在本设计中,根据我们需要实现的功能来看,软件设计主要可以分为一下机个部分:l 显示模块:在整个抢答过程中显示信息的功能贯穿始终,是最主要的模块。控制显示屏显示正确的信息是显示模块软件的主要职责。l 输入模块:本设计的输入模块是由43的矩阵键盘构成的,正确检测出从键盘上输入的信息非常重要。输入模块软件就是要完成这一任务。l 计时模块:在抢答器的工作过程中多出设计的倒计时功能,计时模块软件主要完成准确计时的功能。并在需要的时候提供当前的时间供其他模块调用。l 初始化模块:整个系统要稳定的运行,就需要自始至终都在我们的控制之下。系统最初启动是所处的状态无法确定,就需要初始化程序对硬件系统进行设定,使之符合系统运行的要求。本设计中初始化主要包括对单片机的初始化和对lcd12864液晶的初始化。l 主函数模块:程序都是从主函数开始运行的,主函数要控制这个程序运行的流程,将各个模块有机的结合起来,使系统稳定的工作。软件系统的模块结构图如图4-1所示。图4-1软件系统模块结构图fig. 4-1 module structure of software system图4-1中列出了软件系统的主要模块的机构组成。除了以上主要模块外还包含一些其他函数和模块,例如引脚定义、延时函数、加减分模块等。4.2主要模块的流程图及分析本设计中根据我们的设计要求和抢答器系统的工作流程,可以得到系统的程序总流程图,如图4-2所示。图4-2 程序总流程图fig. 4-2 program flow chart图4-2给出了程序的总体流程图,之后,我们将对一些主要的程序进行详细的分析。4.2.1按键扫描程序本设计中采用的按键是矩阵式键盘。比较好的识别按键的方法是进行按键扫描。对矩阵键盘进行按键扫描的基本原理是对矩阵键盘的一条列线置为低电平,然后扫描行线,根据各行线的状态就能判断该列线上所有按键的状态。依次分别对所有列线置低,再扫面行线,就完成了一次对所有按键的扫描。 余江, 李雪梅. 按键状态扫描显示电路的设计与实现j. 内江科技, 2011, 32(5):116.考虑到可能出现的毛刺现象在扫描按键的过程中要做消抖动处理,消抖动的原理在前面介绍过,这里不再叙述。根据上述原理,我们绘制出按键扫描程序的流程图如图4-3所示。图4-3按键扫描流程图fig. 4-3 buttons scan flow chart从图4-3中我们可以看出程序是先将一根行线置高,然后扫描列线。一次对所有行线置高之后就完成一次扫描,延时一段时间是为了消除按键抖动的影响。最后返回对应的按键键值。源程序见附录。4.2.2计时模块定时器分为软件定时器和硬件定时器,软件定时器是靠指令延时完成定时任务的。因此,软件定时器的基本思想是使某条指令循环若干次达到定时效果,软件定时主要用于定时进度不高的情况下。 李强. 单片机定时、计数器编程技术(上)j. 电子世界, 2004(9):31-32.软件定时器的原理简单,但有时不能满足需求,这是就需要硬件定时/技术器。硬件定时器的基本原理:硬件定时/技术器独立于cpu工作,可以由软件控制它的启动和停止。当预定的定时时间后向cpu发送一次中断请求,执行中断服务程序。定时/计数器有内部定时和外部计数功能,但实质上是计数,数器对外部时间的计数就是计数器,以单片机内部机器周期计数累加它就是系统定时器 李强. 单片机定时、计数器编程技术(下)j. 电子世界, 2004(10):29-32.。选择定时还是计数是可编程的。对计数的寄存器设定初值后,定

温馨提示

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

评论

0/150

提交评论