作息时间控制器介绍_第1页
作息时间控制器介绍_第2页
作息时间控制器介绍_第3页
作息时间控制器介绍_第4页
作息时间控制器介绍_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

摘要随着科学进步的不断发展,各行各业技术的不断改进和更新,在学校时间方面,由于时间多,时间乱等原因,不得不去改善其时间方面的设备。单片机作息时间控制实现了对时间控制的智能化,摆脱了传统由人来控制时间长短的不便,是现代学校必不可少的设备。在整个设计中,我们主要用的是单片机的自动控制原理,包括硬件和软件。在硬件部分,包括继电器,存储器和显示器接口芯片;软件部分,主要是主程序设计。软硬件结合在一起,先调试子程序,然后逐级叠加调试,最后系统调试通过。在本论文中我是利用单片机把自动复位电路,显示电路,电源电路,继电器电路,电铃电路连接起来,再通过单片机的编程实现设计要求。单片机作息时间控制系统是利用定时器计时处理来做秒计数,当所设置的时间到了,则发出一阵声响,启动继电器,由继电器可以控制放音机开启或关闭。时,分,秒数据是存在变量内并写入七段显示器的缓冲区内,由显示器扫描程序中定时扫描而显示出时间。关键词:单片机,定时,显示 1 概述单片机应用系统是以单片机为核心,配以输入、输出、显示、控制等外围部件和软件,能实现一种或多种功能的实用系统。硬件是应用系统的基础,软件则在硬件的基础上对其资源进行合理调配和使用,从而完成应用系统所要求的任务,二者相互依赖,却一不可。软件和硬件总体包括,电源电路、显示电路、复位电路、扩展存储器、电铃电路等,通过以上几部分的组合,最终达到一定的效果。设计系统图如图1.1所示:图1-1系统连接图2 硬件设计2.1 单片机部分2.1.1 单片机的选择当今单片机厂商琳琅满目,产品性能各异。我们最终选用了ATMEL公司的AT89C51单片机。AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8Kbytes的可反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8051产品引脚兼容,片内置通用8位中央处理器(CPU)和FLASH存储单元,功能强大AT89C51单片机适用于许多较为复杂控制应用场合。所以我们最终选用AT89C51单片机。2.1.2 AT89C51的功能概述(1)、特点:1.与MCS-51产品指令和引脚完全兼容。2.8K字节可重擦写FLASH闪存。3.1000次擦写周期。4.全静态操作:0Hz-24MHz。5.三级加密程序存储器。6.256X8字节内部RAM。7.32个可编程I/O口线。8.2个16位定时/计数器。9.5个中断源。10.可编程串行UART通道。11.低功耗空闲和掉电模式。(2)、功能特性概述:AT89C51提供以下标准功能:8K字节FLASH闪存,256字节内部RAM,32个I/O口线,2个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。AT89C51的芯片管脚图如图:图2-1 AT89C51引脚图引脚功能说明:VCC电源电压GND接地P0口P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在FLASH编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输出口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。与AT89C52不同之处是,P1.0和P1.1不可以分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),参见表2-1.1。FLASH编程和程序校验期间,P1接收低8位地址。表2-1 P1.0和P1.1的第二功能引脚号功能特性P1.0T2(定时/计数器2外部计数脉冲输入),时钟输出P1.1T2EX(定时/计数2捕获/重装载触发和方向控制)P2口P2是一个带内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVXRI指令)时,P2口输出P2锁存器的内容。P3口P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流。RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG当访问外部程存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。2.1.3 单片机硬件资源分配P2.4 连接按键P2.5 连接按键P2.6 连接按键P2.7 连接按键P3.4 连接蜂鸣器P3.5 接继电器P1.4 连接X5045的SO端P1.5 连接X5045的/CS端P1.6 连接X5045的SCK端P1.7 连接X5045的SI端2.2 存储器部分2.2.1 存储器的选择为了改善主CPU的资源与时序的分配,我们对AT89C51进行串行数据存储器的扩展。常用的存储芯片有很多,如AT93C46/56/66,X5045。经过比较选择,最终选用了XICOR公司的X5045。X5045把三种常用的功能:看门狗定时器,电压控制和EEPROM组合在单个封装之内。这种组合降低了系统的成本并减少了对电路板空间的要求。看门狗定时器对微控制器提供了独立的保护系统。低VCC检测电路可以保护系统免受低电压的影响,同时X5045是串行EEPROM 具有简单的三总线工作的串行外设接口,是一种有独特功能的高性能价格比存储器件。AT93C46/56/66是ATMEL公司推出的低功耗、低电压电可擦除的可编程只读存储器。它采用CMOS技术和Fairchild Semiconductor公司的Mi-croWire工业标准3线串行接口,具有1Kb/2kB/4kB的容量,并可通过ORG管脚配置成128*8/256*8/512*8或64*16/128*16256*16等结构。该系列存储器可靠性高,能够重复写100万次,数据可以保存100年不丢失;采用8脚PDIP/SOIC封装和14脚SOI封装(SOI封装为JEDEC和EIAJ标准),与并行的EEPROM相比,AT93C46/56/66可大大节省印制板空间,且接线简单,因而在多功能的精密测试仪中具有广阔的前途。2.2.2 X5045的功能概述(1)、特点:1 可编程的看门狗定时器。2.上电复位及低VCC检测,即在上电和VCC低于检测门限时,输出复位信号。输出复位高电平有效,直至VCC=1V复位信号仍有效。3.SPI接口方式,最高可达1MHZ的串行时钟频率。4.512*8位串行EEPROM。5.低功耗CMOS,3mA工作电流,10uA备用电流。6.电源电压:2.7V-5.5V。7.分块锁定,可保护1/4,1/2或所有EEPORM列。8.偶然性写保护。9.高可靠性,数据可保存100年,每字节可擦除次数可达到10万次。10.可编程的复位门限。需要加高电压(15-18V加在WP引脚)及一个专门的时序。11.8引脚小型DIP封装。(2)、功能特性概述X5045引脚图如图2-2所示:图2-2 X5045引脚图1串行输出(SO)SO是一个推/拉串行数据输出引脚,在读周期时间内,数据从这个引脚输出,串行时钟脉冲下降沿时数据输出。2串行输入(SI)SI是串行数据输入引脚,所有的操作码,字节,地址及数据都通过这个引脚写入存储器,串行时钟脉冲上升沿时,数据被锁存。3串行时钟(SCK) 串行时钟控制串行总线为数据的输入和输出计时,SI引脚的操作码,地址或数据在时钟输入上升沿时被锁存,SO引脚的数据在时钟输入上升沿时被改写。4片选(/CS)当/CS为高电平时,X5043/45被检测,SO输出引脚处于高阻抗状态,除非内部写操作在进行中的时候,X5045将处于后备电源模式。/CS为低电平时,可以使X5943/45处于工作电源模式,应特别注意,在电源上电以后,需要在开始任何操作以前完成/CS引脚上高电平到低电平的转换。5写保护(/WP)当/WP为低电平时,对于X5045不能完成非易失性写操作,但是在其他方面工作正常。当/WP被拉成高电平时,所有的功能,包括非易失性写操作都能正常工作。当/WP变成高电平,/CS仍然是低电平时,将中断对X5045的写操作,如果内部写周期已经开始,/WP变成低电平将对写操作没有影响。6复位(RESET)X5045的RESET分别工作在高电平/低电平,对外输出一直工作到VCC降至最小电压以下,将一直工作200ms直到VCC升高大于最小电压。如果看门狗定时时间已定,/CS保持高电平或低电平的时间超过看门狗的定时时间, RESET也同样有效。当/CS下降沿时可使看门狗定时器复位。(3)、工作原理X5045是设计成直接与许多微控制器系列的同步串行外设接口(SPI)相接的512*8EEPROM。X5045包括一个8位指令寄存器,可以通过SI输入来访问,数据在SCK上升延由时钟同步输入,在整个工作期间内,/CS必须低电平且/WP输入必须是高电平。2.3 显示部分2.3.1 显示器接口芯片的选择LED显示器接口芯片的选择常用的显示器接口芯片有CD4511,CD4513,MC14499,8279,MAX7219,74HC164等,本次设计用89C51单片机串行口和廉价的74HC164集成块实现多个LED显示的一种简单方法,利用该方法设计的多路LED显示系统具有硬件结构简单、软件编程容易和价格低廉的特点。下面简单的介绍一下74HC164。2.2.3 74HC164的功能概述(1)、特点:1.与门串行输入。2.完全的缓冲时钟脉冲和串行输入。3.直接清除。(2)、功能特性概述引脚图如图2-3所示:图2-3 74HC164引脚图这些8位移位寄存器的特点是具有与门串行输入和不同步的清除输入(CLR)。门电路串行输入(A和B)允许对输入数据的完全控制;低电平加在输入端可以抑制新数据的进入;高电平输入能使输入有效。串行输入的数据当CLK是高电平或低电平时可以改变。89C51单片机串行口方式0为移位寄存器方式,外接3片74HC164作为3位LED显示器的静态显示接口,把RXD作为数据输出线,TXD作为移位时钟脉冲。74HC164为TTL单向8位移位寄存器,可实现串行输入,并行输出。其中A、B(第1、2脚)为串行数据输入端,2个引脚按逻辑与运算规律输入信号,共一个输入信号时可并接。T(第8脚)为时钟输入端,可连接到串行口的TXD端。每一个时钟信号的上升沿加到T端时,移位寄存器移一位,8个时钟脉冲过后,8位二进制数全部移入74HC164中。R(第9脚)为复位端,当R=0时,移位寄存器各位复0,只有当R=1时,时钟脉冲才起作用。Q1Q8(第3-6和10-13引脚)并行输出端分别接LED显示器的各段对应的引脚上。在给出了8个脉冲后,最先进入74HC164的第一个数据到达了最高位,然后再来一个脉冲,第一个脉冲就会从最高位移出,搞清了这一点,下面让我们来看电路,6片7HC164首尾相串,而时钟端则接在一起,这样,当输入8个脉冲时,从单片机RXD端输出的数据就进入到了第一片74HC164中了,而当第二个8个脉冲到来后,这个数据就进入了第二片74HC164,而新的数据则进入了第一片74HC164,这样,当第六个8个脉冲完成后,首次送出的数据被送到了最左面的164中,其他数据依次出现在第一、二、三片74HC164中。2.3电源与复位电路部分2.3.1 电源部分本次设计应用的电压有+5V、+9V。220V交流电源经变压器,整流,滤波后分别进入芯片,产生+5V电压,这些电源的具体应用情况如下:+5V电源:单片机及外围电路所用电源。+9V电源:压电喇叭所用电源。2.3.2复位电路根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。常用的上电复位电路如图2.4(a)中左图所示。图中电容C1和电阻R1对电源+5V来说构成微分电路。上电后,保持RST一段高电平时间,由于单片机内的等效电阻的作用,不用图中电阻R1,也能达到上电复位的操作功能,如图2-4(a)中右图所示。 图 2-4 上电复位(a)和上电或开关复位电路(b)要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。常用的上电或开关复位电路如图2-4(b)所示。上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。根据实际操作的经验,下面给出这两种复位电路的电容、电阻参考值。图2-4(a)中:Cl10-30uF,R11k图2-4(b)中:C21uF,Rllk,R210k本系统的复位电路采用上电复位。2.4 电铃和继电器部分继电器是我们生活中常用的一种控制设备,通俗的意义上来说就是开关,在条件满足的情况下关闭或者开启。继电器的开关特性在很多的控制系统尤其是离散的控制系统中得到广泛的应用。从另一个角度来说,由于为某一个用途设计使用的电子电路,最终或多或少都需要和某一些机械设备相交互,所以继电器也起到电子设备和机械设备的接口作用。当定时时间到了,压电喇叭则发出一阵声响,时间到时发出一阵声响,按下K4键可以停止声响。也可以启动继电器,由继电器可以控制放音机。2.5 按键部分按键设定部分比较简单,因为本系统按键少,所以在设计上采用了独立按键方式,程序的编制上也采用了简单的扫描方式。程序执行后工作指示灯LED闪动,表示程序开始执行,七段显示器显示“0000”,按下操作键K1-K4动作如下:1.操作键K1:设置现在的时间。2.操作键K2:显示闹铃设置时间。3.操作键K3:设置闹铃时间。4.操作键K4:闹铃ON/OFF设置,设为ON时连续3次发出哔的一声,设为OFF时发出哔的一声。设置现在的时间或是闹铃时间设置如下:1.操作键K1:设整时。2.操作键K2:设整分。3.操作键K3:设置完成。3 软件设计单片机作息时间控制的动作利用时间计时处理来做秒计数,当所设置的时间到了,则发出一阵声响,启动继电器,由继电器可以控制放音机开启或关闭。单片机定时器负责定时的计数,不会因为按键处理而中断时间秒数的增加。时,分,秒数据是存在变量内并写入七段显示器的缓冲区内,而由显示器扫描程序中定时扫描而显示出时间。3.1 主程序设计在主控程序循环中主要工作为扫描是否有按键,若有按键则应做相应的功能处理,同时也扫描显示器显示时间数据,并检查所设置的时间是否到了,图3.1为主程序控制的工作流程。时间计时处理程序是等过了1S后,则更新时间数据,将最新的时,分,秒的数据转换为数字数据并显示在七段显示器上。程序中是这样判断是否过了1S的:设置一个变量是1S,当新的变量和设置的变量不一样时,则表示已过了1S,要做相关程序时间处理了。主程序开始初始化定时器初始化变量继电器OFF,消除电铃标志LED闪动,表示程序开始执行扫描显示器更新时间数据,定时时间到K1:设置现在的时间K2:显示定时设置时间K3:设置定时时间K4:电铃ON/OFF是否按K1、K2、K3、K4键?图3-1 主程序控制的工作流程3.2 子程序设计子程序流程图如下: 子程序入口 设置SCON读取数据查表送数显示数据传送结束了吗送下一串数据子程序返回 N Y 图3-2子程序流程图3.2.2 程序框图NN开始1S到没?R2重赋初值地址指针初始化调查时子程序取 数调整时间十进制调整送回计数单元计数单元清0是否到小时单元单元内容等于24?重装初值恢复现场中断返回单元内容是否等于60H计数单元内容清0调整地址指针图3-3 定时及中断 图3-4 地址指针初始中断初始化启动定时器调报时子程序调显示缓冲区送数子程序调显示子程序调按键子程序开 始定时器初始化计数单元初始化软件计数器R747H单元初始化地址指针初始化软件计数器初始化取 数低四位送入显示缓冲缓冲区地址指针加1高四位送入显示缓冲取 数缓冲

温馨提示

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

评论

0/150

提交评论