您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于单片机的数字秒表设计111(2)
河南农业大学《智能仪器设计实习》秒表设计题目:姓名:指导教师:成绩:时间:2014年12月5日摘要21世纪,单片机的发展非常的迅速。单片机是把主要计算机功能部件都集成在一块芯片上的微型计算机。它是一种集计数和多种接口于一体的微控制器,被广泛应用在智能产品和工业自动化上,而51单片机是个单片机中最为典型和最有代表性的一种。本设计的数字电子秒表系统采用STC89C52单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及独立键盘来设计秒表,将软、硬件有机地结合起来。本设计的软件系统是用C语言编写的.包括一个定时器中断,4个独立键盘及软件消抖等。最后做成一个具有打开、关闭、复位、记忆功能的数字秒表。目录1引言.............................................11.1单片机的背景及意义............................12系统分析.........................................42.1单片机的基本结构..............................42.2单片机的选择..................................93.秒表的硬件设计..................................123.1LED显示电路..................................123.2键盘控制电路.................................153.3译码器的使用.................................163.4单片机晶振和复位电路.........................174秒表的软件设计..................................194.1C程序整体设计思路............................194.2主程序设计...................................204.3中断设计.....................................215软件调试和结果..................................265.1软件调试与烧写................................265.2硬件仿真.....................................27结束语............................................30参考文献..........................................311引言1.1单片机的背景单片机即单片机微型计算机。用专业语言讲,单片机就是在一块硅片上集成了微处理器、存储器及各种输入输出借口的芯片,这样一块芯片就具有了计算机的属性,因为被称为单片机微型计算机,简称单片机。单片机的前身叫做单板机,是将CPU芯片、存储器芯片、I/O接口芯片和简单的I/O设备等装配在一块印刷电路板上,再配上监控程序,就构成一块单板机。单片机基本用于教学,后来发展为单片机。可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械里。它在整个装置中,起着至关重要的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机、智能手机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。2整体设计方案2.1单片机的基本结构单片机是一种可通过编程控制的微处理器,单片机芯片自身不能单独运用于工程或者产品上,它必须要依靠外围数字器件或者模拟器件的协调才能发挥自身的强大功能。单片机内部包含中央处理器CPU、程序存储器ROM、数据存储器RAM、I/O口、定时计数器、外部中断、串行通信等内部结构。本设计采用ATMEL的AT89C52微处理器,主要基于以下几个因素:1)AT89C52为51内核,仿真调试的软硬件资源丰富。2)性价比高,货源充足。3)功耗低,功能强,灵活性高。4)DIP40封装,体积小,便于产品小型化。5)为EEPROM程序存储介质,1000次以上擦写周期,便于编程调试。6)工作电压范围宽:2.7V-6V,便于交直流供电。2.2单片机的选择单片机微型计算机是微型计算机的一个重要分支,也是颇具有生命力的机种。单片机微型计算机简称单片机,特别适用控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可称为一个单片机控制系统。89系列单片机以其卓越的性能、完善的兼容性、快捷便利的电擦写操作,低廉的价格、超强的加密功能,完全替代87C51/62和8751/52,低电压、低电源、低功耗,有DIP、PLCC、QFP封装,有民用型、工业级、汽车级、军品级等多种温度等级,是当今世界上性能最好、价格最低、最受欢迎的八位单片机。STC89C52为40脚双列直插封装的8位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等STC89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。3.秒表的硬件设计3.1LED显示电路单片机系统中常用的显示器有:发光二极管LED(LightEmittingDiode)显示器、液晶LCD(LiquidCrystalDisplay)显示器、CRT显示器等。LED、LCD显示器有两种显示结构:段显示(7段、米字型等)和点阵显示(5×8、8×8点阵等)。这里我们采用的是发光二管LED。本次设计中,采用的是共阴极数码管。将共阴极数码管一端接地,一端接在单片机上,通过操纵单片机的高低电平,去控制数码管。LED显示器工作方式有两种:静态显示方式和动态显示方式。1.静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。2.数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低,如表1,为数码管显示的16进制代码。表18段数码管显示数表0x3f00x0610x5b20x4f30x6640x6d50x7d60x0770x7f80x6f90x77A0x7cB0x39C0x5eD0x79E0x71F0x00无显示动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。3.2键盘控制电路键盘是指经过系统安排操作一台机器或设备的一组键(如打字机、电脑键盘),主要的功能是输入资料.从编码的功能上,键盘又可以分成编码键盘和非编码键盘两种。1.编码键盘键盘上闭合健的识别由专用的硬件编码器实现,并产生键编码号或键值(计算机键盘靠软件编码来识别)。编码键盘是由硬件完成键盘识别功能的,它通过识别键是否按下以及所按下键的位置,由全编码电路产生一个唯一对应的编码信息(如ASCII码)。非编码键盘是由软件完成键盘识别功能的,它利用简单的硬件和一套专用键盘编码程序来识别按键的位置,然后由CPU将位置码通过查表程序转换成相应的编码信息。2.非编码键盘靠软件编码来识别的键盘。非编码键盘的速度较低,但结构简单,并且通过软件能为某些键的重定义提供很大的方便。单片机一般都是编码键盘。而对于单片机的非编码键盘,又分为独立键盘和行列式键盘。行列式键盘又可称为矩阵键盘。矩阵键盘分为很多种,我们这里用的是4*4的矩阵键盘。很明显,共有16个按键,如果每个都当做是独立键盘使用的话,当应该有16个借口与此相连接,对于总共就40的借口的AT89C52单片机来说,实在是浪费资源。如果按键更多的话,则更加不好使用。所以出现了矩阵键盘]8[。矩阵键盘,只用8个I/O接口,也就是P3口就控制了全部的16个键盘,十分的节省资源。对于这16个按键,我们可以把他们分成4行、4列。其中的4行分别接P3.0、P3.1、P3.2、P3、3。。而他们的4列则接在P3.4、P3.5、P3.6、P3.7上。这样可以通过行与列的高低电平来判断哪个键盘被按下了。举个例子,我们现在按下了第一个键盘,但是计算机并不知道是哪个按键按下,这样计算机当然无法进行相应的操作。此刻,可以在程序中,对P3口分别赋值,进行4次判断,先判断到底是哪行被按下,这样就可以把范围缩小到某一行。然后在改行的判断语句中,再进行4次比较,找出是哪一列的键盘发生变化,这样就可以轻松的找到到底按下的是哪一个按键了。不过在程序中需要进行多次判断,也就是说,每一次按下按键后,计算机必须对所有的程序扫描一遍才可以。3.3译码器的使用译码器的种类很多,但它们的工作原理和分析设计方法大同小异,其中二进制译码器、二-十进制译码器和显示译码器是三种最典型,使用十分广泛的译码电路。译码器是典型的组合数字电路,译码器是将一种
本文标题:基于单片机的数字秒表设计111(2)
链接地址:https://www.777doc.com/doc-3675130 .html