找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1568|回復(fù): 0
收起左側(cè)

基于單片機(jī)的LCD百葉窗統(tǒng)設(shè)計(jì)

[復(fù)制鏈接]
ID:190577 發(fā)表于 2023-7-24 10:52 | 顯示全部樓層 |閱讀模式
一、系統(tǒng)方案

  本項(xiàng)目利用DS18B20傳感器、AD加光敏電阻傳感器,按鍵及對(duì)直流電機(jī)的控制實(shí)現(xiàn)智能百葉窗的控制。具體功能:LCD液晶顯示器顯示測(cè)量結(jié)果的光照強(qiáng)度和溫度,設(shè)置三個(gè)按鍵:手動(dòng)/自動(dòng)切換、手動(dòng)正轉(zhuǎn)和手動(dòng)反轉(zhuǎn),用一個(gè)發(fā)光二極管顯示手動(dòng)/自動(dòng)狀態(tài),自動(dòng)狀態(tài)時(shí)二極管亮,自動(dòng)模式下,當(dāng)光照強(qiáng)度或者溫度過高的時(shí)候關(guān)閉百葉窗,反之光強(qiáng)降低且溫度降低的時(shí)候才打開百葉窗。設(shè)置兩個(gè)極限位置保護(hù)行程開關(guān),用于保護(hù)百葉窗葉片:當(dāng)正轉(zhuǎn)到極限位置壓下行程開關(guān)時(shí),電機(jī)停止正轉(zhuǎn),但還可以反轉(zhuǎn);當(dāng)反轉(zhuǎn)到極限位置壓下行程開關(guān)時(shí),電機(jī)停止反轉(zhuǎn),但還可以正轉(zhuǎn)。
1.jpg


二、硬件設(shè)計(jì)
原理圖如下:
2.png


三、單片機(jī)軟件設(shè)計(jì)
1、首先是系統(tǒng)初始化:
//外部中斷初始化
void EX_Init()
{
  EA=1;
  IT0=1;
  EX0=1;

}
2、中斷服務(wù)程序
//中斷函數(shù)
void Int0() interrupt 0
{
  flag=~flag;  //模式變換
}

3、按鍵檢測(cè)程序
//讀取溫度
unsigned int Get_Temperature()
{        
        unsigned char *pt;                                //用來存放溫度值,測(cè)溫程序就是通過這個(gè)數(shù)組與主函數(shù)通信的
        unsigned int real_tempure;
        pt=ReadTemperature();                 //讀取溫度
        covert(pt);//轉(zhuǎn)換溫度
  //把溫度擴(kuò)大10倍避免小數(shù)運(yùn)算
   real_tempure = ((TempBuffer[2]-0x30)*10)+TempBuffer[3]-0x30;
   real_tempure =(real_tempure*10) + TempBuffer[5]-0x30;
   if(TempBuffer[1]==0x31)         //說明此時(shí)有百位
   {
             real_tempure+=1000;
   }
   if(TempBuffer[0]==0x2d)        //負(fù)溫度
   {
                real_tempure*=-1;
   }
   return real_tempure;
}
4、核心算法程序
void Control_motor()
{
        if(flag==0)        //自動(dòng)模式
        {
          xianwei1=1;
          xianwei2=1;
          LED=0;
          _nop_();
         if((Light_val<30)&&(real_tempure<200)&&(xianwei1==1)) //0-30 ,溫度小于20度
          {IN1=1;IN2=0;}                         //正傳
          else if(((Light_val>50)||(real_tempure>300))&&(xianwei2==1)) //溫度大于30度關(guān)窗簾
          {IN1=0;IN2=1;}                //反轉(zhuǎn)
          else
          {IN1=1;IN2=1;}//30-50
        }
        if(flag==1)         //手動(dòng)模式
        {
          K3=1;
          K2=1;
          xianwei1=1;
          xianwei2=1;
          LED=1;          //關(guān)指示燈
          if((K2==0)&&(xianwei1==1))   //按鍵按下
          {IN1=0;IN2=1;while(!K2);}
          if((K3==0)&&(xianwei2==1))
          {IN1=1;IN2=0;while(!K3);}
          else
          {IN1=1;IN2=1;}         //電機(jī)停止
        }
}

四、proteus仿真設(shè)計(jì)
Proteus軟件是一款應(yīng)用比較廣泛的工具,它可以在沒有硬件平臺(tái)的基礎(chǔ)上通過自身的軟件仿真出硬件平臺(tái)的運(yùn)行情況,這樣就可以通過軟件仿真來驗(yàn)證我們?cè)O(shè)計(jì)的方案有沒有問題,如果有問題,可以重新選擇器件,連接器件,直到達(dá)到我們?cè)O(shè)定的目的,避免我們搭建實(shí)物的時(shí)候,如果當(dāng)初選擇的方案有問題,我們器件都已經(jīng)焊接好了,再去卸載下去,再去焊接新的方案的器件,測(cè)試,這樣會(huì)浪費(fèi)人力和物力,也給開發(fā)者帶來一定困惑,Proteus仿真軟件就很好的解決這個(gè)問題,我們?cè)谠O(shè)計(jì)之初,就使用該軟件進(jìn)行模擬仿真,測(cè)試,選擇滿足我們?cè)O(shè)計(jì)的最優(yōu)方案。最后根據(jù)測(cè)試沒問題的仿真圖紙,焊接實(shí)物,調(diào)試,最終完成本設(shè)計(jì)的作品。
3.png


評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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