谢谢分享 |
感谢分亨1 |
不错 不错 |
新手,楼主可以画一个图看看吗 |
麻烦上个图 好不好,学习一下 |
新手,楼主可以画一个图看看吗 |
初学想做个电子钟 |
哥哥哥哥哥哥哥哥哥哥哥 |
天天等天天关注![]() |
星星一眨眼 发表于 2014-12-25 16:50 额。。。我还是学生,最近要考试,备考中,有空画了在上传 |
我们不懂程序请老师画个电路图吧谢谢 |
竹影荷衣 发表于 2014-12-20 20:45 没有原理图,即兴之作,不好意思 |
老师上个原理图![]() |
很好,正需要 |
可惜没有电路图! |
15678290927 发表于 2014-11-30 11:50 nk是闹钟开/关 |
15678290927 发表于 2014-11-30 11:50 是NK吧?? |
真的好简易啊! |
楼主程序中的clk是什么? |
学习学习 |
额。没有图啊 |
因为电路太简单了,所以就没画电路图 |
这个没有电路图,随便做的 |
这个没有电路图,随便做的 |
这个没有电路图,随便做的 |
#include<reg51.h> #define uint unsigned int #define uchar unsigned char sbit k0=P3^6; sbit k1=P3^1; sbit clk=P2^1; uchar aa,m,f,h,k=0,nk=0;nf,nh; uchar code p0[]={0Xa0,0Xbb,0X62,0X2a,0X39,0X2c,0X24,0Xba,0X20,0X28}; void init(); void time(); void display(uchar a,uchar b,uchar c,uchar d); void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void main() { init(); while(1) { display(h/10,h%10,f/10,f%10); time(); if(nk==1) { if(nh==h) { if(nf==f) { clk=0; delay(1); clk=1; delay(1); } } } } } void time() { if(k1==0) { delay(1); if(k1==0) { while(!k1) { display(h/10,h%10,f/10,f%10); if(k==1) { if(k0==0) { delay(1); if(k0==0) { while(!k0) display(h/10,h%10,f/10,f%10); f++; if(f==60) { f=0; } display(h/10,h%10,f/10,f%10); } } } if(k==2) { if(k0==0) { delay(2); if(k0==0) { while(!k0) display(h/10,h%10,f/10,f%10); h++; if(h==24) { h=0; } display(h/10,h%10,f/10,f%10); } } } } k++; if(k==1) { TR0=0; } if(k==3) { TR0=1; k=0; } } } if(k0==0) { delay(1); if(k0==0) { while(!k0) { display(nh/10,nh%10,nf/10,nf%10); if(k==0) { if(k1==0) { delay(1); if(k0==0) { while(!k1) display(nh/10,nh%10,nf/10,nf%10); nf++; if(nf==60) { nf=0; } display(nh/10,nh%10,nf/10,nf%10); } } } if(k==1) { if(k1==0) { delay(2); if(k1==0) { while(!k1) display(nh/10,nh%10,nf/10,nf%10); nh++; if(nh==24) { nh=0; } display(nh/10,nh%10,nf/10,nf%10); } } } if(k==2) { if(k1==0) { delay(1); if(k1==0) { while(!k1) display(nh/10,nh%10,nf/10,nf%10); nk=!nk; display(nh/10,nh%10,nf/10,nf%10); } } } } k++; if(k==3) { k=0; } } } } void display(uchar a,uchar b,uchar c,uchar d) { P1=0x10; P0=p0[a]; delay(1); P0=0xff; P1=0x20; P0=p0[b]; delay(1); P0=0xff; P1=0x40; P0=p0[c]; delay(1); P0=0xff; P1=0x80; P0=p0[d]; delay(1); P0=0xff; if(nk==1) { P1=0x80; P0=0xdf; delay(1); P0=0xff; } } void init() { m=0; h=0; TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; } void timer0() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; aa++; if(aa==20) { aa=0; m++; clk=0; delay(0.9); clk=1; delay(0.9); P1=0x20; P0=0xdf; delay(2); P0=0xff; if(m==60) { m=0; f++; if(f==60) { f=0; h++; if(h==24) { h=0; } } } } } |
![]() |