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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

簡單的四位數碼管單片機時鐘

  [復制鏈接]
跳轉到指定樓層
樓主
     
其實早有想寫一寫這方面的東西了,要不是雜事情多,應該早出來報告了。
言歸正傳吧,不知道是什么原因使我喜歡上了單片機,以前的時候,覺得單片機是那么神秘,但是實踐證明:只要有興趣就沒有學不會的東西,當然學會容易,學好就要下一番功夫了。
       話說那是2012年末臨近放寒假的時候,某一日在網上溜達看到了單片機,于是乎就買了個單片機的開發板全散件(那時候只知道是單片機散件,不大明白為啥叫開發板)。幾天的時間就回來了,晚上就把它給焊接好了,憑借多年的焊接經驗,一次成功,跟成品板看不出區別(你是看不出來的,你不能跟我比啊!呵呵,不要臉一下)。平時沒有時間去研究,一晃就到了假期,所以就天天查資料學習,您還別說,一旦進去就陷進去了,里面真是別有洞天啊。不客氣的說,假期的十多天時間,比我當學生的時候學的都踏實和牢固深刻。
           下面是我用單片機做的簡單的時鐘,最初是用單片機本身的定時功能進行計時的,軟件調整誤差,精度可以做的很高,但是斷電需要再調整,用計時芯片的話可以斷電記憶,但是要保證計時精準就要高精度的晶振,這也是個矛盾。我先沒有用時鐘芯片,對于初學者還是合適的,能夠很快入門,了解單片機的結構,定時器的編寫,數碼管的顯示原理,等等。我用的是c語言,以前有點基礎,加之其可移植性好,上手容易等優點,所以就沒有去學難啃的匯編語言。后面我又加了個時鐘芯片(DS1302),這個芯片精度不高,家用還湊合,以后換成887高精度的芯片就相當實用了。這些對于程序的編寫也有提高。

         結構:
      上下兩塊洞洞板,兩邊有排陣接插的,同時兼顧傳導信號,上板是數碼管,下板是單片機。板子是10x16cm的,一位數碼管3x4.4cm,共陽極的。單片機stc89c52,12M的晶振,數碼管是7位的,所以其小數點不亮,我外接了兩個led做秒閃爍用,一秒一眨眼的。如果采用8段數碼管,可以用數碼管的點做秒閃爍,即小時的個位點和分鐘的十位點(數碼管倒置安排形成8.8:8.8樣式)同時閃爍,效果會更好,這個我在開發板上已經修改成功,以后用8段數碼管就采用這種方式。板子的5v供電用USB接口。3位按鍵調節時間,其一為時分選擇,其二加,其三為減。

       總結:
       最滿意的是洞洞板的背面布線,完全手工,很滿意,也很漂亮的。其實一開始也是有點彎路,后來發現了一個小軟件:Sprint-Layout 6.0 這個軟件對我等初學者真是個福音啊,完全可以安著洞洞板的界面來設計電路(直接在設計界面上設置洞洞板的孔間距 2.54mm),對照原理圖直接安放元件,連線即可,雖然有些原理圖的樣子,但是直接對照即可進行實物連線。對于連線我用細銅線,就是包皮的粗電線里的一根細的,點焊,不要全部拖錫,這樣的好處是美觀,不易粘連。
     其次就是單片機的c語言,有位老鳥說的真好:其實就是if來if去的!不過進來以后還真能發現,就這么if來if去的,也充滿了邏輯性,充滿了美感,有興趣的童鞋們也進來發掘一下體驗一下其內在的美吧。

         我借鑒的 代碼:(沒有驅動時鐘芯片DS1302的),其實我找了很多,覺得此程序很精煉,真的不錯,里面有我改動的地方,因為最初是移植到我的開發板上的。說到開發板,其實就是燒寫程序方便,做實驗方便的板子,一旦成功可以在另外的板子上單獨焊接專用的元件,開發出成品。比如我就用了洞洞板,當然也可以用覆銅板加工,會更美觀。


