单片机定时器的设计_第1页
单片机定时器的设计_第2页
单片机定时器的设计_第3页
单片机定时器的设计_第4页
单片机定时器的设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

摘要摘要随着时代的进步,电子行业的发展,定时器的应用也越来越广泛,单片机以其强大的功能,成为许多功能电子产品的首选。本次电子定时器电路根据设计要求采用AT89C51单片机来实现最大99秒倒计时,采用两位数码管显示。文章的核心主要是硬件介绍及连接和软件编程两个大的方面。硬件电路主要包括AT89C51、晶振电路、数码管,发光二级管,按键。软件用汇编语言实现,主要包括主程序、倒计时、重启控制程序等软件模块。采用软硬件配合基本能实现设定定时时间倒计时功能,达到了设计的要求和目的。并在Proteus软件上进行了仿真和调试。关键词AT89C51单片机;定时器;倒计时燕山大学本科课程设计 !录摘要 第一章绪论 定时器的发展 电子定时器的应用 选题的目的和意义 本章小结TOC\o"1-5"\h\z\o"CurrentDocument"第二章单片机的基础知识 3\o"CurrentDocument"单片机简介 3\o"CurrentDocument"单片机的特点 3本章小节\o"CurrentDocument"第三章功能实现及硬件介绍 4设计功能实现 4\o"CurrentDocument"C51单片机引脚介绍 9时钟和复位电路\o"CurrentDocument"数码管显示 10\o"CurrentDocument"键盘 12电气原理图 本章小结\o"CurrentDocument"第四章软件设计 15\o"CurrentDocument"程序流程图 15\o"CurrentDocument"定时1秒设计 16\o"CurrentDocument"重新启动 17\o"CurrentDocument"程序 17本章小结结论 参考文献 致谢 II燕山大学本科课程设计第一章绪论定时器的发展人类最早使用的定时工具是沙漏或水漏,但在钟表诞生发展成熟之后,人们开始尝试使用这种全新的计时工具来改进定时器,达到准确控制时间的目的。传统的定时器都是使用发条驱动式、电机传动式、电钟式等机械定时器。20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的备个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。电子定时器相对传统定时器来说体积小,重量轻,造价低,精度高,寿命长,而且安全可靠适用于频繁使用,在各个领域得到了广泛的应用。使相当多需要人控制时间的工作变得简单了许多。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方而发展,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在己能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。电子定时器的应用电子定时器大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备甚至各种定时电气的自动启用等。电子定时器经常用于延时自动关机、定时。延时自动关机可用于电视机、催眠器、路灯及其他电器的延时断电及延时自停电源等。定时可用于照相定时曝光,定时闪光,定时放大,水位定时报警,延时电铃,延时电子锁等,人们甚至将定时器用在了军事方面,制成了定时炸弹,定时雷管。1燕山大学本科课程设计电子定时器影响着人类的生产和生活,随着电子技术的发展,电子定时器也在不断的进步,将朝着更高精度,更多用途的方向为我们服务。选题的的目的和意义定时器与生活联系密切,我们亲身体会到它存在的价值,通过课程设计自己亲自完成电子定时器的简单设计不仅可以将学到的理论知识应用于实践,更提高了我们思考问题,解决问题的能力,同时提高我们的学习兴趣。本章小结本章小结:本章主要介绍了定时器的现状,让我们对电子定时器的有了初步的了解,为进一步设计及研究奠定了基础。燕山大学本科课程设计第二章单片机的相关知识单片机简介单片机全称为单片机微型计算机(SingleChipMicrosoftcomputer)。从应用领域来看,单片机主要用来控制,所以又称为微控制器(MicrucontrollerUnit)或嵌入式控制器。单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。单片机的特点.单片机的存储器ROM和RAM是严格区分的。RAM称为程序存储器,只存放程序,固定常数,及数据表格。RAM则为数据存储器,用作工作区及存放用户数据。.采用面向控制的指令系统。为满足控制需要,单片机有更强的逻辑控制能力,特别是单片机具有很强的位处理能力。.单片机的I/O通常是多功能的。由于单片机芯片上引脚数目有限,为了解决实际引脚数和需要的信号线的矛盾,采用了引脚功能复用的方法,引脚处于何种功能,可由指令来设置或由机器状态来区分。.3本章小结通过对单片机总体的介绍,我们对单片机有了初步的认识,针对单片机的特点对其应用也有了更深的目的性。燕山大学本科课程设计第三章功能实现及硬件介绍设计功能介绍P1.0定时开始,P1.1时间调整,P1.2重新启动首先初始状态显示00,按下P1.1所连按键进行时间加1操作,设定好后按下P1.0所连按键倒计时开始,当所设定时间到达时显示00,二极管发光。系统总体框图C51单片机引脚介绍一、89C51的性能及特点89C51的主要性能包括:

