电子设计大赛作品--51单片机的实时时钟制作.doc

电子设计大赛作品--51单片机的实时时钟制作.doc

ID:53960565

大小:377.00 KB

页数:30页

时间:2020-04-11

电子设计大赛作品--51单片机的实时时钟制作.doc_第1页
电子设计大赛作品--51单片机的实时时钟制作.doc_第2页
电子设计大赛作品--51单片机的实时时钟制作.doc_第3页
电子设计大赛作品--51单片机的实时时钟制作.doc_第4页
电子设计大赛作品--51单片机的实时时钟制作.doc_第5页
资源描述:

《电子设计大赛作品--51单片机的实时时钟制作.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、河北大学工商学院装订线电子设计竞赛报告题目:使用DS12C887时钟芯片设计高精度时钟学部信息科学与工程学部专业电气一类学号2009480102姓名田海茂2011年3月12日30目录一摘要…………………………………………………3二系统组成与功能说明………………………………3三硬件电路设计与分析…………………………………2四程序流程说明…………………………………………3附录1……………………………………………………….30摘要本系统利用单片机(STC89C52)和DS12C887时钟芯片实现对时间的控制。在

2、1602液晶上显示年,月,日,星期,时,分,秒,并且按秒实时更新显示;具有闹铃报警功能;具有更改功能,能任意更改时间;利用DS12C887自身掉电可继续走时的特性,实现断电时间不停,再次上电时时间仍准确显示在液晶上的功能。以上各种功能依据一定的联系,组成一个比较完整的系统。一系统组成与功能说明系统可划分为几个功能模块,如图1所示。单片机STC89C52液晶屏DS12C887蜂鸣器按键图1通过STC89C52单片机按键的扫描函数实现对更改时间功能的控制。在外部断电情况下DS12C887仍能继续走时,再次上电

3、时将准确时间传给单片机,从而实现时间不停的功能,当闹钟时间到时,DS12C887发出中断申请,单片机控制液晶停止走时,通过蜂鸣器发出闹铃声,并且按键与蜂鸣器相连,按下按键的同时蜂鸣器会发出响声。采用个性化的液晶显示,当开始供电时以屏幕的平移为起始,时间信息从右往左平移至中央。二硬件电路设计与分析硬件电路原理图如下所示30最小系统图301602液晶与单片机连接图DS12C887与单片机连接图30⑴以STC89C52为核心制作出单片机最小系统。⑵1602液晶为5V电压驱动,带背光,可显示两行,每行16个字符,

4、符合本作品需要。⑶DS12C887具有闹铃以及外部掉电自身继续走时功能,为理想的时钟芯片。⑷选择蜂鸣器,通过用三极管对其放大,实现所想要的功能。⑸选择RS232,使得计算机的9.6V的电压能够与该系统5V得以匹配,与此同时也实现了我们直接用电脑直接对其系统直接拷贝程序。三程序流程说明初始化按键检查从DS12C887读取数据液晶显示数据图主程序流程图附件1#include#defineucharunsignedchar#defineuintunsignedint30sbitrs=P3^5;

5、sbitlcden=P3^4;sbits1=P3^6;//功能键sbits2=P3^1;//增大键sbits3=P3^2;//减小键sbitbeep=P2^3;//蜂鸣器sbitdscs=P1^4;sbitdsas=P1^5;sbitdsrw=P1^6;sbitdsds=P1^7;sbitdsirq=P3^3;ucharcount,s1num,flag;bitflag1;charmiao,shi,fen,nian,yue,ri,week;ucharcodetable[]="20--";//液晶固定显示uc

6、harcodetable1[]="::";ucharcodetable2[]="Helloeveryone!";ucharcodetable3[]="Nicetomeetyou!";voidwrite_ds(uchar,uchar);voidset_alarm(uchar,uchar,uchar);ucharread_ds(uchar);voidset_time();ucharamiao,ashi,afen;30voiddelay(uintz)//延时函数{uintx,y;for(x=z;x>0;x--)

7、for(y=110;y>0;y--);}voiddi()//按键时蜂鸣器发音{beep=0;delay(100);beep=1;}voiddidi()//闹钟时蜂鸣器发音{beep=0;delay(50);beep=1;delay(100);beep=0;delay(50);beep=1;}30voidwrite_com(ucharcom)//写液晶命令函数{rs=0;lcden=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;}voidwrite_date(ucha

8、rdate)//写液晶具体数据函数{rs=1;lcden=0;P0=date;delay(5);lcden=1;delay(5);lcden=0;}30voidinit()//程序初始化{ucharnum;EA=1;//打开总中断EX1=1;//开外部中断1IT1=1;//设置负跳变沿触发方式lcden=0;week=1;//set_time();//给DS12C887设置时间函数set_alarm(2,2,10);//设置闹

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。