/**** 本程序中,晶振為12MHz,           ****/
/**** 時間控制采用定時中斷控制方式。  ****/
/**** 模式和時間調整采用查詢方式。    ****/
#include<reg52.h>
sbit P13=P1^3; //分個位控制端
sbit P12=P1^2; //分十位控制端
sbit P11=P1^1; //時個位控制端
sbit P10=P1^0; //時十位控制端
sbit led=P2^7; //秒閃爍 led
sbit key0=P3^7; //模式設置
sbit key1=P3^6; //加
sbit key2=P3^5; //減
unsigned char hour,min,sec,T50ms;
unsigned char modstate; //模式狀態
unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//段碼 (0--9、黑屏)
//unsigned char code tablemin[]={0xc0,0xcf,0xa4,0x86,0x8b,0x92,0x90,0xc7,0x80,0x82};//秒十位倒置編碼
void init();                                        //初始化子程序聲明 /
void delay500us(unsigned char X); //延時子程序聲明
void display();                                 //顯示子程序聲明
void display001();                           //顯示“時”子程序聲明
void display002();                           //顯示“分”子程序聲明
void keyscan();                               //按鍵識別子程序聲明
void main()
{  
init();
while(1)
{
  keyscan();
}
}
void init() //初始化子程序
{
TMOD=0x01;
TH0=(65536-49990)/256;
TL0=(65536-49990)%256;
ET0=1;
EA=1;
TR0=1;
}
void delay500us(unsigned char X)
{
unsigned char i,j;
for(i=X;i>0;i--)
for(j=248;j>0;j--);
}
void timer0() interrupt 1 //timer0中斷服務子程序,定時時間為50ms,本程序加了10us的時間修正量
{
TMOD=0x01;
TH0=(65536-49990)/256;
TL0=(65536-49990)%256;
T50ms++;
if(T50ms>=20)
{
  T50ms=0;
  sec++;
  if(sec>=60)
  {
   sec=0;
   min++;
   if(min>=60)
   {
    min=0;
    hour++;
    if(hour>=24)hour=0;
   }
  }
}
}
        
void display()
{
P1=0xff;
P0=table[hour/10];
P10=0;
delay500us(5);
P1=0xff;
    P0=table[hour%10];
P11=0;
delay500us(5);
P1=0xff;
P0=table[min/10];
P12=0;
delay500us(5);
P1=0xff;
P0=table[min%10];
P13=0;
delay500us(5);
if(T50ms<=10)led=0;
if(T50ms>10)led=1;
}
void display001()
{
     P1=0xff;
P0=table[hour/10];
P10=0;
delay500us(10);

  P1=0xff;
P0=table[hour%10];
P11=0;
delay500us(10);
}
void display002()
{
  P1=0xff;
P0=table[min/10];
P12=0;
delay500us(10);
  P1=0xff;
P0=table[min%10];
P13=0;
delay500us(10);
}
void keyscan()  //按鍵識別鐘程序
{
while(modstate==0)
{
  display();
  if(key0==0)
  {
   display();
   if(key0==0)modstate++;  //這兩句加在一起為延時10ms軟件防抖設計。
   while(key0==0)display001(); //等待按鍵釋放。
  }
}
//****************************************************************************//
while(modstate==1)
{
  display001();
  if(key0==0)
  {
   display001();
   if(key0==0)modstate++;  //這兩句加在一起為延時10ms軟件防抖設計。
   while(key0==0)display002(); //等待按鍵釋放。
  }
  if(key1==0)
  {
   display001();
   if(key1==0)
   {
    hour++;
    if(hour>=24)hour=0;
    while(key1==0)display001();
   }
  }
  if(key2==0)
  {
   display001();
   if(key2==0)
   {
    hour--;
    if(hour>=24)hour=0;
    while(key2==0)display001();
   }
  }
}
//****************************************************************************//
while(modstate==2)
{
  display002();
  if(key0==0)
  {
   display002();
   if(key0==0)modstate=0;  //這兩句加在一起為延時10ms軟件防抖設計。
   while(key0==0)display(); //等待按鍵釋放。
  }
  if(key1==0)
  {
   display002();
   if(key1==0)
   {
    min++;
    if(min>=60)min=0;
    while(key1==0)display002();
   }
  }
  if(key2==0)
  {
   display002();
   if(key2==0)
   {
    min--;
    if(min>=60)min=0;
    while(key2==0)display002();
   }
  }
}
}