燕山大学本科课程设计①与MCS-51微控制器产品系列兼容。②片内有4KB可在线重复编程的快闪擦写存储器(FLASHMDMORY)。③存储器可循环写入/擦除1000次。④存储数据保存时间为10年。 …⑤宽工作电压范围:VCC可为2.7〜6V。⑥全静态工作:可从0HZ到16MHZ。⑦程序存储器具有3级加密保护。⑧128X8位内部RAM。⑨32条可编程I/O线。⑩两个16位定时器/计数器。中断结构具有5个中断源和2个优先级。可编程全双工串行通道。空闲状态维持低功耗和掉电状态保存存储内容。F1J01 M2 3?3 35* 37」 八i 337 3+8 339 3210 3111 RI89C51 3012 2913 231+ 2715 H1£ 2517 21IS 2315 22如 21XfGGPlJFOBF1)-P1W"T1.1PlJFO工P03P0.+Pl.tPOJPl.7P0.fiE-EKEIP0.7P3J0FJJ.KLETWOP3JPSENP33P2.7P3.+P2.CP3JP2JP3.tP24F3.7P23P2JP2JPSJO(2)、AT89C51硬件结构及引脚MCS-51系列单片机采用40引脚双列直插式封装(DIP),4个并行口共有32根引脚,可分别作为地址线、数据线和I/O线2根电源线2根时钟震荡电路引脚和4根控制线。.电源引脚Vcc和VssVss:接地端。Vcc:芯片+5V电源端。.时钟信号引脚XTAL1和XTAL2XTAL1、XTAL2:当使用单片机内部震荡电路时,用来外接石英晶体和微调电容,XTAL1是片内震荡电路反相放大器的输入端,XTAL2是片内震荡电燕山大学本科课程设计路反相放大器的输出端,震荡电路的频率就是晶体的固有频率。当使用外部时钟时,XTAL1接地,XTAL2接外部时钟信号源。.控制信号引脚RST/VPD、ALE/PROG、PSEN和EA/VPPRST/VPD:RST是复位信号输入端。当输入的复位信号保持两个机器周期(24个时钟周期)以上的高电平时有效,用来完成复位操作第二功能VPD作为备用电源输入端,当主电源VCC发生故障,电压降低到低电平规定值时,可通过VPD为单片机内部RAM提供电源,以保护片内RAM中的信息不丢失,使系统在上电后能继续正常运行。ALE/RRRG:ALE为地址锁存允许输出信号。在访问外部存储器时,ALE用来锁存P0口扩展低8位地址的控制信号。在不访问外部存储器时,ALE也以时钟震荡频率的1/6的固定频率输出,因而它又可用作对外输出时钟信号或其他需要,例如可以用示波器查看ALE是否有脉冲信号输出来确定89C51芯片的好坏第二功能PRRG是对内部有EPROM的单片机的EPROM编程时编程脉冲输入端,它和31号引脚的第二功能Vpp一起使用。PSEN:外部ROM的读选通信号输出端。在访问外部ROM时,PREN产生负脉冲作为读外部ROM的选通信号。而在访问外部RAM或片内ROM时,不会产生有效PSEN信号。EA/VPP:ER是访问外部ROM的控制信号。当EA为低电平时,CPU只执行外部ROM中的程序。当EA为高电平且PC值小于0FFF(4K)时,CPU执行内部ROM的程序,但当PC的值超出4K时将自动转去执行片外ROM的程序。对于无片内ROM的8031或不使用内部ROM的89C51,需外扩EPROM,此时EA必须接地第二种功能VPP是对8751的片内EPROM的+21V编程电源输入端。.P0~P3口结构及功能P0口由一个输出锁存器、一个转换开关MUX、两个三态输入缓冲器、输出驱动电路和一个与门及一个反相器组成,如图2-2所示。燕山大学本科课程设计读锁存器内部总线

