freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于at89c52單片機的溫控風扇設(shè)計(畢業(yè)論文)-在線瀏覽

2025-03-07 14:57本頁面
  

【正文】 機控制風扇直流電機,需要加驅(qū)動電路,為直流電機提供足夠大的驅(qū)動電流。ULN2803在使用時接口簡單,操作方便,可為電機提供較大的驅(qū)動電流,它實際上是一個集成芯片,單塊芯片可同時驅(qū)動8個電機。ULN2803由8個NPN達林頓晶體管組裝而成,共18個引腳,引腳1~8分別是8路驅(qū)動器的輸入端,輸入信號可直接是TTL或CMOS信號;引腳11~18分別是8路驅(qū)動器的輸出端;引腳9為接地線,引腳10為電源輸入。本系統(tǒng)選用的電機為12V直流無刷電機,可用ULN2803來驅(qū)動。AT89C52有40個引腳,各引腳介紹如下:VCC:+5V電源線;GND:接地線。這8條引腳共有兩種不同的功能,分別使用于兩種不同的情況。第二種情況是單片機帶片外存儲器,其各引腳在CPU訪問片外存儲器時先是用于傳送片外存儲器的低8位地址,然后傳送CPU對片外存儲器的讀寫數(shù)據(jù)[4] [M](第2版).北京:.4]。它也可作為通用的I/O口使用,與P0口一樣用于傳送用戶的輸入輸出數(shù)據(jù),所不同的是它片內(nèi)含上拉電阻而P0口沒有,故P0口在做該用途時需外接上拉電阻而P1口則無需。 P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,它可以作為通用I/O口使用,傳送用戶的輸入/輸出數(shù)據(jù),同時可與P0口的第二功能配合,用于輸出片外存儲器的高8位地址,共同選中片外存儲單元,但此時不能傳送存儲器的讀寫數(shù)據(jù)。P3口:P3口引腳是8個帶內(nèi)部上拉電阻的雙向I/O口,當P3口寫入1后,它們被內(nèi)部上拉為高電平。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平狀態(tài)。在不訪問片外存儲器時,單片機自動在ALE/線上輸出頻率為1/6晶振頻率的脈沖序列。在由外部程序存儲器取指期間,每個機器周期兩次有效。/VPP:允許訪問片外存儲器/編程電源線,當保持低電平時,則在此期間允許使用片外程序存儲器,不管是否有內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 LED數(shù)碼管簡介本系統(tǒng)選用五個LED數(shù)碼管來進行溫度顯示。LED數(shù)碼管可以分為共陰極和共陽極兩種結(jié)構(gòu),(a)(b) 所示。通過單片機引腳輸出高低電平,可使數(shù)碼管顯示相應(yīng)的數(shù)字或字母,這種使數(shù)碼管顯示字形的數(shù)據(jù)稱字形碼,又稱段選碼[5] [J] .信息技術(shù),2009,13:25—265]。這里07H即為數(shù)字7的段選碼。單片機上的XTAL1和XTAL2用來外接石英晶體和微調(diào)電容,即用來連接單片機片內(nèi)OSC的定時反饋回路。其中電容CC2為20pF,C3為10uF,電阻RR3為10k。系統(tǒng)上電后,進入鍵盤掃描子程序,以查詢的方式確定各按鍵,完成溫度初值的設(shè)定。其接線圖如下: 獨立鍵盤連接電路 數(shù)碼管顯示電路 本設(shè)計制作中選用5位共陰極數(shù)碼管作為顯示模塊。5位數(shù)碼管的段選a、b、c、d、e、f、g、~,其中P0口需接一10K的上拉電阻,以使單片機的P0口能夠輸出高低電平。 數(shù)碼管顯示電路 溫度采集電路DS18B20數(shù)字溫度傳感器通過其內(nèi)部計數(shù)時鐘周期來的作用,實現(xiàn)了特有的溫度測量功能。如果計數(shù)器計數(shù)到0時,高溫度系數(shù)振蕩周期還未結(jié)束,則表示測量的溫度值高于55℃,被預置在55℃的溫度寄存器中的值就增加1℃,然后這個過程不斷重復,直到高溫度系數(shù)振蕩周期結(jié)束為止。由于溫度振蕩器的拋物線特性的影響,其內(nèi)用斜率累加器進行補償 [6] 李鋼,[J].現(xiàn)代電子技術(shù),2005,28(21):77—79.6]。只須將DS18B20信號線與單片機1位I/O線相連,且單片機的1位I/O線可掛接多個DS18B20,就可實現(xiàn)單點或多點溫度檢測[7] [J].計算機測量與控制,2007,10(4):278—280.。鍵盤控制設(shè)置溫度,通過軟件向單片機輸入相應(yīng)控制指令,經(jīng)過ULN2803驅(qū)動風扇直流電機控制電路,實現(xiàn)電機轉(zhuǎn)速與啟停的自動控制[8] 王會明,侯加林. 智能電風扇控制器的研制[J]. 電子與自動化,1998,5(4):25—26.。,風扇電機的一端接12V電源,另一端接ULN2803的OUT7引腳,由此控制風扇直流電機的速度與啟停。本系統(tǒng)中單片機I/O口輸出的TTL信號為5V,因此此風扇電機可以用ULN2803來驅(qū)動。DS18B20初始化函數(shù)完成對DS18B20的初始化;DS18B20溫度轉(zhuǎn)換函數(shù)完成對環(huán)境溫度的實時采集;溫度讀取函數(shù)完成主機對溫度傳感器數(shù)據(jù)的讀取及數(shù)據(jù)換算,鍵盤掃描函數(shù)則根據(jù)需要完成初值的加減設(shè)定;溫度處理函數(shù)對采集到的溫度進行分析出理,為電機轉(zhuǎn)速的變化提供條件;風扇電機控制函數(shù)則根據(jù)溫度的數(shù)值完成對電機轉(zhuǎn)速及啟停的控制。隨著單片機開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前使用較多的MCS51系列單片機開發(fā)的軟件。在使用時要先建立一個工程,然后添加文件并編寫程序,編寫好后再編輯調(diào)試。 Keil C51的使用界面 用Proteus進行仿真 Proteus簡介Proteus軟件是來自英國Labcenter electronics公司的EDA工具軟件。它還能配合系統(tǒng)配置的虛擬儀器來顯示和輸出,如示波器、邏輯分析儀等[10] [J] .儀表技術(shù),2009,8:74—75,效果很好。其內(nèi)部元件庫含有豐富的元件,支持總線結(jié)構(gòu)以及智能化的連線功能;支持主流CPU(如ARM、8051/5AVR)及其通用外設(shè)模型的實時仿真等,為單片機的開發(fā)應(yīng)用等帶來極大的便利。 Proteus使用界面 本設(shè)計基于Proteus的仿真 首先啟動Proteus軟件并建立一工程,然后根據(jù)原理圖調(diào)出相應(yīng)的原件,再根據(jù)要求改變各原件的屬性并把各個原件按原理圖連接起來。最后根據(jù)系統(tǒng)要實現(xiàn)的功能分步進行仿真[12] 王文海,[J] .IT技術(shù),2006,20:10—11。點擊開始按鈕,系統(tǒng)開始仿真,待一段時間穩(wěn)定后,觀察到此時風扇直流電機的轉(zhuǎn)速為+。點擊開始按鈕,系統(tǒng)開始仿真,待一段時間穩(wěn)定后,觀察到此時直流風扇電機的轉(zhuǎn)速為+ r/s。點擊開始按鈕,系統(tǒng)開始仿真,待一段時間穩(wěn)定后,觀察到此時直流風扇電機的轉(zhuǎn)速為+ r/s。 Proteus仿真效果圖四 通過以上仿真可以看出,直流風扇電機在系統(tǒng)設(shè)定溫度一定的情況下,其轉(zhuǎn)速隨著環(huán)境溫度(溫度傳感器檢測到的溫度)的增加而增大。當然,在此沒有實現(xiàn)風扇直流電機的無級調(diào)速,本系統(tǒng)實現(xiàn)的是電機在隨環(huán)境溫度變化的四個等級的速度變化,環(huán)境溫度在一定小范圍內(nèi)變化風扇電機轉(zhuǎn)速是不變的,只有超過了設(shè)定的某一界限時轉(zhuǎn)速才會變化。經(jīng)過編譯沒有出錯,但在仿真調(diào)試時,數(shù)碼管顯示的只是亂碼,沒有正確的顯示溫度,按鍵功能也不靈,當按下鍵時,顯示并不變化。因此必須在按鍵掃描程序中加入消抖部分,即在按鍵按下與松手時加入延時判斷,以檢測鍵盤是否真的按下或已完全松手。應(yīng)在系統(tǒng)中加入鎖存器,或是在程序中設(shè)定存儲段碼的空間。 傳感器DS18B20溫度采集部分調(diào)試 由于數(shù)字式集成溫度傳感器DS18B20的高度集成化,為軟件的設(shè)計和調(diào)試帶來了極大的簡便,小體積、低功耗、高精度為控制電機的精度和穩(wěn)定提供了可能。通過軟件設(shè)計,實現(xiàn)了對環(huán)境溫度的連續(xù)檢測,由于硬件LED個數(shù)的限制,只顯示了預設(shè)溫度的整數(shù)部分。這樣為程序的編寫帶來了方便。通過達林頓反向驅(qū)動器ULN2803驅(qū)動直流電機轉(zhuǎn)動,通過軟件中程序設(shè)定,根據(jù)不同溫度輸出不同的PWM波,從而得到不同的占空比控制風扇直流電機。在本系統(tǒng)中風扇電機的轉(zhuǎn)速可實現(xiàn)四級調(diào)速。當檢測到的溫度比預設(shè)的溫度每增加5攝氏度時,風扇電機轉(zhuǎn)速增加一級。調(diào)試過程中出現(xiàn)了當按鍵時間過長時,設(shè)置的溫度值不是增一或者減一,而是增加后減少幾個值,出現(xiàn)這種情況的主要元嬰可能是按鍵的去抖動延時時間過長造成,改進方法為將對應(yīng)的按鍵去抖動延時時間適量增加,但也不應(yīng)過長,否則將出現(xiàn)按鍵無效的情形。且LED的顯示效果很好,很穩(wěn)定。系統(tǒng)調(diào)試中為驗證DS18B20是否能在系統(tǒng)板上工作,將手心靠攏或者捏住芯片,即可發(fā)現(xiàn)LED顯示的前兩位溫度也迅速升高,驗證了DS18B20能在系統(tǒng)板上工作。 電動機調(diào)速電路部分調(diào)試系統(tǒng)本部分的設(shè)計中重在軟件設(shè)計,因為外圍的驅(qū)動電路只是將送來的PWM信號放大從而驅(qū)動電機轉(zhuǎn)動。系統(tǒng)采用的直流電機為12V的額定電壓,而該驅(qū)動電路在采用單片機電源時的輸出電壓最高不過5V,因此在調(diào)試過程中只采用了原有的5V直流電機來調(diào)試,且得到了可觀的控制效果。當環(huán)境溫度低于設(shè)置溫度時,電機停止轉(zhuǎn)動;當環(huán)境溫度高于設(shè)置溫度時,單片機對應(yīng)輸出口輸出不同占空比的PWM信號,控制電機開始轉(zhuǎn)動,并隨著環(huán)境溫度與設(shè)置溫度的差值的增加電機的轉(zhuǎn)速逐漸升高。 系統(tǒng)功能分析 系統(tǒng)總體上由五部分來組成,既按鍵與復位電路、數(shù)碼管顯示電路、溫度檢測電路、電機驅(qū)動電路。結(jié) 論 本次設(shè)計的系統(tǒng)以單片機為控制核心,以溫度傳感器DS18B20檢測環(huán)境溫度,實現(xiàn)了根據(jù)環(huán)境溫度變化調(diào)節(jié)不同的風扇電機轉(zhuǎn)速,在一定范圍能能實現(xiàn)轉(zhuǎn)速的連續(xù)調(diào)節(jié),LED數(shù)碼管能連續(xù)穩(wěn)定的顯示環(huán)境溫度和設(shè)置溫度,并能通過兩個獨立按鍵調(diào)節(jié)不同的設(shè)置溫度,從而改變環(huán)境溫度與設(shè)置溫度的差值,進而改變電機轉(zhuǎn)速。本系統(tǒng)設(shè)計可推廣到各種電動機的控制系統(tǒng)中,實現(xiàn)電動機的轉(zhuǎn)速調(diào)節(jié)。綜上所述,該系統(tǒng)的設(shè)計和研究在社會生產(chǎn)和生活中具有重要地位。sbit key1=P1^3。sbit dianji=P3^1。uint y3。uchar code dispcode[]={ //段碼0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}。uchar dispbitcode[]={ //位選0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f}。 void Delay(uint num)// 延時函數(shù){ while( num )。 dispbuf[1]=a1。 dispbuf[3]=a3。 P2=0xff。 P2=dispbitcode[5]。 P2=0xff。 P2=dispbitcode[4]。 P2=0xff。 P2=dispbitcode[2]。 P2=0xff。 P2=dispbitcode[1]。 P2=0xff。 P2=dispbitcode[0]。}void dmsec(uint count) { uint i。i125。 Delay(90)。 Delay(4)。 while(~DQ)。 }bit tmrbit(void) { uint i。 DQ=0。 // i++。 i++。 dat=DQ。 return(dat)。 dat=0。i=8。 dat=(j7)|(dat1)。}void tmwbyte(uchar dat) //寫一個比特{ uint i。 bit testb。j=8。0x01。 // 從低位開始 if(testb) // Write 1 { DQ=0。 i++。 Delay(4)。 Delay(4)。 i++。 // 再拉高 } }}void tmstart(void) //ds1820開始轉(zhuǎn)換{ dmsec(1)。 tmpre()。 tmwbyte(0xcc)。 // 轉(zhuǎn)換}uchar tmrtemp(void) //讀取溫度{ uchar a,b。 tmpre()。 tmwbyte(0xcc)。 // 轉(zhuǎn)換 a=tmrbyte()。 // MSB高8位 y3=b。 y3=y3|a。 y3=ff*10+。}void keyscan(void){ if(key1==0) { dmsec(5)。 if(sheding==100) sheding=20。 } else if(key2==0) { dmsec(5)。 if(sheding==0) sheding=20。 }}void deal(uint tmp) //溫度處理{ if(tmp=sheding) { gaonum=0。 } else if((tmpsheding)amp。(tmp=(sheding+5))) { gaonum=1。 } else if((tmp(sheding+5))amp。(tmp=(sheding+10))) { gaonum=2。 } else if((tmp(sheding+10))amp。(tmp=(sheding+15))) { gaonum=3。 } else { gaonum=4。 }}void dianjik() //電機控制{ uchar q,i。qdinum。 digitalshow(shi,ge,xiaoshu,sheding/10,sheding%10)。i0。 } }
點擊復制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1