单片机控制时钟芯片DS12887的时分秒定时系统设计.
时钟芯片DS12887的简介与应用
DS12887时钟芯片的应用:RTC时钟在很多系统中广泛的被应用,因为人们对于实时时钟要求越来越大,而很多数据的记录需要提供数据对应的时间等信息。
时钟芯片能在即使没有系统电源的情况下保持时间的走动。
从而在任何时候给系统提供了准确的时间,满足各种不同的对时间的要求。
时钟芯片的接口有串行和并行之分,不同的芯片要根据具体情况设计。
DS12887的说明:DS12887是一款比较高档并常用的时钟芯片,芯片内部自配有可充电电池,在无外部电源时也可保证十年的正常运行。
芯片内部还提供了约100个字节的RAM空间,其存储的数据也可以长期保持不变。
DS12887提供了多种时钟的特殊功能,如定时中断等等。
学习板的原理以及DS12887的操作:为了给大家提供一个了解时钟芯片的条件,在学习板提供了在各种系统应用很广泛的时钟芯片DS12887。
DS12887跟MC146818B管腿是兼容的,被广泛的应用在处主要讲述原理图上的相关操作。
DS12887芯片能工作在两种总线时序,一是MOTOROLA模式,一是INTEL模式。
这个模式的选择是由管腿MOT来控制的,当MOT为高时表示使用MOTOROLA总线时序;当MOT为低时表示使用INTEL 总线时序。
学习板上使用的是INTEL模式,因为MOT管脚接地了。
因为选择了INTEL模式,所以DS管脚对应的就是RD信号。
DS12887的片选信号是由138译码器产生的CS_12887。
从74HC138的原理图可以看出,这个片选信号对应的地址是0xD000H(只要保证高四位是1101),因此无论向DS12887读操作还是写操作,都必须对在地址上加上AD0~AD7的偏移地址来进行操作。
/IRQ端输出定时中断信号INT_12887通过跳线J3连接的CPU的INT1中断信号端,从而给系统提供了定时功能。
关于此方面的知识,可以去三毛电子世界获得更多支持。
图书馆:/souceitem/library.asp产品支持:/shopitem/shopmain.asp论坛:/bbsitem/indexbbs.asp。
DS12887时钟芯片_中文资料_
DS12887时钟芯⽚_中⽂资料_DS12887时钟芯⽚(中⽂资料⼀)特点·可作为IBM AT 计算机的时钟和⽇历·与MC14681B 和DS1287的管脚兼容·在没有外部电源的情况下可⼯作10年·⾃带晶体振荡器及电池·可计算到2100年前的秒、分、⼩时、星期、⽇期、⽉、年七种⽇历信息并带闰年补偿·⽤⼆进制码或BCD 码代表⽇历和闹钟信息·有12和24⼩时两种制式,12⼩时制时有AM 和PM提⽰·可选⽤夏令时模式·可以应⽤于MOTOROLA 和INTEL 两种总线·数据/地址总线复⽤·内建128字节RAM14字节时钟控制寄存器114字节通⽤RAM·可编程⽅波输出·总线兼容中断(/IRQ )·三种可编程中断时间性中断可产⽣每秒⼀次直到每天⼀次中断周期性中断122ms 到500ms时钟更新结束中断管脚名称AD0-AD7-地址/数据复⽤总线 NC -空脚MOT -总线类型选择(MOTOROLA/INTEL ) CS -⽚选 AS -ALER/W -在INTEL 总线下作为/WR DS -在INTEL 总线下作为/RD RESET -复位信号 IRQ -中断请求输出 SQW -⽅波输出VCC -+5电源 GND -电源地上电/掉电当VCC ⾼于4.25V200ms 后,芯⽚可以被外部程序操作;当VCC 低于4.25V 时,芯⽚处于写保护状态(所有的输⼊均⽆效),同时所有输出呈⾼阻状态;当VCC 低于3V 时,芯⽚将⾃动把供电⽅式切换为由内部电池供电。
管脚功能MOT (总线模式选择)当此脚接到VCC 时,选⽤的是MOTOROLA 总线时序;当它接到地或不接时,选⽤的是INTEL 总线时序。
SQW(⽅波输出)-当VCC低于4.25V时没有作⽤。
周期性中断率和⽅波中断频率表寄存器A中的控制位RS3 RS2 RS1 RS0 P1周期中断周期SQW输出频率0 0 0 0 ⽆⽆0 0 0 1 3.90625ms 256Hz0 0 1 0 7.8125ms 128Hz0 0 1 1 122.070µs 8.192kHz0 1 0 0 244.141µs 4.096 kHz0 1 0 1 488.281µs 2.048 kHz0 1 1 0 976.5625µs 1.024 kHz0 1 1 1 1.953125ms 512 Hz1 0 0 0 3.90625 ms 256 Hz1 0 0 1 7.8125 ms 128 Hz1 0 1 0 15.625 ms 64 Hz1 0 1 1 31.25 ms 32 Hz1 1 0 0 62.5 ms 16 Hz1 1 0 1 125 ms 8 Hz1 1 1 0 250 ms 4 Hz1 1 1 1 500 ms2 HzAD0-AD7(双向数据/地址复⽤总线)AS(地址锁存)ALEDS(Data Strobe or Read Input) RD当系统选择的是INTEL总线模式时,DS被称作RD。
时钟芯片
DS12887是美国达拉斯半导体公司最新推出的时钟芯片,采用CMOS技术制成,把时钟芯片所需的晶振和外部锂电池相关电路集于芯片内部,同时它与目前 IBM AT计算机常用的时钟芯片MC146818B和DS1287管脚兼容,可直接替换。
采用DS12887芯片设计的时钟电路勿需任何外围电路并具有良好的微机接口。
DS12887芯片具有微轼耗、外围接口简单、精度高、工作稳定可靠等优点,可广泛用于各种需要较高精度的实时时钟场合中。
其主要功能如下:(1)内含一个锂电池,断电情况运行十年以上不丢失数据。
(2)计秒、分、时、天、星期、日、月、年,并有闰年补偿功能。
(3)二进制数码或BCD码表示时间、日历和定闹。
(4)12小时或24小时制,12小时时钟模式带有PWM和AM指导,有夏令时功能。
(5)MOTOROLA5和INATAEL总线时序选择。
(6)有128个RAM单元与软件音响器,其中14个作为字节时钟和控制寄存器,114字节为通用RAM,所有ARAM单元数据都具有掉电保护功能。
(7)可编程方波信号输出。
(8)中断信号输出(IRQ)和总线兼容,定闹中断、周期性中断、时钟更新周期结束中断可分别由软件屏蔽,也可分别进行测试。
2. DS12887的原理及管脚说明DS12887内部原理如图1所示,由振荡电路、分频电路、周期中断/方波选择电路、14字节时钟和控制单元、114字节用户非易失RAM、十进制/二进制计加器、总线接口电路、电源开关写保护单元和内部锂电池等部分组成。
图2显示了DS12887管脚排列图。
下面分别说明管脚功能:GND,V CC:直流电源+5V电压。
当5V电压在正常范围内时,数据可读写;当V CC低于4.25V,读写被禁止,计时功能仍继续;当V CC下降到3V以下时,RAM和计时器被切换到内部锂电池。
MOT(模式选择):MOT管脚接到V CC时,选择MOTOROLA时序,当接到GFND时,选择INTEL时序。
ds12887程序
ds12887程序管脚配置:MOT: 接地CS: 接地地址:0x5000AS: 接单片机 ALER/W: 接 RWDS: 接 RDRESET: 接高IRQ: 空SQW: 空*/#include#define DS12887 0x5000 //定义时钟芯片的片选基址#define DS12887_sec DS12887+0x00 // 秒#define DS12887_min DS12887+0x02 // 分#define DS12887_hour DS12887+0x04 // 时#define DS12887_day DS12887+0x06 // 星期#define DS12887_date DS12887+0x06 // 日期#define DS12887_month DS12887+0x08 //月份#define DS12887_year DS12887+0x09 //年#define DS12887_Reg_A DS12887+0x0a //寄存器A #define DS12887_Reg_B DS12887+0x0b //寄存器B #define DS12887_Reg_C DS12887+0x0c //寄存器C#define DS12887_Reg_D DS12887+0x0d //寄存器Dunsigned char xdata *REG_ADD;unsigned char Date_Time[7]={7,9,22,7,16,31,21};//定义时间数组并设定初始值void WriteDs12887(){REG_ADD=DS12887_Reg_B;*REG_ADD=0x80;REG_ADD=DS12887_year; *REG_ADD=Date_Time[0]; //年REG_ADD=DS12887_month; *REG_ADD=Date_Time[1]; //月REG_ADD=DS12887_date; *REG_ADD=Date_Time[2]; //日期REG_ADD=DS12887_day; *REG_ADD=Date_Time[3]; //星期REG_ADD=DS12887_hour; *REG_ADD=Date_Time[4]; //时REG_ADD=DS12887_min; *REG_ADD=Date_Time[5]; //分REG_ADD=DS12887_sec; *REG_ADD=Date_Time[6]; //秒REG_ADD=DS12887_Reg_A; *REG_ADD=0x20;REG_ADD=DS12887_Reg_B; *REG_ADD=0x06;}void ReadDs127887(){ unsigned char temp;REG_ADD=DS12887_Reg_B;do{temp=*REG_ADD;}while((temp&0x80)==0x80);REG_ADD=DS12887_year; Date_Time[0]=*REG_ADD; //年REG_ADD=DS12887_month; Date_Time[1]=*REG_ADD; //月REG_ADD=DS12887_date; Date_Time[2]=*REG_ADD; //日期REG_ADD=DS12887_day; Date_Time[3]=*REG_ADD; //星期REG_ADD=DS12887_hour; Date_Time[4]=*REG_ADD; //时REG_ADD=DS12887_min; Date_Time[5]=*REG_ADD; //分REG_ADD=DS12887_sec; Date_Time[6]=*REG_ADD; //秒}void main(){WriteDs12887();while(1){ReadDs127887();}}第 1 楼元件封装讲解元件封装是元件在电路板是存在的形势,Footprint那栏是元件封装栏,要自己输入,比如电阻可以用AXIAL0.3等等protel99常用元件的电气图形符号和封装形式1. 标准电阻:RES1、RES2;封装:AXIAL-0.3到AXIAL-1.0两端口可变电阻:RES3、RES4;封装:AXIAL-0.3到AXIAL-1.0 三端口可变电阻:RESISTOR TAPPED,POT1,POT2;封装:VR1-VR52.电容:CAP(无极性电容)、ELECTRO1或ELECTRO2(极性电容)、可变电容CAPVAR封装:无极性电容为RAD-0.1到RAD-0.4,有极性电容为RB.2/.4到RB.5/1.0.3.二极管:DIODE(普通二极管)、DIODE SCHOTTKY(肖特基二极管)、DUIDE TUNNEL(隧道二极管)DIODE VARCTOR(变容二极管)ZENER1~3(稳压二极管)封装:DIODE0.4和DIODE 0.7;(上面已经说了,注意做PCB时别忘了将封装DIODE的端口改为A、K)4.三极管:NPN,NPN1和PNP,PNP1;引脚封装:TO18、TO92A(普通三极管)TO220H(大功率三极管)TO3(大功率达林顿管)以上的封装为三角形结构。
Ds12887
Ds12887--内嵌电池的时钟芯片中国器件选型网赵星寒①,DS12887简介时钟芯片DS12887是一个内嵌锂电池的并行通讯芯片,该器件提供完整的实时时钟/日历、定时闹钟,还包含三个可屏蔽中断(共用一个中断输出)以及可编程方波输出。
DS12887内部还提供114字节静态RAM,这些存储器是内部锂电池供电的,因此数据不会丢失。
DS12C887对于少于31天的月份,其日期能够在月末自动调整,带有闰年的月份可以自动补偿。
该器件可配置为24小时或12小时格式。
精确的温度补偿电路用于状态。
一旦检测到主电源失效,器件可自动切换到备用电源。
支持Intel 监视的VCC和Motorola模式。
主要特点是:∙RTC计算秒、分、时、星期、日、月、年信息,具有润年补偿,有效期至2099年;∙用二进制或BCD表示时间;∙具有AM、PM标示的12小时模式或24小时模式;∙可选择Intel或Motorola总线时序;∙内部包含128字节存储单元,其中114字节供用户自由使用;∙三路中断可分别通过软件屏蔽与检测;∙闹钟可设置为每秒一次至每星期一次;∙可编程的方波输出信号;∙自动电源失效检测和切换电路;DS12887是一片24引脚封装的芯片,因内含锂电池高度较一般芯片高得多。
图1是引脚逻辑图,所有引脚定义如下:MOT——引脚1,总线方式选择。
连接到电源时,选择Motorola总线方式;连接到地时,选择Intel总线方式。
因为51系列单片机是Intel产品,所以这个引脚应该连接到地。
NC——引脚2、引脚3、引脚16、引脚20、引脚21和引脚22不使用。
AD0~AD7——引脚4~引脚11,地址/数据复用总线,双向工作。
直接连接到单片机的P0口。
GND——引脚12,地线。
——引脚13,片选信号输入,低电平时芯片工作,高电平时芯片不工作。
AS——引脚14,地址锁存输入,如果引脚出现一个下降沿,总线上的信号将被作为地址信号而锁存。
在对芯片进行读或写操作时,必须先输入地址。
定时闹钟单片机课程设计
定时闹钟单片机课程设计一、课程设计概述本次课程设计的主要目的是通过学习单片机的基本原理和应用,掌握单片机的编程技术和应用能力,完成一个定时闹钟的设计。
二、课程设计内容1. 硬件设计(1)电源模块:使用稳压电源芯片LM7805实现5V直流电源输出。
(2)时钟模块:使用DS1302实时时钟芯片,实现时间显示和闹钟功能。
(3)数码管模块:使用共阳数码管,通过74HC595芯片驱动。
(4)按键模块:使用矩阵按键模块,实现对时间设置和闹钟设置等操作。
2. 软件设计(1)初始化程序:对各个模块进行初始化设置。
(2)显示程序:将当前时间和闹钟时间显示在数码管上。
(3)设置程序:通过按键输入,实现对时间和闹钟时间的设置。
(4)闹铃程序:在设定的闹钟时间到达时,触发蜂鸣器响铃。
三、课程设计步骤1. 硬件设计首先进行硬件电路图的绘制,并进行元器件选型。
根据电路图进行焊接和调试。
其中需要注意以下几点:(1)稳压电源芯片的输入电压需要在7V以上。
(2)DS1302时钟芯片的接线需要按照电路图进行,同时需要设置时钟芯片的时间和闹钟时间。
(3)数码管模块需要进行74HC595芯片的驱动设置,同时需要设置数码管显示的位数和显示内容。
(4)矩阵按键模块需要进行按键扫描程序设计,并设置对应的操作功能。
2. 软件设计根据硬件设计完成后,进行软件程序设计。
主要包括以下几个部分:(1)初始化程序:对各个模块进行初始化设置,如时钟芯片、数码管、矩阵按键等。
(2)显示程序:将当前时间和闹钟时间显示在数码管上。
可以通过时钟芯片获取当前时间,并将其转换为数码管可以显示的格式。
(3)设置程序:通过矩阵按键输入,实现对时间和闹钟时间的设置。
可以通过编写按键扫描函数来实现对按键输入的检测,并根据不同的按键操作来实现对应的功能。
(4)闹铃程序:在设定的闹钟时间到达时,触发蜂鸣器响铃。
可以通过判断当前时间是否等于设定闹钟时间来触发蜂鸣器响铃,并在屏幕上显示提示信息。
时钟芯片DS12887
MOV @DPTR,A
MOV DPTR,#0DD0CH ;清状态寄存器D的URT位置“1”
MOVX A,@DPTR
INC DPTR
MOVX A,@DPTR;状态寄存器D的URT位置‘1’
MOV DPΒιβλιοθήκη R ,#0DD0BH MOV A,#22H ;初始化状态寄存器B
RET
5.3.3 中断服务子程序
INT1:ALCALL XIN
JB 20H,INTG
AJMP INT1
INTG:………… ;读当前时标寄存器
………… ;检出是否溢出
………… ;溢出处理
MOV DPTR,#0DD0CH ;清中断标志寄存器
表1 DS12887内部RAM和各专用寄存器地址
地址单元 用途 地址单元 用途
地址00H 秒 地址01H 秒闹
地址02H 分 地址03H 分闹
地址04H 时 地址05H 时闹
地址06H 星期 地址07H 日(两位数)
5.2 闹钟单元的使用方法
DS12887/DS12C887共有3个闹钟单元,分别为时、分、秒闹钟单元。在其中写入闹钟时间值并且在时钟中断允许的情况下每天到刻就会产生中断申请信号。但这种方式每天只提供一次中断信号。另一种方式是在闹钟单元写入“不关心码”,在时闹钟单元写入C0H~FFH之间的数据,可每小时产生一次中断;在时、分闹钟单元写入C0H~FFH之间的数据,可每分钟产生一次中断;而时、分、秒闹钟单元全部写入FFH,则每秒钟产生一次中断。但这种方式也只能在整点、整分或整秒产生一次中断。但控制系统要求的定时间隔不是整数时,则应该通过软件来调整实现。
MOVX A,@DPTR
RETI
DS12887的原理和应用
DS12887的原理和应用1.功能特点DS12887是美国达拉斯半导体公司最新推出的时钟芯片,采用CMOS技术制成,把时钟芯片所需的晶振和外部锂电池相关电路集于芯片内部,同时它与目前 IB M AT计算机常用的时钟芯片MC146818B和DS1287管脚兼容,可直接替换。
采用DS12887芯片设计的时钟电路勿需任何外围电路并具有良好的微机接口。
DS1288 7芯片具有微轼耗、外围接口简单、精度高、工作稳定可靠等优点,可广泛用于各种需要较高精度的实时时钟场合中。
其主要功能如下:(1)内含一个锂电池,断电情况运行十年以上不丢失数据。
(2)计秒、分、时、天、星期、日、月、年,并有闰年补偿功能。
(3)二进制数码或BCD码表示时间、日历和定闹。
(4)12小时或24小时制,12小时时钟模式带有PWM和AM指导,有夏令时功能。
(5)MOTOROLA5和INATAEL总线时序选择。
(6)有128个RAM单元与软件音响器,其中14个作为字节时钟和控制寄存器,114字节为通用RAM,所有ARAM单元数据都具有掉电保护功能。
(7)可编程方波信号输出。
(中断信号输出(IRQ)和总线兼容,定闹中断、周期性中断、时钟更新周期结束中断可分别由软件屏蔽,也可分别进行测试。
2. DS12887的原理及管脚说明DS12887内部原理如图1所示,由振荡电路、分频电路、周期中断/方波选择电路、14字节时钟和控制单元、114字节用户非易失RAM、十进制/二进制计加器、总线接口电路、电源开关写保护单元和内部锂电池等部分组成。
GND,VCC:直流电源+5V电压。
当5V电压在正常范围内时,数据可读写;当V CC 低于4.25V,读写被禁止,计时功能仍继续;当VCC下降到3V以下时,RAM和计时器被切换到内部锂电池。
MOT(模式选择):MOT管脚接到VCC时,选择MOTOROLA时序,当接到GND时,选择INTEL时序。
SQW(方波信号同):SQW管脚能从实时时钟内部15级分频器的13个抽头中选择一个作为输出信号,其输出频率可通过对寄存器A编程改变。
51单片机万年历 DS12887
1 绪论需要该设计的实物请联系:QQ:702176842时间在我们的生活中有着不可取代的作用,它可以为我们清晰地记录下制作从开始到结束所需要的时间。
时间对人们来说总是宝贵的,工作的忙碌性和繁杂性容易使人忘记当前时间,忘记了要做的事情。
当事情不重要的时候,这种遗忘无伤大雅,但是,一旦事情重要,一时的耽误可能酿成大祸。
例如,许多火灾都是由于人们遗忘而发生的,而时间的重要性在医院、冶金、化工、食品、机械、石油等工业中,更是举足重轻,而现在钟表的数字化给人们的生活带来了极大地方便。
成为人们必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。
1.1 课题背景及意义如今我们只需看一下钟就能说出时间,我们把这看成是很自然的事。
但在过去长达几千年的时间里,根本就没有任何测定时间的精确方法。
人们通过太阳在天空中的位置,或者通过像沙漏这样的装置来判断时间,在沙漏中,是通过沙子从一个双头玻璃容器中漏落下来来指示时间的。
改变上述情况的人是一位叫做一行的中国杰出天文学家,他生活于公元8世纪。
他与另外一位中国发明家梁令瓒一起设计了“擒纵器”装置,即所有机械钟中心部位的那套齿轮嵌齿结构。
机械钟在中世纪时来到欧洲。
到14世纪时,欧洲建造了既大又不灵巧的机械钟,它们用钟锤驱动,其精确度每天大约误差在1小时以内。
这样的钟在人们眼中通常没什么信任度。
它们连着一个报时的铃,但既然它们这样不精确,在机械装置中也就谈不上显示分与秒了。
15世纪时开发出了由弹簧驱动的钟,接着在17世纪时制造出了带有钟摆的更精确的钟。
而到中世纪时,钟表制造者造出了可展示太阳运动和月亮、行星的相位,以及能显示时间的钟。
拟人机构不时地打铃,以声音报出每小时和每刻钟。
而在现在这一个知识爆炸的新时代,新产品、新技术层出不穷,电子技术的发展更是日新月异。
可以毫不夸张地说,电子技术的应用无处不在,电子技术正在不断地改变我们的生活,改变着我们的世界。
实时时钟管理芯片DS12887在黑匣子中的应用
它 们在运 行 时 的各 种 状态 以及 司乘 人员 对其 的操 作 进行监 测 记录 。一 方面 , 通过 分 析监测 参数 , 可 对 司 乘 人 员 的 操 作 和 交 通 工 具 运 行 状 况 进 行 监
控, 提高 司乘人 员 的工 作质 量 , 降低交 通 事故 的发
生,ቤተ መጻሕፍቲ ባይዱ提高运 营水 平 。 一方 面 , 能客 观 、 另 还 全面地 记
匣子 时钟 管理 比较 复杂 , 如果 仅 仅 使 用黑 匣 子 中 C U 自带 的定 时 器或 扩 展一 般 的定 时器 接 口, P 而 把 时 钟管 理 交 由软件 完 成 , 当黑 匣 子 需完 成 的功 能 较 多 时 , 了 管理 时钟 C U 需 用 较 多 的时 间 , 为 P 会 降低 整个 系统 的实 时性 和效 率 。 因此 , 人们 需采 用 功 能 强 的实 时 时 钟 管理 芯 片 。在 此 , 者介 绍 笔 D 1 8 7 时时 钟管 理芯 片 的特点 及其 在黑 匣子 S 28 实 技 术 中的应 用 。
收 稿 日期 :0 70 —8 2 0— 90 *甘 肃 省 自然 科 学 基 金 暨 中 青 年 科 技 基 金 项 目资 助 ( 准 号 :Z 0 2B 50 5 批 3 S 4 一 2 —4 )
关 键词 实 时 时 钟 管 理 ;黑 匣 子 ; S 2 8 ; 9 5 ; 口 ;编程 D 187 8C 1 接
文献标识码 : A 中 图 法 分 类 号 : P 3 T 32
0 引 言
黑 匣 子是 一种 智 能 化 的监 测 记 录 仪 , 主要 安
装 在 飞机 、 船 、 车 、 轮 火 汽车 等交 通 工具 上 , 以对 用
B D码 表 示 ; 1 C 有 2h和 2 4h 2种制 式 ,2h制 式 1 有 AM 和 P 提示 ; M 具有 Moo oa和 I tl trl ne 总 2种
基于DS12887时钟设计
基于DS12887的时钟设计摘要:本文讲述了用单片机、时钟芯片和无线传输系统来控制实时系统,是它可以实时提供当前系统时间,在系统掉电的情况下,仍然可以维持时钟的运行和内部的数据不丢失,并能通过无线传输系统对时钟进行时间、闹铃的调整。
关键词:实时系统单片机无线传输中图分类号:tp273 文献标识码:a 文章编号:1674-098x(2011)06(b)-0131-021 前言当今,电子电路几乎无处不在,无孔不入,可谓之“电子时代”。
实时系统无论是在厂矿、家庭、学校、电台等地方都必不可少,在实时系统中,时钟功能是实现这一系统的关键技术,它可以实时提供当前系统时间,在系统掉电的情况下,仍然可以维持时钟的运行和内部的数据不丢失,并能通过无线传输系统对时钟进行时间、闹铃的调整,对于一些需提供工作时间的系统是必不可缺的。
本文以时钟芯片ds12887、液晶驱动器st7920和无线传输模块nrf905为例,讲述了它们与stc89c52rc单片机接口的软硬件设计。
2 硬件设计2.1 ds12887与单片机进行接口设计mot脚接地,其作用是使ds12887的工作的总线类型选择为intel,因为stc89c52rc是采用intel总线类型。
18脚接电容和电阻。
电阻的一端接vcc,电容的一端接地;这种接法上电时,18脚电压为低电平,可是ds12887复位,经过一段时间(t>200ms)电容充满电后,18脚电压为高电平。
ad0~ad7接单片机的p0口,用于数据和命令的传送。
r/w接单片机的/wr口,用于写控制;ds接单片机的/rd口,用于读控制。
cs接单片机的p2.7,用于寻址,其地址是7fffh。
irq接单片机的int0,当irq发中断请求时,单片机读取ds12887的数据。
as接单片机的ale口。
ds12887因内部有电池,可以在掉电的情况下工作,并可以保存数据达十年不丢失。
2.2 液晶驱动芯片与单片机进行接口设计液晶驱动芯片st7920有自动电源启动复位(reset)功能;提供2m 中文字型rom,总共8192个中文字型(16x16点阵);提供16位半字型rom,总共126个符号字型(16x8点阵);能绘图及文字混合显示功能;提供8位控制模式、4位控制模式及串行控制模式。
智能仪表硬件电路设计
计量测试工程学院
计量测试工程学院
二、通用智能仪表的硬件设计
1、硬件组成框图 该系统的硬件电路主要包含了89C51 单片机、ICL7135四位半A/D转换器、 DS12887实时时钟芯片、8个共阴LED数 码管显示器和按键等。其硬件组成框图 如图11-6所示。
计量测试工程学院
计量测试工程学院
2、ICL7135工作原理
计量测试工程学院
1.2.5 寄存器D
VRT位:内部数据有效指示位。该位的读出值 应为1;一旦读出值为0,则指示内部锂电池电 力不足,此时无法保证其内部数据的正确性。 读该寄存器后,该位将自动置1。
计量测试工程学院
1.2.6 DS12887的初始化方法 1、应禁止芯片内部的更新周期操作,先将 DS12887状态寄存器B中的SET位置“1”。 2、初始化00H~09H时标参数寄存器和状态寄存 器A。 3、通过读状态寄存器C,清除寄存器C中的周期中 断标志位PF、报警中断标志位AF、更新周期结束中断 标志位UF。 4、读寄存器D中的VRT位,读状态寄存器后,VRT 位将自动置“1”。 5、状态寄存器B中的SET位清“0”芯片开始计时 工作。图中ຫໍສະໝຸດ 因此计量测试工程学院
原理图中 Ra=10k, Rb=2.5k , C=0.1u 而10K热敏电阻与温度对应表如下: T(0C) 0 10 20 25 30 40 R(k) 27.28 17.96 12.09 10 8.313 5.828 T(0C) 50 60 R(k) 4.161 3.021
计量测试工程学院
智能化仪器课程设计 硬件电路设计
计量测试工程学院
一、智能计时温湿度计硬件
1、实时时钟芯片DS12887 1.1 引脚
利用DS12887时钟芯片实现实时定时电路
国外 电子测 量技 术 ・ 0 2年 第 1 20 期 操作 模 式 , 取 决 于 MO 管 脚 的 电 平 , 这 T 当使 用
MO TOR 时序 时 , S是 一 正脉 冲 , OI A D 出现 在 总 线 周期 的 后 段 , 为 数 据 选 通 ; 读 周 期 , 称 在 DS指 示 DS 2 8 1 8 7驱动双 向总 线 的 时 刻 , 写 周期 , S的后 在 D
作者简介 : 侯 崇升 . , 9 7年 生 , 师 , 要 从 事 自动 控 制 与 电力 男 16 讲 主
D S1 8 7 2 8
电子 技 求 方 面 曲 教 学 与研 究 。
一
Ds 数 据选 通 或 读 输 人 ) DS R ( : / D管 脚 有 两种
I 8
维普资讯
设 计与应 用
秒
1 3
l 4
O
l这节 4
沿使 D 187锁 存 写 数 据 。选 择 I S28 NTE L时 序 时 ,
DS称作 ( D) RD 与典 型存 储 器 的允 许 信 号 ( ) R , OE 的定义相 同。 R w ( 写输 入 ) R W 管 脚也有 两种 操 作模 / 读/ :/ 式 选 MO ROL 时 序 时 , / 是 一 电 平 信 TO A Rw 号 , 示 当前 周 期 是 读 或 写周 期 , 指 DS为高 平 时 , / R w 高电平 指示读 周期 , / 低 电平指 示 写周期 { Rw 选 I NTE L时 序 , / 信 号 是 一 低 电 平 信 号 , 为 R w 称 WR。在此模 式 下 , / 管脚 与 通 用 RAM 的 写允 R w 许 信号 ( ) WE 的含 义相 同 。 C ( 选 输 入 ) 在 访 问 D 1 8 7的 总 线 周 期 S片 : S28 内, 片选 信号 必须 保持 为低 。
时钟芯片 DS12887 程序
;2010年10月;时钟电路DS12887,时间修改可用小键盘或标准键盘或遥控器或计算机串口,实时时间送显示器显示;晶振------11.0592MHz;按键时蜂鸣器提示;显示时、分,中间小数点每秒亮一次LJXH EQU 98H ;与计算机通信,联机信号SJRQSZ DATA 48H ;时间及日期首地址MJCQ DATA 2EH ;秒寄存器XSDBZ EQU 00H ;小数点标志;键盘CLK EQU P3.3 ;键盘时针DDA EQU P3.5 ;键盘数据KHCSZ DATA 40HSZJ0 DATA 0 ;数字键0SZJ1 DATA 1 ;数字键1SZJ2 DATA 2 ;数字键2SZJ3 DATA 3 ;数字键3SZJ4 DATA 4 ;数字键4SZJ5 DATA 5 ;数字键5SZJ6 DATA 6 ;数字键6SZJ7 DATA 7 ;数字键7SZJ8 DATA 8 ;数字键8SZJ9 DATA 9 ;数字键9SHJXGJ DATA 10 ;时间修改键KGSHJ1J DATA 11 ;开关时间1键KGSHJ2J DATA 12 ;开关时间2键YCHSHJJ DATA 13 ;延迟时间键SHWXWJ DATA 14 ;上午/下午键QRJ DATA 15 ;确认键TGJ DATA 16 ;退格键BACK DATA 17 ;进格键ORG 0000HSTART:;1--开始延迟1秒;2--DS12887初始化,显示初始化;3--串行口初始化,串行方式1,波特率9600,中断方式;4--调用读时间子程序;5--实时时间处理;6--显示;7--查询是否修改时间,若修改,转第10步修改时间处理程序;8--延迟;9--转第4步;10--修改时间处理程序;11--转第4步;修改DS12887子程序XG12887:MOV DPTR,#0A00BHMOV A,#82H ;寄存器B的SET位置1,禁止更新周期结束中断MOVX @DPTR,A ;BCD码表示,24小时模式MOV P2,#0A0HMOV R0,#09HMOV R1,#SJRQSZ+2MOV A,@R1SWAP AMOV B,AINC R1MOV A,@R1ORL A,BMOVX @R0,A ;年DEC R0INC R1MOV A,@R1SWAP AMOV B,AINC R1MOV A,@R1ORL A,BMOVX @R0,A ;月DEC R0INC R1MOV A,@R1SWAP AMOV B,AINC R1MOV A,@R1ORL A,BMOVX @R0,A ;日DEC R0DEC R0DEC R0INC R1MOV A,@R1SWAP AMOV B,AINC R1MOV A,@R1ORL A,BMOVX @R0,A ;时DEC R0DEC R0INC R1MOV A,@R1SWAP AMOV B,AINC R1MOV A,@R1ORL A,BMOVX @R0,A ;分DEC R0DEC R0INC R1MOV A,@R1SWAP AMOV B,AINC R1MOV A,@R1ORL A,BMOVX @R0,A ;秒MOV R0,#06HINC R1MOV A,@R1 ;星期INC ACJNE A,#9,XIUG1MOV A,#1XIUG1:MOVX @R0,AMOV DPTR,#0A00AH ;A寄存器MOV A,#2FH ;时钟频率32.768KHz,中断周期500MS MOVX @DPTR,AMOV DPTR,#0A00CH ;清状态寄存器CMOVX A,@DPTRINC DPTRMOVX A,@DPTR ;D寄存器的URT位置1MOV DPTR,#0A00BH ;初始化寄存器BMOV A,#0AHMOVX @DPTR,ARET;读DS12887子程序D12887:PUSH PSWPUSH ACCPUSH DPLPUSH DPHSETB PSW.3SHJDCH:SETB P3.3MOV DPTR,#0A00AHMOVX A,@DPTRJBC ACC.7,SHJDCHMOV R1,#SJRQSZ+13MOV DPTR,#0A000H ;读时标值MOVX A,@DPTRCJNE A,MJCQ,BZCL1JMP BZCL2BZCL1:CPL XSDBZMOV MJCQ,ABZCL2:ANL A,#0FH ;秒个位MOV @R1,ADEC R1MOVX A,@DPTRINC DPTRINC DPTRSWAP AANL A,#0FH ;秒十位MOV @R1,ADEC R1MOVX A,@DPTRANL A,#0FH ;分个位MOV @R1,ADEC R1MOVX A,@DPTRINC DPTRINC DPTRSWAP AANL A,#0FH ;分十位MOV @R1,ADEC R1MOVX A,@DPTRCJNE A,#24H,XGSHBXGSHB:JC XGSHB2CJNE A,#04H,XGSHB3 XGSHB3:JC XGSHB4MOVX A,@DPTRSUBB A,#24HJMP XGSHB5XGSHB4:MOVX A,@DPTRSUBB A,#29HXGSHB5:MOVX @DPTR,AXGSHB2:ANL A,#0FH ;时个位MOV @R1,ADEC R1MOVX A,@DPTRINC DPTRINC DPTRSWAP AANL A,#0FH ;时十位MOV @R1,ADEC R1INC DPTRMOVX A,@DPTRCJNE A,#32H,XGRB1XGRB1:JC XGRB2ANL A,#0FHCJNE A,#01H,XGRB3XGRB3:JC XGRB4MOVX A,@DPTRSUBB A,#31HJMP XGRB5XGRB4:MOVX A,@DPTRSUBB A,#36HXGRB5:MOVX @DPTR,AXGRB2:ANL A,#0FH ;日个位MOV @R1,ADEC R1MOVX A,@DPTRINC DPTRSWAP AANL A,#0FH ;日十位MOV @R1,ADEC R1MOVX A,@DPTRCJNE A,#13H,XGYB1XGYB1:JC XGYB2CJNE A,#02H,XGYB3XGYB3:JC XGYB4MOVX A,@DPTRSUBB A,#12HJMP XGYB5XGYB4:MOVX A,@DPTRSUBB A,#17HXGYB5:MOVX @DPTR,AXGYB2:ANL A,#0FH ;月个位MOV @R1,ADEC R1MOVX A,@DPTRINC DPTRSWAP AANL A,#0FH ;月十位MOV @R1,ADEC R1MOVX A,@DPTRANL A,#0FH ;年个位MOV @R1,ADEC R1MOVX A,@DPTRSWAP AANL A,#0FH ;年十位MOV @R1,AMOV DPTR,#0A006HMOV R1,#SJRQSZ+14MOVX A,@DPTRANL A,#0FHCJNE A,#1,DSHZH2MOV A,#9DSHZH2:DEC AMOV @R1,A ;星期MOV DPTR,#0A00CH ;清中断标志寄存器CMOVX A,@DPTRMOV R1,#SJRQSZMOV A,#2MOV @R1,AINC R1CLR AMOV @R1,APOP DPHPOP DPLPOP PSWRET;标准键盘子程序KEY:PUSH ACCPUSH BPUSH DPLPUSH DPHPUSH PSWSETB PSW.3SETB PSW.4KEYE:MOV R7,#89KEYD:MOV R6,#250KEYC:JNB CLK,KEYBDJNZ R6,KEYCDJNZ R7,KEYDKEYEND:CALL LP1POP PSWPOP DPHPOP DPLPOP BPOP ACCCLR PSW.5RETKEYB:MOV A,#0MOV R7,#8KEY11B:MOV R6,#25KEY11:JNB CLK,KEY11A ;等待时针脉冲为"1"JMP KEY12AKEY11A:DJNZ R6,KEY11JMP KEYENDKEY12A:MOV R6,#25KEY12:JB CLK,KEY12BJMP KEY12CKEY12B:DJNZ R6,KEY12JMP KEYEKEY12C:MOV C,DDA ;采样数据RRC ADJNZ R7,KEY11BMOV R7,#2KEY13B:MOV R6,#25KEY13:JNB CLK,KEY13A ;等待时针脉冲为"1"JMP KEY14AKEY13A:DJNZ R6,KEY13JMP KEYENDKEY14A:MOV R6,#25KEY14:JB CLK,KEY14BJMP KEY14CKEY14B:DJNZ R6,KEY14JMP KEYENDKEY14C:DJNZ R7,KEY13BMOV R6,#25KEY15:JNB CLK,KEY15A ;等待时针脉冲为"1"JMP KEY15BKEY15A:DJNZ R6,KEY15JMP KEYENDKEY15B:CJNE A,#0E0H,KEY17JMP KEYEKEY17:MOV DPTR,#TABLE8 ;查表求键值MOV B,AMOV R4,#0KEY21:CLR AMOVC A,@A+DPTRCJNE A,B,KEY18MOV A,R4JMP KEY19KEY18:INC DPTRINC R4MOV A,R4CJNE A,#18,KEY20KEY20:JC KEY21JMP KEYENDKEY19:MOV KHCSZ,APOP PSWPOP DPHPOP DPLPOP BPOP ACCMOV A,KHCSZSETB PSW.5RETLP1:MOV R7,#20LP2:JNB CLK,LP1DJNZ R7,LP2RET;键号对照表TABLE8:DB 70H,69H,72H,7AH,6BH ;0---4 (0-4) DB 73H,74H,6CH,75H,7DH ;5---9 (5-9)DB 77H,4AH,7CH,7BH,79H ;NUM / * - + (10-14)DB 5AH,71H,66H ;ENTER DEL SPACE (15-17);延迟10ms子程序D10MS:MOV R3,#20DD2:MOV R2,#248DD1:DJNZ R2,DD1DJNZ R3,DD2RETEND。
基于单片机的电子时钟6位LED数码管显示
数码管显示电子时钟设计一.功能要求1.数字电子时钟最主要是LED数码管显示功能,以24小时为一个周期,显示时间时、分、秒。
2.具有校时功能,可以对时、进行单独校对,使其校正到标准时间。
二.方案论证1.数字时钟方案数字时钟是本设计的最主要的部分。
根据需要,可利用两种方案实现。
方案一:本方案采用Dallas公司的专用时钟芯片DS12887A。
该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。
为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。
当电网电压不足或突然掉电时,系统自动转换到内部锂电池供电系统。
而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。
方案二:本方案完全用软件实现数字时钟。
原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。
利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清零。
该方案具有硬件电路简单的特点。
但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。
而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。
基于硬件电路的考虑,本设计采用方案二完成数字时钟的功能。
2.数码管显示方案方案一:静态显示。
所谓静态显示,就是当显示器显示某一字符时,相应的发光二极管恒定的导通或截止。
该方式每一位都需要一个8 位输出口控制。
静态显示时较小的电流能获得较高的亮度,且字符不闪烁。
但当所显示的位数较多时,静态显示所需的I/O口太多,造成了资源的浪费。
方案二:动态显示。
所谓动态显示就是一位一位的轮流点亮各个位,对于显示器的每一位来说,每隔一段时间点亮一次。
课程设计_电子万年历DS12C887+温度18B20+LCD12864显示+闹钟
西南科技大学电子专业综合设计报告设计名称:基于单片机的多功能电子万年历系统设计姓名:学号:班级:指导教师:起止日期:西南科技大学信息工程学院制综合设计任务书学生班级:学生姓名:学号:设计名称:基于单片机的多功能电子万年历系统设计起止日期:指导教师:设计要求:基本要求:1.查阅有关资料,掌握单总线的基本通信协议及C语言的编程方法;2.用STC89C52微控制器控制DS12CR887和DS18B20的工作方式,完成多功能电子万年历系统的设计,显示部分采用LCD12864。
要求日期可显示农历,并能提示农历节日和阳历节日;要求电子万年历具有闹钟功能并能实时显示当前环境温度;3.对系统的工作的可靠性进和稳定性行分析,得出结论;4.撰写设计报告。
综合设计学生日志时间设计内容2013.11.23 熟悉题目,对研究题目做分析,具体划分为几个模块2013.11.24 LCD12864显示屏的显示模块的实现2013.11.25 DS18B20温度传感器模块的研究2013.11.26 对DS18B20和LCD12864联合设计温度显示系统2013.11.27 阅读DS12CR887的数据手册,了解芯片的功能实现2013.11.28 根据DS12CR887数据手册完成基本的驱动程序2013.11.30 在C52单片机最小系统的的基础上搭建电子万年历硬件系统,完成芯片焊接及连线2013.12.1 上网查阅阳历转换阴历的相关算法2013.12.2 完成阳历转换阴历相关算法在单片机的程序设计以及节日的显示程序2013.12.3 设计程序实现在LCD12864上显示时间,日期,农历,节日,温度等功能2013.12.4 完成闹钟程序设计2013.12.5 调试硬件系统和软件系统解决系统BUG2013.12.6 完成课程设计报告1基于单片机的多功能电子万年历系统设计摘要:电子万年历是一种通过STC52C89RC单片机编程来对不同电子芯片件进行控制、执行、数据读取、和读取的数据结果的显示的电子产品。
基于单片机的校园作息时间控制系统毕业设计论文
基于单片机的校园作息时间控制系统【摘要】:校园作息时间控制系统主要用于学校,对一些以24小时为周期的开关量进行自动控制。
如上下课打铃、教学楼照明的定时开与关、学生宿舍灯及校园路灯的定时开关、水泵的定时启动以及自来水供水时间控制等等。
该控制系统是采用AT89S52单片机来实现对上述开关量的控制,利用DS12887时钟芯片来提供时钟信息,设有六位数码管、可以实时显示时间、系统还设有输入键盘,用以修改实时时钟,体现了系统简单、工作稳定可靠、价廉、控制时间精确及系统体积小等优点。
【Abstract】:The campus the daily timetable control system which is mainly used in the campus, it auto-control some switches which have periods of 24 hours. Such as the bells ringing when classes begin or finish, the time switches of lamps in teaching buildings and student dormitories, the time star t-up of water pump, and the tap water supply control system, etc.This control system carries out the switch parameter controls all above by SCM AT89S52. It uses the clock chip called DS12887 to provide the clock information. It could show the real time with 6 bit digital tube. And it could modif y the real time clock with the input keyboard. The system is simple, the running is steady and dependable, the controlledtime is exact, and the physical volume of the system is small, all the advantages above can be incarnated i n this system.【关键词】:作息时间控制AT89S52 DS12887 【KEYWORD】:THE DAILY TIMETABLE CONTROL,AT89S52,DS12887引言该时钟控制系统有6位数码显示器,具有实时显示时钟(显示当前时间的小时、分钟及秒)功能,通过外扩锁存器还可以实现多点、多电器设备的控制。
智能节水系统中DS12887的数据显示程序设计
时钟数据然后完成各种控制功 能. S 2 8 D 187是一款 功能强大 、 用广泛 的时钟芯片 , 章中介绍 应 文 了 D 18 S2 8时钟芯片在智 能节水系统 中数 据采集 、 数据 处理 和显示程序 的设计 方法 , 思路 简洁 , 运行 可靠 , 保证 了智能节水系统红外模式 、 定时模式等控制 功能的实现 , 并且附加 了控 制器上 的
在 工 业 控 制 、 务 以 及 家 居 生 活 等 领 域 中 , 多 商 诸 智 能 仪 表 和 家用 电 器需 要 先 获 取 实 时 的 时钟 数 据 , 然 后经过数 据 分 析 和处 理 , 而 完 成各 种 控 制 功 能. 从
分析和处理 , 系统分 别完成 了红外模 式 、 时模式 等 定
维普资讯
智能节水系统 中 D 187的数 据显示程 序设计 S28夏学来自 , 侯 凤 云
4 12 ) 7 0 2
(. 1 中国一拖集团公司 福莱格 车身有 限公 司, 洛阳 4 10 2 洛阳师范学院 信息技术学 院, 7 04;. 洛阳
摘
要: 在工业控制 、 商务 以及家居生活等领域 中, 诸多智 能仪表 、 家用 电器需要先获 取实时
时钟 显 示 功 能 .
关键词 : S2 8 ; D 18 7 智能节水系统 ; 时钟 ; 显示
中 图分 类 号 :P 7 文 献 标 识 码 : T24 A 文章 编 号 :0 585 ( 0 8 0 - 4 - 10 —34 2 0 )50 40 0 4
De i n o a a d s l y pr g a o 8 7 i h n e l e t sg f d t ip a o r m fDS1 8 n t e i t l g n 2 i
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录前言 (4)设计简介 (4)总体设计方案 (5)一、系统基本工作原理 (5)二、系统设计框图 (5)硬件系统设计 (6)一、芯片简介 (6)1、单片机89C51 (6)2、时钟芯片DS12887 (9)3、液晶LCD1602 (11)二、总体电路设计 (12)软件系统设计 (13)1、程序流程图 (13)2、程序代码 (14)系统的仿真与调试 (32)心得体会 (33)参考文献 (33)前言数字时钟已经成为人们日常生活中必不可少的必需品,广泛应用于个人家庭以及办公室公共场所,给人们的生活、学习、工作、娱乐带来了极大地方便。
由于数字集成电路技术的发展和采用了新进的石英技术,是数字钟具有走时准确、性能稳定、携带方便等优点。
它还用于计时、自动报时等各个领域。
尽管目前市场上已有现成的数字集成电路芯片出售,价格便宜,使用也方便,但鉴于单片机的定时器功能也可以完成数字中电路的设计,因此进行数字钟的设计是必要的。
在这里我们将以学过的比较零散的电路知识有机的、系统的结合起来用于实际,来培养我们的综合分析和设计电路,写程序、调试电路的能力。
文中详细论述了以89C51单片机位核心,应用新型时钟芯片DS12887的数字时钟设计原理以及使用的各种芯片的介绍,阐明了本实例所使用的设计方案、详细的电路图以及程序代码。
设计简介本设计是以89C51单片机为核心,结合新型实时时钟芯片DS12887,并利用液晶LCD1602显示的数字时钟。
在液晶上显示出年、月、日、以及周几、时、分、秒等信息。
同时辅以硬件电路,实现校时、定时、闹钟等功能。
同时因为DS12887本身的特点,本设计还具有掉电后继续计时的功能。
另外,它的计时周期为24小时,采用24小时制的计时方式,显示满刻度为23时59分59秒,计时范围为2100年前100年,这也是DS12887的计时范围。
本设计的数字时钟,可以通过按键来设置时间,包括年、月、日、周几等信息,同时,也可以通过按键来设置闹钟的时间,不过与设置正常时间相比,仅限于设置时、分、秒。
每按一次按键,蜂鸣器就会发出很短的滴声,当达到设定的时间时,数字时钟会也发出声音,来提醒使用者时间到了。
以上是本设计的大致功能和简介。
总体设计方案一、系统基本工作原理本次设计的题目是单片机控制时钟芯片DS12887的时分秒定时系统设计,可以正常的显示年、月、日、时、分、秒。
本系统利用89C51单片机和时钟芯片DS12887实现具有计时、校时以及定时等功能,同时应用液晶LCD1602动态显示年、月、日、时、分、秒的数字时钟。
本设计总体可大致分为两部分:硬件部分、软件部分。
硬件部分包括:89C51单片机、DS12887时钟芯片、1602LCD液晶显示器。
主要由89C51单片机、实时时钟芯片电路、液晶显示输出电路、键盘输入电路组成等几大部分组成。
软件部分包括了主程序模块,DS12C887模块,LCD1602模块,按键控制模块。
以硬件系统为基础,通过软件编程,实现对硬件系统的控制,从而实现设计的数字时钟的各个功能。
二、系统设计框图图1、系统设计框图硬件系统设计一、芯片简介1、单片机89C51单片机89C51来承担单片机在系统中对其他模块进行控制,是整个系统的核心部件,主要是对其他模块进行控制和数据交换。
89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压、高性能CMOS8位微处理器。
89C51单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。
89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
89C51的引脚如图3.1所示。
图2、89C51引脚的引脚图89C51的各个引脚的说明如下:VCC:电源电压GND:接地P0口:P0口是一个8位漏极开路的双向I/O口,即地址/数据总线复用口。
作为输出口时,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻,在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如表3.1所示[8]。
在flash编程和校验时,P1口接收低8位地址字节。
表3.1 引脚号第二功能引脚第二功能P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5 MOSI(在系统编程用)P1.6 MISO(在系统编程用)P1.7 SCK(在系统编程用)P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR,A)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX @R1,A)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4 个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。
P3口亦作为89C51特殊功能(第二功能)使用,如表3.2所示。
第二功能功能P3.0 RXD (串行输入口)P3.1 TXD (串行输出口)P3.2 0INT(外部中断0)P3.3 1INT(外部中断1)P3.4 T0 (定时/计数器0)P3.5 T1 (定时/计数器1)P3.6 W R(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)表3.2 AT89S52特殊功能(第二功能)表此外,P3口还接收一些用于Flash闪存编程和程序校验的控制信号。
RST——复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。
ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。
XTAL1:振荡器反相放大器的输出端及时钟发生器的输入端。
XTAL2:振荡器反相放大器的输出端及时钟发生器的输入端。
对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H~ FFFFH),EA端必须保持低电平(接地)。
需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接VCC端),CPU则执行内部程序存储器的指令。
Flash存储器编程时,该引脚加上+12V的编程允许电源VPP。
2、时钟芯片DS12887DS12887是美国DALLAS半导体公司最新推出的8位串行接口并自带RAM的实时日历时钟芯片,内部有14个时钟控制寄存器,包括10个时标寄存器,4个状态寄存器和114 bit作掉电保护用的低功耗RAM。
CPU通过读DS12887的内部时标寄存器得到当前的时间和日历,也可通过选择二进制或BCD码初始化芯片的10个时标寄存器,其4个状态寄存器用来控制和指出DS12887的当前工作状态,114 bit非易失性静态RAM可在掉电时保存一些重要数据。
DS12887功能强大,应用广泛。
DS12C887管脚如图3.2所示。
图3、DS12C887管脚图DS12887引脚功能:GND:接地端VCC:直流电源+5 V电压。
当5 V电压在正常范围内时,数据可读写;当VCC低于4.25 V,读写禁止,计时功能仍继续;当VCC下降到3 V以下时,RAM和计时器被切换到内部锂电池。
MOT(模式选择):MOT引脚接到VCC时,选择MOTOROLA时序,当接到GFND时,选择INTEL时序。
SQW(方波信号输出):SQW引脚能从实时时钟内部15级分频器的13个抽头中选择一个作为输出信号,其输出频率可通过对寄存器A编程改变。
AD0~AD7(双向地址/数据复用线):总线接口,可与MOTOROLA微机系列和INTEL 微机系列接口。
AS(地址选通输入):用于实现信号分离,在AD/ALE的下降沿把地址锁入DS12887。
DS(数据选通或读输入):DS/RD有2种操作模式,取决于MOT引脚的电平,当使用MOTOROLA时序时,DS是一正脉冲,出现在总线周期的后段,称为数据选通;在读周期,DS指示DS12887驱动双向总的时刻;在写周期,DS的后沿使DS12887锁存写数据。
选择INTEL时序时,DS称作(RD),RD与典型存储器的允许信号(OE)的定义相同。
R/W(读/写输入):也有两种操作模式。
选MOTOROLA时序时,是一电平信号,指示当前周期是读或写周期,DSO为高电平时,高电平指示读周期,低电平指示写周期;选INTEL时序,信号是一低电平信号,称为WR。
在此模式下,R/W与通用RAM的写允许信号(WE)的含义相同。
CS(片选输入):在访问DS12887的总线周期内,片选信号必须保持为低。
IRQ(中断申请输入):低电平有效,可作微处理的中断输入。
没有中断条件满足时,IRQ处于高阻态。
IRQ线是漏极开路输入,要求外接上接电阻。
RESET(复位输出):当保持低电平时间大于200 ms,保证DS12887有效复位。
DS12887的内部地址分配:地址00H和03H单元取值范围是00H~3BH(十进制为0~59);04H~05H单元按12小时制取值范围是上午(AM)01H~0CH(十进制为1~12),下午(PM)51H~5CH(十进制为81~92),按24小时制取值范围是00H~17H(十进制为0~23);06H单元的取值范围是01H~07H(十进制为1~7);07H 单元取值范围O1H~1FH(十进制为1~31);08H单元取值范围是01H~0CH(十进制为1~12);09H单元取值范围是00H~63H(十进制为0~99)。