找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 3095|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

51單片機簡易樓道燈電費計價系統(tǒng)仿真程序流程圖設(shè)計

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:449880 發(fā)表于 2019-7-5 15:15 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
城市居民樓內(nèi)一般安裝有樓道燈,方便夜間居民上下樓,其工作特點是人來燈亮,人走燈滅。以熱釋電型樓道燈為例,其基本工作原理是:熱釋電傳感器能檢測人體是否進入感應(yīng)范圍,當人體未進入感應(yīng)范圍,即離樓道燈還有一定距離時,傳感器輸出低電平;當人體進入感應(yīng)范圍,即靠近樓道燈時,傳感器輸出高電平。根據(jù)傳感器的輸出,單片機可決定是否點亮樓道燈。由于樓道燈屬本單元全體居民共用,為便于電費結(jié)算,現(xiàn)要求設(shè)計一套簡易樓道燈電費計價系統(tǒng),系統(tǒng)能自動計算樓道燈在一個月內(nèi)的總點亮時間,并據(jù)此計算出應(yīng)繳電費額度。

系統(tǒng)由電源電路、熱釋電傳感器、單片機、按鍵以及顯示器組成,樓道燈供電為220市電,功率2kW(實際燈泡功率一般不會這么大。考慮到實驗演示時間有限,故假設(shè)此燈泡功率為該值)。其中電源采用5V,熱釋電傳感器的輸出采用按鍵按下與否進行模擬,單片機采用51,顯示器采用4位數(shù)碼管,電價按5.86元/千瓦時(實際電價一般為0.58。考慮到實驗演示時間有限,故假設(shè)電價為該值),要求電費計算精度精確到0.01元。用戶可用按鍵查詢本月樓道燈總點亮時間(精度0.01小時),以及本月總電費。

三.   實驗?zāi)康?br /> 理解、掌握51單片機I/O口高級應(yīng)用、定時器、中斷、繼電器、按鍵及數(shù)碼管的綜合應(yīng)用

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


單片機程序流程圖:


單片機源程序如下:
  1. #include <reg52.h>
  2. #define SEG P2
  3. sbit LED = P0^0;
  4. sbit K1 = P0^1;
  5. sbit K2 =P3^2;
  6. char code TAB[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  7. char ando[4]={0,0,0,0};
  8. int Q=0,i=0,j=0,z=0,n=0;
  9. char scan,M=0,T=0;
  10. float k=0;
  11. void show(int);
  12. void delay1(unsigned int x)
  13. {
  14.    unsigned int w,i;
  15.          for(i=0;i<x;i++)
  16.          for(w=0;w<120;w++);
  17. }        

  18. void main()
  19. {   IE = 0x8b;          //T1\T0\INT0        中斷允許
  20.     TCON|=0x01;                          //負邊沿觸發(fā)                        
  21.         TMOD|=0x01;                          //T0mode1                          有1置1
  22.         TMOD&=0xf1;                                                                        //有0置0
  23.         TH0=(65635-50000)/256;                                  //設(shè)置計數(shù)值
  24.         TL0=(65635-50000)%256;
  25.         P0=0xff;
  26.         P2=0xff;     //初始化
  27.         while(1)
  28.         {
  29.         if(K1==1)
  30.           { TR0=1;
  31.             LED=0;
  32.        }
  33. //           else
  34. //           {TR0=0;
  35. //            LED=1;
  36. //           }
  37.          if(z==1)
  38.            {j=k*586/60/30;
  39.             show(j);}
  40.           if(z==2)
  41.           {        j=k*100/3600;
  42.           show(j);
  43.           }
  44.         if(j==9999) k=0; //若數(shù)碼管顯示達上限,清零重新計算
  45.         }
  46. }

  47. void show(int x)                                                  //顯示函數(shù)
  48. {          ando[0]=x/1000;
  49.             ando[1]=x/100%10;
  50.           ando[2]=x%100/10;
  51.           ando[3]=x%10;
  52.       scan=1;                                                //設(shè)置掃描初值
  53.       for(i=0;i<4;i++)                           //掃描四次
  54.           {
  55.           if(i==1)                                                 //第二位掃描時數(shù)字+小數(shù)點
  56.           P2=(TAB[ando[i]])&0x7f;
  57.           else
  58.           P2=TAB[ando[i]];
  59.       P1=scan;                                                  //輸出掃描信號
  60.           delay1(10);
  61.           P2=0xff;                                          //消隱
  62.       scan<<=1;}                                         //掃描信號左移一位
  63. }


  64. void timer0(void) interrupt 1
  65. { TH0=(65635-50000)/256;                                         //重置計數(shù)值
  66.         TL0=(65635-50000)%256;                                         //低8位
  67.         if(++Q==20)                                                                //定時達1秒
  68.         { Q=0;
  69.           k++;
  70.           n++;
  71.      }
  72.   if(n==36)                                                                //定時達36秒
  73.         { n=0;
  74.           TR0=0;
  75.           LED=1;
  76.      }
  77.         

  78. }
  79. void my_int0(void) interrupt 0                          //外部中斷
  80. {        if(++z==4)
  81.    z=1;   
  82. }
復(fù)制代碼

所有資料51hei提供下載(仿真工程):
單片機設(shè)計.7z (31.99 KB, 下載次數(shù): 22)


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

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

本版積分規(guī)則

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

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

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