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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3471|回復: 3
打印 上一主題 下一主題
收起左側

自制數碼管四位數字鐘

[復制鏈接]
跳轉到指定樓層
樓主
ID:148585 發表于 2016-11-18 08:59 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
看到大家都參賽了手也癢癢起來。由于手頭沒什么新奇玩意,又趕工制作電魚機(不是真的以電魚為目的,目的是自己成功做出一個,不要罵我斷子絕孫之類的話)。所以把以前學單片機時的源碼拿出來,然后自己又用LED作了數碼管。可能比不上大家做的,但是這是十足的原創作品,不為得獎,重在參與。添添人氣。
線看效果圖,照的不太清楚
有點模糊。
晚上照的,,實在不像樣。
顯示面板,用LED拼的,比數碼管好看。
這個是我用分立元件做的驅動板。沒有用集成的,感覺自己做 的爽。
核心板子,也就是51單片機最小系統板子。下載部分可以忽略。這個板子是我最初接觸單片機的時候買的。 現在已經閑置。這回利用上了。
數碼管細節,我用的5*7板子做的,一個板子只做了一個。
三只LED串聯為一個段位。。這樣正好能用12V供電。
段驅動。。我只畫了倆,其余的沒畫。
位驅動。這個比較麻煩。用了倆三極管。
這個是按鍵,,采用了四個按鍵分別調整小時和分鐘的加減調整。
由于不會添加視頻,所以這里就不添加了。
最后附上工程源代碼一份。這個只是最簡單的。 以后會陸續添加時鐘模塊。溫度模塊等。這些要等我把魚機研究明白以后再說了。
源文件:
/*自制電子鐘*/
/*8位顯示第3位和第6位顯示"-"用來隔開時分秒*/
/*功能,KEY1,KEY2調整分的加減, KEY3 KEY4 調整時的加減。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, 下載次數: 29, 下載積分: 黑幣 -5

源程序

自制4位數字鐘.doc

510.05 KB, 下載次數: 22, 下載積分: 黑幣 -5

制作說明

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

使用道具 舉報

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

使用道具 舉報

板凳
ID:161231 發表于 2017-2-10 09:04 | 只看該作者
我也想做一個時鐘,慢慢學習先
回復

使用道具 舉報

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人网在线观看 | 日批免费在线观看 | 天天舔天天 | 久久久精品网站 | 波多野结衣一区二区三区 | 国产免费又色又爽又黄在线观看 | 日韩国产中文字幕 | 99re视频这里只有精品 | 北条麻妃一区二区三区在线观看 | 日韩福利视频 | 亚洲精品电影网在线观看 | 亚洲欧美激情国产综合久久久 | 日韩中文字幕免费在线观看 | 欧美一区免费 | 超碰人人艹 | 亚洲第一在线视频 | 亚洲色图综合 | 黄视频网站在线 | 在线免费观看毛片 | 午夜电影网站 | 日韩欧美亚洲 | 中文字幕亚洲一区二区三区 | 日韩视频精品在线 | 精品久久av | 国产精品有限公司 | 久草免费在线视频 | av香港经典三级级 在线 | 欧美日韩一区二区在线观看 | 九九热精品在线视频 | 国产精品视频一二三区 | 精品一级 | 亚洲欧美日韩精品 | 久久久www成人免费精品 | 免费不卡视频 | 电影午夜精品一区二区三区 | 人人干97| 九九激情视频 | 在线免费av观看 | 久久久久久久一区 | 天堂va在线观看 | 91中文字幕在线观看 |