智能电子计时器系统毕业论文_第1页
智能电子计时器系统毕业论文_第2页
智能电子计时器系统毕业论文_第3页
智能电子计时器系统毕业论文_第4页
智能电子计时器系统毕业论文_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

苏州市职业大学毕业设计摘要本设计是以AT89S51单片机为核心实现的一个智能电子计时器系统。目前市场上的电子计时器,主要有基于NE555的电子计时器、基于脉冲的电子计时器以及基于AT89S51单片机的电子计时器三种。通过比较,本课题选择了“基于AT89S51单片机的电子计时器”的设计方案。该方案利用了AT89S51单片机为主控芯片,实现了时间显示、定时中断以及记录比分等功能。具有简单易操作、时间可以任意设定等优点,适合目前人们对智能小家电的需求。本设计主要从总体设计、硬件设计、软件设计、系统实现等方面来对智能电子计时器进行详细的介绍。硬件主要由显示模块、按键模块、复位模块、晶振电路等组成;软件是用C语言编程,再利用Keil软件进行仿真,最后将软硬件结合起来实现电子计时器的功能。本设计主要是完成定时时功能,该计时器系统简单易操作,定时时间也较长,适合在999秒以内的定时,比如豆浆机、榨汁机等的定时。关键词:AT89S51,LED数码管,电子计时器,C语言

