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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

自己手工制作的單片機時鐘器 內附程序+電路

[復制鏈接]
跳轉到指定樓層
樓主
制作出來的實物圖如下:


單片機源程序如下:
  1. #include "stc15w408as.h"
  2. #include "delay.h"
  3. #include "74ls595.h"


  4. sbit key= P3^2;  // 定義按鍵入口  時間的時選擇位
  5. signed char key_mode = 0;
  6. unsigned char flag = 0;  //定義一個按鈕標志位1
  7. sbit key1= P3^3;  // 定義按鍵入口  時間的分選擇
  8. signed char key_mode1 = 0;
  9. unsigned char flag1 = 0;  //定義一個按鈕標志位2
  10. sbit LED=P1^1;  //定義秒鐘狀態led
  11. unsigned char idata T1[3]={0x03,0x9F,0x25};//時十
  12. unsigned char idata T2[10]={0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01,0x09};//時個
  13. unsigned char idata T3[6]={0x03,0x9F,0x25,0x0D,0x99,0x49};//分十
  14. unsigned char idata T4[10]={0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01,0x09};//分個
  15. unsigned char hour1,hour2,hour3,hour4;
  16. unsigned long count,count1;
  17. unsigned char temp1=0,temp2=0;
  18. /*  定時器0的配置**************************************/
  19. void Timer0Init()                //定時50ms出發一次中斷
  20. {
  21.         AUXR &= 0x7F;               
  22.         TMOD &= 0xF0;               
  23.         TL0 = 0x00;               
  24.         TH0 = 0x4C;               
  25.         //TF0 = 0;               
  26.         TR0 = 1;               
  27.         ET0=1;
  28.         EA=1;
  29. }

  30. void TIMER0()  interrupt 1
  31. {
  32.         if(temp1==0&&temp2==0)
  33.         {
  34.          count1++;
  35.         if(count1==20){count1=0;count=count+1;LED=~LED;}
  36.         if(count==60){count=0;hour4=hour4+1;} //分個位
  37.   if(hour4>9){hour4=0;hour3=hour3+1;}  //分十位
  38.   if(hour3>5){hour3=0;hour2=hour2+1;} //時個位
  39.   
  40.    if(hour1<2)
  41.          {
  42.     if(hour2>9){hour2=0;hour1=hour1+1;}//時十位
  43.          }
  44.          if(hour1==2)
  45.          {
  46.   if((hour2>3)){hour1=0;hour2=0;hour3=0;hour4=0;}
  47. }


  48.     }
  49.         else
  50.         {
  51.    if(temp1==1){hour2=hour2+1;temp1=0;}
  52.          if(temp2==1){hour4=hour4+1;temp2=0;}
  53.         }               

  54. }        



  55. void KeyInit0()  interrupt 0           //外部中斷0入口,時調節
  56. {

  57.    
  58.         
  59.     if(!key)                 
  60.     {
  61.           DelayMs(60);  //延時20ms
  62.           if(key==0&&flag==0)
  63.             {
  64.                   DelayMs(10);
  65.                   flag=1;
  66.                   }
  67.                 while(!key);
  68.        }

  69.          if(key==1&&flag==1)
  70.            {
  71.               DelayMs(60);
  72.              flag=0;
  73.                   temp1=temp1+1;
  74.                  }
  75.          

  76.    
  77.                  
  78.          }                 

  79. void KeyInit1()  interrupt 2           //外部中斷2入口,分調節
  80. {

  81.    
  82.         
  83.     if(!key1)                 
  84.     {
  85.           DelayMs(60);  //延時20ms
  86.           if(key1==0&&flag1==0)
  87.             {
  88.                   DelayMs(10);
  89.                   flag1=1;
  90.                   }
  91.                 while(!key1);
  92.        }

  93.          if(key1==1&&flag1==1)
  94.            {
  95.               DelayMs(60);
  96.              flag1=0;
  97.                  temp2=temp2+1;
  98.                  }
  99.          

  100.    
  101.                  
  102.          }                 
  103.         

  104. void main()
  105.         {
  106.                 Timer0Init()        ;
  107.                
  108.          LED=1;
  109.                
  110.                
  111.                  //配置外部中斷1和0
  112.            
  113.                 IT0=1;
  114.                 EX0=1;
  115.                 IT1=1;
  116.                 EX1=1;
  117.                 EA = 1;
  118.                
  119.                  while(1)
  120.                  {
  121.       
  122.                         
  123.                         
  124.                         if(hour1==0)  //當時間的十分位為0不顯示
  125.                         {
  126.                           WR_595(T4[hour4]);
  127.                           WR_595(T3[hour3]);
  128.                           WR_595(T2[hour2]);
  129.                           WR_595(0xff);
  130.                                 OUT_595();
  131.                         }
  132.                         else   //當時間的十分位位1顯示
  133.                                 {
  134.                                 WR_595(T4[hour4]);
  135.                           WR_595(T3[hour3]);
  136.                           WR_595(T2[hour2]);
  137.                           WR_595(T1[hour1]);
  138.                                 OUT_595();
  139.                                        
  140.                                        
  141.          }  
  142.                         
  143.                         
  144.                          }


  145.                         
  146.                  


  147.          }                 
復制代碼

所有資料51hei提供下載:
Sheet5.pdf (52.44 KB, 下載次數: 15)
時鐘器.rar (642.99 KB, 下載次數: 8)
時鐘.rar (701.55 KB, 下載次數: 7)


評分

參與人數 2黑幣 +120 收起 理由
NMT1999 + 30
admin + 90 贊一個!

查看全部評分

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

使用道具 舉報

沙發
ID:137349 發表于 2019-3-20 23:19 | 只看該作者
贊一個 辛苦了
回復

使用道具 舉報

板凳
ID:444932 發表于 2019-3-21 09:06 | 只看該作者
不容易啊,看著好看
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜国产羞羞视频免费网站 | 91精品久久久久 | 91福利在线观看 | 欧洲亚洲精品久久久久 | 欧美一级电影免费 | 久久久久久99 | 欧美一级一 | 中文字幕高清免费日韩视频在线 | 理论片87福利理论电影 | 久久久国产精品一区 | 四虎国产 | 一二三四在线视频观看社区 | 欧美视频免费在线 | 九九99精品 | 亚洲免费大片 | 99这里只有精品 | 久久久婷婷 | 一级欧美一级日韩片免费观看 | 日韩一区二区三区在线视频 | 免费的日批视频 | 亚洲国产日本 | 久久一区二区三区四区 | 91亚洲国产亚洲国产 | 国产成人在线视频播放 | 亚洲精品自拍 | 黄a免费网络 | 性视频网| 特级黄色毛片 | 久久久毛片 | 欧美精品成人 | 欧美精品啪啪 | 亚洲国产精品99久久久久久久久 | 精品久久久久久亚洲综合网 | 国产一区二区三区色淫影院 | 色视频在线播放 | 91视视频在线观看入口直接观看 | 亚洲日韩中文字幕一区 | 午夜小电影 | 国产一区二区在线免费播放 | 国产精品视频一区二区三区 | 亚洲天堂男人的天堂 |