好了,先看實物圖吧:


































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

使用道具 舉報

沙發
ID:76625 發表于 2015-4-10 21:44 | 只看該作者
我是新手,也想試試,請問有沒有原理圖
51黑有你更精彩…………
回復

使用道具 舉報

板凳
ID:76625 發表于 2015-4-10 21:46 | 只看該作者
有沒有proteus仿真圖看看
回復

使用道具 舉報

地板
ID:76625 發表于 2015-4-10 22:40 | 只看該作者
貼主在不在啊。。。QAQ
回復

使用道具 舉報

5#
ID:70614 發表于 2015-4-20 21:01 | 只看該作者
謝謝分享我也想制作一個
回復

使用道具 舉報

6#
ID:78768 發表于 2015-5-3 20:23 | 只看該作者
想要電路圖
回復

使用道具 舉報

7#
ID:86126 發表于 2015-7-19 11:40 | 只看該作者
看起來很不錯哦
回復

使用道具 舉報

8#
ID:85702 發表于 2015-7-20 17:10 | 只看該作者
焊接不錯。看著真美觀
回復

使用道具 舉報

9#
ID:61876 發表于 2015-7-20 19:23 | 只看該作者
我天天用洞洞板做東西,焊工比起樓主來,差的太遠了。佩服!!!!!
回復

使用道具 舉報

10#
ID:19947 發表于 2015-8-6 23:00 | 只看該作者
贊!樓主能不能原理圖發下
回復

使用道具 舉報

11#
ID:97771 發表于 2015-12-1 21:24 | 只看該作者
大神有沒有電路圖
回復

使用道具 舉報

12#
ID:98638 發表于 2015-12-8 18:01 | 只看該作者
做的真漂亮
回復

使用道具 舉報

13#
ID:94489 發表于 2015-12-19 14:06 | 只看該作者
一直想做一個,非常感謝樓主
回復

使用道具 舉報

14#
ID:95809 發表于 2016-1-5 07:12 來自手機 | 只看該作者
他用的是共陽的數碼管,Io口程序里寫得很明白了,完全可以自己畫出原理圖。
回復

使用道具 舉報

15#
ID:19947 發表于 2016-1-12 15:58 | 只看該作者
加1302程序多好呀!
回復

使用道具 舉報

16#
ID:109896 發表于 2016-3-20 22:32 | 只看該作者
看一看,瞄一瞄,
回復

使用道具 舉報

17#
ID:108508 發表于 2016-3-21 16:40 | 只看該作者
怎么視頻一閃而過
回復

使用道具 舉報

18#
ID:99341 發表于 2016-5-11 21:17 | 只看該作者
樓主電路圖發一個
回復

使用道具 舉報

19#
ID:99341 發表于 2016-5-11 21:20 | 只看該作者
樓主給一個2051+1302電子鐘謝謝,,,,qq1984524872
回復

使用道具 舉報

20#
ID:120206 發表于 2016-5-12 08:21 | 只看該作者
不錯 ,挺好的
回復

使用道具 舉報

21#
ID:99341 發表于 2016-5-13 13:30 來自手機 | 只看該作者
樓主發個電路圖
回復

使用道具 舉報

22#
ID:118644 發表于 2016-5-13 18:04 | 只看該作者
焊接不錯。看著真美觀
回復

使用道具 舉報

23#
ID:127457 發表于 2016-6-21 00:03 來自手機 | 只看該作者
樓主   可以發下原理圖嗎?
回復

使用道具 舉報

24#
ID:127457 發表于 2016-6-22 15:14 來自手機 | 只看該作者
樓主發一下電路圖就更好了
回復

使用道具 舉報

25#
ID:127798 發表于 2016-6-23 12:59 | 只看該作者
ok的。。
回復

使用道具 舉報

26#
ID:116662 發表于 2016-7-2 03:39 來自手機 | 只看該作者
簡單的制作,豐富的經驗,制作過程積累經驗。
回復

使用道具 舉報

27#
ID:116662 發表于 2016-8-5 11:47 來自手機 | 只看該作者
夠厲害,謝謝分享
回復

使用道具 舉報

