電風(fēng)扇模擬控制系統(tǒng)設(shè)計(jì) (2)_第1頁(yè)
電風(fēng)扇模擬控制系統(tǒng)設(shè)計(jì) (2)_第2頁(yè)
電風(fēng)扇模擬控制系統(tǒng)設(shè)計(jì) (2)_第3頁(yè)
電風(fēng)扇模擬控制系統(tǒng)設(shè)計(jì) (2)_第4頁(yè)
電風(fēng)扇模擬控制系統(tǒng)設(shè)計(jì) (2)_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、單片機(jī)原理與應(yīng)用課程設(shè)計(jì) 院(系):工業(yè)中心 班級(jí):106001 姓名:王永安100203120 路體力 100201114指導(dǎo)老師:王黨利時(shí)間:2013.07.07目錄1、 設(shè)計(jì)題目.42、 總體方案設(shè)計(jì)及分析.43、 硬件原理圖設(shè)計(jì).44、 軟件流程圖及程序設(shè)計(jì).65、 設(shè)計(jì)總結(jié)和心得體會(huì).13摘 要本次課程設(shè)計(jì)通過(guò)keilC軟件和Proteus軟件設(shè)計(jì)一個(gè)電風(fēng)扇模擬控制系統(tǒng)設(shè)計(jì)?;贏T89C51芯片實(shí)現(xiàn)了用四位數(shù)碼管實(shí)時(shí)顯示電風(fēng)扇的工作狀態(tài),最高位顯示風(fēng)類:“自然風(fēng)”顯示“1” 、“常風(fēng)”顯示“2” 、“睡眠風(fēng)”顯示“3”。后3位顯示定時(shí)時(shí)間:動(dòng)態(tài)倒計(jì)時(shí)顯示剩余的定時(shí)時(shí)間,無(wú)定時(shí)顯示“

2、000”。設(shè)計(jì)一個(gè)“定時(shí)”鍵,用于定時(shí)時(shí)間長(zhǎng)短設(shè)置;設(shè)置一個(gè)“搖頭”鍵用于控制電機(jī)搖頭。設(shè)計(jì)過(guò)熱檢測(cè)與保護(hù)電路,若風(fēng)扇電機(jī)過(guò)熱,則電機(jī)停止轉(zhuǎn)動(dòng),電機(jī)冷卻后電機(jī)又恢復(fù)轉(zhuǎn)動(dòng)。最終完成了設(shè)計(jì)任務(wù)。關(guān)鍵詞:AT89C51 keilC軟件 Proteus軟件一、設(shè)計(jì)題目:電風(fēng)扇模擬控制系統(tǒng)設(shè)計(jì) 1、用4個(gè)LED顯示電風(fēng)扇的工作狀態(tài)(1,2,3,4四檔風(fēng)力),顯示風(fēng)類:“自然風(fēng)”、 “常風(fēng)”和“睡眠風(fēng)”。2、設(shè)計(jì) “自然風(fēng)”、 “常風(fēng)”和“睡眠風(fēng)” 三個(gè)風(fēng)類鍵用于設(shè)置風(fēng)類;設(shè)計(jì)一個(gè)“搖頭” 鍵用于控制電機(jī)搖頭。 3、設(shè)計(jì)一個(gè)“定時(shí)”鍵,用于定時(shí)時(shí)間長(zhǎng)短設(shè)置;4、設(shè)計(jì)過(guò)熱檢測(cè)與保護(hù)電路,若電風(fēng)扇電機(jī)過(guò)熱,則

