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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3455|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 人人做人人澡人人爽欧美 | 国产视频中文字幕在线观看 | 欧美日韩在线国产 | 欧美一区二区三区视频在线观看 | 午夜精品在线观看 | 91久久精品一区二区二区 | 91porn成人精品 | 成人黄色在线观看 | 伊人焦久影院 | 一区二区三区av夏目彩春 | 天天看夜夜 | 韩日一区 | 污污免费网站 | 性欧美hd | 天天草天天操 | 欧美a级成人淫片免费看 | 美女露尿口视频 | 在线视频久久 | 欧美一区2区三区4区公司二百 | 日本不卡高字幕在线2019 | 黄色一级免费看 | 欧美一区二区 | 亚洲成人网在线观看 | 精品久久久久一区二区国产 | 久久国产秒 | jvid精品资源在线观看 | 久久激情视频 | 国产伦精品一区二区三区精品视频 | 国产色婷婷久久99精品91 | 国产做a爱片久久毛片 | 欧美精品在线播放 | 男女网站视频 | 成人精品免费视频 | 99热播精品 | 亚洲高清电影 | www.99re| 在线国产一区二区 | 韩国精品在线观看 | 日本精品免费 | 亚洲福利视频一区二区 | 国产精品一区一区 |