写地址/数据控制 Vcc读钺存器内部总妹读引脚,读钺存器内部总妹读引脚,读引脚图2-2P0口位结构图P0口具有两种功能:第一,P0口可以用作通用I/O接口;第二,P0口可以用作地址/数据总线。(2)P1口是由一个输出锁存器、两个三态输入缓冲器和输出驱动电路组成,驱动电路内部设有上拉电阻,如图2-3所示。Vcc上拉电阻"———Fl.xnl图2-3P1口位结构图P1口是51单片机唯一的单功能口,是通用的准双向I/O口。(3)P2口由一个输出锁存器、一个转换开关MUX、两个三态输入缓冲器、输出驱动电路和一个反相器组成,如图2-4所示。燕山大学本科课程设计*龊仲川MLK谭琳・*龊仲川MLK谭琳・»Vcc第二输出功能CP9Vcc第二输出功能CP9第二输入功能图2-4P2口位结构图P2口共有两个功能:第一个功能与上述两组引脚的第一功能相同,即可用作通用I/O口;它的第二功能与P0口引脚的第二功能相配合,作为地址总线用于输出片外存储器的高8位。(4)P3口由一个输出锁存器、三个三态输入缓冲器、输出驱动电路和一个与非门组成,如图2-5所示。读锁存器内部离甥写'读引脚图2-5P3口位结构图P3口有两个功能:第一个功能与其余三个端口的第一功能相同;第二功能做控制用,每个引脚的功能不同:P3.0——RXD:串行口接收数据输入端P3.1——TXD:串行口发送数据输出端P3.2——INT0:外部中断申请输入端0P3.3——INT1:外部中断申请输入端1P3.4——T0:外部计数脉冲输入端0

燕山大学本科课程设计P3.5——T1:外部计数脉冲输入端1P3.6——WR:写外设控制信号输出端P3.7——RD:读外设控制信号输出端时钟电路和复位电路单片机的时钟信号用来提供单片机内各种微操作的时间基准;复位操作则使单片机的片内电路初始化,使单片机从一种确定的状态开始运行。时钟电路:单片机的时钟信号通常有两种产生方式。一种是内部时钟方式;另一种是外部时钟方式。如图2-6所示。NCS-51CbJ外部时钟方式3内部时钟方式图2-6NCS-51CbJ外部时钟方式3内部时钟方式图2-6时钟方式图内部时钟方式只要在单片机的XTAL1和XTAL2引脚外接晶振就构成了自激振荡器,并在单片机内部产生时钟脉冲信号。外部时钟方式是把外部已有的时钟信号引入到单片机内,常用于多片单片机同时工作,已使各单片机同步。单片机的时序单位:晶振周期为时钟脉冲频率的倒数,为最小的时序单位,也称T状态;时钟周期包含两个晶振周期,也称S状态;完成一个基本操作所需要的时间称为机器周期,由6个时钟周期组成,即12个晶振周期;指令的执行时间称为指令周期,通常含有1~4个机器周期。单片机的复位状态:当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以燕山大学本科课程设计上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种基本形式:上电复位和手动复位。上电复位要求接通电源后,自动实现复位操作。手动复位是当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。单片机冷启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM区中的内容,21个特殊功能寄存器复位后的状态为确定值,见下表(表中符号*为随机状态)。表2-1特殊功能寄存器复位后的状态表特殊功能寄存器初始状态特殊功能寄存器初始状态A00HTMOD00HB00HTCON00HPSW00HTH000HSP07HTL000HDPL00HTH100HDPH00HTL100HP0〜P3FFHSBUF不定IP***00000BSCON00HIE0**00000BPCON0*******B数码管显示LED(lightEmitingDiode)是发光管的缩写。LED显示器是由发光二极管构成的,所以在显示器前面冠以“LED”。LED显示器在单片机中的应用非常普遍。10燕山大学本科课程设计1)、LED显示原理通常所说的LED显示器由7个发光二极管组成,因此也称之为七段LED此外,显示器中还有一个圆点型发光二极管(在图中以dp表示),用于显示小数点。通过七段发光二极管亮暗的不同组合,可以显示数字、字母以及其他符号。LED显示器中的发光二极管共有两种连接方法:共阳极接法把二极管的阳极连在一起构成公共阳极。使用时公共阳极+5V。这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不亮。共阴极接法把发光二极管的阴极连在一起构成公共阴极。使用时公共阴极接地,这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不点亮。使用LED显示器时要注意区分这两种不同的接法。为了显示数字或符号,要为LED显示器提供代码,因为这些代码是为显示字形的,因此称之为字形代码。七段发光二极管,再加上一个小数点位,共计八段。因此提供给LED11