28#
ID:167551 發表于 2017-3-12 17:44 | 只看該作者
想問樓主一個問題,頂層數碼管洞洞板上的插針怎么弄上去的,還有能給個近照么,用細銅絲怎么焊接的,我老沾不上錫
回復

使用道具 舉報

29#
ID:170147 發表于 2017-3-12 22:06 | 只看該作者
樓主電路圖發一個,謝謝啦
回復

使用道具 舉報

30#
ID:119290 發表于 2017-4-18 09:39 | 只看該作者
手工不錯!值得借鑒!
回復

使用道具 舉報

31#
ID:171111 發表于 2017-5-1 18:37 | 只看該作者
真棒 想做一個 沒看到電路圖呢
回復

使用道具 舉報

32#
ID:146089 發表于 2017-5-1 23:25 | 只看該作者
本帖最后由 ysh711 于 2017-5-1 23:35 編輯

樓主轉我QQ空間的原創也不注明,很不實誠!我在數碼之家論壇也有過發布。
把電路圖發上來的,手繪的不美觀,湊合看。有問題可以共同探討一下,我的QQ:65632752



回復

使用道具 舉報

33#
ID:187675 發表于 2017-5-15 17:29 | 只看該作者
ysh711 發表于 2017-5-1 23:25
樓主轉我QQ空間的原創也不注明,很不實誠!我在數碼之家論壇也有過發布。
把電路圖發上來的,手繪的不美觀 ...

不錯

謝謝分享
回復

使用道具 舉報

34#
ID:200820 發表于 2017-5-17 09:42 | 只看該作者
不錯,謝謝分享
回復

使用道具 舉報

35#
ID:207654 發表于 2017-6-6 15:19 來自手機 | 只看該作者
實物三極管是npn還是pnp 我也做了一個 就是實物出了問題
回復

使用道具 舉報

36#
ID:99341 發表于 2017-6-13 22:03 | 只看該作者
希望求HEX燒寫文件,發上來,或我的郵箱1984524872@QQ.com  謝謝
回復

使用道具 舉報

37#
ID:74784 發表于 2017-6-14 21:10 | 只看該作者
我做的 ~~~~~~~~~~~~

回復

使用道具 舉報

38#
ID:334693 發表于 2018-5-21 12:26 | 只看該作者
lxa0 發表于 2017-6-14 21:10
我做的 ~~~~~~~~~~~~

這個可以做串口時間同步嗎?
回復

使用道具 舉報

39#
ID:249455 發表于 2018-11-8 22:44 | 只看該作者
ysh711 發表于 2017-5-1 23:25
樓主轉我QQ空間的原創也不注明,很不實誠!我在數碼之家論壇也有過發布。
把電路圖發上來的,手繪的不美觀 ...

有沒有程序分享下啊,一個單片機的初學者,做個自己玩玩。
回復

使用道具 舉報

40#
ID:404925 發表于 2018-11-10 22:26 | 只看該作者
謝謝樓主和制作者
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美精品久久 | 亚洲一区亚洲二区 | 亚洲欧美另类在线 | 国产激情精品视频 | 欧产日产国产精品99 | 国产成人精品区一区二区不卡 | 国产成人精品一区 | 亚洲成人自拍 | 日韩欧美在线视频观看 | 色网在线看 | 国产精品一区二区不卡 | 爽爽免费视频 | 91婷婷韩国欧美一区二区 | 亚洲国产成人精品女人久久久 | 久久美女网| 亚洲精品久久久一区二区三区 | 在线观看中文字幕亚洲 | 久久精品国产一区二区三区不卡 | 一区二区三区久久 | 国产成人精品综合 | 91网站在线看 | 国产午夜三级一区二区三 | 久久久久亚洲精品 | 亚洲欧美综合精品久久成人 | chinese中国真实乱对白 | 午夜在线视频 | 国产精品色婷婷久久58 | 久久大 | 日本三级精品 | 亚洲国产片 | 精品国产免费人成在线观看 | 亚洲精品视频一区二区三区 | 日本不卡视频在线播放 | www.亚洲国产精品 | 亚洲免费视频一区二区 | 国产精品九九九 | 日韩精品无码一区二区三区 | 国产免费va | a在线观看 | 欧美乱淫视频 | 国产高清在线精品 |