3、電機(jī)停止轉(zhuǎn)動(dòng),蜂鳴器報(bào)警,電機(jī)冷卻后電機(jī)又恢復(fù)轉(zhuǎn)動(dòng)。5、 用LCD作為用戶界面顯示風(fēng)扇運(yùn)行模式等信息。 6、其他功能。二、總體方案設(shè)計(jì)分析、討論1、程序說(shuō)明:為了提高單片機(jī)的工作效率,不讓單片機(jī)的工作消耗在延時(shí)上,所以在考慮單片幾需要延時(shí)的時(shí)間里,單片機(jī)并不是做的無(wú)用功,僅僅是在執(zhí)行消耗時(shí)間的“空指令”,而根據(jù)實(shí)際考慮出發(fā),從本程序設(shè)計(jì)的思路來(lái)看,電機(jī)除了數(shù)碼管顯示和PWM調(diào)速部分需要一定延時(shí)外,其他指令都是uS級(jí)的,可以忽略不計(jì),所以可以將數(shù)碼管顯示和PWM 調(diào)速部分做在一起,即數(shù)碼管每一位顯示需延時(shí)的幾個(gè)毫秒的時(shí)間可以用來(lái)做處理PWM調(diào)速功能使用,通過(guò)設(shè)定,改變脈寬從而調(diào)速!經(jīng)過(guò)實(shí)驗(yàn),本方

4、法能夠十分有效的節(jié)約單片機(jī)的資源,并且各項(xiàng)功能能夠很好的工作!2、 程序功能說(shuō)明:功能總共有三個(gè)按鍵控制“功能鍵/加”、“定時(shí)”、“搖頭/減”,其中“功能鍵”“搖頭”為多功能鍵。初始狀態(tài)時(shí):風(fēng)扇不轉(zhuǎn);數(shù)碼管顯示 POFF;當(dāng)?shù)谝淮伟础肮δ?加”時(shí)風(fēng)扇處于“自然風(fēng)”電機(jī)轉(zhuǎn)速最快;當(dāng)?shù)诙伟?“功能/加”時(shí)風(fēng)扇處于“常風(fēng)”電機(jī)轉(zhuǎn)速為中速; 當(dāng)?shù)谌伟?“功能/加”時(shí)風(fēng)扇處于“睡眠風(fēng)”電機(jī)轉(zhuǎn)速為低速;當(dāng)風(fēng)扇處于停止?fàn)顟B(tài)時(shí) 不可進(jìn)入定時(shí)狀態(tài),只有當(dāng)風(fēng)扇運(yùn)轉(zhuǎn)時(shí)才能進(jìn)入定時(shí)狀態(tài),當(dāng)按下“定時(shí)”鍵進(jìn)入定時(shí)狀態(tài)后(定時(shí)指示燈亮),功能鍵/加 鍵 為定時(shí)時(shí)間加,當(dāng)按下“搖頭/減 鍵時(shí),為定時(shí)時(shí)間減,再次按下定時(shí)

5、鍵時(shí),定時(shí)功能啟動(dòng),時(shí)間到停止,并顯示“POFF”風(fēng)扇運(yùn)轉(zhuǎn)時(shí)按下?lián)u頭,即電機(jī)開(kāi)始搖頭。3、 硬件原理圖:該圖是通過(guò)proteus7.0仿真設(shè)計(jì)和模擬的結(jié)果電風(fēng)扇硬件控制系統(tǒng)四、軟件流程圖及程序設(shè)計(jì)*/ #include"reg52.h" #include "intrins.h" #define uchar unsigned char #define uint unsigned int sbit led=P10; sbit duan=P26; sbit wei=P27; sbit k1=P36; / 功能鍵/加鍵(3) sbit k2=P34;/定時(shí)功能鍵

