利用单片机实现作息时间控制系统.docx
- 文档编号:25580993
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:37
- 大小:230.33KB
利用单片机实现作息时间控制系统.docx
《利用单片机实现作息时间控制系统.docx》由会员分享,可在线阅读,更多相关《利用单片机实现作息时间控制系统.docx(37页珍藏版)》请在冰豆网上搜索。
利用单片机实现作息时间控制系统
摘要
本设计详细介绍了利用AT89C52单片机设计时间控制器的方法。
该时间控制器是以AT89C52单片机为核心,扩展一片XICOR公司的X5045组成的小系统,控制一路继电器:
可以设定一天中的时间,设定继电器的开启时间和关闭时间,可以清除不需要的定时,能够紧急启动:
所有的设定均通过键盘实现,按键具有连击功能,每个状态都有指示灯提示。
我们设计的作息时间控制是用单片机实现的,是为了更好的对时间控制智能化。
时间控制器包括硬件和软件。
硬件部分包括继电器,存储器和显示器接口芯片。
软件部分,主要是主程序设计。
软硬件结合在一起,先调试子程序,然后逐级叠加调试,最后系统调试通过。
时间控制系统可以准确的显示时间,在定时时间到时发出悦耳的铃声提醒同学们按时上下课。
关键词:
单片机,控制,时间
Abstract
DesigndetailsoftheAT89C52single-chipdesigntimeusingthemethodofthecontroller.ThetimecontrollerisbasedonAT89C52single-chipmicrocomputerasthecore,extendingthecompany'sX50451XICORsmallsystems,controlrelaysalltheway:
Youcansetthetimeofday,settoopenrelaytimeandclosingtime,youcanremovalofunnecessarytime,toanemergencystart:
Allthesettingsaretoachievethroughthekeyboard,functionkeyswiththebatter,eachstatehaspromptedindicator.Wedesignedtheschedulecontrolisachievedwithsingle-chipisabettertimeforintelligentcontrol.Timecontroller,includinghardwareandsoftware.Hardwarecomponents,includingrelays,memoryanddisplayinterfacechip.Software,primarilythedesignofthemainprogram.Combinationofhardwareandsoftware,debuggingsubroutinefirst,andthenoverlayleveldebugging,theadoptionofthefinalsystemtest.Timecontrolsystemcanaccuratelydisplaythetimeintheregulartimewhenmusicaltonestoremindstudentsoftheschoolontime.
Keywords:
single-chipmicrocomputer,control,time
前言
目前,我国单片机的应用领域主要是工业生产过程控制,数据采集与处理、实时控制及优化控制,主流机型是8位微机。
单片机应用带来了巨大的经济效益,提高了效率,降低了成本,提高了产品质量,推动着生产力的发展。
本次设计主要介绍单片机在作息时间控制方面的应用实例,加深了对单片机的理解,进一步开拓视野,为今后应用微机解决生活工作实际问题起了一个入门的作用。
通过本次设计,我掌握了解决问题的思路和方法.我们最终选用了ATMEL公司的AT89C52单片机。
AT89C52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8Kbytes的可反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和FLASH存储单元,功能强大AT89C52单片机适用于许多较为复杂控制应用场合。
通过本次设计使自己分析问题和解决问题的能力大为提高,以后遇到实际问题能够触类旁通,得心应手作为嵌入式系统主控单元——单片机,其软件往往是一个微观的实时操作系统,且大部分是为某种应用而专门设计的。
系统程序有实时过程控制或实时信息处理的能力,要求能够及时响应随机发生的外部事件并对该事件做出快速处理。
而分时操作系统却是把CPU的时间划分成长短基本相同的时间区间,即“时间片”,通过操作系统的管理,把这些时间片依次轮流地分配给各个用户运用。
单片机的运用范围非常的广泛,它的发展前景非常的美好,只要我们更加努力的去开发研究,单片机一定会成为人们工作生活中最好的助手!
目录
摘要1
Abstract2
前言1
目录-1-
第1章绪论1
1.1课题的提出及意义1
1.2设计的任务及要求1
第2章总体方案设计2
2.1芯片比较2
2.1.1单片机选型2
2.1.2显示器接口芯片的选择2
2.1.3存储器的选择6
2.1.4继电器的选择7
2.2总体设计及系统原理9
第3章硬件设计10
3.1单片机部分10
3.1.1AT89C5210
3.1.2单片机硬件资源分配13
3.2存储器部分14
3.3显示部分23
3.4电源与复位电路部分24
3.4.1电源部分24
3.4.2复位电路24
3.5电铃和继电器部分25
3.6按键部分26
第4章软件设计27
4.1主程序设计27
4.2子程序设计29
第5章系统安装与调试31
5.1软件调试31
5.2系统调试31
第6章结论32
致谢33
参考文献34
第1章绪论
1.1课题的提出及意义
单片机作息时间控制实现了对时间控制的智能化,摆脱了传统由人来控制时间的长短的不便,实现代学校必不可少的设备。
1.2设计的任务及要求
1.作息时间能控制电铃
2.作息时间能启动和关闭放音机
单片机作息时间控制的功能如下:
使用4位七段显示器来显示现在的时间。
显示格式为“时分”
由LED闪动来作秒计数表示
具有4个按键来作功能设置,可以设置现在的时间及显示定时设置时间
一旦时间到则发出一阵声响,同时继电器启动,可以控制放音机开启和关闭。
第2章总体方案设计
2.1芯片比较
2.1.1单片机选型
当今单片机厂商琳琅满目,产品性能各异。
常用的单片机有很多种:
Intel8051系列、Motorola和M68HC系列、Atmel的AT89系列、台湾Winbond(华邦)W78系列、荷兰Pilips的PCF80C51系列、Microchip公司的PIC系列、Zilog的Z86系列、Atmel的AT90S系列、韩国三星公司的KS57C系列4位单片机、台湾义隆的EM-78系列等。
我们最终选用了ATMEL公司的AT89C52单片机。
AT89C52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8Kbytes的可反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和FLASH存储单元,功能强大AT89C52单片机适用于许多较为复杂控制应用场合。
2.1.2显示器接口芯片的选择
LED显示器接口芯片的选择常用的显示器接口芯片有CD4511,CD4513,MC14499,8279,MAX7219,74HC164等,它们的功能有:
1.CPU接受来自键盘的输入数据,并作预处理;2.数据显示的管理和数据显示器的控制。
CD4511是BCD锁存,7段译码,驱动器,但在显示6和9时,显示为b和q,不是很好看。
CD4513是BCD锁存,7段译码,驱动器(消隐),但现在市面上不好买。
MC14499为串行输入BCD码——十进制译码驱动器,用它来构成单片机应用系统的显示器接口,可以大大减少I/O口线的占用数量。
但是,由片内震荡器经过四分频的信号,经位译码后只能提供4个位控信号,使信号的采集受到限制;并且,MC19944的价格偏高,也不经济。
同样,8279为INTEL公司生产的通用键盘/显示器接口芯片,其内部设有16*8显示数据RAM,若采用8279管理键盘和显示器,可以减少软件程序,从而减轻主机的负担,但我们同时也发现,由于其功能比较强大,不可避免将会使外围设备与操作过程复杂化,同时价格比较贵。
对比一下MAX7219和74HC164其占用资源少,且不需复杂的驱动电路。
但MAX7219虽然比较好用,且一片能驱动四个数码管,但对于我们设计的系统来说,不需要很多数码管,此外MAX7219相对74HC164的价格也比较贵,所以我们最终选用74HC164,下面对MAX7219作一下介绍。
1、特点:
(1)采用3线串行接口传送数据;
(2)内部有8字节显示静态RAM和6个特殊功能寄存器,相当于14个字节的RAM单元。
它们是可寻址的,即可以有选择的任意写入;
(3)只需一个外部电阻即可调节LED的段电流,并且允许程控方式LED通电的占空比而可方便的调节LED显示的亮度,或用于模拟亮度显示;
(4)可LED显示器的扫描个数;
(5)有不译码和B码两种显示模式,这种选择可做到位控,即各LED显示器可以有不同的显示方式:
译码或不译码;
(6)含硬件动态扫描显示控制,可设置低功耗方式,可进行图条显示。
2、引脚图(如图2-1)
图2-1
说明:
引脚
名称
作用
1
DIN
串行数据输入。
在CLK上升沿时,数据被装入内部16位移位寄存器。
2,3,5–8,10,11
DIG0–DIG7
八个数字驱动器线路,来自共阴极显示器的反向电流。
MAX7219当关闭的时候拉位输出到V+.当关闭的时候MAX7221的位驱动器是高阻抗状态。
4,9
GND
地(两个GND引脚必须被连接在一起)
12
LOAD
装载数据输入。
串行数据的最后16位被锁存在LOAD的上升沿。
CS
片选输入。
当/CS是低电平时穿行数据被装载到移位寄存器中。
在/CS上升沿时串行数据的最后16位被锁存。
13
CLK
串行时钟输入。
10MHz的最大比率。
在CLK上升沿时,数据被转移到内部移位寄存器。
在CLK下降沿时,数据从DOUT输出。
在MAX7221中只有/CS是低电平时CLK输入被激活。
14–17,
20–23
SEGA
SEGG,
DP
七段驱动和小数点驱动电源电流显示。
在MAX7219中,当段驱动器被关闭,它就被接到地。
当关闭以后MAX7221的段驱动器成高阻状态。
18
ISET
通过一只电阻器(RSET)连接VDD来设置最高段电流(查阅选择RSET电阻器部分)。
19
V+
正供给电压。
连接到+5V。
24
DOUT
串行数据输出。
进入DIN的数据16.5个时钟周期以后在DOUT有效。
这个引脚常被用来链接MAX7219/MAX7221,没有高阻状态。
3、工作原理简介
(1)数据(含地址)接收
MAX7219采用串行寻址方式,在传送的串行数据中包含有RAM的地址。
按照时序的要求,单片机将16位二进制数逐位发送DIN端,在CLK上升延到来之前DIN必须有效,在CLK的每个上升延,DIN被串行逐位移入MAX7219内部的16位穿行寄存器中。
设最先移入的数据是D15,最后移入的数据是D0,则移入16位串行寄存器的数据是D15--D0。
为了有选择的将数据写入8个显示RAM或6个特殊功能寄存器,D0—D15中,D8—D11四位作为RAM和特殊功能寄存器的地址,D0—D7作为写入显示数据或控制字。
与并行数据传送相比,MAX7219串行接收D0—D15并存放到16位串行寄存器中的过程,相当于并行传送中,将并行数据和地址送到数据和地址总线上的过程。
(2)数据装载
16位接收寄存器将收到的D0—D7位数据写入RAM或特殊功能寄存器是在数据装载信号控制下完成的。
图3-8是MAX7219的数据接收装载(写入)时序图,由图可知,LOAD必须在15个CLK下降延前由高变低,在16个CLK同时或之后由低变高(上升延)。
在LOAD的上升延,8位数据D0—D7写入以4位二进制数D8—D11位地址的RAM或特殊功能寄存器中。
(3)显示扫描
当显示模式设定后,写入显示RAM的数据将在控制器的控制下,按设定的显示模式,以动态扫描方式进行显示。
MAX7219内部显示RAM及特殊功能寄存器
显示RAM(地址*1—*8)
地址为*1H的RAM数据控制接D0引脚的显示器,地址为*2H的RAM数据控制接D1引脚的显示器。
译码方式寄存器(地址:
*9H)
该寄存器的8位二进制数的各位值分别控制着8个LED显示器的译码方式。
当高电平时选择BCD-B码译码模式,当低电平时选择不译码模式。
B码译码的显示自行与现实数据的关系如下:
显示数据
(十六进制)0123456789ABCDEF
B码字型0123456789–EHLP*
其中,*代表全灭。
小数点不译码,它由显示数据的D7位控制。
扫描界限寄存器(地址:
*BH)
该寄存器的D0—D3位数据设定值为0—7,设定值表示显示器动态扫描个数为1—8。
停机寄存器(地址:
*CH)
当位D0=0时,MAX7219处于停机状态;当D0=1时,处于正常工作状态。
显示测试寄存器(地址:
*FH)
当位D0=0时,MAX7219按设定模式正常工作;当D0=1时,处于测试状态。
在该状态下,不管MAX7219处于什么模式,全部LED将按最大亮度接通显示。
亮度寄存器(地址:
*AH)及两度的调解或控制
亮度可通过硬件和软件两种方法调解或控制。
2.1.3存储器的选择
为了改善主CPU的资源与时序的分配,我们对AT89C51进行串行数据存储器的扩展。
常用的存储芯片有很多,如AT93C46/56/66,X5045。
经过比较选择,最终选用了XICOR公司的X5045。
X5045把三种常用的功能:
看门狗定时器,电压控制和EEPROM组合在单个封装之内。
这种组合降低了系统的成本并减少了对电路板空间的要求。
看门狗定时器对微控制器提供了独立的保护系统。
低VCC检测电路可以保护系统免受低电压的影响,同时X5045是串行EEPROM具有简单的三总线工作的串行外设接口,是一种有独特功能的高性能价格比存储器件。
AT93C46/56/66是ATMEL公司推出的低功耗、低电压电可擦除的可编程只读存储器。
它采用CMOS技术和FairchildSemiconductor公司的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可大大节省印制板空间,且接线简单,因而在多功能的精密测试仪中具有广阔的前途。
(1)引脚功能
CS:
片选信号。
高电平有效,低电平时进入等待模式。
在连续的指令之间,CS信号必须持续至少250ns的低电平,才能保证芯片正常工作。
CLK:
串行时钟信号。
在CLK的上升沿,操作码、地址和数据位进入器件或从器件输出。
在发送序列时,CLK最好不停止,以防止读/写数据的错误。
DI:
串行数据输入。
可在CLK的同步下输入开始位、操作码、地址位和数据位。
DO:
串行数据输出。
在CLK同步下读周期时,用于输出数据;而在地址擦/写周期或芯片擦/写周期时,该端用于提供忙/闲信息。
VSS:
接地。
VCC:
接+5V电源。
ORG:
存贮器构造配置端。
该端接VCC或悬空时,输出为16位;接GND时,输出为8位。
(2)指令及时序
地址擦指令(ERASE)
该指令用于强迫指定地址中所有数据位都为“1”。
一旦信息在DI端上被译码,就需使CS信号保持至少250ns的低电平,然后将CS置为高电平,这时,DO端就会指示“忙”标志。
DO为“0”,表示编程正在进行;DO为“1”,表示该指定地址的寄存器单元已擦完,可以执行下一条指令。
擦/写允许指令(EWEN)
由于在上电复位后AT93C46/56/66首先将处于擦/写不允许状态。
故该指令必须在所有编程模式前执行,一旦该指令执行后,只要外部没有断电就可以对芯片进行编程。
地址写指令(WRITE)
写指令时,先写地址,然后将16位的或8位数据写入到指定地址中。
当DI端输出最后一个数据位后,在CLK时钟的下一个上升沿以前,CS必须为低,且需至少保持250ns,然后将CS置为高电平。
需要说明的是:
写周期时,每写一个字节需耗时4ms。
地址读指令(READ)
读指令用于从指定的单元中把数据从高位到低位输出至DO端,但逻辑“0”位先于数据位输出。
读指令在CLK的上升沿触发,且需经过一段时间方可稳定。
为防止出错,建议在读指令结束后,再输出2-3个CLK脉冲。
芯片擦指令(ERAL)
该指令可将整个存贮器阵列置为1,其它功能与地址擦指令相同。
芯片写指令(WRAL)
该指令可将命令中指定的数据写入整个存贮器阵列,其它功能与地址写指令相同。
该指令周期所花费时间的最大值为30ms。
擦/写禁止指令(EWDS)
使用该指令可对写入的数据进行保护,操作步骤与擦/写允许指令相同。
2.1.4继电器的选择
继电器是我们生活中常用的一种控制设备,通俗的意义上来说就是开关,在条件满足的情况下关闭或者开启。
继电器的开关特性在很多的控制系统尤其是离散的控制系统中得到广泛的应用。
从另一个角度来说,由于为某一个用途设计使用的电子电路,最终或多或少都需要和某一些机械设备相交互,所以继电器也起到电子设备和机械设备的接口作用。
最常见的继电器要数热继电器,通常使用的热继电器适用于交流50Hz、60Hz、额定电压至660V、额定电流至80A的电路中,供交流电动机的过载保护用。
它具有差动机构和温度补偿环节,可与特定的交流接触器插接安装。
时间继电器也是很常用的一种继电器,它的作用是作延时元件,通常它可在交流50Hz、60Hz、电压至380V、直流至220V的控制电路中作延时元件,按预定的时间接通或分断电路。
可广泛应用于电力拖动系统,自动程序控制系统及在各种生产工艺过程的自动控制系统中起时间控制作用。
在控制中常用的中间继电器通常用作继电控制,信号传输和隔离放大等用途。
此外还有电流继电器用来限制电流、电压继电器用来控制电压、静态电压继电器、相序电压继电器、相序电压差继电器、频率继电器、功率方向继电器、差动继电器、接地继电器、电动机保护继电器等等。
正是有了这些不同类型的继电器,我们才有可能对不同的物理量作出控制,完成一个完整的控制系统。
除了传统的继电器之外,继电器的技术还应用在其他的方面,比如说电机智能保护器是根据三相交流电动机的工作原理,分析导致电动机损坏的主要原因研制的,它是一种设计独特,工作可靠的多功能保护器,在故障出现时,能及时切断电源,便于实现电机的检修与维护,该产品具有缺相保护,短路、过载保护功能,适用于各类交流电动机,开关柜,配电箱等电器设备的安全保护和限电控制,是各类电器设备设计安装的优选配套产品。
该技术安装尺寸、接线方式、电流调整与同型号的双金属片式热继电器相同。
是直接代替双金属片式热继电器的更新换代的先进电子产品。
而其真正的原理还是继电器技术。
继电器技术发展到现在,已经和计算机技术结合起来,产生了可编程控制器的技术。
可编程控制器简称作PLC。
它是将微电脑技术直接用于自动控制的先进装置。
它具有可靠性高,抗干扰性强,功能齐全,体积小,灵活可扩,软件直接、简单,维护方便,外形美观等优点;以往继电器控制的电梯有几百个触点控制电梯的运行。
有一个触点接触不良,就会引起故障,维修也相当麻烦,而PLC控制器内部有几百个固态继电器,几十个定时器/计数器,具备停电记忆功能,输入输出采用光电隔离,控制系统故障仅为继电器控制方式的10%。
正因为如此,国家有关部门已明文规定从1997年起新产电梯不得使用继电器控制电梯,改用PLC微电脑控制电梯。
可以看出,继电器技术在日常生活中无所不在,而且和电脑的紧密结合更加增强了它的活力,使得继电器为我们的生活更好地服务。
2.2总体设计及系统原理
经比较我们选定单片机芯片为AT89C52,存储器芯片为X5045。
在确定系统的大体形式之后,画出本系统的结构布局,电路原理如图2-2所示。
单片机
图2-2电路原理框图
第3章硬件设计
3.1单片机部分
3.1.1AT89C52
(1)AT89C52的特点:
●与MCS-51产品指令和引脚完全兼容
●8K字节可重擦写FLASH闪存
●1000次擦写周期
●全静态操作:
0Hz-24MHz
●三级加密程序存储器
●256X8字节内部RAM
●32个可编程I/O口线
●3个16位定时/计数器
●8个中断源
●可编程串行UART通道
●低功耗空闲和掉电模式
功能特性概述:
AT89C52提供以下标准功能:
8K字节FLASH闪存,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。
AT89C52的芯片管脚图如图3-1所示。
图3-1AT89C52的芯片管脚图
(2)引脚功能说明:
VCC——电源电压
GND——地
P0口——P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在FLASH编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口—P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输出口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),参见下表。
FL
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 利用 单片机 实现 作息 时间 控制系统