燕山大学本科课程设计显示器的字形代码正好一个字节。各代码的对应关系如下:代码位D7D6D5D4D3D2D1D0显示段dpgfEDcba用LED显示器显示十六进制数的字形代码在下表中列出。字型共阳极代码共阴极代码字型共阳极代码共阴极代码0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF8EH71H7F8H07H灭FFH00H880H7FH此设计使用的是共阳极接法。键盘键盘的工作方式应该根据实际应用系统中CPU的工作状况而定,其选取的原则是既要保证CPU能及时响应按键操作,又不要过多占用CPU的工作时间。通常,键盘的工作方式有三种,即编程扫描、定时扫描和中断扫描。1编程扫描方式编程扫描方式是利用CPU完成其他工作的空余时间,调用键盘扫描子程序来检验按键状态,响应键盘输入。执行键功能程序时,CPU不再享有键输入要求,直到CPU重新扫描键盘为止。2定时扫描方式定时扫描方式就是每隔一段时间对键盘扫描一次,她利用单片机内部的定时器产生一定时间(如20ms)的定时,定时时间到产生定时器溢出中断。12

燕山大学本科课程设计CPU在中断服务程序中键盘进行扫描,并在有键按下时识别出该键并保存键号,然后在中断服务程序或主程序中执行该键的功能程序。3中断扫描方式本设计采用上述两种键盘扫描方式时,无论是否有键按下,CPU都要定时扫描键盘,而单片机应用系统工作时,并非经常需要键盘输入。因此,CPU经常处于空扫描状态,浪费CPU大量时间,CPU不扫描键盘,而有键按下时,通过相应电路产生中断请求,CPU相应中断,执行键盘扫描子程序,并识别键号。本设计采用程序扫描方式。步骤如下:①首先判断是否有键按下。②去除键抖动。若有键按下,则延时5〜10ms,再一次判断有无键按下,如果此时仍有键按下,则认为键盘上有一个键处于稳定闭合期。③若有键闭合,执行相应的子程序。电气原理图13P0.0/AD013P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P30/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4T0P3.5/T1P3.6/WRP3.7/RD燕山大学本科课程设计本章小结本次课程设计采用软硬件结合的方式,对硬件系统有了详细的认识才能更好的对其编程,是下一章的学习和研究的基础。14

燕山大学本科课程设计第四章软件设计程序流程图开始结束初始化T0,T1,显示00开始倒计时加开始结束初始化T0,T1,显示00开始倒计时加1按键扫描pl.l,p1.2P1.1按下P1.0按下判断是否到00灯亮显示主程序流程图15

燕山大学本科课程设计重启控制流程图定时1秒设计定时方法我们采用软硬件结合的方法,定时器TO工作于方式1定时50毫秒,这样每当T0到50毫秒时CPU就响应它的溢出中断请求进入他的中断服务子程序。定时器的最大定时时间为50ms,因此如果想得到1s的定时,需要计20次50ms才能实现。设计中p3.5出现低电平时灯亮,所以通过p1.3引脚控制,每500ms对p1.3取反,因此计数器T1计数十次。工作方式控制寄存器(TMOD)TMOD寄存器是一个专用寄存器,用于设定两个定时器/计数器的工作方式。但TMOD寄存器不能寻址,只能用字节传送指令设置其内容。其定义如下:位序B7B6B5B4B4B3B2Bl位符号GATEC/TM1M0GATEC/TMlM0定时/计数器1定时/计数器016

