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