基于单片机的作息时间钟的设计.docx
- 文档编号:16510937
- 上传时间:2023-07-14
- 格式:DOCX
- 页数:51
- 大小:209.15KB
基于单片机的作息时间钟的设计.docx
《基于单片机的作息时间钟的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的作息时间钟的设计.docx(51页珍藏版)》请在冰点文库上搜索。
基于单片机的作息时间钟的设计
内容摘要
单片机是为了实现控制功能而设计的一种微型计算机。
由于单片机是在一块芯片上集成了一台微型计算机所需要的CPU、输入/输出部件和时钟电路等,因此,它具有体积小,使用灵活、成本低、易于产品化和抗干扰能力强,可以在恶劣的环境下实现可靠工作的特点。
设计的作息时间系统硬件上采用了AT89C52单片机,并且采用了单片机可以直接驱动的LM016L液晶显示屏,比市场上大部分LED数码显示管提供更多显示内容。
此外系统还设置了5个按钮可以随时调整当前时间,以保证与标准时间相吻合。
在软件设计方面,系统最大的创新点是不仅能够实现显示年、月、日信息外,而且可以自动识别闰年、闰月及每月的天数。
还可以根据学校、工厂等单位的作息时间表按时打铃、播放音乐、广播体操和其他节目等。
以单片机控制作为设计的创新点让整个系统结构简单、体积小巧、可靠性高、操作简单、扩展性强。
关键词
作息时间控制;51单片机;LM016L显示屏;供电电路
DesignTimeClockBasedonMCU
091307326WuNingtutorProfessorZhouPeng
Abstract
Asingle-chipmicrocomputerisdesignedinordertorealizethecontrolfunction.BecausethemicrocontrollerisCPU,memory,input/integratedonasinglechipofamicrocomputerrequiredoutputcomponentsandclockcircuit,therefore,ithastheadvantagesofsmallvolume,flexibleuse,lowcost,easyproductionandstronganti-interferenceability,featurescanachievereliableoperationinharshenvironments.
HardwareschedulesystemdesignusingAT89C52singlechip,LM016LLCDscreenandinnovationbythesinglechipcanbedirectlydriven,providesmoredisplaycontentsthanthemarketmostoftheLEDdigitaldisplay.Inadditionthesystemalsosetup5buttonscanbeadjustedatanytimetocoincidewiththecurrenttime,toensurethestandardtime.Intheaspectofsoftwaredesign,innovationsystemisthebiggestcandisplayyear,month,dayofinformation,andcanautomaticallyidentifytheleapyear,monthandmonthly.Alsoaccordingtotheschools,factoriesandotherunitsscheduleontimebell,playingmusic,broadcastgymnasticsandotherprograms.
SCMcontrolasadesigninnovationsothatthewholesystemissimpleinstructure,smallvolume,highreliability,simpleoperation,expansionandstrong.
Keywords
Timeschedulecontrol;51microcontroller;LM016Ldisplay;Thepowersupplycircuit
基于单片机的作息时间钟的设计
091307326伍宁指导老师周鹏教授
第一章绪论
1.1课题研究意义
科技的进步需要技术不断的提升。
一块大而复杂的模拟电路花费了您巨大的精力,繁多的元器件增加了您的成本。
而现在,只需要一块几厘米见方的单片机,写入简单的程序,就可以使您以前的电路简单很多。
相信在使用并掌握了单片机技术后,不管在今后开发或是工作上, 一定会带来意想不到的惊喜。
该系统以AT89C52为主体的设计,整体性好,人性化强、可靠性高,实现了对时间控制的智能化,摆脱了传统由人来控制时间的长短的不便,是现代学校必不可少的设备。
本设计是一个具有报时功能的作息时间控制钟。
它利用AT89C52单片机的定时器计时,进行时间计算;在进行时间计算,分每加一时,都与规定的作息时间比较,如果相等则进行相应的控制或动作。
由处理芯片,供电电路,控制按键,显示部分组成,系统扩展五个按键用于报时及校正时间。
1.2国内外研究现状
现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校。
数字式电子钟用集成电路计时时,译码代替机械式传动,LED显示器代替指针显示时间,减小了计时误差。
这种电子钟具备显示时、分、秒的功能,还可以对时、分、秒进行校对,片选的灵活性好。
随着科学技术的迅速发展,电子时钟正迅速取代纸质日历、年历和一般机械电子时钟。
电子时钟走时准确、功能多样、外观时尚、使用方便。
但它们的核心部分都有两个共同点,一是采用高性能时钟芯片;二是大都采用单片机控制。
这些电路的接口简单、价格低廉。
1.3研究内容
综合利用所学单片机知识完成一个单片机应用系统设计并仿真、由硬件实现,从而加深对单片机软硬知识的理解,获得初步的应用经验,为走出校门从事单片机应用的相关工作打下良好基础。
以往的作息时间控制系统只具备基本时钟(显示当前时间的小时及分钟)功能,而且采用数字电路实现,致使电路非常复杂,计时精度不高,功能简单。
本设计的系统具备如下特点:
(1)基本时钟功能之外,还可以显示年、月、日、星期等信息,具备自动识别闰月,每月的天数。
(2)通过单片机控制,既保证了系统结构简单,又保证了控制时间的精度和可靠性,且通过外扩电路还可以实现多种功能。
(3)设置了五按钮的控制按键,以保证调时间、日期、星期,同时设置了单片机复位按钮。
(4)具备供电电路,直接将市电转换成单片机需要的直流5v电压。
带有备用电源,停电后时钟依旧工作时间不停止。
第二章核心芯片及元件介绍
2.1AT89C52简介
图1AT89C52接口图
AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,其主要功能特性如下:
(1兼容MCS51指令系统
(2)8kb可反复擦写(大于1000次)FlashROM;
(3)32个双向I/O口;
(4)256x8bit内部RAM;
(5)3个16位可编程定时/计数器中断;
(6)时钟频率0-24MHz;
(7)2个串行中断,可编程UART串行通道;
(8)2个外部中断源,共8个中断源;
(9)2个读写中断口线,3级加密位;
(10)低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;
(11)有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求引脚。
2.1.1AT89C52芯片的引脚
8位通用微处理器,主要管脚有:
XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。
RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。
VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。
P0~P3为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(32~39脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12脚、27脚及28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。
P0口:
一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
P1口:
一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
表1P1.0和P1.1的第二功能
表1p1.0和p1.1功能
引脚号
功能特性
P1.0
T2,时钟输出
P1.1
T2EX(定时/计数器2)
P2口:
P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。
Flash编程或校验时,P2亦接收高位地址和一些控制信号。
P3口:
P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。
此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能。
P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。
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端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。
Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
XTAL1:
振荡器反相放大器的及内部时钟发生器的输入端。
XTAL2:
振荡器反相放大器的输出端。
2.1.2AT89C52特点
时钟振荡器:
AT89C52中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。
这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图10。
外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。
对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,我们推荐电容使用30pF±10pF,而如使用陶瓷谐振器建议选择40pF±10F。
用户也可以采用外部时钟。
采用外部时钟的电路如图10右图所示。
这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。
由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。
掉电模式:
在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM和特殊功能寄存器的内容在终止掉电模式前被冻结。
退出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器,但不改变RAM中的内容,在Vcc恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重启动并稳定工作。
2.2LM016L显示屏
液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。
液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用,其特点如下:
(1)LM016L显示质量高,由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。
因此,液晶显示器画质高且不会闪烁。
(2)液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。
(3)液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。
(4)相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。
(5)液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。
除了黑白显示外,液晶显示器还有多灰度有彩色显示等。
2.2.1显示屏主要技术参数:
(1)显示容量:
16×2个字符
(2)芯片工作电压:
4.5—5.5V
(3)工作电流:
2.0mA(5.0V)
(4)模块最佳工作电压:
5.0V
(5)字符尺寸:
2.95×4.35(W×H)mm
2.2.2引脚功能说明
LCD采用标准的14脚(无背光)或16脚(带背光)接口,各脚接口说明如表2所示:
表2液晶屏接口
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
数据
2
VDD
电源正极
10
D3
数据
3
VEE
液晶显示偏压
11
D4
数据
4
RS
数据/命令选择
12
D5
数据
5
R/W
读/写选择
13
D6
数据
6
E
使能信号
14
D7
数据
7
D0
数据
15
BLA
背光源正极
8
D1
数据
16
BLK
背光源负极
第1脚:
VSS为地电源。
第2脚:
VDD接5V正电源。
第3脚:
VEE为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15脚:
背光源正极。
第16脚:
背光源负极。
2.2.3显示屏的指令说明及时序
液晶模块内部的控制器共有11条控制指令,如表3所示:
表3指令时序
序号
指令
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
1
清显示
0
0
0
0
0
0
0
0
0
1
2
光标返回
0
0
0
0
0
0
0
0
1
*
3
置输入模式
0
0
0
0
0
0
0
1
I/D
S
4
显示开/关控制
0
0
0
0
0
0
1
D
C
B
5
光标或字符移位
0
0
0
0
0
1
S/C
R/L
*
*
6
置功能
0
0
0
0
1
DL
N
F
*
*
7
置字符发生存贮器地址
0
0
0
1
字符发生存贮器地址
8
置数据存贮器地址
0
0
1
显示数据存贮器地址
9
读忙标志或地址
0
1
BF
计数器地址
10
写数到CGRAM或DDRAM)
1
0
要写的数据内容
11
从CGRAM或DDRAM读数
1
1
读出的数据内容
液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。
(说明:
1为高电平、0为低电平)
指令1:
清显示,指令码01H,光标复位到地址00H位置。
指令2:
光标复位,光标返回到地址00H。
指令3:
光标和显示模式设置I/D:
光标移动方向,高电平右移,低电平左移S:
屏幕上所有文字是否左移或者右移。
高电平表示有效,低电平则无效。
指令4:
显示开关控制。
D:
控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:
控制光标的开与关,高电平表示有光标,低电平表示无光标B:
控制光标是否闪烁,高电平闪烁,低电平不闪烁。
指令5:
光标或显示移位S/C:
高电平时移动显示的文字,低电平时移动光标。
指令6:
功能设置命令DL:
高电平时为4位总线,低电平时为8位总线N:
低电平时为单行显示,高电平时双行显示F:
低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。
指令7:
字符发生器RAM地址设置。
指令8:
DDRAM地址设置。
指令9:
读忙信号和光标地址BF:
为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
指令10:
写数据。
指令11:
读数据。
读操作时序如图2所示:
图2读操作时序
写操作时序如图3所示:
图3写操作时序
2.2.4显示屏的RAM地址映射
液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。
要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图是内部显示地址。
如图4所示
图4模块显示地址
例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?
这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)。
在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。
每次输入指令前都要判断液晶模块是否处于忙的状态。
液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:
阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”这样液晶显示模块可以和单片机AT89C52直接接口。
第三章硬件电路设计
3.1总体电路设计:
时间作息控制的主体电路应包括秒信号发生器、时间显示电路、按键电路、供电电源以及闹铃指示电路等几部分。
按键功能说明:
K1设置时间;K2加一;K3,减一;K4,退出;K5,复位。
时间作息控制的系统框图5如下所示:
图5控制系统
3.2硬件系统各部分电路设计
3.2.1系统复位电路的设计
单片机系统一般应有手动或上电复位电路。
复位电路的实现通常有两种方式:
1、RC复位电路;2、专用µP监控电路。
前者实现简单,成本低,但复位可靠性相对较低;后者成本较高,但复位可靠性高,尤其是高可靠重复复位。
对于复位要求高、并对电源电压进行监视的场合,大多采用这种方式。
复位电路主要用来在单片机的程序进入死循环后,能使单片机重新从头执行程序而不会无休止的执行程序。
本设计采用了上电按钮电平复位电路,如图6
图6复位电路
3.2.2系统时钟电路的设计:
对于时间要求不是很高的系统,只要按图进行设计就能使系统可靠起振并稳定运行。
但由于实际工作过程中的C1、C2电容起着系统时钟频率微调和稳定的作用,因此,在实际应用中一定要注意正确选择参数(30±10PF),并保证对称性(尽可能匹配),这两个电容元件对闹钟的走时误差有很大关系,并且选用正规的瓷片或云母电容,如果可能的话,温度系数要尽可能低。
另外,瓷片电容的实际焊接距离不应该离单片机太远否则误差较大。
具体的时钟电路如图7所示:
图7时钟产生电路
3.2.3闹铃电路设计:
闹钟电路是用比较器来比较计时系统和定时系统的输出状态,如果计时系统和定时系统的输出状态相同,则发出一个脉冲信号,再和一个高频信号混合,送到放大电路驱动扬声器发声,从而实现定时闹响的功能。
其电路设计参见系统原理图。
如图8所示
图8闹铃电路
3.2.4显示电路设计:
本设计采用了液晶屏显示电路。
在液晶点亮时,为了简化电路,降低成本,采用动态显示的方式,液晶显示屏共用一个8位的I/O,其分别和p0.0-p0.7相连接。
3位控制写入写出数据口,而将其相应的段选线并联在一起分别为p2.2、p2.4、p2.6。
到达定时时间时,由计时系统的输出状态产生一脉冲信号,然后去触发蜂鸣器实现闹铃。
校时电路是用来对“年”、“月”、“日”、“星期“、“时”、“分”、“秒”显示数字进行校对调整的。
具体的电路设计如图9示:
图9显示电路
3.2.5定时调试按键电路设计
本设计因为使用到的键数目比较少,不宜采用矩阵式键盘,采用了功能直观简洁方便的独立式键盘,而且考虑了键盘的消抖问题。
比较容易理解。
每个键的具体功能如下:
K1设置时间;K2加一;K3,减一;K4,退出。
按键定义如图10所示:
图10按键电路
3.2.6电源电路设计
电路将市供电转换为单片机需要的5v电压,由变压线圈,整流电路,稳压器,电容和二极管构成。
正输出三端稳压
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 作息 时间 设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)