找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5218|回复: 32
打印 上一主题 下一主题
收起左侧

简易小时钟(分享设计)

  [复制链接]
跳转到指定楼层
楼主
经典小制作,希望喜欢

QQ图片20141108082553.jpg (534.2 KB, 下载次数: 131)

QQ图片20141108082553.jpg

小时钟.zip

43.24 KB, 下载次数: 103, 下载积分: 黑币 -5

评分

参与人数 1威望 +50 黑币 +50 收起 理由
admin + 50 + 50 共享资料的积分奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:68135 发表于 2014-11-8 10:01 | 只看该作者
电路图呢?
回复

使用道具 举报

板凳
ID:1 发表于 2014-11-8 12:49 | 只看该作者





#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;
                }
    
            }
        }
    }    
}






回复

使用道具 举报

地板
ID:68513 发表于 2014-11-14 13:21 | 只看该作者

这个没有电路图,随便做的
回复

使用道具 举报

5#
ID:68513 发表于 2014-11-14 13:22 | 只看该作者

这个没有电路图,随便做的
回复

使用道具 举报

6#
ID:68513 发表于 2014-11-14 13:22 | 只看该作者

这个没有电路图,随便做的
回复

使用道具 举报

7#
ID:68513 发表于 2014-11-14 13:25 | 只看该作者

因为电路太简单了,所以就没画电路图
回复

使用道具 举报

8#
ID:68905 发表于 2014-11-16 19:23 | 只看该作者
额。没有图啊
回复

使用道具 举报

9#
ID:69113 发表于 2014-11-24 20:49 | 只看该作者
学习学习
回复

使用道具 举报

10#
ID:67395 发表于 2014-11-30 11:50 | 只看该作者
楼主程序中的clk是什么?
回复

使用道具 举报

11#
ID:69805 发表于 2014-12-2 09:18 | 只看该作者
真的好简易啊!
回复

使用道具 举报

12#
ID:68513 发表于 2014-12-2 13:50 | 只看该作者
15678290927 发表于 2014-11-30 11:50
楼主程序中的clk是什么?

是NK吧??
回复

使用道具 举报

13#
ID:68513 发表于 2014-12-2 13:52 | 只看该作者
15678290927 发表于 2014-11-30 11:50
楼主程序中的clk是什么?

nk是闹钟开/关
回复

使用道具 举报

14#
ID:70799 发表于 2014-12-20 20:45 | 只看该作者
可惜没有电路图!
回复

使用道具 举报

15#
ID:70769 发表于 2014-12-21 04:14 | 只看该作者
很好,正需要
回复

使用道具 举报

16#
ID:70614 发表于 2014-12-22 12:48 | 只看该作者
老师上个原理图
回复

使用道具 举报

17#
ID:68513 发表于 2014-12-25 16:44 | 只看该作者

没有原理图,即兴之作,不好意思
回复

使用道具 举报

18#
ID:70614 发表于 2014-12-25 16:50 | 只看该作者
我们不懂程序请老师画个电路图吧谢谢
回复

使用道具 举报

19#
ID:68513 发表于 2014-12-28 16:43 | 只看该作者
星星一眨眼 发表于 2014-12-25 16:50
我们不懂程序请老师画个电路图吧谢谢

额。。。我还是学生,最近要考试,备考中,有空画了在上传
回复

使用道具 举报

20#
ID:70614 发表于 2014-12-28 20:07 | 只看该作者
天天等天天关注
回复

使用道具 举报

21#
ID:71425 发表于 2014-12-31 16:10 | 只看该作者
哥哥哥哥哥哥哥哥哥哥哥
回复

使用道具 举报

22#
ID:71513 发表于 2015-1-2 19:40 | 只看该作者
初学想做个电子钟
回复

使用道具 举报

23#
ID:99130 发表于 2016-4-15 19:17 | 只看该作者
新手,楼主可以画一个图看看吗
回复

使用道具 举报

24#
ID:97507 发表于 2016-4-15 20:30 | 只看该作者
麻烦上个图 好不好,学习一下
回复

使用道具 举报

25#
ID:97507 发表于 2016-4-15 20:31 | 只看该作者

新手,楼主可以画一个图看看吗
回复

使用道具 举报

26#
ID:114462 发表于 2016-4-15 23:00 | 只看该作者
不错 不错
回复

使用道具 举报

27#
ID:143871 发表于 2016-11-25 22:06 | 只看该作者
感谢分亨1
回复

使用道具 举报

28#
ID:198298 发表于 2017-5-8 23:42 | 只看该作者
谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表