仿真圖proteus8.9及以上
程序編譯器:keil 4/keil 5
編程語言:C語言
設(shè)計編號:S0084
1. 主要功能:
1、系統(tǒng)分為自動模式和手動模式,通過按鍵切換模式;
2、自動模式下檢測光照和溫度,如果溫度高于25則打開窗簾通風(fēng);
3、電機順時針轉(zhuǎn)動是正轉(zhuǎn)開窗簾,逆時針轉(zhuǎn)動是反轉(zhuǎn)關(guān)窗簾;
4、溫度低于25則根據(jù)光線判斷,如果光線強度低于30打開窗簾,光線強度高于60關(guān)閉窗簾;
5、手動模式下通過2個按鍵控制窗簾開啟和關(guān)閉;
6、設(shè)置一個停止鍵,用于停止窗簾動作;
需注意仿真中51單片機芯片是兼容的,AT89C51,AT89C52是51單片機的具體型號,內(nèi)核是一樣的。相同的原理圖里,無論stc還是at都一樣,引腳功能都是一樣的,程序是兼容的,芯片可以替換為STC89C52/STC89C51/AT89C52/AT89C51等51單片機芯片。
2. 講解視頻:
講解視頻包含仿真運行講解和代碼講解
3. 仿真設(shè)計
打開仿真工程,雙擊proteus中的單片機,選擇hex文件路徑,然后開始仿真。開始仿真后LCD1602顯示溫濕度和光照強度。
開機默認(rèn)是自動模式,自動模式指示燈點亮??梢酝ㄟ^按鍵切換自動/手動模式。手動模式下可以通過按鍵切換開/關(guān)窗簾。
如果光照強度大于閾值,說明自然光足夠亮,不需要開窗簾。當(dāng)光線強度超過60lux時,窗簾關(guān)閉以保持室內(nèi)適宜亮度;當(dāng)光線強度低于30(假設(shè)單位為lux)時,窗簾自動開啟以便充分利用自然光照明。
4. 程序代碼
使用keil4或者keil5編譯,代碼有注釋,可以結(jié)合視頻理解代碼含義。
溫濕度模塊代碼
#include "DHT11.h"
unsigned char dht11_dat[5];//濕度高低+溫度高低+和校驗
void delay1ms(unsigned int i) //延時函數(shù)
{
unsigned char j;
while(i--)
{
for(j=0;j<110;j++);
}
}
void dht11_recive()//接收
{
unsigned char j,k,m;
unsigned int i;
SDA=0;
delay1ms(30);//開始信號20ms
SDA=1;
for(i=0;i<1000;i++)//等待響應(yīng)
{
if(!SDA)
break;
}
if(i==1000)
{
SDA=1;
return;//如果沒有響應(yīng),返回
}
for(i=0;i<1000;i++)//等待響應(yīng)結(jié)束
{
if(SDA)
break;
}
if(i==1000)
{
SDA=1;
return;//如果響應(yīng)超時,返回
}
for(i=0;i<1000;i++)//等待開始
{
if(!SDA)
break;
}
if(i==1000)
{
SDA=1;
return;//如果沒有響應(yīng),返回
}
for(k=0;k<5;k++) //接收5個數(shù)據(jù)
{
for(j=0;j<8;j++)//接收8位
{
m<<=1;
//===========================
for(i=0;i<1000;i++)//等待0信號結(jié)束
{
if(SDA)
break;
}
if(i==1000)
{
SDA=1;
return;//如果超時,返回
}
//===========================
for(i=0;i<1000;i++)//等待開始信號
{
if(!SDA)
break;
}
if(i==1000)
{
SDA=1;
return;//如果超時,返回
}
if(i<5)
m++;
}
dht11_dat[k]=~m;
}
delay1ms(1);
}
mian.c代碼
#include<reg51.h>
#include "DHT11.h"
#include "lcd1602.h"
#include "ADC0832.h"
完整代碼見文章后面下載鏈接
sbit AA=P1^0;//電機
sbit BB=P1^1;
sbit CC=P1^2;
sbit DD=P1^3;
sbit test=P3^6;
sbit k1=P3^0;//切換
sbit k2=P3^1;//正轉(zhuǎn)
sbit k3=P3^2;//反轉(zhuǎn)
sbit k4=P3^3;//停止
sbit led=P3^7; //手動模式指示燈
sbit led1=P3^6; //自動模式指示燈
uchar time=0;
uchar wen=0,shi=0,guang=0;//溫度濕度光照
uchar xian1[]="wen=00C shi=50%"; //溫度濕度顯示
uchar xian2[]="light=0000Lux";//光照
uchar mode=0,flag=0;
uchar start=1;//開始
uchar endflag=0;//停止
void delay(uint i)
{
while(i--)
{
// key_scan();
}
}
//開窗
void open()
{
uchar i;
for(i=0;i<10;i++)
{
BB=1;delay(1000);//正轉(zhuǎn)
AA=0;delay(10000);
CC=1;delay(10000);
BB=0;delay(10000);
DD=1;delay(10000);
CC=0;delay(10000);
AA=1;delay(10000);
DD=0;delay(10000);
if(!k4)
break;
}
flag=1;
}
//關(guān)窗
void close()
{
uchar i;
for(i=0;i<10;i++)
{
DD=1;delay(10000);//反轉(zhuǎn)
AA=0;delay(10000);
CC=1;delay(10000);
DD=0;delay(10000);
BB=1;delay(10000);
CC=0;delay(10000);
AA=1;delay(10000);
BB=0;delay(10000);
if(!k4)
break;
}
flag=0;
}
//主函數(shù)
void main()
{
TMOD|=0X01;//定時器設(shè)置
TH0=0X3C;
TL0=0XB0;
ET0=1;
EA=1;
TR0=1;
init_1602();
AA=1;
BB=0;
CC=0;
DD=0;
if(mode) //點亮模式指示LED
{
led=0;
}else {
led1=0;
}
while(1)
{
if(!k1)//模式切換
{
delay(1000);//防抖
if(!k1)
{
mode=!mode;
if(mode) //點亮LED
{
led=0;
led1=1;
}
else
{
led=1;
led1=0;
}
start=1;
while(!k1);
}
}
if(start)//啟動檢測
{
if(mode==0)//自動模式
{
if(wen<25)//溫度小于25
{
if((guang<30)&&(flag==0))
{
open();//開窗
}
if((guang>60)&&(flag==1))
{
close();//關(guān)窗
}
}
else//溫度高于25,正轉(zhuǎn)
{
//正轉(zhuǎn)
if(flag==0)
open();
}
}
else //手動模式
{
if(!k3)
{
//反轉(zhuǎn)
close();
}
if(!k2)
{
//正轉(zhuǎn)
open();
}
}
}
}
}
void Timer0() interrupt 1
{
if(time<10)
time++;
else
{
time=0;
dht11_recive();//讀取溫濕度.
wen=dht11_dat[2];
shi=dht11_dat[0];
guang=ADC();//讀取光照
xian1[4]=wen/10+0x30;
xian1[5]=wen%10+0x30;
xian1[13]=shi/10+0x30;
xian1[14]=shi%10+0x30;
xian2[7]=guang/100+0x30;
xian2[8]=guang%100/10+0x30;
xian2[9]=guang%10+0x30;
write_string(1,0,xian1);//顯示
write_string(2,0,xian2);
}
TH0=0X3C;
TL0=0XB0;
}
5. 設(shè)計報告
8104字設(shè)計報告,內(nèi)容包括硬件設(shè)計、軟件設(shè)計、軟硬件框圖、調(diào)試等
隨著現(xiàn)代科技的飛速進(jìn)步和物聯(lián)網(wǎng)技術(shù)的廣泛應(yīng)用,智能家居已經(jīng)成為未來生活的重要趨勢之一。在這一背景下,智能窗簾作為智能家居系統(tǒng)中的關(guān)鍵一環(huán),不僅極大地提升了家居生活的便捷性和舒適度,而且對于實現(xiàn)節(jié)能環(huán)保、優(yōu)化室內(nèi)環(huán)境品質(zhì)具有不可忽視的意義。智能窗簾可以根據(jù)外界環(huán)境的變化自動調(diào)節(jié)開閉狀態(tài),有效控制室內(nèi)光照強度和溫度,從而降低空調(diào)和照明設(shè)備的能耗,營造出更為宜人的居住環(huán)境。
本課程設(shè)計項目正是針對這一領(lǐng)域的需求,以51系列單片機為核心控制器,借助功能強大的Proteus仿真平臺進(jìn)行設(shè)計與模擬實現(xiàn)。我們計劃開發(fā)一款具備雙模式切換功能的智能窗簾控制系統(tǒng),該系統(tǒng)能夠靈活地在自動模式和手動模式之間切換,以適應(yīng)用戶在不同場景下的使用需求。
6. 原理圖
AD格式原理圖。
7. 設(shè)計資料內(nèi)容清單
資料設(shè)計資料包括仿真,程序代碼、講解視頻、功能要求、設(shè)計報告、軟硬件設(shè)計框圖等。
0、常見使用問題及解決方法–必讀?。。?!
1、程序
2、proteus仿真
3、功能要求
4、軟硬件流程圖
5、開題報告
6、設(shè)計報告
7、原理圖
8、講解視頻
Altium Designer 安裝破解
KEIL+proteus 單片機仿真設(shè)計教程
KEIL安裝破解
Proteus元器件查找
Proteus安裝
Proteus簡易使用教程
單片機學(xué)習(xí)資料
相關(guān)數(shù)據(jù)手冊
答辯技巧
設(shè)計報告常用描述
鼠標(biāo)雙擊打開查找嘉盛單片機51 STM32單片機課程畢業(yè)設(shè)計.url
資料下載鏈接:
https://docs.qq.com/doc/DS1VnVFJLRWFReGZ6