找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機(jī)自動澆花系統(tǒng)程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:141327 發(fā)表于 2016-10-4 23:02 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
//程序頭函數(shù)
#include<reg52.h>
//宏定義
#define uintunsigned int
#define ucharunsigned char
#defineData_ADC0809 P1
//管腳聲明
sbit Feng =P3^0;
//ADC0809
sbit ST=P3^3;
sbit EOC=P3^4;
sbit OE=P3^2;
//按鍵
sbit Key1=P3^5;
sbit Key2=P3^6;
sbit Key3=P3^7;
//顯示數(shù)組        0-9+F
ucharData_[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x71,0x3f};
sbit Wei1 =P2^7;
sbit Wei2 =P2^6;
sbit Wei3 =P2^5;
sbit Wei4 =P2^4;
//函數(shù)聲明
extern ucharADC0809();
voidDisplay(uchar X,uchar Data);
void delay(uintt);
//干燥度變量
uchar temp=0;
//警界值變量
uchar FF=125;
//顯示模式
uchar Mode=0;
uchar p;
void main()
{
      while(1)
      {
           //正常模式
           if(Mode==0)
           {
                 //讀取AD值
                 temp=ADC0809();
                 for(p=0;p<30;p++)
                 Display(0,temp);
                 //判斷是否報警
                 if(temp>FF)
                 {
                      Feng=0;
                 }
                 else
                 {
                      Feng=1;
                 }
           }
           //調(diào)整模式
           else
           {
                 Display(1,FF);
           }
           //功能鍵
           if(Key3==0)
           {
                 Feng=0;
                 delay(100);
                 while(Key3==0)
                 {
                      if(Mode==0)
                            Display(0,temp);     
                      else
                            Display(1,FF);                                                
                 }
                 if(Mode==0)
                      Mode=1;
                 else
                      Mode=0;
                 Feng=1;
           }
           //增加
           if(Key2==0&&Mode==1)
           {
                 Feng=0;
                 delay(100);
                 while(Key2==0)
                 {
                            Display(1,FF);                          
                 }
                 FF++;
                 if(FF==251)
                      FF=250;      
                 Feng=1;
           }
           //減少
           if(Key1==0&&Mode==1)
           {
                 Feng=0;
                 delay(100);
                 while(Key1==0)
                 {
                            Display(1,FF);                          
                 }
                 FF--;
                 if(FF==0xff)
                      FF=0;   
                 Feng=1;
           }
      }
}
//ADC0809讀取信息
uchar ADC0809()
{
      uchar temp_=0x00;
      //初始化高阻太
      OE=0;
      //轉(zhuǎn)化初始化
      ST=0;
      //開始轉(zhuǎn)換
      ST=1;
      ST=0;
      //外部中斷等待AD轉(zhuǎn)換結(jié)束
      while(EOC==0)
      //讀取轉(zhuǎn)換的AD值
      OE=1;
      temp_=Data_ADC0809;
      OE=0;
      return temp_;
}
//延時
void delay(uintt)
{
      uint i,j;
      for(i=0;i<t;i++)
           for(j=0;j<10;j++);
}
//顯示      X表示狀態(tài)     Data表示數(shù)據(jù)
voidDisplay(uchar X,uchar Data)
{
      Wei1=1;
      Wei2=1;
      Wei3=1;
      Wei4=1;
      P0=0xff;
      //正常模式
      if(X==0)
      {
           P0=~Data_[11];
      }
      //非正常
      else
      {
           P0=~Data_[10];
      }
      Wei1=0;
      Wei2=1;
      Wei3=1;
      Wei4=1;
      delay(10);
      Wei1=1;
      Wei2=1;
      Wei3=1;
      Wei4=1;
      P0=~Data_[Data/100];
      Wei1=1;
      Wei2=0;
      Wei3=1;
      Wei4=1;
      delay(10);
      Wei1=1;
      Wei2=1;
      Wei3=1;
      Wei4=1;
      P0=~Data_[Data/10%10];
      Wei1=1;
      Wei2=1;
      Wei3=0;
      Wei4=1;
      delay(10);
      Wei1=1;
      Wei2=1;
      Wei3=1;
      Wei4=1;
      P0=~Data_[Data%10];
      Wei1=1;
      Wei2=1;
      Wei3=1;
      Wei4=0;
      delay(10);
      Wei1=1;
      Wei2=1;
      Wei3=1;
      Wei4=1;
}

評分

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

查看全部評分

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

相關(guān)帖子

回復(fù)

使用道具 舉報

沙發(fā)
ID:191831 發(fā)表于 2017-5-14 22:40 | 只看該作者
你這程序不完整吧,怎么不行
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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