久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3455|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

自制數(shù)碼管四位數(shù)字鐘

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:148585 發(fā)表于 2016-11-18 08:59 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
看到大家都參賽了手也癢癢起來。由于手頭沒什么新奇玩意,又趕工制作電魚機(不是真的以電魚為目的,目的是自己成功做出一個,不要罵我斷子絕孫之類的話)。所以把以前學(xué)單片機時的源碼拿出來,然后自己又用LED作了數(shù)碼管。可能比不上大家做的,但是這是十足的原創(chuàng)作品,不為得獎,重在參與。添添人氣。
線看效果圖,照的不太清楚
有點模糊。
晚上照的,,實在不像樣。
顯示面板,用LED拼的,比數(shù)碼管好看。
這個是我用分立元件做的驅(qū)動板。沒有用集成的,感覺自己做 的爽。
核心板子,也就是51單片機最小系統(tǒng)板子。下載部分可以忽略。這個板子是我最初接觸單片機的時候買的。 現(xiàn)在已經(jīng)閑置。這回利用上了。
數(shù)碼管細(xì)節(jié),我用的5*7板子做的,一個板子只做了一個。
三只LED串聯(lián)為一個段位。。這樣正好能用12V供電。
段驅(qū)動。。我只畫了倆,其余的沒畫。
位驅(qū)動。這個比較麻煩。用了倆三極管。
這個是按鍵,,采用了四個按鍵分別調(diào)整小時和分鐘的加減調(diào)整。
由于不會添加視頻,所以這里就不添加了。
最后附上工程源代碼一份。這個只是最簡單的。 以后會陸續(xù)添加時鐘模塊。溫度模塊等。這些要等我把魚機研究明白以后再說了。
源文件:
/*自制電子鐘*/
/*8位顯示第3位和第6位顯示"-"用來隔開時分秒*/
/*功能,KEY1,KEY2調(diào)整分的加減, KEY3 KEY4 調(diào)整時的加減。P1^0是秒閃爍 ,正常走時的時候每隔1秒兩滅一次*/
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77};
sbit d1=P1^0;//定義d1
sbit d2=P1^7;//定義d1
sbit key1=P3^0;//按鍵定義
sbit key2=P3^1;
sbit key3=P3^2;
sbit key4=P3^3;
uchar temp,aa,miaos,miaog,qian,bai,shi,ge,fen,sh,bb;
void display(uchar qian,uchar bai,uchar shi,
uchar ge);
void delay(uint z)
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
}
void init();
void main()
{       
        init();//初始化子程序
        while(1)
        {       
                if(key1==0)
                {
                delay(60);
                        if(key1==0)
                                fen++;
                                if(fen==59)
                                        {fen=0;}
                }
                if(key2==0)
                {
                delay(60);
                        if(key2==0)
                        if(fen!=0)
                                {fen--;}
                        if(fen==0)
                        {fen=59;}
                }
                if(key3==0)
                {
                delay(60);
                        if(key3==0)
                                sh++;
                                if(sh==23)
                                        {sh=0;}
                }
                if(key4==0)
                {
                delay(60);
                        if(key4==0)
                                if(sh!=0)
                                {
                                sh--;
                                }
                                if(sh==0)
                                        {sh=23;}
                }
switch(aa)
        {
                case 10:d1=0;d2=0;break;
                case 20:d1=1;d2=1;break;
        }
                if(aa==20)
                {bb++;
                        aa=0;
                miaog=bb%10;
                miaos=bb/10%6;
                }
                if(bb==60)
                {        fen++;
                        bb=0;
                }
                ge=fen%10;
                shi=fen/10%6;
                if(fen==60)
                {        sh++;
                        fen=0;
                        fen=0;}
                bai=sh%10;
                qian=sh/10;
                if(bai==10)
                        bai=0;
                if(qian==2)
                {
                if(bai==4)
                        {
                                qian=0;
                                bai=0;
                        }
                }
                if(sh==24)
                {       
                sh=0;
                }
                display(qian,bai,shi,ge);
        }
}
void display(uchar qian,uchar bai,uchar shi,
uchar ge)
{
                P0=table[qian];
                P2=1;
                delay(1);
                P0=table[bai];
                P2=2;
                delay(1);
               
                P0=table[shi];
                P2=4;
                delay(1);
               
                P0=table[ge];
                P2=8;
                delay(1);
}
void init()
{       
        d1=1;
        d2=1;
        fen=0;
        sh=0;
        temp=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++;       
}

4位電子鐘.rar

14.98 KB, 下載次數(shù): 29, 下載積分: 黑幣 -5

源程序

自制4位數(shù)字鐘.doc

510.05 KB, 下載次數(shù): 22, 下載積分: 黑幣 -5

制作說明

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:148585 發(fā)表于 2016-11-18 09:00 | 只看該作者
單片機接口定義不清楚的可以聯(lián)系我404563275
回復(fù)

使用道具 舉報

板凳
ID:161231 發(fā)表于 2017-2-10 09:04 | 只看該作者
我也想做一個時鐘,慢慢學(xué)習(xí)先
回復(fù)

使用道具 舉報

地板
ID:161231 發(fā)表于 2017-2-10 09:04 | 只看該作者
我也想做一個數(shù)碼管時鐘
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 美日韩免费视频 | 欧美日韩综合精品 | 天天精品在线 | 亚洲精品二三区 | 国产精品乱码一区二三区小蝌蚪 | 亚洲精品久久久久中文字幕二区 | 成人av一区| 91精品国产乱码久久久久久久久 | 成人免费网站视频 | 国产精品美女久久久av超清 | 午夜资源| 四虎影音| 欧美精品综合 | 国产一区二区三区在线免费观看 | 亚洲精品美女 | 成人免费小视频 | 日本黄色短片 | 亚洲成人一级 | 亚洲成人精品 | 午夜精品在线 | 亚洲九九精品 | 精品欧美一区二区在线观看欧美熟 | 一级高清免费毛片 | 一区二区视屏 | 在线成人精品视频 | 久久国产精品亚洲 | 亚洲激情一级片 | 99色播| 中文二区 | 91亚洲欧美| 精品国产一区二区三区久久 | 天天干天天干 | 国产97在线视频 | 久久999| 午夜免费小视频 | 美女在线观看国产 | 97色在线观看免费视频 | 久久久久国产一区二区三区四区 | 91视频精选 | 久久一区二区av | 美女爽到呻吟久久久久 |