版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.河北大学工商学院装订线 电子设计竞赛报告题目:使用ds12c887时钟芯片设计高精度时钟学 部 信息科学与工程学部专 业 电气一类学 号 2009480102姓 名 田海茂2011年3月12日精品. 目录 一 摘要 3二 系统组成与功能说明 3三 硬件电路设计与分析 2四 程序流程说明 3附录1 .精品. 摘要本系统利用单片机(stc89c52)和ds12c887时钟芯片实现对时间的控制。在1602液晶上显示年,月,日,星期,时,分,秒,并且按秒实时更新显示;具有闹铃报警功能;具有更改功能,能任意更改时间;利用ds12c887自身掉电可继续走时的特性,实现断电时间不停,再次上电时时间仍准确显
2、示在液晶上的功能。以上各种功能依据一定的联系,组成一个比较完整的系统。一 系统组成与功能说明系统可划分为几个功能模块,如图1所示。单 片机stc89c52液晶屏 ds12c887 蜂鸣器 按 键 图1通过stc89c52单片机按键的扫描函数实现对更改时间功能的控制。在外部断电情况下ds12c887仍能继续走时,再次上电时将准确时间传给单片机,从而实现时间不停的功能,当闹钟时间到时,ds12c887发出中断申请,单片机控制液晶停止走时,通过蜂鸣器发出闹铃声,并且按键与蜂鸣器相连,按下按键的同时蜂鸣器会发出响声。采用个性化的液晶显示,当开始供电时以屏幕的平移为起始,时间信息从右往左平移至中央。精品
3、.二 硬件电路设计与分析硬件电路原理图如下所示 最小系统图精品.1602液晶与单片机连接图ds12c887与单片机连接图精品.以stc89c52为核心制作出单片机最小系统。1602液晶为5v电压驱动,带背光,可显示两行,每行16个字符,符合本作品需要。ds12c887具有闹铃以及外部掉电自身继续走时功能,为理想的时钟芯片。选择蜂鸣器,通过用三极管对其放大,实现所想要的功能。选择rs232,使得计算机的9.6v的电压能够与该系统5v得以匹配,与此同时也实现了我们直接用电脑直接对其系统直接拷贝程序。三 程序流程说明初始化 按键检查 从ds12c887读取数据 液晶显示数据 精品. 图 主程序流程图
4、 附件1#include#define uchar unsigned char #define uint unsigned intsbit rs=p35;sbit lcden=p34;sbit s1=p36;/功能键sbit s2=p31;/增大键sbit s3=p32;/减小键sbit beep=p23;/蜂鸣器sbit dscs=p14;sbit dsas=p15;sbit dsrw=p16;sbit dsds=p17;sbit dsirq=p33;uchar count,s1num,flag;bit flag1;char miao,shi,fen,nian,yue,ri,week;精品.
5、uchar code table= 20 - - ;/液晶固定显示uchar code table1= : : ;uchar code table2= hello everyone!;uchar code table3=nice to meet you!;void write_ds(uchar,uchar);void set_alarm(uchar,uchar,uchar);uchar read_ds(uchar);void set_time();uchar amiao,ashi,afen;void delay(uint z)/延时函数uint x,y;for(x=z;x0;x-)for(y=
6、110;y0;y-);void di()/按键时蜂鸣器发音 beep=0; delay(100); beep=1;void didi() /闹钟时蜂鸣器发音精品.beep=0;delay(50);beep=1;delay(100);beep=0;delay(50);beep=1;void write_com(uchar com)/写液晶命令函数rs=0;lcden=0;p0=com;delay(5);lcden=1;delay(5);lcden=0;void write_date(uchar date)/写液晶具体数据函数rs=1;精品.lcden=0;p0=date;delay(5);lcd
7、en=1;delay(5);lcden=0;void init()/程序初始化uchar num;ea=1;/打开总中断ex1=1;/开外部中断1it1=1;/设置负跳变沿触发方式lcden=0;week=1;/set_time();/给ds12c887设置时间函数set_alarm(2,2,10);/设置闹铃函数write_ds(0x0b,0x26);/设置ds12c887 24小时模式write_com(0x38);/1602液晶初始化write_com(0x0c);精品.write_com(0x06);write_com(0x01);write_com(0x80);for(num=0;n
8、um16;num+)/写入液晶平移内容write_date(table2num);delay(5);write_com(0x80+0x40);for(num=0;num16;num+)write_date(table3num);delay(5); write_com(0x80+0x10);/写入液晶固定内容for(num=0;num16;num+)write_date(tablenum);delay(5);write_com(0x80+0x50);for(num=0;num16;num+)精品.write_date(table1num);delay(5);void write_sfm(ucha
9、r add,uchar date)/在液晶上写入时分秒uchar shi,ge;shi=date/10;ge=date%10;write_com(0x80+0x50+add);write_date(0x30+shi);write_date(0x30+ge);void write_sfm1(uchar add,uchar date)/在液晶上写入年月日uchar shi,ge;shi=date/10;ge=date%10;write_com(0x80+0x10+add);write_date(0x30+shi);精品.write_date(0x30+ge);void write_week(uch
10、ar we)/星期函数 write_com(0x80+0x10+13); switch(we) case 1: write_date(m);delay(5); write_date(o);delay(5); write_date(n); break; case 2: write_date(t);delay(5); write_date(u);delay(5); write_date(e); break; case 3: write_date(w);delay(5); write_date(e);delay(5); write_date(d); break;精品. case 4: write_d
11、ate(t);delay(5); write_date(h);delay(5); write_date(u); break; case 5: write_date(f);delay(5); write_date(r);delay(5); write_date(i); break; case 6: write_date(s);delay(5); write_date(a);delay(5); write_date(t); break; case 7: write_date(s);delay(5); write_date(u);delay(5); write_date(n); break; 精品.
12、void keyscan()if(flag1=1)/闹铃响if(s2=0)delay(5);if(s2=0)while(!s2);di();flag1=0;/中断闹铃 if(s3=0)delay(5);if(s3=0)while(!s3); di();精品.flag1=0;/中断闹铃 if(s1=0)delay(5);if(s1=0)s1num+;flag=1;flag1=0;while(!s1);di();if(s1num=1) write_com(0x80+0x50+10);write_com(0x0f);/光标停止位置不断闪烁 精品.if(s1num=2) write_com(0x80+
13、0x50+7); if(s1num=3) write_com(0x80+0x50+4); if(s1num=4) write_com(0x80+0x10+13); if(s1num=5) write_com(0x80+0x10+10); if(s1num=6) write_com(0x80+0x10+7);if(s1num=7)精品. write_com(0x80+0x10+4);if(s1num=8)s1num=0;write_com(0x0c);/光标停止闪烁write_ds(0,miao);/将此时时间信息写入ds12c887write_ds(2,fen);write_ds(4,shi)
14、;write_ds(6,week);write_ds(7,ri);write_ds(8,yue);write_ds(9,nian);flag=0; if(s1num!=0)if(s2=0)精品.delay(1);if(s2=0)while(!s2); di();if(s1num=1)miao+;if(miao=60)miao=0;write_sfm(10,miao);/将变化后的时间写入液晶write_com(0x80+0x50+10);if(s1num=2)fen+;if(fen=60)fen=0;write_sfm(7,fen);write_com(0x80+0x50+7);精品.if(s
15、1num=3)shi+;if(shi=24)shi=0;write_sfm(4,shi);write_com(0x80+0x50+4);if(s1num=4)week+;if(week=8)week=1;write_week(week);write_com(0x80+0x10+13);if(s1num=5)ri+;if(ri=32)ri=1;精品.write_sfm1(10,ri);write_com(0x80+0x10+10);if(s1num=6)yue+;if(yue=13)yue=1;write_sfm1(7,yue);write_com(0x80+0x10+7);if(s1num=7
16、)nian+;if(nian=100)nian=0;write_sfm1(4,nian);write_com(0x80+0x10+4);精品.if(s3=0)delay(1);if(s3=0)while(!s3); di();if(s1num=1)miao-;if(miao=-1)miao=59;write_sfm(10,miao);write_com(0x80+0x50+10);if(s1num=2)fen-;if(fen=-1)fen=59;write_sfm(7,fen);write_com(0x80+0x50+7);精品.if(s1num=3)shi-;if(shi=-1)shi=23
17、;write_sfm(4,shi);write_com(0x80+0x50+4);if(s1num=4)week-;if(week=0)week=7;write_week(week);write_com(0x80+0x10+13);if(s1num=5)ri-;if(ri=0)ri=31;精品.write_sfm1(10,ri);write_com(0x80+0x10+10);if(s1num=6)yue-;if(yue=0)yue=12;write_sfm1(7,yue);write_com(0x80+0x10+7);if(s1num=7)nian-;if(nian=-1)yue=99;wr
18、ite_sfm1(4,nian);write_com(0x80+0x10+4);精品.void write_ds(uchar add,uchar date)/ ds12c887写入程序函数dscs=0;dsas=1;dsds=1;dsrw=1;p0=add;dsas=0;dsrw=0;p0=date;dsrw=1;dsas=1;dscs=1;uchar read_ds(uchar add)/从ds12c887中读取数据 uchar ds_date;dsas=1;dsds=1;精品.dsrw=1;dscs=0;p0=add;dsas=0;dsds=0;p0=0xff;ds_date=p0;dsd
19、s=1;dsas=1;dscs=1;return ds_date;void set_time()/设置时间write_ds(4,1);write_ds(2,2);write_ds(6,3);write_ds(7,4);write_ds(8,5);write_ds(9,6);精品.void set_alarm(uchar ashi,uchar afen,uchar amiao)/设置闹铃write_ds(1,amiao);write_ds(3,afen);write_ds(5,ashi);void main() uchar num,bo=0;init();delay(4000);for(num=0;num16;num+) write_com(0x18);/1602平移函数 delay(600); keyscan();/按键检测精品.if(flag1=1)didi();
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年劳务员之劳务员基础知识考试题库200道及完整答案(必刷)
- 2026年设备监理师之质量投资进度控制考试题库200道及一套答案
- 2025江苏省灌南县教育局所属学校冬季赴高校招聘高层次人才66人备考公基题库附答案解析
- 2026重庆市地质矿产勘查开发集团有限公司毕业生校园招聘46人历年真题汇编带答案解析
- 2025福建海峡银行董事会办公室社会招聘参考题库附答案解析
- 2026北京天玛智控科技股份有限公司全球校园招聘笔试模拟试卷附答案解析
- 2025四川成都市泡桐树中学同文分校教师招聘历年真题汇编带答案解析
- 2025年滁州市第一人民医院公开招聘编外工作人员5人备考题库带答案解析
- 2025贵州黔南州粮油储备库主任选聘备考题库附答案解析
- 2026天津医科大学口腔医院人事代理制(第一批)招聘12人备考题库附答案解析
- 护士执业注册健康体检表
- 糖尿病肾病诊治进展 课件
- MoldFlow实例分析报告-中英文对照课件
- 被巡察单位组织人事工作汇报集合5篇
- 商务英语常用单词
- 泸定桥的资料
- 建设工程施工合同(GF-2017-0201) 专用条款模板
- 现代设备管理课程教学大纲
- 工业硅项目可行性研究报告
- 《设计心理学》课件5-审美心理学
- 电子束曝光技术页PPT课件
评论
0/150
提交评论