基于单片机万年历设计Word文件下载.doc
《基于单片机万年历设计Word文件下载.doc》由会员分享,可在线阅读,更多相关《基于单片机万年历设计Word文件下载.doc(25页珍藏版)》请在冰豆网上搜索。
从而实现电子万年历的功能。
按照系统设计的要求,初步确定系统由电源模块、时钟模块、显示模块、键盘接口模块、温度测量模块和闹钟模块共六个模块组成,电路系统构成框图如图1所示。
闹钟模块
独立按键
显示模块
始终模块
STC89C52
温度模块
电源模块
图1硬件电路框图
2硬件电路设计
2.1单片机的选择
2.1.151单片机及12单片机结构及功能
单片机又称单片微控制器,可以完成复杂的运算、逻辑控制、通信等功能。
80C51单片机的时钟信号用来提供单片机内各种位操作时间基准,80C52单片机的时钟信号。
通常有两种电路形式:
内部震荡方式和外部震荡方式。
由于80C52的系统性能满足系统数据采集及时间精度的要求,而且产品产量丰富来源广,应用也很成熟,故采用来作为控制核心。
单片机系统是实现环境电压多路采集功能的核心模块。
每次选通一路通道信号进行模拟量转换数字量和输出允许。
STC12C5A60AD/S2系列带A/D转换的单片机的A/D转换口在P1口,上电复位后P1口为弱上拉型IO口,用户可以通过软件设置将8路中的任何一路设置为A/D转换,不须作为A/D使用的口可继续作为IO口使用。
STC12C5A60AD/S2系列单片机与89C52单片机最小系统相同,而功能上较51单片机相比更为强大。
单片机最小系统电路如图2所示。
图2单片机最小系统
2.1.2时钟电路
89C51系列单片机的时钟信号通常有内部振荡和外部振荡方式。
本最小系统采用外部晶振电路,利用11.0592MHZ的晶体振荡器和两个30pF的电容组成。
其中晶体振荡器起振荡作用,两电容起到去耦合的作用,具体设计图如图3所示:
图3时钟电路
2.1.3复位电路
本系统的复位电路是采用按键复位的电路,复位输入引脚RET为其提供了初始化的手段。
当其ALE及PSEN两引脚输出高电平,RET引脚高电平到时,单片机复位。
按下按钮,则直接把+5V加到了RET端从而复位称为手动复位。
复位后,P0到P3并行I/O口全为高电平,其它寄存器全部清零,只有SBUF寄存器状态不确定。
系统复位电路如图4所示。
图4复位电路
2.2时钟芯片DS1302接口设计与性能分析
2.2.1DS1302性能简介
DS1302是Dallas公司生产的一种实时时钟芯片。
它通过串行方式与单片机进行数据传送,能够向单片机提供包括秒、分、时、日、月、年等在内的实时时间信息,并可对月末日期、闰年天数自动进行调整;
它还拥有用于主电源和备份电源的双电源引脚,在主电源关闭的情况下,也能保持时钟的连续运行。
另外,它还能提供31字节的用于高速数据暂存的RAM。
DS1302时钟芯片内主要包括移位寄存器、控制逻辑电路、振荡器。
DS1302与单片机系统的数据传送依靠RST,I/O,SCLK三根端线即可完成。
其工作过程可概括为:
首先系统RST引脚驱动至高电平,然后在SCLK时钟脉冲的作用下,通过I/O引脚向DS1302输入地址/命令字节,随后再在SCLK时钟脉冲的配合下,从I/O引脚写入或读出相应的数据字节。
因此,其与单片机之间的数据传送是十分容易实现的,DS1302的引脚排列及内部结构图如图4:
DS1302引脚说明:
X1,X232.768kHz晶振引脚
GND地线
RST复位端
I/O数据输入/输出端口
SCLK串行时钟端口
VCC1慢速充电引脚
VCC2电源引脚图4DS1302的引脚
2.2.2DS1302接口电路设计
1时钟芯片DS1302的接口电路及工作原理:
图5DS1302与MCU接口电路
图5为DS1302的接口电路,其中Vcc1为后备电源,Vcc2为主电源。
VCC1在单电源与电池供电的系统中提供低电源并提供低功率的电池备份。
VCC2在双电源系统中提供主电源,在这种运用方式中VCC1连接到备份电源,以便在没有主电源的情况下能保存时间信息以及数据。
DS1302由VCC1或VCC2两者中较大者供电。
当VCC2大于VCC1+0.2V时,VCC2给DS1302供电。
当VCC2小于VCC1时,DS1302由VCC1供电。
DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置“0”,接着把RST端置“1”,最后才给予SCLK脉冲;
读/写时序如下图6所示。
表-1为DS1302的控制字,此控制字的位7必须置1,若为0则不能对DS1302进行读写数据。
对于位6,若对时间进行读/写时,CK=0,对程序进行读/写时RAM=1。
位1至位5指操作单元的地址。
位0是读/写操作位,进行读操作时,该位为1;
进行写操作时,该位为0。
控制字节总是从最低位开始输入/输出的。
表-2为DS1302的日历、时间寄存器内容:
“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;
当该位为0时,时钟开始运行。
“WP”是写保护位,在任何的对时钟和RAM的写操作之前,“WP”必须为0。
当“WP”为1时,写保护位防止对任一寄存器的写操作。
2、DS1302的控制字
DS1302的控制字如表2所示。
控制字节的高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果0,则表示存取日历时钟数据,为1表示存取RAM数据;
位5至位1指示操作单元的地址;
最低有效位(位0)如为1表示进行读操作,为0表示进行写操作。
控制字节总是从最低位开始输出。
表2DS1302的控制字格式
1
RAM/CK
A4
A3
A2
A1
A0
RD/WR
3、数据输入输出(I/O)
在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。
同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。
如下图6所示。
图6DS1302读/写时序图
4、DS1302的寄存器AM
DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表3。
表3DS1302的日历、时间寄存器
写寄存器
读寄存器
Bit7
Bit6
Bit5
Bit3
Bit2
Bit1
Bit0
80H
81H
CH
10秒
秒
82H
83H
10分
分
84H
85H
12/
10
时
/PM
86H
87H
10日
日
88H
89H
10月
月
8AH
8BH
星期
8CH
8DH
10年
年
8EH
8FH
WP
此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。
时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。
DS1302与RAM相关的寄存器分为两类:
一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;
另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。
2.3温度芯片DS18B20接口设计与性能分析
2.3.1DS18B20性能简介
1.DS18B20的主要特性
DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9-12位的数字值读数方式。
现场温度直接以"
一线总线"
的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,如:
环境控制、设备或过程控制、测温类消费电子产品等。
与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。
其性能特点可归纳如下:
1独特的单线接口仅需要一个端口引脚进行通信;
2测温范围在-55℃到125℃,分辨率最大可达0.0625℃;
3采用了3线制与单片机相连,减少了外部硬件电路;
4零待机功耗;
5可通过数据线供电,电压范围在3.0V-5.5V;
6用户可定义的非易失性温度报警设置;
7报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;
8负电压特性,电源极性接反时,温度计不会因发热烧毁,只是不能正常工作。
2.DS18B20工作原理
DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。
D