首页 基于DS12887的电子万年历

基于DS12887的电子万年历

举报
开通vip

基于DS12887的电子万年历基于DS12887的电子万年历 摘要: 本文介绍了一种以单片机为核心控制部件的电子万年历电路,它包括单片机电路,电源电路,程序下载电路,液晶模块,温度芯片电路,时钟芯片电路等。通过1602液晶显示器可以显示出时间,温度,通过三个按键可以调节时间,经过实验证明该电路能实现所需的功能和要求。 关键字:单片机,液晶,时钟芯片,温度芯片 一、 电路的原理 电子万年历电路包括单片机电路,电源电路,程序下载电路,液晶模块,温度芯片电路,时钟芯片电路等,电路图如图1所示,PCB如图2所示。 图1 万年历电路图 电...

基于DS12887的电子万年历
基于DS12887的电子万年历 摘要: 本文介绍了一种以单片机为核心控制部件的电子万年历电路,它包括单片机电路,电源电路,程序下载电路,液晶模块,温度芯片电路,时钟芯片电路等。通过1602液晶显示器可以显示出时间,温度,通过三个按键可以调节时间,经过实验证明该电路能实现所需的功能和要求。 关键字:单片机,液晶,时钟芯片,温度芯片 一、 电路的原理 电子万年历电路包括单片机电路,电源电路,程序下载电路,液晶模块,温度芯片电路,时钟芯片电路等,电路图如图1所示,PCB如图2所示。 图1 万年历电路图 电子万年历电路的各个单元电路图分别如图2、图3所示 时钟电路按照芯片资料设计的电路图如图3所示,芯片AD0—AD7的8个引脚与单片机的P0口相连,进行数据的传输,另外还有4个芯片控制端口DS,R/W,RS,CS分别与单片机的P1^3—P1^0相连,用来控制芯片,还有一个方波输出端与P3^2相连,用于闹钟中断。 程序下载电路如图4所示,以MAX232芯片为核心,程序由串口输入通过芯片的电平转换由9,10引脚输出给单片机。从而完成程序的输入。 液晶电路如图5所示,液晶的DB0—DB7八个引脚分别与单片机的P2口相连,进行数据的传输,另外的EN,R/W,RS三个控制端口分别与单片机的P34,P35,P36三个端口相连,用于控制液晶,从而完成显示的功能。 单片机电路如图6所示,单片机的31脚和40脚接VCC,20脚接地,18,19脚接11.0592M的晶振,P0口接10k的排阻,其余的并口分别与相应的要控制的器件相连,用来控制器件的工作,以实现相应的功能。 电源电路如图7所示,其作用就是稳压,使之输出5V的稳定电压。输入9V的电压,经过整流桥整流,然后通过7805将电压稳定在5V,另外,还有滤波电容进行滤波,还有指示灯,用以显示电源是否接通。 图2时钟芯片电路 图3 单片机 芯片资料: DS12887: 特性: 可作为计算机的时钟和日历 与MC146818B和DS1287的管脚兼容 芯片有内置锂电池在没有外部电源的情况下可工作10年 自带晶体振荡器及电池 可计算到2100年之前的秒、分、时、星期、日期、月、年等七种日历 信息并有闰年补偿 用12和24小时两种制式,12小时制有AM和FM提示 可选用夏令时间模式 可以应用于MOTOROLA和INTEL两种总线 数据/地址总线复用 建128字节RAM 可编程方波输出 总线兼容中断 DS18B20: 特性: 独特的单线接口仅需一个端口引脚进行通讯 简单的多点分布应用 无需外部器件 可通过数据线供电 零待机功耗 测温范围-55?—125?,以0.5?递增 温度以12位读出 温度数字转换时间200ms 用户可定义的非易失性温度报警设置 报警搜索命令识别并标志超过程序限定温度 应用包括温度控制、工业系统、消费品、温度计或热感测仪 元件清单: 磁片电容: 30pF 2个 电解电容: 22uF 1个 电阻: 1k 2个 10k 1个 330欧 1个 470欧 1个 排阻 10k 1个 晶振 11.0592M 1个 单片机 STC89C52 1片 4位数码管 1个 三极管 8550(npn) 4个 时钟芯片 DS12C887 1片 芯片插槽 DIP40 1个 DIP16 1个 按键 1个 开关 1个 电源接口 1个 电源 5V 1个 插针 2针 程序 #include #include sbit dsds=P3^6; sbit dsas=P3^4; sbit dswr=P3^5; sbit dscs=P3^3; #define uchar unsigned char #define uint unsigned char code unsigned char numa[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff}; uint miao,fen,shi,ri,yue,nian,xiq; delay2(long nn) { while(nn--); } void disp(uchar wei,uchar shu) { switch(wei) { case 1:P0=0xef;P2=numa[shu]; break; case 2:P0=0xdf;P2=numa[shu]; break; case 3:P0=0xbf;P2=numa[shu]; break; case 4:P0=0x7f;P2=numa[shu]; break; default:P1=0xff; break; } } void disp_all(void) { P2=0xff; disp(1,fen/10);delay2(50);P2=0xff; disp(2,fen%10);delay2(50);P2=0xff; disp(3,miao/10);delay2(50);P2=0xff; disp(4,miao%10);delay2(50); } void writeds(uint add,uint date) /*DS12CR887数据写入*/ { dscs=0; dsas=1; dsds=1; dswr=1; P1=add; dsas=0; dswr=0; P1=date; dswr=1; dsas=1; dscs=1; } uint readds(uint add) /*DS12CR887数据读取*/ { uint date; dsas=1; dsds=1; dswr=1; dscs=0; P1=add; dsas=0; dsds=0; P1=0xff; /*读取P2口,先给P2口全赋一*/ date=P1; dsds=1; dsas=1; dscs=1; return date; } void dsinit() /*DS12CR887初始化*/ { EA=1; EX0=1; IT0=1; writeds(0x0A,0x20); /*开启芯片振荡器*/ writeds(0x0B,0x26); /*开闹钟中断*/ writeds(1,0); /*设定闹钟时间*/ writeds(3,30); writeds(5,8); readds(0x0c); /*读闹钟中断标志位*/ } main() { //ii=0; //lcdinit(); delay2(1000); fen=12; shi=16; xiq=7; ri=10; yue=1; nian=9; miao=0; dsinit(); //writeds(0,miao); //writeds(2,fen); //writeds(4,shi); //writeds(6,xiq); //writeds(7,ri); //writeds(8,yue); //writeds(9,nian); while(1) { miao=readds(0); fen=readds(2); //fen=%100; //miao%=100; //shi=readds(4); //xiq=readds(6); //ri=readds(7); //yue=readds(8); //nian=readds(9); disp_all(); //disp(2,1);delay2(50);P2=0xff; //delay2(16000); } }
本文档为【基于DS12887的电子万年历】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_321635
暂无简介~
格式:doc
大小:104KB
软件:Word
页数:10
分类:工学
上传时间:2017-10-20
浏览量:31