电子万年历.docx
- 文档编号:9449399
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:42
- 大小:315.85KB
电子万年历.docx
《电子万年历.docx》由会员分享,可在线阅读,更多相关《电子万年历.docx(42页珍藏版)》请在冰点文库上搜索。
电子万年历
电子万年历设计
姓名:
2011年06月22日
摘 要
随着微电子技术的高速发展,单片机在国民经济的个人领域得到了广泛的运用。
单片机以体积小、功能全、性价比高等诸多优点,在工业控制、家用电器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头,单片机开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。
而电子万年历作为电子类小设计不仅是市场上的宠儿,也是单片机实验中一个很常用的题目。
因为它有很好的开放性和可发挥性,因此对设计者的要求也比较高,不仅考察了对单片机的掌握能力,更加强调了对单片机扩展的应用。
而且在操作的设计上要力求简洁,功能上尽量齐全,显示界面也要出色。
数字显示的日历钟已经越来越流行,特别是适合在家庭居室、办公室、大厅、会议室、车站和广场等使用。
集温度、时间、日历、星期于一体,采用液晶显示,设计电路更加简单直观,省去了用数码管显示的电路复杂性。
通过按键可以调整更改时间和日历,并且还可以设置闹钟,这样就组成了一个多功能的万年历。
关键词:
单片机,万年历
目录
一设计任务1
二主要硬件设计1
2.1大概设计1
2.2芯片及元件说明1
2.2.1单片机介绍1
2.2.2时钟日历芯片DS12C887芯片介绍4
2.2.3DS18B20温度传感器介绍6
2.2.474LS154介绍7
2.3元件清单8
三电路原理图及PCB板图8
四软件设计22
4.1流程图22
4.2程序设计24
4.2.1时间程序设计24
4.2.2调整时间程序设计24
4.2.3温度程序设计24
总结25
参考文献26
附录一27
附录二28
附录三29
一设计任务
设计任务是要设计一个电子万年历。
要求是要显示年月日时分秒及星期信息;具有可调整日期和时间功能;具有温度显示功能与即时时间同步。
二主要硬件设计
2.1大概设计
电子万年历核心采用单片机控制,时间信息显示是利用单片集成的时钟芯片DS12C887来实现,它是保证时钟准确的重要器件,温度显示使用DS18B20温度传感器实现。
电子万历的硬件设计方框图如图1所示。
图1电子万历的硬件设计方框图
时间模块利用时钟芯片DS12C887,可以读取到高精度的年、月、日、时、分、秒信息。
按键部分采用四个按键实现时间的调整功能,即设置、加1、减1、切换四个按键。
温度采集模块利用温度传感器DS18B20采集温度信息。
单片机使用AT89C52单片机,将读取的时间信息、按键信息和温度信息送入单片机机进行数据处理,同时单片机控制保证着各模块芯片的正常工作,单片机将经过处理后的时间温度信息送显示
模块显示。
显示模块使用17个LED显示管,可以显示年、月、日、星期、时、分、秒和温度。
2.2芯片及元件说明
2.2.1单片机介绍
单片机AT89C52芯片在电子万年历中起着核心作用,AT89C52控制着DS12C887并读取时间信息和读取按键信息,同时控制着DS18B20进行温度采样,将读取的时间、按键和温度信息进行数据处理后送LED显示管显示时间和温度。
单片机AT89C52芯片在电子万年历中起着核心作用,AT89C52控制着DS12C887并读取时间信息和读取按键信息,同时控制着DS18B20进行温度采样,将读取的时间、按键和温度信息进行数据处理后送LED显示管显示时间和温度。
AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。
图2为AT89C52引脚图。
图2AT89C52引脚图
主要功能特性
1、兼容MCS51指令系统
2、8k可反复擦写(大于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等几种封装形式,以适应不同产品的需求。
AT89C52引脚功能
AT89C52为8位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52相同,其主要用于会聚调整时的功能控制。
功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。
主要管脚有:
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口
P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
对端口P0写“1”时,可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口
P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高
电平,此时可作输入口。
P2口
P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。
P3口
P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。
此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。
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端必须保持低电平。
Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
XTAL1
振荡器反相放大器的及内部时钟发生器的输入端
XTAL2
振荡器反相放大器的输出端。
2.2.2时钟日历芯片DS12C887芯片介绍
DS12C887实时时钟芯片功能丰富,可以用来直接代替IBMPC上的时钟日历芯片DS12887,同时,它的管脚也和MC146818B、DS12887相兼容。
由于DS12C887能够自动产生世纪、年、月、日、时、分、秒等时间信息,其内部又增加了世纪寄存器,从而利用硬件电路解决子“千年”问题;DS12C887中自带有锂电池,外部掉电时,其内部时间信息还能够保持10年之久;对于一天内的时间记录,有12小时制和24小时制两种模式。
在12小时制模式中,用AM和PM区分上午和下午;时间的表示方法也有两种,一种用二进制数表示,一种是用BCD码表示;DS12C887中带有128字节RAM,其中有11字节RAM用来存储时间信息,4字节RAM用来存储DS12C887的控制信息,称为控制寄存器,113字节通用RAM使用户使用;此外用户还可对DS12C887进行编程以实现多种方波输出,并可对其内部的三路中断通过软件进行屏蔽。
DS12C887的引脚排列如图3所示。
图3DS12C887的引脚排列
DS12C887引脚功能
GND、VCC:
直流电源,其中VCC接+5V输入,GND接地,当VCC输入为+5V时,用户可以访问DS12C887内RAM中的数据,并可对其进行读、写操作;当VCC的输入小于
+4.25V时,禁止用户对内部RAM进行读、写操作,此时用户不能正确获取芯片内的时间信息;当VCC的输入小于+3V时,DS12C887会自动将电源发换到内部自带的锂电池上,以保证内部的电路能够正常工作。
MOT:
模式选择脚,DS12C887有两种工作模式,即Motorola模式和Intel模式,当MOT接VCC时,选用的工作模式是Motorola模式,当MOT接GND时,选用的是Intel模式。
本文主要讨论Intel模式。
SQW:
方波输出脚,当供电电压VCC大于4.25V时,SQW脚可进行方波输出,此时用户可以通过对控制寄存器编程来得到13种方波信号的输出。
AD0~AD7:
复用地址数据总线,该总线采用时分复用技术,在总线周期的前半部分,出现在AD0~AD7上的是地址信息,可用以选通DS12C887内的RAM,总线周期的后半部分出现在AD0~AD7上的数据信息。
AS:
地址选通输入脚,在进行读写操作时,AS的上升沿将AD0~AD7上出现的地址信息锁存到DS12C887上,而下一个下降沿清除AD0~AD7上的地址信息,
不论是否有效,DS12C887都将执行该操作。
DS/RD:
数据选择或读输入脚,该引脚有两种工作模式,当MOT接VCC时,选用Motorola工作模式,在这种工作模式中,每个总线周期的后一部分的DS为高电平,被称为数据选通。
在读操作中,DS的上升沿使DS12C887将内部数据送往总线AD0~AD7上,以供外部读取。
在写操作中,DS的下降沿将使总线AD0~AD7上的数据锁存在DS12C887中;当MOT接GND时,选用Intel工作模式,在该模式中,该引脚是读允许输入脚,即ReadEnable。
R/W:
读/写输入端,该管脚也有2种工作模式,当MOT接VCC时,R/W工作在Motorola模式。
此时,该引脚的作用是区分进行的是读操作还是写操作,当R/W为高电平时为读操作,R/W为低电平时为写操作;当MOT接GND时,该脚工作在Intel模式,此时该作为写允许输入,即WriteEnable。
:
片选输入,低电平有效。
:
中断请求输入,低电平有效,该脚有效对DS12C887内的时钟、日历和RAM中的内容没有任何影响,仅对内部的控制寄存器有影响,在典型的应用中,RESET可以直接接VCC,这样可以保证DS12C887在掉电时,其内部控制寄存器不受影响。
在DS12C887内有11字节RAM用来存储时间信息,4字节用来存储控制信息。
在DS12C887内有11字节RAM用来存储时间信息,4字节用来存储控制信息,其具体垢地址及取值如表1所列。
由表1可以看出:
DS12C887内部有控制寄存器的A-B等4个控制寄存器,用户都可以在任何时候对其进行访问以对DS12C887进行控制操作。
表1DS12C887的存储功能
地址
功 能
取值范围十进制
取值范围
二进制
BCD码
0
秒
0~59
00~3B
00~59
1
秒闹铃
0~59
00~3B
00~59
2
分
059
00~3B
00~59
3
分闹铃
0~59
00~3B
00~59
4
12小时模式
0~12
01~0CAM
81~8CPM
01~12AM
81~92PM
24小时模式
0~23
00~17
00~23
5
时闹铃,12小时制
1~12
01~0CAM
81~8CPM
01~12AM
81~92PM
时闹铃,24小时制
0~23
00~17
00~23
6
星期几(星期天=1)
1~7
01~07
01~07
7
日
1~31
01~1F
01~31
8
月
1~12
01~0C
01~12
9
年
0~99
00~63
00~99
10
控制寄存器A
11
控制寄存器B
12
控制寄存器C
13
控制寄存器D
50
世纪
0~99
NA
19,20
2.2.3DS18B20温度传感器介绍
美国DALLAS公司生产的DS18B20可组网数字温度传感器芯片封装而成,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。
独特的一线接口,只需要一条口线通信多点能力,简化了分布式温度传感应用无需外部元件可用数据总线供电,电压范围为3.0V至5.5V无需备用电源,测
量温度范围为-55°C至+125℃。
DS18B20引脚如图4所示。
图4DS18B20引脚
DS18B20引脚定义
DQ:
为数字信号输入/输出端;
GND:
为电源地;
VDD:
为外接供电电源输入端(在寄生电源接线方式时接地)。
DS18B20性能特性
(1)独特的单线接口方式:
DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(2)在使用中不需要任何外围元件。
(3)可用数据线供电,电压范围:
+3.0~+5.5 V。
(4)测温范围:
-55 ~+125 ℃。
固有测温分辨率为0.5 ℃。
(5)通过编程可实现9~12位的数字读数方式。
(6)用户可自设定非易失性的报警上下限值。
(7)支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。
(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
2.2.474LS154介绍
74LS154为4线-16线译码器,当选通端(G1、G2)均为低电平时,可将地址端(ABCD)的二进制编码在一个对应的输出端,以低电平译出。
如果将G1和G2中的一个作为数据输入端,由ABCD对输出寻址,74LS154还可作1线-16线数据分配器。
74LS154引脚图如图5所示。
图574LS154引脚图
引脚功能介绍
A、B、C、D:
译码地址输入端(低电平有效);
G1、G2:
选通端(低电平有效);
Y0-Y15:
输出端(低电平有效)。
2.3元件清单
电子万年历设计使用的器件清单如表2。
表2器件清单
使用器件
个数
AT89C52
1
DS12C887
1
DS18B20
1
按键
4
8050
8
LED显示管
17
三电路原理图及PCB板图
电子万年历的原理图如附录一所示。
包括单片机模块、DS18B20模块、DS12C887模块和LED显示管,具体见原理图标识。
附录二为电子万年历PCB板图。
四软件设计
4.1流程图
电子万年历系统的主程序流程图如图6所示:
图6电子万年历系统的主程序流程图
时间调整程序流程图如图7所示:
图7时间调整程序流程图
4.2程序设计
4.2.1时间程序设计
因为使用时钟芯片DS12887,阳历程序只需从DS12887各寄存器中读出年,月,日,时,分,秒等数据,再处理即可。
在首次对DS12887进行操作之前必须对它进行初始化,然后DS12887中读出数据,再经处理后送给显示缓冲单元。
4.2.2调整时间程序设计
调整时间用四个调整按钮,1个作为移位控制用,另外两个作为加,减用,再一个作为设置时间,分别定义为控制按钮,加按钮,减按钮,设置钮。
在调整时间过程中要调整的位与别的位应该有区别。
所以增加了闪烁功能即调整的位一直在闪烁,直到调整下一位。
闪烁原理就是:
让调整的一位每隔一定时间熄灭一次。
比如说50ms。
利用定时器设计时当达到50ms溢出时,就送给该位熄灭符,在下一次溢出时再送正常显示的值,不断交替直到调整该位结束。
此时送正常显示值给该位,再进入下一位调整闪烁程序。
4.2.3温度程序设计
程序主要包括主程序,读出温度子程序,复位应答子程序,写入子程序等。
主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。
这样可以在一秒之内测量一次被测温度,通过调用读温度子程序把存入内存储中的整数部分与小数部分分开存放在不同的两个单元中,然后通过调用显示子程序显示出来,读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。
DS18B20的各个命令对时序的要求特别严格,所以必须按照所要求的时序才能达到预期的目的,同时,要注意读进来的是高位在后低位在前,共有12位数,小数4位,整数7位,还有一位符号位。
DS18B20测温流程如图8所示:
图8DS18B20测温流程
总结
通过这两周的生产实习,我学到了不少的知识。
把以前没有学好的模拟电路的知识进行补充和加强。
这使我受益很大,加深了我对单片机和数字电路的认识,相信在以后的学习和工作中碰到这些基础的元件我会更加得心应手。
通过查阅大量的知识,我获得了以前在课堂上学不到的东西,我想这对于以后的毕业设计,或者工作也好,都有很大的用处。
我很认真对待这个过程,希望自己能够做得更好,希望以后还有这样的机会,不断的去成长。
学无止境,我们现在所做的一切都还是一个新的开始。
参考文献
[1]陈鹰,杨灿军,陶春晖等.单片机系统[M].海洋出版社:
2006,3。
[2]侯国章,赖一楠,测试与传感技术[M].哈尔滨:
哈尔滨工业大学出版社,2000.10。
[3]张国雄.测控电路[M].北京:
机械工业出版社,2008.1。
[4]沈兰荪.数据采集技术[M].第一版.合肥:
中国科技大学出版社。
[5]陈国永.基于虚拟仪器技术的电子仪表设计[A].山东大学硕士学位论文.2004。
[6]周福洪编.阴阳历转换及基阵[M].科技出版社,1984。
[7]刘伯胜,雷家煌.LED原理[M].哈尔滨工程大学出版社,1997。
[8]陶春辉,金祥龙.电子秒表技术的研究现状与前景[J].东海海洋2004,22。
附录一
附录二
电子万年历PCB板
附录三
源程序清单与注释:
LXFGEQU24H
FLAG1EQU25H
A_bitEQU26h
B_bitEQU27h
TEMPER_HEQU28H
TEMPER_LEQU29H
XSYS1EQU31H
XSYS2EQU32H
DLYS1EQU33H
ZJBL0EQU34H
ZJBL1EQU35H
ZJBL2EQU36H
SHIJIEQU37H
NIANEQU38H
YUEEQU39H
RIIEQU3AH
XINQIEQU3BH
SHIEQU3CH
FENEQU3DH
MIAOEQU3EH
XSZJLEQU3FH
XSSHIJI1EQU40H
XSSHIJI2EQU41H
XSNIAN1EQU42H
XSNIAN2EQU43H
XSYUE1EQU44H
XSYUE2EQU45H
XSRII1EQU46H
XSRII2EQU47H
XSXINQIEQU48H
XSSHI1EQU49H
XSSHI2EQU4AH
XSFEN1EQU4BH
XSFEN2EQU4CH
XSMIAO1EQU4DH
XSMIAO2EQU4EH
XSWD1EQU4FH
XSWD2EQU50H
;****************************************
TZZJEQUP1.0
TZSJEQUP1.1
TZSZEQUP1.2
TZBCEQUP1.3
CS12EQUP1.4
GWEQUP1.5
SWEQUP1.6
DQEQUP1.7
PLAYEQUP2
DZ54EQUP3
;****************************************
ORG0000H
NOP
MOVSHIJI,#20H
MOVR4,#1
LCALLSZCSH
MAIN:
LCALLTZRLSZ
NOP
;********************
LCALLRDWDSZ
LCALLDISPLAY
;*********************TZRQ
LJMPMAIN
;*********
SZCSH:
MOVP3,#0FFH
MOVR0,#0AH
MOVA,#20H
MOVX@R0,A
NOP
NOP
MOVR0,#0BH
MOVA,#02H
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 万年历