作息时间控制系统设计_第1页
作息时间控制系统设计_第2页
作息时间控制系统设计_第3页
作息时间控制系统设计_第4页
作息时间控制系统设计_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

作息时间控制系统设计摘要:本设计是一种基于AT89C51单片机控制的作息时间控制系统设计。它具有多项显示和控制功能:能用LED实时显示当前时间;可对时间进行调整;具有闹铃功能。并且它以单片机的C语言进行软件设计,增加了程序的可读性和可移植性,便于扩展和更改。本文通过对一个基于单片机的能实现作息时间控制系统的设计,从而达到学习、了解单片机相关指令在各方面的应用。本设计主要由基本显示模块、系统走时模块和主模块等组成。所设计出的作息时间控制系统能很好地满足学校及企事业单位日常工作的需要,可以通过简单的几个按键任意设置时间,能够实时显示时间。关键词:AT89C51单片机,作息时间控制系统,C语言SchedulecontrolsystemdesignAbstract:thisdesignisakindofbasedonAT89C51singlechipmicrocomputercontrolautomaticringingthebellsystemdesign.Ithasanumberofdisplayandcontrolfunction:canuseLEDreal-timedisplaythecurrenttime;Canadjusttime;Hasthealarmfunction.AnditstheMCUClanguageforsoftwaredesign,increasethereadabilityandportabilityprocedures,easytoextendandchangeit.Thisarticlethroughtoabasedonsinglechipmicrocomputertorealizeautomaticringingthebellsystemsdesign,soastolearnandunderstandSCMrelatedinstructioninallaspectsoftheapplication.Thisdesignismainlycomposedofbasicwalkingdisplaymodule,systemmoduleandthemainmodule,etc.Canrealizetheclockfunction,canprogress,minutesandsecondsdisplayedandisequippedwithautomaticringingthebellsystem.Theautomaticdesignofringingthebellsystemcanwellmeettheneedsofschoolsandenterprisesandinstitutionsofdailywork,timecanbesetarbitrarilysimplybyafewbuttons,canreal-timedisplaytime.Keywords:AT89C51singlechipmicrocomputer,Schedulecontrolsystem,Clanguage目录1前言.11.1研究背景.11.2单片机的特点和研究现状.11.3课题研究意义.21.4预期效果.22整体设计方案.42.1单片机的选择.42.2选用单片机的理由.62.2.1单片机与PLC比较.62.2.2单片机的优点.62.3系统的整体设计.72.3.1方案分析和设计要求.72.3.2硬件方案设计.82.3.3显示设计模块.112.3.4计时模块.132.3.5主模块设计.142.3.6电路原理图与说明.143系统软件设计.173.1主程序设计.173.2显示模块.183.3计时模块.203.4系统调试与仿真.223.4.1Proteus仿真软件介绍.223.4.2ProteusISIS智能原理图输入系统.223.4.3ProteusISIS的界面和功能介绍.243.4.4Proteus软件进行仿真与调试.26总结.29参考文献.30致谢.31附录一:线路原理图.32附录二C语言程序.3401前言近年来,随着电子技术和微机计算机的迅速发展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。学习单片机的最有效的方法就是理论与实践并重,本文是基于AT89C51单片机设计的一个自动打铃控制系统。1.1研究背景20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。单片机应用于自动打铃系统中,自动打铃系统是用数字电路技术实现时、分、秒计时,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。1.2单片机的特点和研究现状20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。1单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。1.3课题研究意义该设计主要是以单片机的时钟芯片为核心,辅以必要的外围电路,构成一个自动打铃装置,并且以单片机的基本语言汇编语言来进行软件设计,使指令的执行速度快,节省存储空间。为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了。在本次设计中,我采用AT89C51单片机设计了自动打铃系统,实现了硬件与软件的结合。在本次设计中我主要完成的任务有以下几点:第一点:我选定了AT89C51单片机作为开发软件,并熟悉了这款开发软件。第二点:完成了系统的整体方案设计,并完成了系统的硬件设计及相关原理图的绘制工作。第三点:完成了系统的软件设计,编写了程序,并对程序进行了调试。1.4预期效果校园作息自动打铃系统的走时精度高,稳定性好,使用方便,不需要经常调校。在自动打铃装置中数字式电子钟用集成电路计时,译码代替机械式传动,LED显示器代替指针显示,减小了计时误差。这种自动打铃系统具备显示时、分、秒的功能,还可以对时、分、秒分别进行校对,片选的灵活性好。随着科学技术的迅速发展,自动打铃系统以其走时准确、使用方便,深受消费者的青睐。本次设计出的校园作息自动打铃系统能很好地满足学校及企事业单位日常工作2的需要,可以通过简单的几个按键任意设置时间,能实时显示时间等。力求使该系统体积最小,结构简单,且功能较多,操作简单,造价低,能满足多种场合使用。32整体设计方案2.1单片机的选择单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。本次设计所采用的是51单片机,是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。51单片机的引脚说明如下:GND:接地P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数4据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指钟写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。5图2.1单片机主芯片2.2选用单片机的理由2.2.1单片机与PLC比较(1)用PLC来实现,PLC其实就是一种被封装起来的单片机,里面设有监控程序,并对I/O端口进行了光电隔离。这样一来使得PLC性能稳定且容易使用,且只需简单外围电路就可以实现该系统功能,但PLC比较昂贵,这样会使成本增高而失去市场竞争。(2)运用单片机充当主控器再加上适当的外围来实现此功能,且单片机价格便宜,性能稳定。应用的外围器件相对较少,这就提高了系统的稳定性,且单片机控制简易,开发工具简单,很容易大批生产。2.2.2单片机的优点(1)多功能单片机中尽可能地把所需要的存储器和I/O口都集成在一块芯片上,使得单片机可以实现更多的功能。比如A/D、PWM、PCA(可编程计数器阵列)、WDT(监视定时器-看家狗)、高速I/O口及计数器的捕获/比较逻辑等。6有的单片机针对某一个应用领域,集成了相关的控制设备,以减少应用系统的芯片数量。例如,有的芯片以51内核为核心,集成了USB控制器、SMARTCARD接口、MP3解码器、CAN或者I*I*C总线控制器等,LED、LCD或VFD显示驱动器也开始集成在8位单片机中。(2)高效率和高性能为了提高执行速度和执行效率,单片机开始使用RISC、流水线和DSP的设计技术,使单片机的性能有了明显的提高,表现为:单片机的时钟频率得到提高;同样频率的单片机运行效率也有了很大的提升;由于集成度的提高,单片机的寻址能力、片内ROM(FLASH)和RAM的容量都突破了以往的数量和限制。由于系统资源和系统复杂程度的增加,开始使用高级语言(如C语言)来开发单片机的程序。使用高级语言可以降低开发难度,缩短开发周期,增强软件的可读性和可移植性,便于改进和扩充功能。(3)低电压和低功耗单片机的嵌入式应用决定了低电压和低功耗的特性十分重要。由于CMOS等工艺的大量采用,很多单片机可以在更低的电压下工作(1.2V或0.9V),功耗已经降低到uA级。这些特性使得单片机系统可以在更小电源的支持下工作更长的时间。(4)低价格单片机应用面广,使用数量大,带来的直接好处就是成本的降低。目前世界各大公司为了提高竞争力,在提高单片机性能的同时,十分注意降低其产品的价格。2.3系统的整体设计2.3.1方案分析和设计要求方案分析:该设计主要是以单片机的时钟芯片为核心,辅以必要的外围电路,构成一个自动打铃装置,并且以单片机的基本语言汇编语言来进行软件设计,使指令的执行速度快,节省存储空间。采用单片机自带定时器进行计时,外加存储器保存课表数据,普通键盘输入。为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了。7所设计出的校园作息自动打铃系统能很好地满足学校及企事业单位日常工作的需要,可以通过简单的几个按键任意设置时间,能实时显示时间等。力求使该系统体积最小,结构简单,且功能较多,操作简单,造价低,能满足多种场合使用。2.3.2硬件方案设计(1)智能仪表与集成智能传感器目前在各种电气测量仪表中普遍采用了单片机应用系统来代替传统的测量系统,使得测量系统具有存储、数据处理、查询及联网等智能功能。将单片机和传感器相结合,可以构成新一代的智能传感器。它将传感器变换后的物理量作进一步的变化和处理,使其成为数字信号,可以远距离传输并与计算机接口。智能传感器是一种带微处理机兼有检测、判断、信息处理、信息记忆、逻辑思维等功能的传感器。智能传感器是由传统的传感器和微处理器(或微计算机)相结合而构成的它充分利用微处理器的计算和存储能力,对传感器的数据进行处理并能对它的内部行为进行调节使采集的数据最佳。微处理器是智能传感器的核心,它不但可以对传感器的测量数据进行计算、存储、数据处理,还可以通过反馈回路对传感器进行调节。由于微处理器充分发挥各种软件的功能,可以完成硬件难以完成的任务,从而大大降低了传感器制造的难度,提高传感器的性能,降低成本。除微处理器以外,智能传感器相对于传统传感器应具有如下的特征:可以根据输入信号值进行判断和制定决策。可以通过软件控制做出多种决定。可以与外部进行信息交换,有输入输出接口。具有自检测、自修正和自保护功能。(2)单片机中的晶振晶振是单片机中产生时钟周期的重要部件。每个单片机系统里都有晶振,全称是叫晶体震荡器,在单片机系统中晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。晶振是一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。有的晶振还可以由外加电压在一定范围内调整频率,称为8压控振荡器(VCO)。晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。下图为晶振的电路原理图。图2.2晶振电路原理图一般的晶振振荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容量值就应该等于负载电容。引脚XTAL1和XTAL2分别是该晶振放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,我们推荐电容使用30pF10pF,而如使用陶瓷谐振器建议选择40pF10pF。用户也可以采用外部时钟。采用外部时钟的电路。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。(3)复位电路模块复位电路,就是利用它把电路恢复到起始状态。就像计算器的清零按钮的作用一样,以便回到原始状态,重新进行计算。和计算器清零按钮有所不同的是,复位9电路启动的手段有所不同。一是在给电路通电时马上进行复位操作;二是在必要时可以由手动操作;三是根据程序或者电路运行的需要自动地进行。在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。图2.3复位电路图在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候410K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.1S内,从5V释放到变小。根据串联电路电压为各处之和,这个时候410K电阻两端的电压变大,所以RST引脚又接收到高电平。单片机系统自动复位。复位电路的原理是单片机RST引脚接收到2US以上的电平信号,只要保证电容的充放电时间大于2US,即可实现复位,所以电路中的电容值是可以改变的。按键按下系统复位,是电容处于一个短路电路中,释放了所有的电能,电阻两端的电压增加引起的。(4)片上资源定时器定时器是一个16位定时/计数器。它既可当定时器使用,也可作为外部事件计数器使用,其工作方式由特殊功能寄存器T2CON的C/T2位选择。定时器2有三种工作方式:捕获方式,自动重装载(向上或向下计数)方式和波特率发生器方式,工作方式由T2CON的控制位来选择。定时器由两个8位寄存器TH2和TL2组成,10在定时器工作方式中,每个机器周期TL2寄存器的值加1,由于一个机器周期由12个振荡时钟构成,因此,计数速率为振荡频率的1/12。在计数工作方式时,当T2引脚上外部输入信号产生由1至0的下降沿时,寄存器的值加1,在这种工作方式下,每个机器周期的5SP2期间,对外部输入进行采样。若在第一个机器周期中采到的值为1,而在下一个机器周期中采到的值为0,则在紧跟着的下一个周期的S3P1期间寄存器加1。由于识别1至0的跳变需要2个机器周期(24个振荡周期),因此,最高计数速率为振荡频率的1/24。为确保采样的正确性,要求输入的电平在变化前至少保持一个完整周期的时间,以保证输入信号至少被采样一次。波特率发生器当T2CON中的TCLK和RCLK置位时,定时/计数器2作为波特率发生器使用。如果定时/计数器2作为发送器或接收器,其发送和接收的波特率可以是不同的,定时器1用于其它功能,若RCLK和TCLK置位,则定时器2工作于波特率发生器方式。波特率发生器的方式与自动重装载方式相仿,在此方式下,TH2翻转使定时器2的寄存器用RCAP2H和RCAP2L中的16位数值重新装载,该数值由软件设置。在方式1和方式3中,波特率由定时器2的溢出速率根据下式确定:方式1和3的波特率=定时器的溢出率/16定时器既能工作于定时方式也能工作于计数方式,在大多数的应用中,是工作在定时方式(C/T2=0)。定时器2作为波特率发生器时,与作为定时器的操作是不同的,通常作为定时器时,在每个机器周期(1/12振荡频率)寄存器的值加1,而作为波特率发生器使用时,在每个状态时间(1/2振荡频率)寄存器的值加1。2.3.3显示设计模块(1)时间显示模块使用中断控制器8259A控制,它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中,因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。同时,在不需增加其他电路的情况下,通过多片8259A的级连,能构成多达64级的矢量中断系统。它的管理功能包括:1)记录各级中断源请求,2)判别优先级,确定是否响应和响应哪一级中断,3)响应中断时,向CPU传送中断类型号。11图2.48259内部结构及引脚8259A的命令共有7个,一类是初始化命令字,另一类是操作命令。8259A的编程就是根据应用需要将初始化命令字ICW1-ICW4和操作命令字OCW1-OCW3分别写入初始化命令寄存器组和操作命令寄存器组。(2)显示电路连接图2.5显示电路连接模块122.3.4计时模块该模块的主要功能是对时、分、秒的运算,并把运算出的最终结果存放到事先已经开辟的内存单元里,以便显示模块即时地显示出来。该模块可细分为秒定时模块和运算模块。秒定时模块负责提供中断信号,由于CPU运算模块中的指令消耗一定的时间,所以中断信号最好通过硬件来实现,可以选择实验箱中的8253定时/计数器来提供,中断信号是8253的通道2工作方式3时,产生一个30HZ的脉冲信号。运算模块负责时、分、秒的计算,该模块主要通过8259的IR7号中断来实现,但由于每30HZ一次中断请求,所以在中断服务程序必须利用已申请内存单元COUNT来统计中断请求的次数,只有当COUNT的值为30时,才能让秒单元内的数值加1。另外,在中断服务程序里,必须对秒、分和时的单元内的数值进行判断,当秒加到60时,分必须加1,秒清零;当分加到60时,时加1,分清零;当时加到24时,直接清零,然后转到调用处。8253具有以下基本功能:(1)有3个独立的16位计数器;(2)每个计数器可按二进制或十进制(BCD)计数;每个计数器可编程工作于6种不同工作方式;每个计数器允许的最高计数频率为10MHz(8253为2MHz);(3)计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为n=fCLKifOUTi,其中fCLKi是输入时钟脉冲的频率,fOUTi是输出波形的频率。图2.68253内部结构和引脚图2.6是8253的内部结构框图和引脚图,它是由与CPU的接口、内部控制电路和三个计数器组成。8253的工作方式如下述:13(1)方式0:计数到0结束输出正跃变信号方式。(2)方式1:硬件可重触发单稳方式。(3)方式2:频率发生器方式。(4)方式3:方波发生器。(5)方式4:软件触发选通方式。(6)方式5:硬件触发选通方式。2.3.5主模块设计系统的连线图主要由五个部分构成。8259中断控制器、8255并口控制器、8253定时计数器、8279键盘及数码管显示单元、开关及LED显示单元构成。如图2.6所示:图2.7系统连线图2.3.6电路原理图与说明简易教学打铃器的电路基本应包括秒指示电路、时间显示电路、按键电路、供14电电源以及蜂鸣器指示电路等几部分。电子闹钟的系统框架如图2.8所示。图2.8系统电路原理框图TuTu(1)闹铃指示电路本系统采用声音指示,其电路如下图所示。其关键元件是蜂鸣器。蜂鸣器有无源和有源两种,有源的只需外加适当直流电源电压即可,元件内部已封装了音频振荡电路,在得电状态下即起振发声。给予本电路的特点及实现功能的要求,我们选用有源的蜂鸣器。图2.9蜂鸣电路连接(2)时间显示电路液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。15图2.10液晶显示屏(3)计时电路在本系统中,用到的8253的功能只是相当于一个定时计,我们给定时器输入30KHz频率的脉冲,这样每隔一秒就会在OUT0端产生0到1的跃变,作为中断IRQ的请求信号。当然,时钟的计数也有其特定的规则,那就是秒、分的个位逢十进一,十位逢六进一,所以,我们可以通过中断处理程序来控制其进位。这样我们便完成了计时功能。8253运行原理图如图2.11。图2.118253运行原理图163系统软件设计系统的软件设计也是工具系统功能的设计。单片机软件的设计主要包括执行软件(完成各种实质性功能)的设计和监控软件的设计。单片机的软件设计通常要考虑以下几个方面的问题:(1)根据软件功能要求,将系统软件划分为若干个相对独立的部分,设计出合理的总体结构,使软件开发清晰、简洁和流程合理;(2)培养良好的编程风格,如考虑结构化程序设计、实行模块化、子程序化。既便于调试、链接,又便于移植和修改;(3)建立正确的数学模型,通过仿真提高系统的性能,并选取合适的参数;(4)绘制程序流程图;(5)合理分配系统资源;(6)为程序加入注释,提高可读性,实施软件工程;(7)注意软件的抗干扰设计,提高系统的可靠性。3.1主程序设计硬件平台结构一旦确定,大的功能框架即形成。软件在硬件平台上构筑,完成各部分硬件的控制和协调。系统功能是由软硬件共同实现的,由于软件的可伸缩性,最终实现的系统功能可强可弱,差别可能很大。因此,软件是本系统的灵魂。软件采用模块化设计方法,不仅易于编程和调试,也可减小软件故障率和提高软件的可靠性。同时,对软件进行全面测试也是检验错误排除故障的重要手段。本程序用汇编语言设计。17图3.1主程序设计流程图3.2显示模块该模块主要是将运算模块和对时模块运算出来并存放在内存单元里的十八进制时钟与液晶复位退出菜单显示课次,播放音乐显示时间读取时间读取课表数据并计算欢迎界面TrueFalse选择调整时间选择查看课表选择修改课表调整时间上午课表修改课表下午课表保存设置True保存设置键扫比较课表上电18时位、分位和秒位数值转化为十进制,并通过八只数码管显示出来。此模块实现的硬件是使用实验箱中的LED单元,采用软件译码,即在程序中设置一个段选码表。CPU直接往LED输出八段代码,省去了硬件译码器。显示模块流程图如图所示。开始时、分、秒转化成十进制,存到内存单元中计算时、分、秒的各位数值在TABLE中对应编码显示小时低位显示小时高位显示分钟高位显示分钟低位显示秒高位显示秒低位结束图3.2显示模块流程图19显示的基本代码如下:MOVAX,SEC;完成秒计时值的显示CALLDECSHOWMOVAX,0E0DH;回车,置光标到行首INT10H这是对秒的显示,以此类推可以得到显示分、时的代码。3.3计时模块运算模块负责时、分、秒的计算,该模块主要通过8259的IR7号中断来实现,但由于每30HZ一次中断请求,所以在中断服务程序必须利用已申请内存单元COUNT来统计中断请求的次数,只有当COUNT的值为30时,才能让秒单元内的数值加1。另外,在中断服务程序里,必须对秒、分和时的单元内的数值进行判断,当秒加到60时,分必须加1,秒清零;当分加到60时,时加1,分清零;当时加到24时,直接清零,然后转到调用处。计时模块流程图如图3.3所示。20图3.3模块流程图计时的基本代码INCCOUNTCMPCOUNT,30JNZOVERMOVCOUNT,0INCSECCMPSEC,10;计时值自增,到10即归0JNEDIS设置初值设置外部中断断开启定时器设置定时/计时工作方式闹钟判断N更新显示取反闹钟判断显示分位寄存器加1BCD码调整显示到60分闹铃判断Y小时赋新值#01到60S了吗?时位寄存器加1时数据BCD码调整时赋#00NY满13小时3满24小时显示NYYN判断NY21MOVSEC,0MOVAX,HOURMOVDX,0;完成时计时值的显示MOVBX,10DIVBX3.4系统调试与仿真3.4.1Proteus仿真软件介绍Proteus软件是英国Labcenterlectronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件,是目前最好的仿真单片机及外围器件的工具。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计,是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。Proteus软件是一款功能强大的电路设计分析软件。在利用其进行单片机的软件仿真时,仅仅是使用了其部分功能(如使用其中的ISIS智能原理图输入系统来绘制电路原理图)。因此这里主要介绍该部分的相关知识。3.4.2ProteusISIS智能原理图输入系统(1)ProteusISIS软件特性(1)出版高质量的原理图:ISIS提供给用户图形外观,包括线宽、填充类型、字符库等的全部控制,使用户生成精美的原理图。通过个性化设置,可以生成印刷质量的BMP图纸,可以方便地供WORD、POWERPOINT等多种文档使用;(2)良好的用户界面:用户只需要单击元件的引脚或者先前布好的线,就能实现布线。而且摆放、移动和删除操作能都直接用鼠标实现,无需去单击菜单或图标;(3)自动走线:只要单击想要连接的两个引脚,就能简单地实现走线。自动走线也能在元件移动时操作,自动解决相应连线。节点能够自动布置和移除,使连接导线简单快捷,大大缩短绘图时间,又避免一些可能的错误;22(4)层次设计:ISIS支持层次图设计,特殊的元件能够定义为通过电路图表示的模块,能够任意设定层次。模块可画成标准元件,在使用中可放置和删除端口的子模块电路;(5)总线支持:使用总线器件和总线布线使电路设计简明清晰;(6)丰富的器件库:超过27000种元器件,可方便地创建新元件。ISIS的元件库包含8000多个元件,有标准符号、三极管、二极管、CMOS、微处理器、存储器元件、模拟IC和运算放大器等;(7)智能的器件搜索:通过模糊搜索可以快速定位所需要的器件。(2)ProteusISIS软件运行可运行于Windows98/2000/XP/Windows7环境,对计算机的配置要求不是很高。在运行ProteusISIS的执行程序后,先出现一个启动画面,随机进入ProteusISIS的编辑环境,如图3.4所示图3.4ProteusISIS的编辑环境233.4.3ProteusISIS的界面和功能介绍如图,ProteusISIS的工作界面是一种标准的Windows界面。包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。图3.5Proteus窗口界面图用于绘制电路原理图的,蓝色方框内为可编辑区,元件要放到它里面。注意,这个窗口是没有滚动条的,可以通过预览窗口来改变原理图的可视范围。(1)预览窗口它有两个功能:一、当从元件列表选择一个元件时,显示该元件的预览图;二、当你的鼠标箭头落在原理图编辑窗口时,显示整张原理图的缩略图,并会显示一个绿色的方框,绿色的方框里面的内容就是当前原理图窗口中显示的内容。因此,可用鼠标在它上面点击来改变绿色的方框的位置,从而改变原理图的可视范围。(2)模型选择工具栏主要模型(MainModes)1用于编辑元件参数(默认选择的);242选择元件(components);3放置连接点;4放置标签(用总线时会用到);5放置文本;6用于绘制总线;7用于放置子电路。配件模型(GadgetsModes)选择工具栏1终端接口(terminals,有VCC、地、输出、输入等接口;2器件引脚:用于绘制各种引脚;3仿真图表(graph:用于各种分析,如NoiseAnalysis;4录音机;5信号发生器(generators);6电压探针:使用仿真图表时要用到;7电流探针:使用仿真图表时要用到;8虚拟仪表:有示波器等。2D图形(2DGraphics)1画各种直线;2画各种方框;3画各种圆;4画各种圆弧;5画各种多边形;6画各种文本;7画符号;元件列表用于挑选元件(components)终端接口(terminals)信号发生器(generators)仿真图表(graph)等。举例,当你选择“元件(components)”单击“P”按钮会打开挑选元件对话框,选择了一个元件后该元件会在元件列表中显示,以后要用到该元件时,只需在元件列表中选择即可。方向工具栏旋转:旋转角度只能是90的整数倍。成水平翻转和垂直翻转。25使用方法:先右键单击元件,再点击(左击)相应的旋转图标。仿真工具栏仿真控制按钮1运行;2单步运行;3暂停;4停止。3.4.4Proteus软件进行仿真与调试根据设计方案,将各部分电路进行组合,可得硬件连接图3.6所示:图3.6硬件连接图(1)仿真单击按钮,进入仿真调试状态,26图3.7仿真结果一设置闹铃状态如图3.8仿真结果二图3.8设置闹铃状态实验结果图3.9仿真结果三27图3.9实验结果图28总结在本次毕业设计中,我基本完成了课题作息时间控制系统设计,这要完成了以下几点:1、完成了设计所需硬件的搭接。2、完成了单片机各部分原理图的绘制。3、通过编程,在Proteus软件中实现了设计的仿真结果。总结:本系统完成了自动打铃控制的基本功能。利用8253定时器从0开始进行计时,将计时的结果显示在数码管上。每隔1秒,秒钟计时一次,到60秒,分钟加1,到60分小时加1,数字变动信息通过8279送数码管显示。期间通过8259中断控制器实现秒到分,分到时的转变,准确实现了计时。随着科技的进步电子时钟的实现方法已经很多,由传统的物理实现转变到软件实现,而且起精确程度也大大的提高,且实现方法也越来越简单。基于微机原理的基础知识来实现自动打铃控制系统的设计,首先应该画出硬件设计图,这个过程是基础,然后是流程图,这个是重点,流程图的完成在很大程度上等于程序的完成,然后是程序的编写。而在这次毕业设计中,也是对C语言的复习。同时在设计中使我的编程水平提高了一大步,使我认识到合作的可贵。这次设计涉及到很多芯片的应用,最大特点是软,硬件的结合,对动手能里的要求很大。也使我更加的体会到,在一定程度和科技水平上,硬件和软件是可以实现对等转化的。29参考文献1陈忠强.现代微机原理与接口技术M.冶金工业出版社.2006年2郭兰英.微机原理与接口技术M.清华大学出版社.2006年3西安唐都科教仪器公司.32位微机原理与接口技术实验教程M.2005年4西安唐都科教仪器公司.32位微机原理与接口技术用户手册M.2005年5胡汉才.微机原理与接口技术课程设计M.北京:清华大学出版,19966付家才.微型计算机及其接口技术学习指导与题典M.北京:化学工业出版社,2004.57潘新民.微型计算机控制技术M.北京:人民邮电出版社,1999.98余锡存,曹国华.汇编语言、微机原理及接口技术M.陕西:西安电子科技大学出版社,2000.79雷丽文.微机原理与接口技术M.北京:电子工业出版社,1997.210李银华.电子线路技术指导.北京航空航天大学出版社,200511吴金戎,沈庆阳,郭庭吉.8051单片机实践与应用M.北京:清华大学出版社,200212楼然苗,李光飞.51系列单片机设计实例M.北京:航空航天大学出版社,200313李鸿.单片机原理及应用M.湖南:湖南大学出版社,200414何立民.单片机高级教程M第1版北京:北京航空航天大学出版社,200115徐惠民,安德宁单片微型计算机原理接口与应用M第1版北京:北京邮电大学出版社,199630致谢此次毕业设计是我们从大学毕业生走向未来工程师重要的一步。从最初的选题,开题到直到完成设计。其间,查找资料,老师指导,与同学交流,每一个过程都是对自己能力的一次检验和充实。经过几个月的努力,在张老师的和同学的帮助下,设计终于浮出水面了。由于我的经验少,遇到了许多的问题。在设计之初,我查阅了大量资料,但是对单片机这部分有很多不明白的地方,经过多次和张老师的沟通,张老师的悉心讲解使我对这一内容有了进一步的了解,为我毕业设计的圆满完成奠定了良好的基础。张老师给了我许多的帮助和关怀,如果没有张老师的督促和指导,以及同学的支持,我将很难完成本次毕业设计。在这里我首先感谢我的指导教师张焕梅老师,张老师平日里工作繁忙,但在我们做设计这些日子里,从题目下达到查阅资料,设计草案的修改和确定,中期检查,后期论文撰写中张老师都给予了我最大的帮助,我的设计比

温馨提示

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

评论

0/150

提交评论