本人刚接触单片机,自己焊接了一个51单片机电子钟,能正常走时,就走进偏慢,八个小时会偏慢30分钟,请高手指点,谢谢!以下是单片机源代码,
2017-11-02 08:00
很好的文档,和总结
2016-12-15 18:01
请问一下51单片机电子钟是如何做成的?
2021-10-13 08:41
51单片机电子钟电路图和程序波形发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。本次课程设计使用的AT89S51
2009-05-26 21:34
五一劳动节过了,我又回来了,上次说到哪来了?说到我把例程都抄完了,流程图也清晰度画了出来,那么,对单片机的程序的总体结构和需要的器件都有个大致的了解,所以,这一博客,将会有如下内容:需要的功能既然
2021-11-23 16:20
调试等一系列流程的相关问题 在这一系列的xxx中,我会分享我在途中遇到的困难,分享任何与电子钟相关的所有资料,恳求各位大佬批评指正 给我宝贵的建议
2021-11-23 16:51
调试等一系列流程的相关问题。在这一系列的xxx中,我会分享我在途中遇到的困难,分享任何与电子钟相关的所有资料,恳求各位大佬批评指正,给我宝贵的建议。
2021-07-01 06:05
淘宝店铺:灵鹏电子
2014-05-12 19:22
#include#include#define uchar unsigned char#define set 0#define run 1#define keyset 4//定义按键值#define keyplu 5#define keymin 6#define keymain 7***it dula=P2^6;***it wela=P2^7;***it beep=P2^3;uchar keyval,ledbit=0,ledsetbit=0;uchar h,m,s,pp;uchar code BIT[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};uchar mode=run;void setl();void led(uchar number,uchar ledbit);void keyscan();void display(uchar h,uchar m,uchar s);void delayms(uchar x){uchar i,j;for(i=x;i>0;i--) for(j=110;j>0;j--);}void keyscan(){uchar key,temp; P3=0xfe; temp=P3; temp=temp&0xf0; if(temp!=0xf0){ delayms(20); //防抖if(temp!=0xf0) {temp=P3;switch(temp){ case 0xee:key=0; break;case 0xde:key=1; break;case 0xbe:key=2; break;case 0x7e:key=3; break;} while(temp!=0xf0){P3=temp;temp=temp&0xf0;} } } P3=0xfd; temp=P3;temp=temp&0xf0; if(temp!=0xf0){delayms(20); if(temp!=0xf0){ temp=P3; switch(temp){case 0xed:key=4; break; case 0xdd:key=5; break; case 0xbd:key=6; break; case 0x7d:key=7; break;}while(temp!=0xf0) {temp=P3;temp=temp&0xf0; } }} P3=0xfb; temp=P3;temp=temp&0xf0;if(temp!=0xf0){ delayms(20);if(temp!=0xf0) {temp=P3;switch(temp) {case 0xeb:key=8;break;case 0xdb:key=9;break;case 0xbb:key=10;break;case 0x7b:key=11;break;}while(temp!=0xf0){temp=P3;temp=temp&0xf0;} }}P3=0xf7;temp=P3; temp=temp&0xf0; if(temp!=0xf0){delayms(20); if(temp!=0xf0){temp=P3;switch(temp) {case 0xe7:key=12; break;case 0xd7:key=13; break;case 0xb7: key=14; break;case 0x77: key=15; break;}while(temp!=0xf0) {temp=P3;temp=temp&0xf0; }} }} void setl(){keyscan();if(keyval=keyset){if(mode==set&&ledsetbit5) {mode=run;ledsetbit=0; } if(keyval==keyplu&&mode==set) {switch(ledsetbit){case 0:if(s10)h-=10;break;} } }}void led(uchar number,uchar ledbit){P0=table[number];dula=1;dula=0;if(mode==run)P0=BIT[ledbit];wela=1;wela=0;if(mode==set){ if(ledbit==ledsetbit)P0=0xff;elseP0=table[number];dula=1;dula=0;}}void display(uchar h,uchar m,uchar s){unsigned int t=100;switch(ledbit){ case 0:led(s%10,ledbit);case 1:led(s/10,ledbit);case 2:led(m%10,ledbit);case 3:led(m/10,ledbit);case 4:led(h%10,ledbit);case 5:led(h/10,ledbit);}ledbit++;if(ledbit>5)ledbit=0;while(t--);} void time0() interrupt1{TH0=(65536-46080)/256;TL0=(65536-46080)%256;pp++;}void main(){TMOD=0x01;TH0=(65536-46080)/256;TL0=(65536-46080)%256;ET0=1;EA=0;TR0=1;while(1){ setl();if(mode==run){display(h,m,s);}else{led(); }if(pp==20){pp=0;s++;if(s==60){s=0; m++; if(m=60) {m=0;m++;if(m==60){h++; if(h==24) {h=0;m=0;s=0; }} }}}}}
2013-04-22 13:44
单片机电子钟的设计
2016-12-09 17:46