找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

智能燈 觸摸臺燈制作資料 程序+原理圖pcb 分享給大家

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:76165 發(fā)表于 2015-7-25 13:17 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
上傳資料希望各位喜歡

程序預(yù)覽:
  1. #include<reg52.h>
  2. fanhui();
  3. duanma[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//共陽數(shù)字段碼  0-9
  4. sbit g1=P2^1;sbit g2=P2^3;sbit g3=P2^5;sbit g4=P2^7;   //位選
  5. sbit key1=P1^1;sbit key2=P1^5;sbit key3=P1^7;//按鍵
  6. sbit spek=P1^0;        //蜂鳴器
  7. sbit powr=P2^0;        //繼電器開關(guān)
  8. sbit chumo=P1^3;        //觸摸選項
  9. char sum=0,s=59,min=0,h=0,add=0;
  10. void delay()
  11. {
  12. int a,b;
  13. for(a=10;a>0;a--)
  14. for(b=50;b>0;b--);
  15. }
  16. delay1()
  17. {
  18. int a,b;
  19. for(a=50;a>0;a--)
  20. for(b=300;b>0;b--);
  21. }
  22. /////////////////////////////////////////////////////
  23. ////////////////////時間處理函數(shù)/////////////////////
  24. /////////////////////////////////////////////////////
  25. jishi()
  26. {
  27. if(s<0)
  28.         {
  29.         s=59;min--;
  30.         }
  31. if(min<0)
  32.         {
  33.         min=59;
  34.         h--;
  35.         }
  36. if(h<0)
  37.         {
  38.         h=23;
  39.         }
  40. }
  41. /////////////////////////////////////////////////////
  42. ////////////////////顯示函數(shù)/////////////////////////
  43. /////////////////////////////////////////////////////
  44. xianshi()//
  45. {
  46.         P0=duanma[h/10];////小時顯示
  47.         g1=0;
  48.         delay();
  49.         g1=1;
  50.         P0=duanma[h%10];
  51.         g2=0;
  52.         delay();
  53.         g2=1;
  54.         if(add>25)
  55.         {
  56.         P0=duanma[min/10]+0x80;/////分顯示
  57.         g3=0;
  58.         delay();
  59.         g3=1;
  60.         P0=duanma[min%10]+0x80;
  61.         g4=0;
  62.         delay();
  63.         g4=1;
  64.         }
  65.         else
  66.         {
  67.         P0=duanma[min/10];/////分顯示
  68.         g3=0;
  69.         delay();
  70.         g3=1;
  71.         P0=duanma[min%10];
  72.         g4=0;
  73.         delay();
  74.         g4=1;
  75.         }       
  76. }
  77. //////////////////////////////////////////////////////
  78. ////////////////待機(jī)程序/////////////////////////////
  79. /////////////////////////////////////////////////////
  80. daiji()
  81.         {
  82.          powr=1;
  83.          g4=g3=g2=g1=1;
  84.          delay1();delay1();delay1();delay1();delay1();
  85.          while(1)
  86.         {
  87.                 delay1();delay1();
  88.                 if(chumo==1)
  89.                 {
  90.                 delay();
  91.                 if(chumo==1)
  92.                         {
  93.                         while(chumo==1);
  94.                         spek=0;
  95.                         delay1();
  96.                         spek=1;
  97.                         sum=0,s=59,min=0,h=0,add=0;//重新對初始變量賦值
  98.                         powr=0;
  99.                         break;
  100.                         }
  101.                 }
  102.         }
  103.         fanhui();//重頭開始
  104.         }
  105. ////////////////////////////////////////////////////////
  106. //////////////////返回起始點//////////////////////////////
  107. /////////////////////////////////////////////////////
  108. fanhui()                //開始標(biāo)號
  109. {
  110. while(1)                 //預(yù)備顯示
  111.         {
  112.         g1=g2=g3=g4=0;        //顯示三條橫線(---)0xbf
  113.          P0=0xbf;
  114.         delay1();
  115.         delay1();
  116.         delay1();
  117.         delay1();
  118.         g1=g2=g3=g4=1;
  119.         delay1();
  120.         delay1();
  121.         delay1();
  122.         delay1();

  123.         if(key1==0)
  124.                 {
  125.                 spek=0;
  126.                 delay1();
  127.                 if(key1==0)
  128.                 while(key1==0);
  129.                 spek=1;
  130.                 break;
  131.                 }
  132.         if(chumo==1)        ///////檢測有無關(guān)閉指令
  133.                 {
  134.                 delay1();delay1();delay1();delay1();
  135.                 if(chumo==1)
  136.                         {
  137.                         while(chumo==1);
  138.                         spek=0;
  139.                         delay1();
  140.                         spek=1;
  141.                         daiji();
  142.                         }
  143.                 }       
  144.         }
  145. }
  146. /////////////////////////////////////////////////////
  147. ////////////////////按鍵函數(shù)/////////////////////////
  148. /////////////////////////////////////////////////////
  149. anjian()
  150. {
  151.         if(chumo==1)
  152.                 {
  153.                 delay1();delay1();
  154.                 if(chumo==1)
  155.                         {
  156.                         while(chumo==1);
  157.                         spek=0;
  158.                         delay1();
  159.                         spek=1;
  160.                         daiji();
  161.                         }
  162.                 }
  163. if(key1==0)
  164.         {
  165.         delay1();
  166.         if(key1==0)
  167.                 {
  168.                 spek=0;
  169.                 delay1();
  170.                 spek=1;
  171.                  while(key1==0);
  172.                  while(1)
  173.                         {
  174.                         P0=duanma[h/10];////小時顯示
  175.                         g1=0;
  176.                         delay();
  177.                         g1=1;
  178.                         P0=duanma[h%10];
  179.                         g2=0;
  180.                         delay();
  181.                         g2=1;
  182.                         P0=duanma[min/10]+0x80;/////分顯示
  183.                         g3=0;
  184.                         delay();
  185.                         g3=1;
  186.                         P0=duanma[min%10]+0x80;
  187.                         g4=0;
  188.                         delay();
  189.                         g4=1;
  190.                         while(add>49)
  191.                                 {
  192.                         g1=g2=g3=g4=1;
  193.                                 }
  194.                           if(key2==0)  //時調(diào)整加、、、、、、、、、
  195.                                 {
  196.                                 delay1();
  197.                                 if(key2==0)
  198.                                         {
  199.                                         spek=0;
  200.                                         delay1();
  201.                                         spek=1;
  202.                                         if(h==24)
  203.                                                 {
  204.                                                 h=0;
  205.                                                 }
  206.                                         else
  207.                                                 h++;
  208.                                         }
  209.                                 }
  210.                           if(key3==0)  //分調(diào)整加、、、、、、、、、
  211.                                 {
  212.                                 delay1();
  213.                                 if(key3==0)
  214.                                         {
  215.                                         spek=0;
  216.                                         delay1();
  217.                                         spek=1;
  218.                                         if(min==60)
  219.                                                 {
  220.                                                 min=0;
  221.                                                 }
  222.                                                 else
  223.                                                 min++;
  224.                                         }
  225.                                 }
  226.                         if(key1==0)        //調(diào)試確定并退出調(diào)試狀態(tài)
  227.                                 {
  228.                                 delay();
  229.                                 if(key1==0)
  230.                                         {
  231.                                         spek=0;
  232.                                         delay1();
  233.                                         spek=1;
  234.                                          while(key1==0);
  235.                                         break; //跳出本while語句,即本函數(shù)結(jié)束
  236.                                         }
  237.                                 }
  238.                         }
  239.                 }
  240.         }         
  241. }
  242. /////////////////////////////////////////////////////
  243. ////////////////////主函數(shù)///////////////////////////
  244. /////////////////////////////////////////////////////
  245. void main()
  246. {
  247. TMOD=0x01;
  248. TH0=(65535-20000)/255;
  249. TL0=(65535-20000)%255;
  250. EA=1;
  251. ET0=1;
  252. TR0=1;
  253. chumo=0;
  254. while(1)
  255.         {
  256.         if(chumo==1)
  257.                 {
  258.                 delay1();
  259.                 if(chumo==1)
  260.                 while(chumo==1);
  261.                 spek=0;
  262.                 delay1();
  263.                 spek=1;
  264.                 powr=0;
  265.                 break;
  266.                 }       
  267.         }
  268. fanhui(); //調(diào)用初始返回函數(shù)
  269. while(1)        //執(zhí)行主程序
  270.         {
  271.          xianshi();
  272.          anjian();
  273.          if(h==0)
  274.                  {
  275.                  if(min==0)
  276.                          {
  277.                         if(add<25)
  278.                                 {
  279.                                 g4=g3=g2=g1=1;
  280.                                 delay1();
  281.                                 delay1();
  282.                                 delay1();
  283.                                 delay1();
  284.                                 }
  285.                                 if(s==0)
  286.                                         {
  287.                                         daiji();
  288.                                         }       
  289.                     }
  290.                  }
  291.         }
  292. }
  293. /////////////////////////////////////////////////////
  294. ////////////////////秒表定時中斷服務(wù)函數(shù)/////////////
  295. /////////////////////////////////////////////////////
  296. dingshi()interrupt 1
  297. {
  298. TH0=(65535-20000)/255;
  299. TL0=(65535-20000)%255;
  300. add++;
  301. if(add==50)
  302.         {
  303.         add=0;
  304.         s--;
  305.         jishi();               
  306.         }       
  307. }
復(fù)制代碼


觸摸臺燈.rar

3.16 MB, 下載次數(shù): 339, 下載積分: 黑幣 -5

智能燈

評分

參與人數(shù) 4黑幣 +70 收起 理由
CHUJIANZ + 5 很給力!
bluecandle + 5 共享資料的黑幣獎勵!
waerdeng + 10 共享資料的黑幣獎勵!
admin + 50 共享資料的積分獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:79481 發(fā)表于 2015-7-27 09:40 | 只看該作者
這是什么?下載浪費黑筆啊
回復(fù)

使用道具 舉報

板凳
ID:63041 發(fā)表于 2015-7-30 16:53 來自手機(jī) | 只看該作者
1176658950 發(fā)表于 2015-7-27 09:40
這是什么?下載浪費黑筆啊

感謝智能燈 觸摸臺燈制作資料分享給大家
回復(fù)

使用道具 舉報

地板
ID:89591 發(fā)表于 2015-9-15 18:49 | 只看該作者
看下同,是不是我想要的
回復(fù)

使用道具 舉報

5#
ID:88707 發(fā)表于 2015-9-15 21:24 | 只看該作者
看看,應(yīng)該不錯的
回復(fù)

使用道具 舉報

6#
ID:94113 發(fā)表于 2015-10-30 21:04 | 只看該作者
很好 值得看看
回復(fù)

使用道具 舉報

7#
ID:94279 發(fā)表于 2015-11-1 11:04 | 只看該作者
太棒了。。 值得研究研究
回復(fù)

使用道具 舉報

8#
ID:87991 發(fā)表于 2015-11-3 23:17 | 只看該作者
怎么不上電實物圖
回復(fù)

使用道具 舉報

9#
ID:85941 發(fā)表于 2015-11-4 21:37 | 只看該作者
來試制作一個看看效果
回復(fù)

使用道具 舉報

10#
ID:85606 發(fā)表于 2015-12-10 16:40 | 只看該作者
樓主發(fā)帖辛苦了,謝謝分享。。。。。。。
回復(fù)

使用道具 舉報

11#
ID:99694 發(fā)表于 2015-12-23 22:11 | 只看該作者
贊,51hei有你更精彩
回復(fù)

使用道具 舉報

12#
ID:124390 發(fā)表于 2016-6-1 09:01 | 只看該作者
好好好
回復(fù)

使用道具 舉報

13#
ID:136460 發(fā)表于 2016-11-7 13:52 | 只看該作者
贊,51hei有你更精彩
回復(fù)

使用道具 舉報

14#
ID:146651 發(fā)表于 2016-11-7 16:51 | 只看該作者
怎么才能賺到黑幣呢?
回復(fù)

使用道具 舉報

15#
ID:148054 發(fā)表于 2016-11-15 15:58 | 只看該作者
2333333333
回復(fù)

使用道具 舉報

16#
ID:148472 發(fā)表于 2016-11-17 14:56 | 只看該作者
看看,應(yīng)該不錯的
回復(fù)

使用道具 舉報

17#
ID:152224 發(fā)表于 2016-12-8 22:24 | 只看該作者
很好。下次還會在來的
回復(fù)

使用道具 舉報

18#
ID:160920 發(fā)表于 2017-1-9 12:02 | 只看該作者
非常棒
回復(fù)

使用道具 舉報

19#
ID:99130 發(fā)表于 2017-1-23 15:43 | 只看該作者
你這什么啊  說好的臺燈啊  怎么看起來像是時鐘
回復(fù)

使用道具 舉報

20#
ID:99130 發(fā)表于 2017-1-23 15:44 | 只看該作者
sax_yang 發(fā)表于 2016-11-7 16:51
怎么才能賺到黑幣呢?

多分享資料 多評論 多登錄
回復(fù)

使用道具 舉報

21#
ID:104797 發(fā)表于 2017-1-24 14:16 | 只看該作者
好像不錯。有時間 做個試試
回復(fù)

使用道具 舉報

22#
ID:67722 發(fā)表于 2017-2-16 12:07 | 只看該作者
多分享資料 多評論 多登錄
回復(fù)

使用道具 舉報

23#
ID:228866 發(fā)表于 2017-8-22 21:35 | 只看該作者
多分享資料
回復(fù)

使用道具 舉報

24#
ID:102702 發(fā)表于 2017-8-23 23:05 | 只看該作者
不錯,有空仿制一個
回復(fù)

使用道具 舉報

25#
ID:89286 發(fā)表于 2017-8-24 20:17 | 只看該作者
thanks for sharing
回復(fù)

使用道具 舉報

26#
ID:136641 發(fā)表于 2017-9-30 17:26 | 只看該作者
好東西呀 可以自己DIY一個
回復(fù)

使用道具 舉報

27#
ID:237130 發(fā)表于 2017-10-3 15:36 | 只看該作者
來試制作一個看看效果
回復(fù)

使用道具 舉報

28#
ID:239416 發(fā)表于 2017-10-14 16:40 來自手機(jī) | 只看該作者
可以,感謝分享
回復(fù)

使用道具 舉報

29#
ID:240038 發(fā)表于 2017-10-16 20:36 | 只看該作者
給力666666
回復(fù)

使用道具 舉報

30#
ID:241152 發(fā)表于 2017-10-20 16:30 | 只看該作者
求原理圖,謝謝
回復(fù)

使用道具 舉報

31#
ID:167884 發(fā)表于 2017-11-18 20:14 | 只看該作者
好資料,最近正好有需求,謝謝樓主
回復(fù)

使用道具 舉報

32#
ID:249062 發(fā)表于 2017-11-20 22:24 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報

33#
ID:249545 發(fā)表于 2017-11-23 19:50 | 只看該作者
實在是不錯!!
也有別的方案:專門的臺燈觸摸IC.用起來就比較簡單.
各有所長!
回復(fù)

使用道具 舉報

34#
ID:161497 發(fā)表于 2017-12-25 19:52 | 只看該作者
很好下載下來看看
回復(fù)

使用道具 舉報

35#
ID:272625 發(fā)表于 2018-3-8 16:18 | 只看該作者
浪費黑幣,就是個按鍵開關(guān)程序加硬件觸摸電路
回復(fù)

使用道具 舉報

36#
ID:90566 發(fā)表于 2018-3-29 14:11 來自手機(jī) | 只看該作者
是非接觸型嗎?
回復(fù)

使用道具 舉報

37#
ID:916642 發(fā)表于 2021-5-6 22:16 | 只看該作者
有原理圖嗎
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表