燕山大学本科课程设计4位一组的结构使它不能位寻址,一定义就是4位。从寄存器的位个时钟可以看出,它的低半字节定义定时器/计数器0,高半字节定义定时器/计数器1。根据设计的要求设置TMOD。T0工作于定时状态,定时50ms,工作方式1,T1工作于计数状态,方式二。X=216一定时时间/振荡周期又12=216-50X103X12X106/12=65536一定时时间=65536-50000=3CB0H所以初值TH0=3CH、TL0=0B0H重新启动每次定时完毕以后,需要重新定时时,需要将系统恢复初始状态,按下与P1.2相连的按键程序自动返回,执行新的定时邀请。程序设计org0000hIjmpmainorg000bhIjmptimeorgmain:movmovmov0100htmod,#61hth0,#3chtl0,#0b0h;设置定时器初值setbea17orgmain:movmovmov0100htmod,#61hth0,#3chtl0,#0b0h;设置定时器初值setbea17燕山大学本科课程设计setbet0movthl,#0f6hmovtl1,#0f6hmova,#00hmovb,#00hmovdptr,#tabmovr0,amovea,@a+dptrmovp0,amova,bmovea,@a+dptrmovp2,amova,r0ll:jnbpl.1,12jnbpl.0,15燕山大学本科课程设计setbet0movthl,#0f6hmovtl1,#0f6hmova,#00hmovb,#00hmovdptr,#tabmovr0,amovea,@a+dptrmovp0,amova,bmovea,@a+dptrmovp2,amova,r0ll:jnbpl.1,12jnbpl.0,1519:jbpl.1,11ineamovr0,aelresubba,#0ah;设置计数器初值;保存显示结果只寄存器;将调整好的时间传到寄存器;将设置好的时间低位经P0口输出;将高位赋给寄存器a;找到相应的数码管显示段值;设置好的高位时间经P2口输出;寄存器a恢复低位;判断pl.l,有按下则跳转到12;判断pl.0,有按下则跳转到15;再次判断pl.l有无按下;pl.l按下则低位加一调整时间;保存当前设置时间低位;进位标志位清零;当前值与10比较jne14 ;若无借位,说明时间已经到10,跳转到14若有借位,说明时间不到十,继续mova,r0movr0,amovea,@a+dptrmovp0,amova,bmovea,@a+dptrmovp2,a;查询要显示的段码值;低位经;查询要显示的段码值;低位经p0口输出;高位经p2口输出燕山大学本科课程设计mova,r0;恢复时间低位l3:jnbp1.1,l3;等待P1.1按键弹起后再次扫描P1.1,是否继续加一调整定时时间ljmpl1l4:mova,#00h;地位值到10,则低位清零incb;高位加一movr0,a;保存时间低位movca,@a+dptr;找到相应的显示段码movp0,a;低位经P0口输出mova,bmovca,@a+dptrmovp2,a;高位经p2口输出mova,r0;恢复低位值ljmpl3;跳转到继续扫描按键l2:movr7,#40;时间延迟10msdel11:movr6,#123;10ms后跳转到19;10ms后跳转到19;10ms延时继续判断P1.0,若有按下跳转到l6若无按下,继续扫描按键倒计时开始,开定时器T0开计数器T1movr7,#40del12:movr6,#123nopdel22:djnzr6,del22djnzr7,del12jnbp1.0,l6ljmpl1setbtr0setbtr119

燕山大学本科课程设计loop2:jbctf1,loop1ajmploop2loop1:decamovr0,aclrcsubba,#0ffhjncl7mova,r0movr0,amovca,@a+dptrmovp0,amova,bmovca,@a+dptrmovp2,amova,r0jmpl6l7:mova,bjzl8decbmova,#09hmovr0,amovca,@a+dptrmovp0,amova,bmovca,@a+dptrmovp2,amova,r0;500ms时间到,跳转到loop1;不到500ms,等待;时间低位减一;保存当前低位值;借位标志清零;与#ffh比较;若没有借位,则说明已经减到了0,减一后为ff,跳到17,若有借位,则还没有减到0,继续减一;输出低位;输出高位;恢复a低位值;跳转到l6继续定时减一;判断高位是否到0,到0,跳到l8;高位没有到0,则继续减一;低位清零;恢复a低位值;低位输出;高位输出20燕山大学本科课程设计ljmp16tab:db0c0h,0f9h,0a4h,0b0hdb99h,92h,82h,0f8hdb80h,90hl8:clrp1.7

温馨提示

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

最新文档

评论

0/150

提交评论