6、(1) sbit k3=P35;/搖頭鍵/減鍵 sbit pwm=P21; sbit zz=P21; sbit fz=P22; uint t=50000,g=1; /g用來(lái)表是選的風(fēng)功能,tt定時(shí)的時(shí)間 uchar f,biao1=0,sudd ; int tt=0; uchar kk=1; uint aa=5;/*才初始化函數(shù)*/ void init () EA=1;ET0=1;/TR0=1;TMOD=0X01; /定時(shí)器0工作方式1 16位 TH0=(65536-t)/256;TL0=(65536-t)%256; /*/ uchar code sz= 0x3F,/*0*/ 0x06,/*1

7、*/ 0x5B,/*2*/ 0x4F,/*3*/ 0x66,/*4*/ 0x6D,/*5*/ 0x7D,/*6*/ 0x07,/*7*/ 0x7F,/*8*/ 0x6F,/*9*/ 0x71,/*F*/10 0x5C,/*o*/ /110x73/ p 12 ; void delay(uint xms) uint i,j;for(i=xms;i>0;i-)for(j=50;j>0;j-); /*pwm調(diào)速 兼作延時(shí)*/ void pwmdelay(uchar qq) pwm=1;delay(1);pwm=0;delay(qq);pwm=1; /*當(dāng)風(fēng)扇停止時(shí)顯示的函數(shù)*/ void

8、display2() P0=sz12;duan=1;duan=0;P0=0xfe;wei=1;wei=0;delay(10);/pwmdelay(sudu); P0=sz0;duan=1;duan=0;P0=0xfd;wei=1;wei=0;delay(10);/ pwmdelay(sudu);P0=sz10;duan=1;duan=0;P0=0xfb;wei=1;wei=0; delay(10); / pwmdelay(sudu);P0=sz10;duan=1;duan=0;P0=0xf7;wei=1;wei=0;delay(10);/pwmdelay(sudu);P0=0xff;wei=1

9、;wei=0; P0=0x00; /關(guān)閉數(shù)碼管顯示防止閃爍duan=1;duan=0; /*顯示 函數(shù) */ void display(uint shu) uchar qian,bai,shi,ge; qian=biao1; bai=shu/100; shi=(shu%100)/10; ge=(shu%10); P0=szqian;duan=1;duan=0;P0=0xfe;wei=1;wei=0;/delay(1);pwmdelay(sudu); P0=szbai;duan=1;duan=0;P0=0xfd;wei=1;wei=0;/delay(1); pwmdelay(sudu);P0=s

10、zshi;duan=1;duan=0;P0=0xfb;wei=1;wei=0; /delay(1); pwmdelay(sudu);P0=szge;duan=1;duan=0;P0=0xf7;wei=1;wei=0;/delay(1);pwmdelay(sudu);P0=0x00; /關(guān)閉數(shù)碼管顯示防止閃爍duan=1;duan=0;P0=0xff;wei=1;wei=0; /*/ /*鍵盤程序*/void kescan() uchar biao2;/一鍵多功能的標(biāo)號(hào)/*/ if(k1=0)/功能鍵 一鍵多功能鍵自然風(fēng) 常風(fēng) 睡眠風(fēng) 停止 delay(50);if(k1=0) pwm=0; /

11、關(guān)閉電機(jī) while(!k1);/等待釋放按鍵 biao1+;/功能選擇 if(biao1=4)/只允許四種狀態(tài) biao1=0; /*/ if(biao1!=0) /功能0時(shí) 不可以設(shè)置定時(shí)功能 if(k2=0)/定時(shí)功能鍵 按一次設(shè)置 第二次確認(rèn) delay(50);if(k2=0) tt=000; /如果進(jìn)入定時(shí)功能 則顯示全部清零 TR0=0;/確認(rèn)按鍵俺下后關(guān)閉定時(shí)器 while(!k2);/等待釋放按鍵 biao2=1; while(biao2)/如果不再次按下K2則將一直保持設(shè)置狀態(tài) led=0;if(k1=0) delay(50); if(k1=0) while(!k1); t