AbstractThisdesignisbasedonAT89S51asthecoreimplementationofanintelligentelectronictimersystem.Currentlyonthemarketofelectronictimer,aremainlybasedontheelectronictimerNE555,basedonthepulseoftheelectronictimerandelectronictimerbasedonAT89S513kinds.Bycomparison,chosethetopic"electronictimerbasedonAT89S51"design.TheschemetakesadvantageoftheAT89S51asthemaincontrolchip,implementthetimedisplay,timinginterruptandrecordthescore.Withasimpleeasytooperate,theadvantagesoftimecanbesetarbitrary,meetrequirementsofintelligenthouseholdappliances.Thisdesignmainlyfromtheoveralldesign,hardwaredesign,softwaredesign,systemimplementation,etctointelligentelectronictimerisintroducedindetail.Hardwareismainlycomposedofdisplaymodule,keysmodule,resetmodule,acrystalvibrationcircuitandsoon;SoftwareiswritteninClanguageprogramming,usingtheKeilsoftwaresimulation,electronictimerfunctionisrealizedbycombiningsoftwareandhardware.Timingofthecompletionofthisdesignismainlythefunction,thetimersystemeasytooperate,simpletimingtimeislonger,suitabletimewithin999seconds,suchastimingDouJiangJi,juicerandsoon.Keywords:AT89S51,LEDdigitaltube,electronictimer,theClanguage 目录第一章 绪论 绪论我国广泛采用的搅拌机是强制式搅拌机和倾卸式搅拌机[1]。这两类搅拌机对混凝土的水灰比、强度、坍落度的适应性比较宽。我国在搅拌机的研究和发展上在向大容量的方向发展和提高,但是随着人们生活水平的提高,搅拌机也逐渐进入到老百姓的生活中。而且是智能小型的搅拌机,比如说豆浆机和榨汁机等都用到了搅拌机,把人们从纷繁的家务劳动中解放出来而且将中国美食做的更美味。随着计算机在社会领域的渗透,微型单片机的应用[2]正在不断地走向深入。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合。有时还会用到运用C语言[3]进行编程,简化了源程序,简单易懂,再利用Keil软件进行仿真编译,最后软硬件相结合实现功能。本次设计的搅拌机智能电子计时器是以AT89S51单片机为核心的计时系统,由硬件和软件两部分组成。进行软件仿真时,再跟硬件相结合。设计一个更加简单以及灵敏的计时器,用于小型家电中,还可以作为篮球计分器使用。计时时间从000-999秒的小型电子计时器,计时间隔是1S,时间可以在这个范围内任意设置,简单,方便,灵敏度高等优点,就是在时间设置这一块存在不能直接输入,而必须要用按键加减才能实现。第二章电子计时器及AT89S51单片机的简介2.1电子计时器的的功能以及工作原理2.1.1电子计时器的功能简述电子计时器的功能是以单片机[4]的硬件设计为基础的,通过硬件模块化的设计,再结合软件系统,最后实现整体的功能。电子计时器的系统可以分为三个部分:复位模块、显示模块以及控制模块。电子计时器是由单片机为核心的器件组成的一个倒计时系统。系统显示器是由3个8位数共阳型数码管组成,还有复位模块、按键模块等组成。目前电子计时器应用广泛用于各种场合,如篮球比赛,广告牌定时翻转以及本次最重要的是用于家庭小型搅拌机的定时。这次毕业设计的电子计时器计时时间是0—999秒,开始计时时显示器通过单片机控制,数码管显示倒计时的时间,通过按键控制倒计时的开始和停止,当倒计时结束时,会听到滴的一声以及数码管显示为000并不再变化来提醒倒计时结束。本设计是基于AT89S51单片机控制的智能电子计时系统,该系统以单片机为核心,C语言为程序基础,采用单片机软件、硬件相结合的方式,实现定时计时的功能。本次的设计能够实现999秒以内的时间定时,利用C语言编程,实现对整个系统的控制,完成相应所需的功能。不仅成本低而且制作简单,实现功能齐全,在平时的篮球比赛的倒计时中也可以运用,而且可以复位,能够多次设定以及任意设定计时的时间。2.1.2电子计时器的工作原理及组成本方案采用单片机程序设计制作,它是利用芯片AT89S51的特殊功能,P3口控制按键开关,当按下开关S1,三个数码管将显示999,然后通过P2.0和P2.1对控制数码管的两个三极管进行位选,P1口输出段码经74LS373锁存来驱动数码管进行倒计时,同时能实现复位、暂停、任意调整时间的功能。其系统框图如图下图所示。 按键输入按键输入复位电路AT89S51驱动电路显示电路振荡电路图2-1系统原理框图图2-1是电子计时器的工作原理框图,计时器的工作原理是以硬件为基础,采用模块化设计的方法进行控制的系统。由图可以看出计时器的核心部件是单片机,以单片机为核心,利用系统的软件[5]程序控制硬件电路,从而实现计时的功能。通过按键向单片机设定时间,然后通过内部程序的处理之后,由单片机输出信号,最后由数码管显示出结果。单片机是整个计时器的控制部分,它不仅将输入与输出连接起来了,同时完成了信号处理部分。单片机的内部软件部分的设计[6]是采用C语言编写的,它完成了时间参数的设定、计时功能、保存、显示、输出及计时倒计时等功能。2.2AT89S51单片机的简介2.2.1AT89S51功能特性概述AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kbytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价位AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。AT89S51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。AT89S51单片机的主要特点如下:(1)控制功能强。为了满足工业控制的要求,一般单片机的指令系统均有及丰富的转移指令、I/O口的逻辑操作以及位处理的功能。(2)集成度高、体积小、有很高的可靠性。单机机把各功能部件集成在一块芯片上,内部采用总线结构,减少了芯片内部之间的连线,大大提高了单片机的可靠性与抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合于在恶劣环境下工作。(3)有优异的性能价格比。(4)低功耗、低电压、便于生产便携式产品。(5)增加了I2C(6)单片机的系统扩展、系统配置较典型、规范,容易构成各种规格的应用系统。目前单片机正朝着高性能和多品种的方向发展,今后单片机的发展趋势将进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。2.2.2AT89S51的引脚图及说明要掌握了解单片机就必须先从最基本的引脚开始学习和掌握,图2-2就是AT89S51单片机的四十个引脚图,从图中可以看出单片机四十个引脚的各个名称和功能。再根据各个引脚的介绍就可以基本熟练地掌握各个引脚的作用了。图2-2AT89S51单片机的引脚图P0口:P0口是一组8位漏极开路型双向I/0口,也即地址/数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“l”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在F1ash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:Pl是一个带内部上拉电阻的8位双向I/O口,Pl的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“l”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在Flash编程和程序校验期间,P1接收低8位地址。部分端口还有第二功能,如表2-1所示。表2-1P1口部分引脚的第二功能端口引脚第二功能P1.5MOSI(用于ISP编程)P1.6MISO(用于ISP编程)P1.7SCK(用于ISP编程)P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。Flash编程或校验时,P2亦接收高位地址和其它控制信号。P3口:P3口是一组带有内部上拉电阻的8位双向I/0口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“l”时,它们被内部上拉电阻拉高并可作为输入端口。P3口更重要的用途是它的第二功能,P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。如下表2-2所示:表2-2P3口的特殊功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(计时器0外部输入)P3.5T1(计时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上的高电平时间将使单片机复位。WDT溢出将使该引脚输出高电平,设置SFRAUXR的DISRTO位(地址8EH)可打开或关闭该功能。DISRTO位缺省为RESET输出高电平打开状态。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。第三章系统的总体设计3.1方案比较(1)基于NE555的电子计时器采用动态显示的方法来实现LED显示器的数字显示。内部主要采用了NE555集成电路,实现其他的扩充功能。它体积小,无外观修饰,完全裸露内部元件,操作方便,便于安装、拆卸与维修。NE555是一种应用特别广泛的集成电路,属于小规模的集成电路,在很多电子产品中都有应用。NE555的作用是用内部的定时器来构成时基电路,给其他的电路提供时序脉冲。NE555内部含有两个电压比较器,一个分压器,一个RS触发器,一个放电晶体管和一个功率输出级。由NE555构成的电子计时器,具有体积小,成本低,抗干扰能力强,面向控制等优点。它广泛应用于各种继电器,电磁开关,控制器,延时器,定时器等的时间测试。目前所使用的电秒表大多是指针式或集成电路型的,节后相对复杂,测试功能单一。(2)基于脉冲的电子计时器基于脉冲的电子计时器由计时电路、译码显示电路、脉冲发生电路、校分电路、清零电路和报时电路这几部分组成。脉冲发生电路为电子计时器提供计数脉冲,需要产生1Hz的脉冲信号。采用NE555集成电路和分频器CD4040构成脉冲发生器。NE555定时器构成多谐振荡器,波形稳定,上升沿和下降沿小,振幅大,占空比可调,而后通过CD4040k可以输出20~211Hz几种频率供后面使用。计时电路采用二-十进制加法计数器由CD4518实现。60秒为1分,将分秒的个位、十位分别在七段数码显示器上显示出来,从0分0秒到59分59秒,然后重新计数。校分电路设计有一个开关,当开关打到高电位档时,计数器正常计数;当开关打到低电位档时,分计数器进行快速校分(即分计数器可以不受秒计数器的进位信号控制,而通过2Hz频率的校分信号进行校分),而秒计数器保持。在任何时候,拨动校分开关,可以进行快速校分。采用74LS74D触发器,由于D触发器的输出端只在时钟的上升沿变化,而其他时刻保持上一次的电平,故可以用其构成防颤抖电路,在校分电路中有其应用。(3)基于AT89S51单片机的电子计时器本次设计以AT89S51单片机为核心设计一个智能电子计时器,计时时间从000-999秒。本设计硬件部分包括电源电路、复位电路、按键电路、振荡电路、数码管显示电路五部分电路,软件程序部分有定时中断程序、外部中断程序、显示子程序和延时子程序等。软件仿真工具采用Keil软件。硬件采用万用板把元件焊接在一起从而实现预期的功能。该设计具有计时精确、使用方便、可以任意设定计时时间以及可以作篮球电子计时器用等优点;但存在不能在高温的环境下使用以及不稳定等缺点,还有待改进。(4)综合分析根据以上两种方案可以看出基于NE555的电子计时器的设计具有体积小,无外观修饰,完全裸露内部元件,操作方便,便于安装、拆卸与维修的优点。但目前所使用的电秒表大多是指针式或集成电路型的,相对于数字电子计时器测试结果不准确,测试内容单一,所以本次设计不适用这个设计。基于脉冲的电子计时器的设计采用NE555集成电路和分频器CD4040构成脉冲发生器两个组合设计成的,设计比较复杂,操作也比较复杂,报时是每隔一秒都会报时,不适合家庭操作,这样也就不适合本次设计。所以综合以上分析还是基于AT89S51单片机的电子计时器的方案更加适合,简单易操作、多功能而且时间可以任意设定。第三章开始将仔细介绍这次设计的软件和硬件设计以及调试等内容。3.2功能设计此电子计时器系统是采用AT89S51单片机为核心元件,结合数码管、晶振、二极管、按键等元件构成一个简易的电子计时器器。利用了单片机的振荡电路、按键复位电路、时钟电路、定时中断等电路,实现单片机系统的功能。本次设计的电子计时器具有实时显示及定时的功能,能有多种用处。比如:该电子计时器应具有基本倒时功能;具有启动,暂停复位功能;时间可以任意调整;时间用数码显示,初始值为000秒,最大值为999S扫描时间间隔为1S还可以作为篮球计分表使用。3.3功能实现流程本课题利用AT8S51单片机及其丰富的外围接口实现了计时系统的设计,该电子计时器增加了新功能、提高了系统的可靠性、简化了电路结构、节约了成本,使用方便,只需要按加减按钮设定一个时间,最后按下确认按钮即可,到时会自动中断,停止工作,是一个实用的工程设计,下图3-1是硬件的实现流程图:开始开始设定时间确认计时完成复位重新设定时间完成否是图3-1功能实现流程图本次设计的搅拌机智能电子计时器就是本着智能简单方便的原则,所以功能实现非常简单,只要按加减键设定时间然后按确认键就可以了,时间到时就会自动停止。第四章硬件设计4.1单片机最小系统单片机最小系统是单片机在发挥具体测控功能时所必须的组成部分。单片机最小应用系统方框图,如图4-1所示。图4-1单片机最小系统应用框图(a)复位电路单片机在开机时都需要复位,以便CPU及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。单片机复位电路工作原理:当通电瞬间稳压电源给电容充电。RESET为复位输入端,当RESET引脚持续两个机器周期以上的高电平时,使单片机完成复位操作,随着电容充电结束,将使电容与电阻之间将呈现低电平,单片机复位结束。复位操作的主要功能是把PC初始化为0X0000,使单片机程序存储器从0X0000单元开始执行程序。本次设计以单片机AT89S51作为主控芯片,控制整个电路的运行。采用AT89S51上的复位引脚。单片机外围需要一个复位电路,复位电路的功能是:系统上电时提供复位信号,直至系统电源稳定后,撤消复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。该设计采用含有二极管的复位电路,复位电路可以有效的解决电源毛刺和电源缓慢下降(电池电压不足)等引起的问题,在电源电压瞬间下降时可以使电容迅速放电,一定宽度的电源毛刺也可令系统可靠复位。复位电路的设计图如图4-2所示:图4-2单片机复位电路图(b)晶振电路本设计选择的方案中采用的是内部振荡方式。采用内部方式时在XTAL1和XTAL2引脚上接石英晶体和微调电容可以构成振荡器,如图4-3所示。图中C1、C2起稳定振荡频率、快速起振的作用。内部振荡方式所得的时钟信号比较稳定,实用电路中使用较多。振荡频率的选择范围为1MHz~12MHz。图4-3晶振电路图4.2电子计时的功能模块用P0口、P1口、P2口分别连接三个显示管;P3口的P3.0、P3.1、P3.2分别连接加1键、减1键、确定键;复位引脚连接复位按钮。如图4-4所示:P0.0~0.7P0.0~0.7P3.3P3.0~3.2P1.0~1.7AT89S51RSTP2.0~2.7数码管一数码管二数码管三按键模块继电器模块复位模块图4-4计时继电器的功能框图4.3继电器模块现代自动控制设备中,都存在一个电子电路与电气电路的互相连接问题,一方面要使电子电路的控制信号能够控制电气电路的执行元件(电动机,电磁铁,电灯等),另一方面又要为电子线路的电气电路提供良好的电隔离,以保护电子电路和人身的安全。电子继电器便能完成这一桥梁作用。继电器电路中一般都要在继电器的线圈两头加一个二极管以吸收继电器线圈断电时产生的反电势,防止干扰。本设计的控制端为P3.3,当P3.3为高电平时,继电器不工作,当P3.3为低电平时,继电器工作,常开触点吸合,起到保护电路以及保护人身的安全。利用P3.3口输出高低,控制继电器的开合,实现对外部装置的控制。连接如图4-5所示:图4-5继电器模块图4.4按钮模块按键是微机应用系统中使用最广泛的一种数据输入设备,按照键盘按键的结构形式,可分为独立式键盘和矩阵式键盘。本设计主要采用独立式键盘,此键盘控制电路主要是用于调整时间,其电路结构图如图4-6所示。图4-6按钮模块图(1)独立式键盘的扫描识别原理独立式键盘就是各个按键是相互独立的,分别接一根输入线,各条输入线上的按键工作状态不会影响其他输入线的工作状态。因此,通过检测输入线的电平状态,可以判断哪个按键被按下,若检测是低电平则键盘闭合。就像本次设计共用到四个按键,分别负责调整时间(加一减一)、开始(确认)以及复位的功能,互不干扰。(2)独立式键盘的消抖原理一般采用触点式键盘,由于机械触点的弹性作用,在闭合及断开的瞬间,电压信号伴随有一点时间的抖动,抖动时间与按键的机械特性有关,一般在5-10ms。为保证CPU一次按键动作,必须消除抖动的影响,消除抖动的措施有硬件消除和软件消除。本文根据抖动信号特点,采用软件消抖的方法,主要是在程序中调用延时子程序,判断前后两次读值是否相等,相等则为键盘闭合,反之键盘断开。本次设计主要用到四个按键,每个按键都是独立的。其中有两个是用来设定时间的,一个加一,一个减一,可以实现1-999秒时间内的任意时间的设定,还有一个是用来确定的即开始按钮。最后一个是用来复位的,每次计时完成后按下复位键就可以将以前的数据都清除,重新回到000,可以消除一部分干扰。4.5显示模块八段数码显示管有两种,一种是共阳数码管;另一种是共阴数码管。二者原理不同但功能相同。每个数码管都有a、b、c、d、e、f、g七个笔划和一个小数点DP,这八个联对应二极管阳极,阳极都连在一起称为共阳。电路图4-7:图4-7共阳数码管图本设计的时间显示选用3个八段(共阳)数码管LED,经过三次降压后连接到数码管的VCC。其外形和内部结构如图4-8所示:图4-8八段数码管图数码管共阳与共阴数码管正好相反。它是当P0为低电平时亮。当P00=0时,a亮。当P00=0,P01=0,P02=0,P03=0,P04=0,P05=0时,该数码管则显示0。数码管显示方式有静态显示和动态显示两种。静态显示是指在显示器显示某个字符时相应的段(发光二极管)一直导通或截止,直至变换为其它字符,特点是显示稳定不闪烁,程序编写简单,但占用端口资源多;而动态显示是把显示器相同段选线并联在一起,由一个8位I/O口控制,其字选端由其它相应的I/O口控制,然后采用扫描方式轮流点亮各位LED,使每位分时显示该位应该显示的字符,特点是显示稳定性没静态好,程序编写复杂,但是相对静态显示而言占用端口资源少。该方式是分时轮流选通数码管的公共端,这不仅能提高数码管的发光效率,并且由于各个数码管的字段线是并联使用的,从而大大简化了硬件线路。在本设计中根据实际情况采用的是动态显示方法,通过每5毫秒选通数码管,然后显示对应的字段,由于人眼分辨率达不到5毫秒,因此整个数码显示用肉眼看是一直亮的。

第五章软件设计5.1C语言简介在C语言诞生之前,系统软件主要是采用汇编语言编写的。由于汇编语言程序依赖于计算机硬件,其可读性和可移植性都很差,但一般的高级语言又难以实现对计算机硬件的直接操作,于是出现了兼有汇编语言和高级语言特性的新语言即C语言。C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。C语言的功能强大,使用简单,有丰富的库函数,运算速度快,编程效率高,可移植性好。C语言既具有一般高级语言的特点,也具有对计算机硬件直接进行操作的函数,包括了多种高级语言的优点,其最主要的优点是能与汇编语言混合编程,可直接操作硬件端口,这正是单片机应用所需要的。其语言简洁,使用方便灵活,与汇编语言相比,主要有如下优点:▲对单片机的指令系统不要求十分熟悉,仅要求对单片机的基本硬件结构有一定了解;▲C语言可直接访问单片机的物理地址,包括寄存器、不同存储器以及外部接口器件;▲具有丰富的数据结构类型及多种运算符,易于表达,使用方便;▲源代码可读性较强,容易理解和编程,源文件简短;▲具有丰富的库函数,其中包括许多标准共用函数,具有较强的数据处理能力;▲模块化编程技术使程序容易移植,可以把需要的功能模块方便地移植到一个新程序或另一种单片机上。许多计算机都支持对C语言的应用,因而可以方便地在微型计算机上直接编写和测试部分程序。多数情况,调试正常的代码段可以直接移植到目标单片机上,这样可以在没有硬件的情况下开始编写和调试程序。减少在硬件上的调试,可加快开发过程,也可大大缩短编程和调试时间,从而提高编程效率。5.2软件模块规划如图5-1所示是软件系统的结构框图,软件设计和硬件电路设计是相互结合进行的,由硬件电路的结构决定软件部分能够实现的功能,该系统软件设计的编程是采用C语言,通过模块化的方式编写设计的,由图可以看出软件设计部分可以分为复位、定时中断、按键处理三个模块,其中定时中断模块是整个软件设计的核心模块,设计写出各个模块的子程序,然后在主程序中调用,从而实现整个系统的计时功能。图5-1软件系统的结构框图本设计利用单片机AT89S51自身的电子计时器进行设计。由于AT89S51的晶振频率是12MHZ,即1s。具体安排如下:(1)用AT89S51的工作方式1(即十六位定时器)和中断1。十六位电子计时器最大可计时65536。电子计时器的初始值为50微妙。(2)数码管(共阳)显示用静态显示,三个数码管分别占用P0,P1,P2。其中,P0为百位、P1为十位显示、P2为个位显示。数码管采用共阴显示,也就是说当其值为0时,数码管亮;让其显示0——9共十个数字,故它们的值分别是:0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90(3)按钮的分配:加1按钮定义为P3.0,减1按钮定义为P3.1,确认按钮定义为P3.2,复位按钮芯片的RST引脚,P3.3引脚连接继电器。(见附录1)(4)因为显示时间太短时,人眼无法看清,所以在三个数码管和三个按钮前都加上一段延时程序。软件任务规划环节是为软件设计做一个总体规划。从软件的功能来看可分为两大类:一类是执行软件,它能完成各种实质性的功能,如中断,计时,显示,控制等;另一类是监控软件,它是专门用来协调各执行模块和操作者的关系,在系统软件中充当组织调度角色的软件。这两类软件的设计方法各有特色,执行软件的设计偏重算法效率,与硬件关系密切,千变万化。软件进行设计时,应将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义(输入输出定义)。在各执行模块进行定义时,将要牵扯到的数据结构和数据类型问题也一并规划好。各执行模块规划好后,就可以监控程序了。首先根据系统功能和键盘设置选择一种最适合的监控程序结构。通过设置标志位,然后利用标志位的变化,从而实现程序的监控。5.3程序实现在本设计中软件部分的程序分为以下几个部分:主程序、按键控制子程序、延时子程序、时钟设计子程序、定时器中断子程序以及LED显示子程序。具体C语言源程序设计见附录4。下面对主要程序进行分析介绍。5.3.1程序的功能模块本设计的软件程序主要包括:代码初始化、数码管显示程序、按键接收程序、继电器控制程序和中断计时程序。如下图5-2所示:继电器控制程序继电器控制程序主程序数码管显示程序中断计时程序中断计时程序按键接收程序图5-2程序的功能模块图5.3.2主程序设计图5-3所示是主程序流程图,由图中可以看出主程序模块的设计比较简单,它主要实现的功能:首先需要完成对各个数码管、发光二极管检测,检测对应的元件是否是好的;然后进行系统的初始化,包括内部各寄存器单元的初始化、外接电路端口的初始化、内部定时器的初始化、定时器中断的初始化数码管显示及发光二极管的初始化。以上工作是电子计时器工作的前期准备,完成这些以后,电子计时器进入工作,调用显示子程序以及按键处理子程序,通过按键子程序的处理,实现对各个按键的输入信号进行处理,然后再通过显示子程序输出。进行不断的循环执行,最终实现计时功能。调用键值处理程序调用键值处理程序调用显示程序系统初始化检测相关元件是否正常工作开始图5-3主程序流程图5.3.3中断程序设计定时器0的定时时间是1ms,用作扫描数码管显示,在定时器0开启时,定时器0开始定时,此时主程序正常运行,当定时器0的定时时间到时,主程序不再执行,开始进入中断程序,在中断程序中,对8位数码管进行动态扫描。中断程序执行完后返回主程序。当计时完成后就会执行到中断程序,单片机具有能实现中断及返回,所以计时完成后数码管就会显示为000且不继续工作。如图5-4所示。执行主程序执行一条指令定时器0有中断请求?否取下一条指令保护现场和断点定时器0中断服务程序(完成数码管各位的扫描)恢复现场返回执行主程序执行一条指令定时器0有中断请求?否取下一条指令保护现场和断点定时器0中断服务程序(完成数码管各位的扫描)恢复现场返回图5-4定时器0的中断程序流程图5.3.4其他子程序的设计(1)显示子程序显示子程序是采用动态扫描的方式编写的,利用循环扫描的方式每5毫秒轮流选通数码管led1,led2及led3,由于扫描的速度较快,人眼分辨不出,从而使得所看到的数码管显示看上去是同时亮的。延时和定时中断子程序延时子程序的函数定义为delay(i),当调用此程序时,表示延时i毫秒。主要用于按键消抖及数码管循环显示时使用。定时中断服务程序,在此设计中,选用的是定时器T0,设置T0工作于方式1,即16位定时器模式,定时时间为50毫秒,每50毫秒溢出一次,实现一次中断,并判断倒计时时间是否到。第六章系统实现6.1硬件实现如图6-1所示,是此次毕业设计硬件实物图,本设计中,需要3个数码管,4个按键,另外还需要13个发光二极管,电池盒,继电器,电解电容,电阻等就可以将系统的硬件电路实现。本次焊接是买的PCB板回来自己焊的,但是由于是手工布线很多跳线没有布,自己对着PCB线路图一个个查找加上跳线。然后经过老师的多次指导加了一个电池盒采用直流供电就不需要电脑供电了,之后又加了一开关可以控制电源的通和断,使功能更完全,使用更方便。该电子计时器主要包括:专用电源一个,有单片机AT89S51的电路板一个、四个按钮、三个数码管和一个继电器。硬件实物图如6-1所示。焊接完出现问题及解决方法:1、(1)问题:硬件完成后接上电源,数码管一点反应也没有。(2)原因分析:可能是那一块没焊好导致电路断路,电源接不进去。(3)解决方法:仔细对照PCB图,一条一条线找问题,发现是有一个地方没焊好,导致断路。2、⑴问题:第二个数码管的E脚不亮。⑵原因分析:应该是数码管的引脚接断路了。⑶解决方法:仔细找了好久才发现是因为有一点锡沾到布好的铜线上,导致E脚被短路,把锡吸掉即可。3、⑴问题:系统接上电后,发现第一个数码管有点接触不良。⑵原因分析:可能电压不稳定。⑶解决方法:少接了一根短路线。图6-1硬件实物图正面图6.2软件调试软件设计完成后,首先进行软件调试。利用Keil软件对C语言编写的源程序进行编译仿真,Keil软件是目前最流行开发MCS-51系列单片机的软件,它提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。等程序在Keil软件中,调试成功后,将源程序经Keil编译后生成的十六进制的hex文件,烧制到硬件电路中即单片机中,进行软硬件结合调试。利用Keil软件进行代码的调试。按照程序流程图将代码写好。下面图6-2是编译成功后的画面。图6-2编译成功图经过认真的调试,终于完成,但是在调试过程中遇到不少问题,仍然值得注意。总结如下:(1)源文件的扩展名必须是.asm的;(2)每句代码后须写分号;(3)确保输入的关键字正确;硬件实现和程序调试完成后,就可以将程序烧写到单片机中了,然后进行系统调试。一、具体的测试步骤接通电源后,三个数码管将显示000;按下复位按钮仍显示000。(1)按一次加1键,数码管则显示001,按确定键后,开始计时,当显示000时,有“嘭”的响声;(2)复位后,按减1键,数码管则显示999(说明最大计时为999秒),此时按下加1键,数码管则显示000;(3)先设定时间为7秒,即数码管则显示007,按确定键后开始倒计时,此时再按下加1键,电子计时器继续加1;(4)在任何时候都对电子计时器进行复位,均显示000;(5)加时或减时后,在没有确定之前,数码管则显示设定的时间。故可用于记录比分。二、实现功能作为电子计时器使用:正确接通电源后,三个数码管显示:000。按下复位键复位,按下加1键加时到预定时间,若时间太长可按减1键;按确定键开始计时,数码管则显示当前时间,当时间为0时,发出响声并触发继电器开始工作。作为记录比分:本设计亦可用于记录体育比赛中的比分。此时,只要按下加1键或减1键即可。三、功能测试总结本设计可用于现代自动化的工业控制中,例如搅拌机的控制,设定好时间后,时间到搅拌机马上开始工作。时间可精确到1S。能够进行最大999秒的计时功能,设置外部操作开关,有+键、-键、确认键和复位键。控制电子计时器的启动和加时/减时功能。电子计时器递减/加时的时间间隔为1秒。当时间递减为零时,引脚P3.3有效,控制继电器开始工作。通过以上的功能测试数据,可以得出该设计所要求的基本功能通过测试达到了预期的要求,实现了计时功能。只要在0~999秒内都能计时,并且能任意设定时间,功能基本实现。6.3系统功能测试将软件和硬件结合起来,构成电子计时器的整体系统,待软硬件调试成功后,对电子计时器的各个功能进行检测。通过以上的功能测试数据,可以得出该设计所要求的基本功能通过测试达到了预期的要求,实现了一个0-999秒的电子计时器的功能。并由以上的数据可以总结出该电子计时器系统实际实现的功能还可以作为篮球比赛的计分工具。调试方便,使用简单完全符合智能这个要求,在未来人类生活中将会有很大的用处,但若要时间进一步延长以及更加精确到秒以下的单位就要进一步地加强以及改进。在功能测试的过程中各个模块基本都能达到预期的效果,就是按键的次数不能太频繁这样会造成系统不稳定,有时甚至会出现加二的情况,在未来进行改进的过程中这方面也需要不断地改进,让计时更精准,误差更小。

结论本设计利用单片机AT89S51设计的一个智能电子计时器,本设计中电子计时器计时的最小单位是1秒,最长可计时999秒,约等于16分钟。真正实现了时间的随意设定,在实际的工业控制和生活中具有很多的优点,这些优点解决了目前实时控制中时间不能灵活控制和时间难以精确等缺点。该电子计时器功能强大、使用方便,并在搅拌机的控制中得到了应用。本设计将整个程序划分为五大模块:初始化程序、静态显示程序、按键接收程序、中断计时程序和继电器控制程序。五大模块之间的关系是:当无按键按下时,显示管则显示当前时间;当有按键按下时,进入按键接收程序;处理完毕后,再显示当前时间;当确认键按下时,开始倒计时,时间到继电器则开始工作;按下复位键后,继电器就停止工作。同时,由于单片机自身的原因,不宜在温度较高的场合使用,会使电路出现记时不准、紊乱等问题,还有最重要的一点就是虽然时间是任意设定的,但是设定起来比较麻烦,需要一个一个按,可能比较麻烦,仍有待继续研究和改进。致谢回想起这次单片机的毕业设计,至今我仍感慨颇多。从选题到定稿,从理论到实践,可以说是苦多于甜,但是可以学到很多的东西。我的毕业设计是刘韬老师指导的,值此论文完成之际,谨向刘韬老师致以衷心的感谢和无限的敬意。感谢导师在毕业设计的选题、课题的研究、直至论文完稿的每一个阶段为我付出的大量时间和心血。多次找我们沟通,帮我们指出需要改进的地方,让我们在多次改正后,达到较好的水平,功能实现也较容易。他也让我们学会了尽量自己独立完成一个设计,自己查阅资料和构思;更让我们学会了同学之间的合作和讨论;遇到难题时为我们排忧解难,尽心尽力为我们解答每一个难题。为我们制定详细的设计计划并尽心监督。让我们增强了自己独立解决问题的能力和更加体会到制定计划和严格按照计划执行的优越性。老师严谨的治学态度、渊博扎实的理论功底、宽广的胸怀和敏感的洞察力是我一生学习的榜样。还有在初次调试的时候,功能不能实现,好多同学都帮我认真检查,尤其是三班的赵慧同学和我检查了一个下午,终于找出问题了,原来是焊电路板是有一点锡溅到另一条线上(因为我是PCB板,铜线上)所以导致短路。在这次设计中我深刻体会到细心和耐心的优越性,刚开始调试时第二个数码管的E脚不亮,第三个数码管接触不良没有其他两个数码管亮。就用数字万用表对每个数码管进行测量,发现左边两个数码管有两根脚是导通的,对着电路图很多遍也没找出来,后来在另一个同学的帮助下找了一个下午才找到,耐心和合作很重要。最后,对给过我帮助所有的老师和同学再次表示忠心的感谢!参考文献[1]冯忠绪.混凝土搅拌理论及设备[M].北京:人民交通出版社,2001,9.[2]张友德.单片微型机原理应用与实验[M].上海:复旦大学出版社,2010,12.[3]马忠梅等.单片机的C语言应用程序设计[M].北京:航天航空大学出版社,2005,7.[4]邓红.单片机实验与应用设计教程[M].北京:冶金工业出版社,2004,9.[5]杨欣.电路设计与仿真[M].北京:清华大学出版社,2006,4.[6]李建忠.单片机原理及应用[M].西安:西安电子科技大学出版社,2002,8.附录1:计时继电器设计总电路图附录2:PCB电路图附录3:元器件清单序号名字型号数量备注1单片机AT89S511双列直插240腿双列直插底座1供单片机用3电容10424晶振12M15电容30P26电解电容10UF37电阻10K18三极管901219继电器5V直流1108位排阻10K111按键12*12*6412电池盒五号三连113电阻4.7K114二极管40071315数码管0.5寸单个共阳3附录4:电子计时器源程序#include<reg51.h>unsignedcharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};sbitP3_0=P3^0;sbitP3_1=P3^1;sbitP3_2=P3^2;sbitP3_3=P3^3;unsignedintj=0;unsignedinti=0;voidmain(void){unsignedchara,b,c,e,f;unsignedintd=1;TMOD=0x01;TH0=0x3c;TL0=0xb0;ET0=1;EA=1;while(1){a=i/100;b=i%100;e=b/10;f=b%10;P0=table[a];for(c=250;c>0;c--);P1=table[e];for(c=250;c>0;c--);P2=table[f];for(c=250;c>0;c--);while(P3_2==0){while(P3_2==0);TR0=1;d=20*i;}if(P3_0==0){while(P3_0==0);if(i==999){i=0;i--;}i++;}if(P3_1==0){while(P3_1==0);if(i==0)i=1000;i--;}if(j==d){P3_3=0;TR0=0;}}}voidt0(void)interrupt1using1{j++;TH0=0x3c;TL0=0xb0;if(j%20==0)i--;}基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究基于双单片

温馨提示

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

评论

0/150

提交评论