单片机控制时钟芯片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编程改变。
- 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)。