12、t=tt+10; if(tt>990)/ tt=0; if(k3=0) delay(50); if(k3=0) while(!k3); tt=tt-10; if(tt<0)/ tt=990; display(tt);/刷新設(shè)置的時(shí)間 if(k2=0) /k2是否再次按下 delay(50); if(k2=0) while(!k2); if(tt>0) /如果進(jìn)入定時(shí)設(shè)置后沒(méi)有設(shè)置時(shí)間則不能退出定時(shí)功能 biao2=0; TR0=1; /設(shè)置好定時(shí)功能后開(kāi)啟定時(shí)器 led=1; TR0=1;/開(kāi)啟定時(shí)器 /*功能函數(shù)*/ void gongnen() while(biao1=0

13、) pwm=0; tt=0; kescan(); display2(); if(biao1=1) /功能1 自然風(fēng) sudu=0; if(biao1=2)/功能2 常風(fēng) sudu=4; if(biao1=3)/功能3 睡眠風(fēng) sudu=10; /*/ void main() init(); while(1) kescan(); display(tt); gongnen(); /*/ /*定時(shí)器0中斷函數(shù)*/ void t_0()interrupt 1 TH0=(65536-t)/256; TL0=(65536-t)%256; f+; if(f=20) f=0;tt-; if(tt=0) /如果

14、定時(shí)到了 顯示為000,電機(jī)關(guān)閉 tt=000; biao1=0;/使電機(jī)不轉(zhuǎn) TR0=0; 五、設(shè)計(jì)總結(jié)和心得體會(huì)課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合所學(xué)知識(shí),發(fā)現(xiàn)、提出、分析和解決實(shí)際問(wèn)題,鍛煉自身能力的重要培養(yǎng),是對(duì)我們學(xué)生能力的具體陪練和考察過(guò)程。短短一周的時(shí)間,我們做完了我們小組的單片機(jī)實(shí)驗(yàn),感觸很深,我們小組做的是“電風(fēng)扇模擬控制系統(tǒng)設(shè)計(jì)”對(duì)我們很有挑戰(zhàn),雖然在別人眼中我們的實(shí)驗(yàn)很簡(jiǎn)單,不過(guò)我們還是遇到了很多困難。隨著科學(xué)發(fā)展的日新月異,單片機(jī)已成為當(dāng)今計(jì)算機(jī)應(yīng)用中活躍的領(lǐng)域,在我們的生活中可以說(shuō)是無(wú)處不在,因此作為電力系統(tǒng)的學(xué)生不得不掌握它,這次的實(shí)驗(yàn)設(shè)計(jì),對(duì)我們是一種挑戰(zhàn),更是一種考驗(yàn),怎么

15、才能找到課堂所學(xué)與實(shí)際應(yīng)用的最佳結(jié)合點(diǎn)?怎樣才能使自己更專業(yè)化?怎樣才能使自己的設(shè)計(jì)更具有序性,而不會(huì)忙無(wú)一用,這都是我們所要考慮和努力的。這次的課程設(shè)計(jì)我學(xué)到很多東西,學(xué)到了怎么去制定設(shè)計(jì),怎么去實(shí)現(xiàn)設(shè)計(jì),并掌握了在執(zhí)行過(guò)程中怎樣克服心理上的不良情緒,不僅鞏固了所學(xué)的知識(shí),而且學(xué)習(xí)到了許多書(shū)上所沒(méi)有的東西,我從中掌握了系統(tǒng)的研究方法,可以進(jìn)行一些簡(jiǎn)易的編程。在這次設(shè)計(jì)任務(wù)中,通過(guò)我們?nèi)说墓餐Γ蠋煹木闹笇?dǎo),還有和在網(wǎng)上找到的資料,我們主要掌握了動(dòng)態(tài)發(fā)光顯示數(shù)碼管的編程,掌握了數(shù)據(jù)運(yùn)算的編程方法,這也是編程必須掌握的知識(shí),當(dāng)然仿真與調(diào)試也是一個(gè)很重要的環(huán)節(jié),也讓我們收獲良多,這其中就是硬件和軟件兩部分,雖然我們沒(méi)有做硬件,但軟件的制作與編程我們也做得很認(rèn)真。你必須對(duì)程序的每部分都很熟悉,掌握每句程序的作用,這

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論