《基于STC89C52的电子钟设计》.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《基于STC89C52的电子钟设计》.doc

基于STC89C52的电子钟设计 基本功能实现 实现电子钟的功能, 要求用数码管显示秒,分,时,天的功能 设计报告 设计方案:系统的流程框图,系统设计思想 设计总结:包括实践中出现的问题,解决方法,心得体会 参考资料:芯片的说明,及电路原理 本次设计的时候遇到的问题主要是延时不准确的问题,实验使用的c语言, 件原因并不能很准确的得到理想的电子钟只能是表达一种思想,编程应明确原理,逐一实现各个功能。 四、设计程序 #includereg52.h #define uchar unsigned char #define uint unsigned int uchar ts,tg,ss,sg,fs,fg,ms,mg,aa,bb,cc,dd,T,num; Ucharcode d[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71,0x80}; //0~9,A~F,. uchar code w[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07}; void delay(uchar z) { unsigned int i,j; for(i=z;i0;i--) for(j=10;j0;j--); } void init_zh()//初始化 { TMOD=0x01; TH0=(65535-50000)/256; TL0=(65535-50000)%256; EA=1; ET0=1; TR0=1; } void display()//显示函数 { P1=w[0]; //天 P2=d[ts]; delay(10); P1=w[1]; P2=d[tg]; delay(10); P1=w[2]; //小时 P2=d[ss]; delay(10); P1=w[3]; P2=d[sg]; delay(10); P1=w[4];//分钟 P2=d[fs]; delay(10); P1=w[5]; P2=d[fg]; delay(10); P1=w[6];//秒 P2=d[ms]; delay(10); P1=w[7]; P2=d[mg]; delay(10); } void jisuan() { ss=aa/10; sg=aa%10; fs=bb/10; fg=bb%10; ms=cc/10; mg=cc%10; ts=T/10; tg=T%10; } void jinzhi()//设定时间进制 { if(dd==20) {dd=0;++cc;} if(cc==60) {cc=0;++bb;} if(bb==60) {bb=0;++aa;} if(aa==24) {aa=0;++T; } } void init_int0() { EA=1; EX0=1;//IT0=1;IT0默认为0 } void timer_zh() interrupt 1 { TH0=(65535-50000)/256;//定时50毫秒 TL0=(65535-50000)%256; dd++; } void main() { init_int0(); init_zh(); num=0;aa=0;bb=0;cc=0;dd=0;T=0; while(1) { jinzhi(); jisuan(); display(); } } 五、流程图 六、实验的电路原理图

文档评论(0)

ddwg + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档