標(biāo)題: 51單片機(jī)智能路燈源碼與仿真設(shè)計(jì) [打印本頁]

作者: RITSU    時(shí)間: 2018-6-28 13:03
標(biāo)題: 51單片機(jī)智能路燈源碼與仿真設(shè)計(jì)
51單片機(jī)智能路燈設(shè)計(jì)圖上有說明程序分模塊寫的。
模式1設(shè)置時(shí)間的時(shí)
模式2設(shè)置時(shí)間的分
模式3設(shè)置時(shí)間的秒
模式4設(shè)置光敏值要求光照達(dá)到一定程度才會亮燈
晚上時(shí)間無論設(shè)置多少的值都是常亮
現(xiàn)在時(shí)間設(shè)置為19點(diǎn)自動亮到凌晨6點(diǎn)自動關(guān)閉如設(shè)置光敏值低于白天亮度時(shí)可以亮路燈等
自己摸索程序欠佳修改動手能力強(qiáng)的可以自行修改

智能路燈仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. #include"key.h"
  2. #include"lcd.h"
  3. #include"com.h"
  4. #include"iic.h"
  5. #include"display.h"
  6. #include"interaction.h"
  7. #include"check.h"

  8. int vol;                                                                                     //光感度
  9. int sec,min,hou;                                                                 //時(shí)鐘:時(shí)、分、秒(全局變量)
  10. int warnh_Hh=6;                                                                         //常滅時(shí)間段結(jié)束時(shí)間時(shí)針(全局變量,默認(rèn)值為6)
  11. int warnh_Hm=0;                                                                         //常滅時(shí)間段結(jié)束時(shí)間分針(全局變量,默認(rèn)值為0)
  12. int warnh_Lh=18;                                                                 //常滅時(shí)間段開始時(shí)間時(shí)針(全局變量,默認(rèn)值為18)
  13. int warnh_Lm=30;                                                                 //常滅時(shí)間段開始時(shí)間時(shí)針(全局變量,默認(rèn)值為30)
  14. extern int ms;                                                                         //切換界面控制變量(外部變量聲明)


  15. void main()
  16. {
  17. uchar voldata;                                                                    //用來接收AD值的中間變量
  18. int0intal();                                                                //定時(shí)計(jì)數(shù)器中斷初始化
  19. lcdintal();                                                                    //lcd初始化
  20.          

  21. while(1)                                                                            //主循環(huán)
  22. {         void key();
  23.     fmq=0;                                                                            //避免蜂鳴器因上拉電阻響
  24.         voldata = iic_readvoldata();                                //接收iic總線輸出數(shù)據(jù)
  25.     vol = 1000-voldata*5/25.5*20;                                //將iic總線輸出數(shù)據(jù)轉(zhuǎn)換成百分比形式的數(shù)值(精確到0.1%)

  26.     key();                                                                                //調(diào)用按鍵函數(shù)(控制界面切換、選擇及改變控制數(shù)值)
  27.    if(ms==0) dpy_T(sec,min,hou);                                //切換界面控制變量=0:界面a
  28.      else if(ms==1) dpy_TW();                                        //切換界面控制變量=1:界面b
  29.           else if(ms==2) display();                                        //切換界面控制變量=2:界面c
  30.            else if(ms==3) display_yhf();                        //切換界面控制變量=3:界面d

  31.    //如果當(dāng)前時(shí)間在常滅時(shí)間段內(nèi)
  32.    if((hou>=warnh_Hh) && (min>=warnh_Hm) && (hou<=warnh_Lh) && (min<=warnh_Lm))
  33.    check_L();                                                                    //調(diào)用路燈最高點(diǎn)亮值檢測函數(shù)
  34.    else                                                                                 //否則(當(dāng)前時(shí)間在常滅時(shí)間段外)
  35.      {
  36.            LED1=0;                                                                         //路燈常量
  37.          }                                                         
  38. }
  39. }
復(fù)制代碼

所有資料51hei提供下載:
智能路燈控制系統(tǒng).rar (319.85 KB, 下載次數(shù): 288)



作者: hi光光    時(shí)間: 2018-10-25 16:41
這里面9個(gè)警告都是沒什么影響嗎
作者: 飛翔~哆啦    時(shí)間: 2019-2-27 10:50
光敏電阻是哪一個(gè)
作者: jtyhvgc    時(shí)間: 2019-2-27 12:37
贊一個(gè)
作者: 元亨利貞    時(shí)間: 2019-12-5 00:14
問一下這個(gè)語句vol = 1000-voldata*5/25.5*20;                                //將iic總線輸出數(shù)據(jù)轉(zhuǎn)換成百分比形式的數(shù)值(精確到0.1%)是怎么得來的
作者: l1446889421    時(shí)間: 2020-4-2 21:45
正好在學(xué)習(xí)
作者: zjxqdx    時(shí)間: 2022-4-3 10:21
為什么沒有添加時(shí)鐘芯片




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1