仿真圖proteus7.8及以上
程序編譯器:keil 4/keil 5
編程語(yǔ)言:C語(yǔ)言
設(shè)計(jì)編號(hào):S0042
講解視頻
基于51單片機(jī)的智能電風(fēng)扇控制系統(tǒng)proteus仿真設(shè)計(jì)
1.主要功能:
運(yùn)用所學(xué)知識(shí),制作一個(gè) 51單片機(jī)智能電風(fēng)扇控制系統(tǒng)仿真設(shè)計(jì)
(1)3個(gè)獨(dú)立按鍵分別控制“自然風(fēng)”、“睡眠風(fēng)”、“常風(fēng)”,(三者的區(qū)別是直流電機(jī)的停歇時(shí)間不同),并3個(gè)LED顯示出區(qū)別。
(2)每種類(lèi)型風(fēng)可以根據(jù)按下獨(dú)立按鍵次數(shù)分為4個(gè)檔的風(fēng)力調(diào)節(jié),并在數(shù)顯管上顯示1,2,3,4。
(3)設(shè)計(jì)風(fēng)扇的過(guò)熱保護(hù),外接一個(gè)撥碼開(kāi)關(guān)模擬過(guò)熱信號(hào)產(chǎn)生,當(dāng)撥碼開(kāi)關(guān)斷開(kāi)時(shí)單片機(jī)采集到不穩(wěn)態(tài),風(fēng)扇停止;當(dāng)撥碼開(kāi)關(guān)閉合時(shí),風(fēng)扇繼續(xù)運(yùn)轉(zhuǎn)。
(4)具有室內(nèi)溫度檢測(cè)顯示功能。
具體電路實(shí)現(xiàn):
1.四位數(shù)碼管顯示室內(nèi)溫度和風(fēng)扇檔位,前三位顯示溫度,后一位顯示風(fēng)扇檔位。
2.使用DS18B20檢測(cè)溫度數(shù)據(jù),接到單片機(jī)的P3.3口
3.自然風(fēng),睡眠風(fēng),常風(fēng)檔位通過(guò)三個(gè)LED燈顯示,分別接到P0.0,P0.1,P0.2
4.過(guò)熱保護(hù)裝置通過(guò)撥碼開(kāi)關(guān)模擬,撥碼開(kāi)關(guān)閉合,單片機(jī)P0.3口接地,引腳電位拉低。撥碼開(kāi)關(guān)打開(kāi),引腳電位不確定,單片機(jī)檢測(cè)不到低電位默認(rèn)不過(guò)熱。
5.通過(guò)L298控制直流電機(jī),仿真使用示波器顯示脈沖寬度調(diào)制PWM,占空比越大,風(fēng)扇轉(zhuǎn)動(dòng)越快。
6.四個(gè)按鍵控制自然風(fēng),睡眠風(fēng),常風(fēng)和風(fēng)扇停止。按下按鍵可以完成對(duì)自然風(fēng),睡眠風(fēng),常風(fēng)模式4個(gè)檔的風(fēng)力調(diào)節(jié)
需注意仿真中51單片機(jī)芯片是通用的,AT89C51,AT89C52都是51單片機(jī)的具體型號(hào),內(nèi)核是兼容的。無(wú)論stc還是at都一樣,引腳功能都是一樣的,程序也是一樣的,芯片可以替換為STC89C52/STC89C51/AT89C52/AT89C51等51單片機(jī)芯片。
以下為本設(shè)計(jì)資料展示圖:
2.仿真
開(kāi)始仿真
打開(kāi)仿真工程,雙擊proteus中的單片機(jī),選擇hex文件路徑,然后開(kāi)始仿真。開(kāi)始仿真夠風(fēng)扇不轉(zhuǎn)動(dòng),需要按下檔位按鍵才工作。
風(fēng)扇轉(zhuǎn)動(dòng)的1檔最大轉(zhuǎn)速14.5,第二檔轉(zhuǎn)速最大轉(zhuǎn)速28.5,第三檔最大轉(zhuǎn)速41.5,第四檔最大轉(zhuǎn)速55.6。下面是各模式在4檔的仿真結(jié)果。
自然風(fēng)4檔,溫度31度,風(fēng)扇轉(zhuǎn)動(dòng)的最高轉(zhuǎn)速是+55.6,轉(zhuǎn)動(dòng)間隔時(shí)間0.2秒,自然風(fēng)指示燈點(diǎn)亮,數(shù)碼管前三位顯示溫度31,后一位顯示風(fēng)扇檔位4。
睡眠風(fēng)4檔,溫度31度,風(fēng)扇轉(zhuǎn)動(dòng)的最高轉(zhuǎn)速是+55.6,轉(zhuǎn)動(dòng)間隔時(shí)間0.8秒,睡眠風(fēng)指示燈點(diǎn)亮,數(shù)碼管前三位顯示溫度31,后一位顯示風(fēng)扇檔位4。
常風(fēng)4檔,溫度31度,風(fēng)扇轉(zhuǎn)動(dòng)的最高轉(zhuǎn)速是+55.6,轉(zhuǎn)動(dòng)間隔時(shí)間0.3秒,常風(fēng)指示燈點(diǎn)亮,數(shù)碼管前三位顯示溫度31,后一位顯示風(fēng)扇檔位4。
過(guò)熱保護(hù)
任何檔位或者模式下,撥碼開(kāi)關(guān)斷開(kāi),過(guò)熱保護(hù)模式啟動(dòng),風(fēng)扇停止轉(zhuǎn)動(dòng)。
3. 原理圖
元件 型號(hào) 數(shù)量
單片機(jī) AT89C51 1
電容 10uf 1
電容 30pf 2
晶振 12MHZ 1
電阻 10k 1
按鈕 4
溫度傳感器 DS18B20 1
排阻 10k 1
數(shù)碼管 4位共陰 1
電阻 1k 1
直流電機(jī) 5V 1
LED 黃色 3
電阻 100歐 3
排針 2P 1
電容 0.1uf 2
電容 100uf 2
穩(wěn)壓器 7805 1
4. 程序代碼
使用keil4或者keil5編譯,代碼有注釋?zhuān)梢越Y(jié)合報(bào)告理解代碼含義。
主函數(shù)部分代碼
sbit k1=P2^3;//按鈕
sbit k2=P2^4;
sbit k3=P2^5;
sbit k4=P2^2;
sbit led1=P0^0;//LED
sbit led2=P0^1;
sbit led3=P0^2;
sbit out1=P2^6;//電機(jī)控制
sbit out2=P2^7;
sbit smg1=P3^4;//數(shù)碼管
sbit smg2=P3^5;
sbit smg3=P3^6;
sbit smg4=P3^7;
sbit heat=P0^3;//過(guò)熱
//數(shù)碼管編碼
uchar code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar sec=0,time=0,mode=0;//系統(tǒng)變量
uchar miao=0,miao1=0,miao2=0,start=0;//間歇控制
uchar sudu=1;//檔位
uchar wait=0;
uchar time1=0;
uchar bei=0;//暫??刂?
uchar wendu=0;//溫度
//延時(shí)
void delay(uint i)
{
while(i--)
{
//輸出pwm
if(time1<99)
time1++;
else
time1=0;
if(start &&(miao<miao1))//啟動(dòng)
{
out1=1;
if(time1<sudu*20)
{
out2=0;
}
else
{
out2=1;
}
}
else //停止
{
out2=1;
out1=0;
}
}
}
//主函數(shù)
void main()
{
uchar k=0;
out1=0;
TMOD|=0X01;//初始化定時(shí)器
TH0=0X3C;
TL0=0XB0;
ET0=1;//打開(kāi)定時(shí)器0中斷允許
EA=1;//打開(kāi)總中斷
TR0=1;//打開(kāi)定時(shí)器
while(1)
{
//按鍵檢測(cè)
if(!k1 &&(k!=1))//自然風(fēng)
{
k=1;
start=1;//啟動(dòng)
led1=0;//指示燈
led2=1;
led3=1;
miao1=3;miao2=1;
if(mode!=1)
mode=1;
else
{
if(sudu<4)
sudu++;
else
sudu=1;
}
}
if(!k2 &&(k!=2))//睡眠風(fēng)
{
k=2;
start=1;//啟動(dòng)
led1=1;//指示燈
led2=0;
led3=1;
miao1=3;miao2=6;
if(mode!=2)
mode=2;
else
{
if(sudu<4)
sudu++;
else
sudu=1;
}
}
if(!k3 &&(k!=3))//常風(fēng)
{
k=3;
start=1;//啟動(dòng)
led1=1;//指示燈
led2=1;
led3=0;
miao1=3;miao2=2;
if(mode!=3)
mode=3;
else
{
if(sudu<4)
sudu++;
else
sudu=1;
}
}
if(!k4)//停止
{
start=0;
led1=1;//指示燈
led2=1;
led3=1;
mode=0;
}
if(k1 && k2 && k3)
k=0;
//顯示
P1=smgduan[wendu/10];smg1=0;delay(100);smg1=1;
P1=smgduan[wendu%10];smg2=0;delay(100);smg2=1;
P1=smgduan[sudu];smg4=0;delay(100);smg4=1;
}
}
5.設(shè)計(jì)報(bào)告
7508字設(shè)計(jì)報(bào)告,內(nèi)容包含設(shè)計(jì)框圖,引言,硬件設(shè)計(jì)介紹,軟件設(shè)計(jì)介紹,仿真調(diào)試,總結(jié)和參考文獻(xiàn)。
6. 設(shè)計(jì)資料內(nèi)容清單
資料設(shè)計(jì)資料包括仿真,程序代碼、講解視頻、功能要求、設(shè)計(jì)報(bào)告、軟硬件設(shè)計(jì)框圖等。
0、常見(jiàn)使用問(wèn)題及解決方法–必讀?。。?!
1、仿真
2、程序代碼
3、功能要求
4、講解視頻
5、設(shè)計(jì)報(bào)告
6、框圖
7、原理圖
8、元器件清單
9、開(kāi)題報(bào)告
10、結(jié)構(gòu)框圖
Altium Designer 軟件資料
KEIL軟件資料
Proteus軟件資料
單片機(jī)學(xué)習(xí)資料
答辯技巧
設(shè)計(jì)報(bào)告常用描述
鼠標(biāo)雙擊打開(kāi)查找更多51 STM32單片機(jī)課程畢業(yè)設(shè)計(jì).url