基于單片機溫度自動提醒的智能水杯設(shè)計-畢業(yè)設(shè)計名師(完整版)資料_第1頁
基于單片機溫度自動提醒的智能水杯設(shè)計-畢業(yè)設(shè)計名師(完整版)資料_第2頁
基于單片機溫度自動提醒的智能水杯設(shè)計-畢業(yè)設(shè)計名師(完整版)資料_第3頁
基于單片機溫度自動提醒的智能水杯設(shè)計-畢業(yè)設(shè)計名師(完整版)資料_第4頁
基于單片機溫度自動提醒的智能水杯設(shè)計-畢業(yè)設(shè)計名師(完整版)資料_第5頁
已閱讀5頁,還剩174頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于單片機溫度自動提醒的智能水杯設(shè)計畢業(yè)設(shè)計名師(完整版)資料(可以直接使用,可編輯優(yōu)秀版資料,歡迎下載)

基于單片機溫度自動提醒的智能水杯設(shè)計畢業(yè)設(shè)計名師(完整版)資料(可以直接使用,可編輯優(yōu)秀版資料,歡迎下載)基于單片機溫度自動提醒的智能水杯設(shè)計【摘要】針對低碳、環(huán)保生活領(lǐng)域?qū)囟葌鞲衅鞯膽?提出單片機實時系統(tǒng)智能水杯的設(shè)計方法。在此基礎(chǔ)上,采用了DS18B20溫度傳感器,并對溫度采集、實時控制進行了仿真分析,本文提出了性能較好的智能水杯設(shè)計方法和多樣功能。【關(guān)鍵詞】:單片機溫度傳感器半導體Smartcuptemperaturebasedonautomaticremind【Abstract】:Theapplicationoflowcarbon,environmentalprotectionareasoflifetothetemperaturesensor,putsforwardthedesignmethodofsinglechiprealtimesystemintelligentcup.Onthisbasis,usingDS18B20temperaturesensor,andthetemperatureacquisition,real-timecontrolofthesimulationanalysis,thispaperputsforwardthedesignmethodofthegoodperformanceofglassandvariousfunction.【Keywords】:SinglechipmicrocomputerTemperaturesensorSemiconductor目錄第一章引言1.1課題的研究背景及意義1.2課題的研究任務與內(nèi)容第二章總體方案設(shè)計2.1方案一2.2方案二 第三章系統(tǒng)硬件設(shè)計3.1硬件設(shè)計環(huán)境介紹3.2單片機最小系統(tǒng)設(shè)計STC89C52簡介3.2.23.3顯示電路設(shè)計LED顯示器的分類 數(shù)碼管結(jié)構(gòu)數(shù)碼管工作原理顯示電路3.4溫度采集電路設(shè)計DS18B20的工作原理和測溫原理3.4.23.5溫度自動提醒電路設(shè)計3.6溫度制冷,制熱設(shè)計半導體3.7整體硬件電路圖第四章系統(tǒng)軟件設(shè)計4.1系統(tǒng)軟件整體設(shè)計4.2系統(tǒng)程序設(shè)計主程序設(shè)計顯示程序設(shè)計溫度判斷程序設(shè)計DS18B20程序設(shè)計第五章系統(tǒng)設(shè)計與分析第六章總結(jié)致謝參考文獻附錄1.程序第一章引言課題研究背景與意義二十一世紀是科技高速發(fā)展的信息時代,電子技術(shù),微信單片機技術(shù)的應用更是空前廣泛。伴隨著科學技術(shù)和生產(chǎn)的不斷發(fā)展,需要對各種參數(shù)進行溫度測量。因此溫度一次在生產(chǎn)生活中出現(xiàn)的頻率日益增多,與之相對應的溫度控制和測量也成為了生活生產(chǎn)中頻繁使用的詞語。同時它們在各行各業(yè)中也發(fā)揮著重要的作用。如在日趨發(fā)達的工業(yè)之中,利用測量與控制溫度來保證生產(chǎn)的正常運行。在農(nóng)業(yè)中,用于保證蔬菜大棚的恒溫保產(chǎn)等。在生活中,這個用于喝水家用電器的溫度顯示等。本文針對人們無法準確的獲知或得到提示杯子中的水是否已到適合人飲用的溫度的問題,設(shè)計了一種帶有溫度自動提醒功能的智能水杯。通個溫度的監(jiān)控來提醒使用者杯中的誰是否適合喝下以及有好的控制溫度達到制冷制熱。有效的解決人們經(jīng)常由于各種原因而忘記時刻去關(guān)注誰的溫度變化的缺陷。以避免人們尤其老人,小孩或病人在需要飲水時喝到?jīng)鏊蚴艿綘C傷。能夠把握準確的水溫。課題研究任務與內(nèi)容課題任務主要是設(shè)計一款智能水杯,針對人們不能直觀的感知水溫的問題,結(jié)合當前先進的電子和信息技術(shù)。如單片機,傳感器等。提出一種具有自動提醒功能的智能水杯。本課題任務可分為三個層次,一是對當今溫度測量技術(shù)在生產(chǎn)生活中的應用進行分析和研究;二是通過硬件和軟件的設(shè)計,來實現(xiàn)智能水杯的各種功能;三是通過仿真實驗,驗證設(shè)計的溫度自動提醒功能的智能水杯的有效性和可用性。本文的研究重點在于基于單片機和傳感器設(shè)計一個溫度測量,感知系統(tǒng)和制冷制熱系統(tǒng),并將其應用到智能水杯中,并對現(xiàn)有方案的優(yōu)點與不足進行分析,在此基礎(chǔ)上通過軟件和硬件進行仿真驗證。第二章總體方案設(shè)計方案一測溫電路的設(shè)計,可以使用熱敏電阻之類的器件利用其感溫效應,在將隨被測溫度變化的電壓或電流采集過來,進行A/D轉(zhuǎn)換后,就可以用單片機進行數(shù)據(jù)的處理。在顯示電路上,就可以將被測溫度顯示出來,這種設(shè)計需要A/D裝換電路,感溫電路比較麻煩。方案二考慮使用溫度傳感器,結(jié)合單片機電路設(shè)計,采用一只DS18B20溫度傳感器,直接讀取被測溫度值,之后進行制冷制熱進行轉(zhuǎn)換,依次完成設(shè)計要求。比較以上2種方案,很容易看出,采用方案二,電路比較簡單,軟件設(shè)計容易實現(xiàn),故實際設(shè)計中擬采用方案二。在本系統(tǒng)電路設(shè)計方框圖如圖1.1所示,它才用5部分組成:1.控制部分主芯片采用單片機STC89C52;2.顯示部分采用4位LED數(shù)碼管以動態(tài)掃描方式實現(xiàn)溫度顯示;3.溫度采集部分采用DS18B20溫度傳感器;4.溫度提醒部分采用3個不同顏色的LED作為提醒標志5.半導體制冷制熱。STC89C52單片機數(shù)碼管顯示溫度提醒LED制冷制熱DS18B20系統(tǒng)電路設(shè)計方框圖圖1.1控制部分單片機AT89C51具有低電壓供電和體積小等特點,只需要很少端口就能滿足電路系統(tǒng)的設(shè)計需要,很適合在小型場合或便捷產(chǎn)品中進行設(shè)計使用。顯示部分顯示電路采用4位共陰LED數(shù)碼管,從po口送數(shù),P2口掃描。溫度采集部分該模塊采用美國DALLAS公司推出的數(shù)字測溫芯片DS18B20,該芯片具有體積小,多種封裝形式,獨特的單線接口等優(yōu)點。測量范圍從-55攝氏度到+125攝氏度,擁有可以選擇的9到12位溫度數(shù)據(jù)分辨率,可以工作在寄生電源模式,另外還可自定義溫度告警設(shè)置。本系統(tǒng)中溫度傳感器輸出腳I/O直接與單片機的P4.0相連,外接4.7KΩ的上拉電阻到電源,采用MSP430的電源供電[8]。DS18B20芯片封裝如圖1-2所示。圖1-2DS18B20芯片封裝制冷制熱部分通過2個半導體來實現(xiàn)制冷,制熱。溫度提醒部分該部分分別采用紅,綠,黃3個不同顏色的數(shù)碼管來顯示不同的溫度范圍。紅色LED表示溫度較高,范圍60度以上;綠色LED表示溫度適宜,范圍30-60°;黃色LED表示溫度較低,范圍30度以下。第三章系統(tǒng)硬件設(shè)計硬件設(shè)計環(huán)境介紹1.0概念AltiumDesigner是原Protel軟件開發(fā)商Altium公司推出的一體化的電子產(chǎn)品開發(fā)系統(tǒng),主要運行在Windows操作系統(tǒng)。這套軟件通過把原理圖設(shè)計、電路仿真、PCB繪制編輯、拓撲邏輯自動布線、信號完整性分析和設(shè)計輸出等技術(shù)的完美融合,為設(shè)計者提供了全新的設(shè)計解決方案,使設(shè)計者可以輕松進行設(shè)計,熟練使用這一軟件必將使電路設(shè)計的質(zhì)量和效率大大提高。AltiumDesigner除了全面繼承包括Protel99SE、ProtelDXP在內(nèi)的先前一系列版本的功能和優(yōu)點外,還增加了許多改進和很多高端功能。該平臺拓寬了板級設(shè)計的傳統(tǒng)界面,全面集成了FPGA設(shè)計功能和SOPC設(shè)計實現(xiàn)功能,從而允許工程設(shè)計人員能將系統(tǒng)設(shè)計中的FPGA與PCB設(shè)計及嵌入式設(shè)計集成在一起。由于AltiumDesigner在繼承先前Protel軟件功能的基礎(chǔ)上,綜合了FPGA設(shè)計和嵌入式系統(tǒng)軟件設(shè)計功能,AltiumDesigner對計算機的系統(tǒng)需求比先前的版本要高一些單片機最小系統(tǒng)設(shè)計STC89C52簡介STC89C52具有以下標準功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,STC89C52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復位為止。與MCS-51單片機產(chǎn)品兼容8K字節(jié)在系統(tǒng)可編程Flash存儲器1000次擦寫周期全靜態(tài)操作:0Hz~33Hz三級加密程序存儲器32個可編程I/O口線三個16位定時器/計數(shù)器八個中斷源全雙工UART串行通道低功耗空閑和掉電模式掉電后中斷可喚醒看門狗定時器雙數(shù)據(jù)指針掉電標識符單片機端口分配及功能STC89C52引腳圖如圖3-2所示:圖3-2STC89C52引腳圖 VCC:供電電壓。GND:接地。P0口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復用。在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時,P0 P1口:P1口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,p1輸出緩沖器能驅(qū)動4個TTL邏輯電平。對P1端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時器/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和時器/計數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體如表3-1P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILLP3口作為AT89C51的一些特殊功能口,如表3-1所示:表3-1P3的特殊功能口管腳 備選功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INT0(外部中斷0)P3.3/INT1(外部中斷1)P3.4T0 (記時器0外部輸入)P3.5T1(記時器1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲器寫選通)P3.7/RD(外部數(shù)據(jù)存儲器讀選通)P3口同時為閃爍編程和編程校驗接收一些控制信號。RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。在本設(shè)計采用微控制器STC89C52負責實時檢測傳感器輸出的信號是否有變化,其原理圖如下圖3-3所示:顯示電路設(shè)計LED是一種能發(fā)光的半導體電子元件。這種電子元件早在1962年出現(xiàn),早期只能發(fā)出低光度的紅光,之后發(fā)展出其他單色光的版本,時至今日能發(fā)出的光已遍及可見光、紅外線及紫外線,光度也提高到相當?shù)墓舛?。而用途也由初時作為指示燈、顯示板等;隨著技術(shù)的不斷進步,發(fā)光二極管已被廣泛的應用于顯示器、電視機采光裝飾和照明。LED顯示器的分類1、按顏色基色可以分為單基色顯示屏:單一顏色(紅色或綠色)。雙基色顯示屏:紅和綠雙基色,256級灰度、可以顯示65536種顏色。全彩色顯示屏:紅、綠、藍三基色,256級灰度的全彩色顯示屏可以顯示一千六百多萬種色。

2、按顯示器件分類LED數(shù)碼顯示屏:顯示器件為7段碼數(shù)碼管,適于制作時鐘屏、利率屏等,顯示數(shù)字的電子顯示屏。LED點陣圖文顯示屏:顯示器件是由許多均勻排列的發(fā)光二極管組成的點陣顯示模塊,適于播放文字、圖像信息。LED視頻顯示屏:顯示器件是由許多發(fā)光二極管組成,可以顯示視頻、動畫等各種視頻文件。

3、按使用場合分類室內(nèi)顯示屏:發(fā)光點較小,一般Φ3mm--Φ8mm,顯示面積一般幾至十幾平方米。室外顯示屏:面積一般幾十平方米至幾百平方米,亮度高,可在陽光下工作,具有防風、防雨、防水功能。

4、按發(fā)光點直徑及間距分類室內(nèi)屏(按直徑分):Φ3mm、Φ3.75mm、Φ5mm、室外屏(按間距分):PH10、PH12、PH14、PH16、PH20、PH25、PH31.25、PH37.5......

5.顯示方式有靜態(tài)、橫向滾動、垂直滾動和翻頁顯示等。單塊模塊控制驅(qū)動12塊(最多可控制24塊)8X8點陣,共16X48點陣(或32X48點陣),是單塊MAX7219(或PS7219、HD7279、ZLG7289及8279等類似LED顯示驅(qū)動模塊)的12倍(或24倍)!可采用“級聯(lián)”的方式組成任意點陣大顯示屏。顯示效果好,功耗小,且比采用MAX7219電路的成本更低。數(shù)碼管結(jié)構(gòu)LED數(shù)碼管(LEDSegmentDisplays)是由多個發(fā)光二極管封裝在一起組成“8”字型的器件,引線已在內(nèi)部連接完成,只需引出它們的各個筆劃,公共電極。LED數(shù)碼管常用段數(shù)一般為7段有的另加一個小數(shù)點,還有一種是類似于3位“+1”型。位數(shù)有半位,1,2,3,4,5,6,8,10位等等....,LED數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽兩類,了解LED的這些特性,對編程是很重要的,因為不同類型的數(shù)碼管,除了它們的硬件電路有差異外,編程方法也是不同的。圖2是共陰和共陽極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。顏色有紅,綠,藍,黃等幾種。LED數(shù)碼管廣泛用于儀表,時鐘,車站,家電等場合。選用時要注意產(chǎn)品尺寸顏色,功耗,亮度,波長等。數(shù)碼管工作原理1、靜態(tài)顯示驅(qū)動:靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個數(shù)碼管的每一個段碼都由一個單片機的I/O埠進行驅(qū)動,或者使用如BCD碼二-十進位*器*進行驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用I/O埠多,如驅(qū)動5個數(shù)碼管靜態(tài)顯示則需要5×8=40根I/O埠來驅(qū)動,要知道一個89S51單片機可用的I/O埠才32個呢。故實際應用時必須增加*驅(qū)動器進行驅(qū)動,增加了硬體電路的復雜性。2、動態(tài)顯示驅(qū)動:數(shù)碼管動態(tài)顯示介面是單片機中應用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位元選通控制電路,位元選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位元選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位元就顯示出字形,沒有選通的數(shù)碼管就不會亮。透過分時輪流控制各個LED數(shù)碼管的COM端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位元數(shù)碼管的點亮時間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極體的余輝效應,盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示資料,不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O埠,而且功耗更低。按鍵電路溫度采集電路設(shè)計DS18B20的工作原理和測溫原理DS18B20的溫度檢測與數(shù)字數(shù)據(jù)輸出全集成于一個芯片之上,從而抗干擾力更強。其一個工作周期可分為兩個部分,即溫度檢測和數(shù)據(jù)處理。在講解其工作流程之前我們有必要了解18B20的內(nèi)部存儲器資源。18B20共有三種形態(tài)的存儲器資源,它們分別是(1)ROM只讀存儲器,用于存放DS18B20的ID編碼,其前8位是單線系列編碼(DS18B20的編碼是19H),后面48位是芯片唯一的序列號,最后8位是以上56的位的CRC碼(冗余校驗)。數(shù)據(jù)在出產(chǎn)時設(shè)置不由用戶更改。DS18B20共64位ROM。(2)RAM數(shù)據(jù)暫存器,用于內(nèi)部計算和數(shù)據(jù)存取,數(shù)據(jù)在掉電后丟失,DS18B20共9個字節(jié)RAM,每個字節(jié)為8位。第1、2個字節(jié)是溫度轉(zhuǎn)換后的數(shù)據(jù)值信息,第3、4個字節(jié)是用戶EEPROM(常用于溫度報警值儲存的鏡像。在上電復位時其值將被刷新。第5個字節(jié)則是用戶第3個EEPROM的鏡像。第6、7、8個字節(jié)為計數(shù)寄存器,是為了讓用戶得到更高的溫度分辨率而設(shè)計的,同樣也是內(nèi)部溫度轉(zhuǎn)換、計算的暫存單元。第9個字節(jié)為前8個字節(jié)的CRC碼。EEPROM非易失性記憶體,用于存放長期需要保存的數(shù)據(jù),上下限溫度報警值和校驗數(shù)據(jù),DS18B20共3位EEPROM,并在RAM都存在鏡像,以方便用戶操作。控制器對18B20操作流程:(1)復位:首先我們必須對DS18B20芯片進行復位,復位就是由控制器(單片機)給DS18B20單總線至少480μS的低電平信號。當18B20接到此復位信號后則會在15~60μS后回發(fā)一個芯片的存在脈沖。(2)存在脈沖:在復位電平結(jié)束之后,控制器應該將數(shù)據(jù)單總線拉高,以便于在15~60μS后接收存在脈沖,存在脈沖為一個60~240uS的低電平信號。至此,通信雙方已經(jīng)達成了基本的協(xié)議,接下來將會是控制器與18B20間的數(shù)據(jù)通信。如果復位低電平的時間不足或是單總線的電路斷路都不會接到存在脈沖,在設(shè)計時要注意意外情況的處理。(3)控制器發(fā)送ROM指令:雙方打完了招呼之后最要將進行交流了,ROM指令共有5條,每一個工作周期只能發(fā)一條,ROM指令分別是讀ROM數(shù)據(jù)、指定匹配芯片、跳躍ROM、芯片搜索、報警芯片搜索。ROM指令為8位長度,功能是對片內(nèi)的64位光刻ROM進行操作。其主要目的是為了分辨一條總線上掛接的多個器件并作處理。誠然,單總線上可以同時掛接多個器件,并通過每個器件上所獨有的ID號來區(qū)別,一般只掛接單個18B20芯片時可以跳過ROM指令(注意:此處指的跳過ROM指令并非不發(fā)送ROM指令,而是用特有的一條“跳過指令”)。(4)控制器發(fā)送存儲器操作指令:在ROM指令發(fā)送給18B20之后,緊接著(不間斷)就是發(fā)送存儲器操作指令了。操作指令同樣為8位,共6條,存儲器操作指令分別是寫RAM數(shù)據(jù)、讀RAM數(shù)據(jù)、將RAM數(shù)據(jù)復制到EEPROM、溫度轉(zhuǎn)換、將EEPROM中的報警值復制到RAM、工作方式切換。存儲器操作指令的功能是命令18B20作什么樣的工作,是芯片控制的關(guān)鍵。(5)執(zhí)行或數(shù)據(jù)讀寫:一個存儲器操作指令結(jié)束后則將進行指令執(zhí)行或數(shù)據(jù)的讀寫,這個操作要視存儲器操作指令而定。如執(zhí)行溫度轉(zhuǎn)換指令則控制器(單片機)必須等待18B20執(zhí)行其指令,一般轉(zhuǎn)換時間為500uS。如執(zhí)行數(shù)據(jù)讀寫指令則需要嚴格遵循18B20的讀寫時序來操作。數(shù)據(jù)的讀寫方法將有下文有詳細介紹。當主機收到DSl8B20的響應信號后,便可以發(fā)出ROM操作命令之一,這些命令如下:SkipROM(跳躍ROM指令)這條指令使芯片不對ROM編碼做出反應,在單總線的情況之下,為了節(jié)省時間則可以選用此指令。如果在多芯片掛接時使用此指令將會出現(xiàn)數(shù)據(jù)沖突,導致錯誤出現(xiàn)。ReadScratchpad(從RAM中讀數(shù)據(jù))此指令將從RAM中讀數(shù)據(jù),讀地址從地址0開始,一直可以讀到地址9,完成整個RAM數(shù)據(jù)的讀出。芯片允許在讀過程中用復位信號中止讀取,即可以不讀后面不需要的字節(jié)以減少讀取時間。ConvertT(溫度轉(zhuǎn)換)收到此指令后芯片將進行一次溫度轉(zhuǎn)換,將轉(zhuǎn)換的溫度值放入RAM的第1、2地址。此后由于芯片忙于溫度轉(zhuǎn)換處理,當控制器發(fā)一個讀時間隙時,總線上輸出“0”,當儲存工作完成時,總線將輸出“1”。在寄生工作方式時必須在發(fā)出此指令后立刻超用強上拉并至少保持500MS,來維持芯片工作。與DS18B20的所有通訊都是由一個單片機的復位脈沖和一個DS18B20的應答脈沖開始的。單片機先發(fā)一個復位脈沖,保持低電平時間最少480μs,最多不能超過960μs。然后,單片機釋放總線,等待DS18B20的應答脈沖。DS18B20在接受到復位脈沖后等待15~60μs才發(fā)出應答脈沖。應答脈沖能保持60~240μs。單片機從發(fā)送完復位脈沖到再次控制總線至少要等待480μs。讀時隙需15~60μs,且在2次獨立的讀時隙之間至少需要1μs的恢復時間。讀時隙起始于單片機拉低總線至少1μs。DS18B20在讀時隙開始15μs后開始采樣總線電平。以單片機讀取2B的數(shù)據(jù)為例。寫時隙需要15~75μs,且在2次獨立的寫時隙之間至少需要1μs的恢復時間。寫時隙起始于單片機拉低總線。3.4.2圖3-11DS18B20采集電路圖溫度自動提醒電路設(shè)計溫度提醒電路只要用于顯示溫度的范圍,以在飲用前告知人們溫度是否適宜。本文采用3個不同顏色的LED作為提醒的標志。紅色LED表示溫度較高,不適宜當前飲用,有燙傷的危險,表示的溫度范圍為60°以上。連接到單片機的P1.0口;綠色LED表示溫度適宜,人們可以正常飲用,其表示溫度30°-60°,連接到單片機的P1.1口;黃色LED表示溫度較低,提示不習慣飲用冷水的人們該溫度不適宜飲用,其表示的溫度為30°以下,連接到單片機的P1.2口。該部分的電路圖如下。溫度制冷,制熱設(shè)計半導體制冷片,也叫熱電制冷片,是一種熱泵。它的優(yōu)點是沒有滑動部件,應用在一些空間受到限制,可靠性要求高,無制冷劑污染的場合。利用半導體材料的Peltier效應,當直流電通過兩種不同半導體材料串聯(lián)成的電偶時,在電偶的兩端即可分別吸收熱量和放出熱量,可以實現(xiàn)制冷的目的。它是一種產(chǎn)生負熱阻的制冷技術(shù),其特點是無運動部件,可靠性也比較高。利用半導體制冷的方式來解決LED照明系統(tǒng)的散熱問題,具有很高的實用價值。本次設(shè)計我采用的是TEC12706半導體半導體熱電偶由N型半導體和P型半導體組成。N型材料有多余的電子,有負溫差電勢。P型材料電子不足,有正溫差電勢;當電子從P型穿過結(jié)點至N型時,結(jié)點的溫度降低,其能量必然增加,而且增加的能量相當于結(jié)點所消耗的能量。相反,當電子從N型流至P型材料時,結(jié)點的溫度就會升高。直接接觸的熱電偶電路在實際應用中不可用,所以用下圖的連接方法來代替,實驗證明,在溫差電路中引入第三種材料(銅連接片和導線)不會改變電路的特性。這樣,半導體元件可以用各種不同的連接方法來滿足使用者的要求。把一個P型半導體元件和一個N型半導體元件聯(lián)結(jié)成一對熱電偶,接上直流電源后,在接頭處就會產(chǎn)生溫差和熱量的轉(zhuǎn)移。在上面的接頭處,電流方向是從N至P,溫度下降并且吸熱,這就是冷端;而在下面的一個接頭處,電流方向是從P至N,溫度上升并且放熱,因此是熱端。因此是半導體致冷片由許多N型和P型半導體之顆粒互相排列而成,而N/P之間以一般的導體相連接而成一完整線路,通常是銅、鋁或其他金屬導體,最後由兩片陶瓷片像夾心餅乾一樣夾起來,陶瓷片必須絕緣且導熱良好在原理上,半導體制冷片是一個熱傳遞的工具。當一塊N型半導體材料和一塊P型半導體材料聯(lián)結(jié)成的熱電偶對中有電流通過時,兩端之間就會產(chǎn)生熱量轉(zhuǎn)移,熱量就會從一端轉(zhuǎn)移到另一端,從而產(chǎn)生溫差形成冷熱端。但是半導體自身存在電阻當電流經(jīng)過半導體時就會產(chǎn)生熱量,從而會影響熱傳遞。而且兩個極板之間的熱量也會通過空氣和半導體材料自身進行逆向熱傳遞。當冷熱端達到一定溫差,這兩種熱傳遞的量相等時,就會達到一個平衡點,正逆向熱傳遞相互抵消。此時冷熱端的溫度就不會繼續(xù)發(fā)生變化。為了達到更低的溫度,可以采取散熱等方式降低熱端的溫度來實現(xiàn)。風扇以及散熱片的作用主要是為制冷片的熱端散熱。通常半導體制冷片冷熱端的溫差可以達到40~65度之間,如果通過主動散熱的方式來降低熱端溫度,那冷端溫度也會相應的下降,從而達到更低的溫度。當一塊N型半導體材料和一塊P型半導體材料聯(lián)結(jié)成電偶對時,在這個電路中接通直流電流后,就能產(chǎn)生能量的轉(zhuǎn)移,電流由N型元件流向P型元件的接頭吸收熱量,成為冷端由P型元件流向N型元件的接頭釋放熱量,成為熱端。吸熱和放熱的大小是通過電流的大小以及半導體材料N、P的元件對數(shù)來決定,以下三點是熱電制冷的溫差電效應。半導體

半導體制冷片制冷片作為特種冷源,在技術(shù)應用上具有以下的優(yōu)點和特點:1、不需要任何制冷劑,可連續(xù)工作,沒有污染源沒有旋轉(zhuǎn)部件,不會產(chǎn)生回轉(zhuǎn)效應,沒有滑動部件是一種固體片件,工作時沒有震動、噪音、壽命長,安裝容易。2、半導體制冷片具有兩種功能,既能制冷,又能加熱,制冷效率一般不高,但制熱效率很高,永遠大于1。因此使用一個片件就可以代替分立的加熱系統(tǒng)和制冷系統(tǒng)。3、半導體制冷片是電流換能型片件,通過輸入電流的控制,可實現(xiàn)高精度的溫度控制,再加上溫度檢測和控制手段,很容易實現(xiàn)遙控、程控、計算機控制,便于組成自動控制系統(tǒng)。4、半導體制冷片熱慣性非常小,制冷制熱時間很快,在熱端散熱良好冷端空載的情況下,通電不到一分鐘,制冷片就能達到最大溫差。5、半導體制冷片的反向使用就是溫差發(fā)電,半導體制冷片一般適用于中低溫區(qū)發(fā)電。6、半導體制冷片的單個制冷元件對的功率很小,但組合成電堆,用同類型的電堆串、并聯(lián)的方法組合成制冷系統(tǒng)的話,功率就可以做的很大,因此制冷功率可以做到幾毫瓦到上萬瓦的范圍。7、半導體制冷片的溫差范圍,從正溫90℃到負溫度130℃都可以實現(xiàn)。整體硬件電路圖完成以上之后的整個電路圖如下第四章系統(tǒng)軟件設(shè)計4.1系統(tǒng)軟件整體設(shè)計一個應用系統(tǒng)要完成各種功能,首先必須有叫較完善的硬件做保證。同時還必須得到相應設(shè)計合理的軟件的支持,尤其是微機應用高速發(fā)展的今天,許多由硬件完成工作,都可以通過軟件編程而取代。甚至有些必須采用很復雜的硬件電路才能完成的工作,用軟件編程有時會變得簡單,如數(shù)字濾波,信號處理等。因此充分利用其內(nèi)部豐富的硬件資源和軟件資源,采用C52系列的單片機相對應的C語言和結(jié)構(gòu)化程序設(shè)計方法進行軟件編程。程序設(shè)計語言有三種,機器語言,匯編語言和高級語言。機器語言是機器唯一能懂的語言,用匯編語言或高級語言編寫的程序(稱為源程序)最終都必須翻譯成機器語言的程序(成為目標程序),計算機才能看懂,然后逐一執(zhí)行。高級語言是面向問題和計算過程的語言,它克通過于各種不同的計算機,用戶編程時不必仔細了解所有的計算機的具體性能與指令系統(tǒng),而且語句的功能強,常常一個語句已相當于計算機指令,于是用高級語言編制程序的速度比較快,也便于學習和交流,所以本系統(tǒng)卻選用高級語言,C語言。本裝置的軟件包括主程序,顯示程序,溫度判斷程序,制冷制熱程序以及DS18B20的程序(初始化子程序,寫程序和讀程序等)。4.2系統(tǒng)程序設(shè)計主程序設(shè)計主程序的主要參數(shù)是負責溫度的實時顯示,讀出處理DS18B20的測量的當前溫度值,其程序流程圖如下調(diào)用溫度程序調(diào)用溫度程序數(shù)字交換程序顯示子程序開始結(jié)束主程序流程圖通過調(diào)用度溫度子程序吧存入內(nèi)存初中的整數(shù)部分與小數(shù)部分分開存放在不同的兩個單元中,然后通過調(diào)用顯示子程序顯示出來。顯示程序設(shè)計該部分采用循環(huán)動態(tài)掃描的方式對LED數(shù)碼管進行驅(qū)動。分別控制正負標志的顯示,十位的顯示和個位的顯示。溫度判斷程序設(shè)計當檢測到DS18B20的輸出所對應的溫度小與30°時,P1.2引腳置1,點亮黃色指示燈,當溫度值為30°-60°時,P1.1引腳置1,點亮綠色指示燈;當溫度值大于60°時,P1.0引腳置1,點亮紅色指示燈。流程圖如圖下開始開始讀取DS18B20溫度轉(zhuǎn)換溫度<30°溫度>30°并且<60°溫度>60°點亮黃色LED點亮綠色LED點亮紅色LED以上為溫度判斷程序圖DS18B20程序設(shè)計(1)讀出溫度子程序讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時需要進行CRC效驗,效驗有錯時進行溫度數(shù)據(jù)的改寫。DS18B20的各個命令對時序的要求特別嚴格,所以必須按照所要求的時序才能達到預期的目的,同時要注意進來的是高危在后低位在前,共12位數(shù),小數(shù)4位,整數(shù)7位,還有一位符號位。(2)復位,應答子程序開始開始P3.7口清0延時537usP3.7口置150us是否有低電平標志位置1有234us低電平P3.7口置1終止標志位置1是否復位,應答子程序(3)寫入子程序開始開始進位c清0P3.7清0延時12us帶進位右移延時46usP3.7置0R2是否為0終止第五章系統(tǒng)設(shè)計與分析第六章總結(jié)本次通過對具有溫度自動提醒功能智能水杯的設(shè)計,使自己對單片機和C語言有了進一步的掌握。在設(shè)計過程中,吸收了前輩的一些先進的理論成果。本人在設(shè)計中總結(jié)了一個重要的經(jīng)驗,一切問題都要結(jié)合實際進行設(shè)計。因為不同的設(shè)計技術(shù)或者設(shè)計思想都有自身的優(yōu)點和局限性。只有根據(jù)具體的設(shè)計要求,才能進行設(shè)計,也才能對已有的設(shè)計方法進行創(chuàng)新。本裝置實現(xiàn)了水杯的制冷制熱的自動提醒。單片機是這次設(shè)計的主體,采用LED數(shù)碼管進行時間顯示,并加入三個溫度提示燈,用半導體材料進行制冷制熱。本次設(shè)計使用的溫度檢測模塊結(jié)構(gòu)簡單,測溫準確。具有一定的實際應用價值。本次設(shè)計有較大的進展,取得了較好的成果,對單片機軟硬件資源擴展有深入的學習。本設(shè)計是學習單片機的較好選擇。但是設(shè)計還有諸多功能沒有完善,以后有機會會繼續(xù)完善其相應的功能。該智能水杯只是DS18B20在溫度控制領(lǐng)域的一個簡單實例,還有許多需要完善的地方,例如可以將測得的溫度通過單片機與通訊相連接,通過短信息的方式發(fā)給用戶,使用戶能夠隨時對溫度檢測。此外,還能廣泛地應用于其它一些生產(chǎn)領(lǐng)域,如建筑等行業(yè)。通過本次畢業(yè)設(shè)計,我了解并掌握了數(shù)碼管顯示的基本理論知識,更深入的掌握單片機的開發(fā)應用和編程控制,以及對半導體的理解制冷作用。為以后從事單片機軟硬件產(chǎn)品的設(shè)計開發(fā),打下了良好的基礎(chǔ),樹立獨立從事產(chǎn)品研發(fā)的信心,并在這種能力上得到充分的鍛煉。致謝當我寫完這篇畢業(yè)設(shè)計說明的時候,有一種如釋重負的感覺,在經(jīng)歷了找工作的焦灼、工作時的繁忙,做畢業(yè)設(shè)計、寫設(shè)計說明的煎熬之后,感覺好像一切都塵埃落定了,然而,要和自己學生時代的校園生活說再見。對無憂無慮的學生生活還是無比的懷念。四年,給予我的,是不斷豐富的學識,是從容、自信和幸福的能力,還有珍貴的友誼。四年,充實快樂。感謝給予我?guī)椭睦蠋?,同學,室友,讓我覺得生活如此美好。這次畢業(yè)設(shè)計,得到很多人的幫助和指點,謝謝你們。如果沒有你們,這次畢業(yè)設(shè)計也沒這么快完成。感謝我的指導老師李建華和其他指導過我的老師們,在此向老師致以最真誠的謝意和崇高的敬意。參考文獻[1]王青云.基于單片機的溫度測量系統(tǒng)[J]2021,(05).[2]彭立,張建洲,王少華.自適應溫度控制系統(tǒng)的研制[J]東北師大學報(自然科學版),1994,(01).[3]夏繼強.單片機實驗與實踐教程.北京:北京航空航天大學出版社,2001[4]沈聿農(nóng).傳感器及應用技術(shù)[M].北京:化學工業(yè)出版社,2001.[5]范晶彥.傳感器與檢測技術(shù)應用[M].北京:機械工業(yè)出版社,2005.[6]王俊峰,孟令啟.現(xiàn)代傳感器應用技術(shù)[M].北京:機械工業(yè)出版社,2007.[7]金發(fā)慶.傳感器技術(shù)與應用[M].北京:機械工業(yè)出版社,2006.[8]GoldmanJM,PettersonMT,KopoticRJ,BarkerSJ.Masimosignalextractionpulseoximetry[J].JClinMonitComput.2000;16(7):75-83.[9]D.Tulone.Onthefeasibilityofglobaltimeestimationunderisolationconditionsinwirelesssensornetworks.[10]李建中.單片機原理及應用[M]西安電子科技大學出版社,2021.(02)[11]周航慈.單片機應用程序設(shè)計技術(shù)[M].北京:北京航空航大大學出版社,2005.附錄程序1主程序#include"SMG.H"#include"DELAY.H"#include"DS18B20.H"#defineuintunsignedint#defineucharunsignedcharsbits1=P3^7;sbits2=P3^2;sbitHOT=P1^5;sbitCOLD=P3^3;sbitRED=P1^3;sbitGREEN=P1^2;sbitORG=P1^1;uintwendu;uintcounts;voidInitTimer0(void){TMOD|=0x01;TH0=0x0F8;TL0=0x0CD;EA=1;ET0=1;TR0=1;}bitzidong;bitjiare,zhileng;uintlongtimes=0;voidmain(){ zidong=0; longtimes=0; wendu=0; jiare=0;zhileng=0; delay_ms(200);wendu=ReadTemp(); delay_ms(200);wendu=ReadTemp(); delay_ms(200);wendu=ReadTemp(); delay_ms(200);wendu=ReadTemp(); delay_ms(200);wendu=ReadTemp(); delay_ms(200);wendu=ReadTemp(); delay_ms(200);wendu=ReadTemp(); delay_ms(200);wendu=ReadTemp(); counts=0; InitTimer0(); while(1) { counts++; delay_ms(10); if(counts==50) { counts=0; EA=0; wendu=ReadTemp(); EA=1; if(zidong==1) { if(wendu>=400) { COLD=0; HOT=1; } elseif(wendu>=300) { COLD=1; HOT=1; } else { COLD=1; HOT=0; } } } if(wendu>=400) { RED=0;GREEN=1;ORG=1; } elseif(wendu>=300) { RED=1;GREEN=0;ORG=1; } else { RED=1;GREEN=1;ORG=0; } if(s1==0) { delay_ms(10); if(s1==0) { while(!s1) { delay_ms(10); longtimes++; if(longtimes==200) break; } if(longtimes==200) { TR0=0; zidong=~zidong; if(zidong==0) P0=0X5B;//顯示HHHH表示自動 else P0=0X5F;//顯示AAAA表示自動 P2&=0X0F; delay_ms(2000);delay_ms(2000); TR0=1; } else { if(zidong==0) { jiare=~jiare; HOT=~jiare; if(jiare==1) { COLD=1; zhileng=0; } } } while(!s1); longtimes=0; } } if(zidong==0) { if(s2==0) { delay_ms(10); if(s2==0) { while(!s2); zhileng=~zhileng; COLD=~zhileng; if(zhileng==1) { HOT=1; jiare=0; } } } } } }ucharwei=0;voidTimer0Interrupt(void)interrupt1{TH0=0x0F8;TL0=0x0CD; wei++; if(wei==4) wei=0;DISP_SEG(wendu,wei);}2.DSB1820#ifndef__DS18B20_H__#define__DS18B20_H__#include<reg52.h>#include<intrins.h>sbitDQ=P2^0;/**************************************延時X*10微秒(STC90C52RC@12M)不同的工作環(huán)境,需要調(diào)整此函數(shù)當改用1T的MCU時,請調(diào)整此延時函數(shù)**************************************/voidDelayX0us(unsignedcharn){while(n--){_nop_();_nop_();}}/**************************************復位DS18B20,并檢測設(shè)備是否存在**************************************/voidDS18B20_Reset(){CY=1;while(CY){DQ=0;//送出低電平復位信號DelayX0us(48);//延時至少480usDQ=1;//釋放數(shù)據(jù)線DelayX0us(6);//等待60usCY=DQ;//檢測存在脈沖DelayX0us(42);//等待設(shè)備釋放數(shù)據(jù)線}}/**************************************從DS18B20讀1字節(jié)數(shù)據(jù)**************************************/unsignedcharDS18B20_ReadByte(){unsignedchari;unsignedchardat=0;for(i=0;i<8;i++)//8位計數(shù)器{dat>>=1;DQ=0;//開始時間片_nop_();//延時等待_nop_();DQ=1;//準備接收_nop_();//接收延時_nop_();if(DQ)dat|=0x80;//讀取數(shù)據(jù)DelayX0us(6);//等待時間片結(jié)束}returndat;}/**************************************向DS18B20寫1字節(jié)數(shù)據(jù)**************************************/voidDS18B20_WriteByte(unsignedchardat){chari;for(i=0;i<8;i++)//8位計數(shù)器{DQ=0;//開始時間片_nop_();//延時等待_nop_();dat>>=1;//送出數(shù)據(jù)DQ=CY;DelayX0us(6);//等待時間片結(jié)束DQ=1;//恢復數(shù)據(jù)線}}intReadTemp(){ unsignedcharTPH;//存放溫度值的高字節(jié) unsignedcharTPL;//存放溫度值的低字節(jié) intWEN; DS18B20_Reset();//設(shè)備復位DS18B20_WriteByte(0xCC);//跳過ROM命令DS18B20_WriteByte(0x44);//開始轉(zhuǎn)換命令while(!DQ);//等待轉(zhuǎn)換完成DS18B20_Reset();//設(shè)備復位DS18B20_WriteByte(0xCC);//跳過ROM命令DS18B20_WriteByte(0xBE);//讀暫存存儲器命令TPL=DS18B20_ReadByte();//讀溫度低字節(jié)TPH=DS18B20_ReadByte();//讀溫度高字節(jié) WEN=(int)((TPH*256+TPL)*0.625);//溫度放大十倍輸出 return(WEN); }#endif#include"DELAY.H"#include"intrins.h"voiddelay_ms(unsignedintx){ unsignedinti,j; for(i=0;i<x;i++) for(j=0;j<120;j++);4.DELAY.H#ifndef__DELAY_H#define__DELAY_Hvoiddelay_ms(unsignedintx);#endif5.SMG.C#include"SMG.H"unsignedcharSEG_DATA[10]={0xD7,/*0*/0x11,/*1*/0xCD,/*2*/0x9D,/*3*/0x1B,/*4*/0x9E,/*5*/0xDE,/*6*/0x15,/*7*/0xDF,/*8*/0x9F,/*9*/};unsignedcharSEG_DATA_POINT[10]={0xF7,/*0*/0x31,/*1*/0xED,/*2*/0xBD,/*3*/0x3B,/*4*/0xBE,/*5*/0xFE,/*6*/0x35,/*7*/0xFF,/*8*/0xBF,/*9*/};voidDISP_SEG(unsignedintx,unsignedcharwei){ unsignedcharqian,bai,shi,ge; qian=x/1000; bai=x%1000/100; shi=x%100/10; ge=x%10; switch(wei) { case0: SEG_DUAN=0X00; w1=0;w2=1;w3=1;w4=1; if(qian>=10) SEG_DUAN=0x00; else SEG_DUAN=SEG_DATA[qian]; break; case1: SEG_DUAN=0X00; w1=1;w2=0;w3=1;w4=1; if(bai>=10) SEG_DUAN=0x00; else SEG_DUAN=SEG_DATA[bai]; break; case2: SEG_DUAN=0X00; w1=1;w2=1;w3=0;w4=1; if(shi>=10) SEG_DUAN=0x00; else SEG_DUAN=SEG_DATA_POINT[shi]; break; case3: if(ge>=10) SEG_DUAN=0x00; else SEG_DUAN=0X00; w1=1;w2=1;w3=1;w4=0; SEG_DUAN=SEG_DATA[ge]; break; } }#ifndef__SMG_H#define__SMG_H#include"DELAY.H"#include<reg52.h>sbitw1=P2^6;sbitw2=P2^7;sbitw3=P2^4;sbitw4=P2^5;#defineSEG_DUANP0voidDISP_SEG(unsignedintx,unsignedcharwei);#endif#include"EEROM.H"http://EEROM部分特殊寄存器聲明及命令的宏定義#defineRdCommand0x01 //定義ISP的操作命令#definePrgCommand0x02#defineEraseCommand0x03 #defineError1#defineOk0#defineWaitTime0x01//定義CPU的等待時間sfrISP_DATA=0xe2;//寄存器申明sfrISP_ADDRH=0xe3;sfrISP_ADDRL=0xe4;sfrISP_CMD=0xe5;sfrISP_TRIG=0xe6;sfrISP_CONTR=0xe7;/************************************************************************函數(shù)名稱:ISP_IAP_enable()****函數(shù)功能:打開ISP,IAP功能****備注說明:********************************************************************/voidISP_IAP_enable(void){ EA = 0; /*關(guān)中斷 */ ISP_CONTR= ISP_CONTR&0x18;/*0001,1000 */ ISP_CONTR= ISP_CONTR|WaitTime; /*寫入硬件延時 */ ISP_CONTR= ISP_CONTR|0x80;/*ISPEN=1 */}/************************************************************************函數(shù)名稱:ISP_IAP_disable()****函數(shù)功能:關(guān)閉ISP,IAP功能****備注說明:********************************************************************/voidISP_IAP_disable(void){ ISP_CONTR = ISP_CONTR&0x7f; /*ISPEN=0*/ ISP_TRIG = 0x00; EA =1; /*開中斷*/}/************************************************************************函數(shù)名稱:ISPgoon()****函數(shù)功能:公用的觸發(fā)代碼****備注說明:********************************************************************/voidISPgoon(void){ ISP_IAP_enable(); /*打開ISP,IAP功能 */ ISP_TRIG = 0x46; /*觸發(fā)ISP_IAP命令字節(jié)1 */ ISP_TRIG = 0xb9; /*觸發(fā)ISP_IAP命令字節(jié)2 */ _nop_();}/************************************************************************函數(shù)名稱:byte_read()****函數(shù)功能:字節(jié)讀****備注說明:********************************************************************/unsignedcharbyte_read(unsignedintbyte_addr){ ISP_ADDRH=(unsignedchar)(byte_addr>>8);/*地址賦值 */ ISP_ADDRL=(unsignedchar)(byte_addr&0x00ff); ISP_CMD=ISP_CMD &0xf8; /*清除低3位 */ ISP_CMD=ISP_CMD |RdCommand; /*寫入讀命令 */ ISPgoon(); /*觸發(fā)執(zhí)行 */ ISP_IAP_disable(); /*關(guān)閉ISP,IAP功能 */ return(ISP_DATA); /*返回讀到的數(shù)據(jù) */}/************************************************************************函數(shù)名稱:SectorErase()****函數(shù)功能:扇區(qū)擦除****備注說明:********************************************************************/voidSectorErase(unsignedintsector_addr){ unsignedintiSectorAddr; iSectorAddr=(sector_addr&0xfe00);/*取扇區(qū)地址*/ ISP_ADDRH=(unsignedchar)(iSectorAddr>>8); ISP_ADDRL=0x00; ISP_CMD =ISP_CMD&0xf8; /*清空低3位 */ ISP_CMD =ISP_CMD|EraseCommand; /*擦除命令3 */ ISPgoon(); /*觸發(fā)執(zhí)行 */ ISP_IAP_disable(); /*關(guān)閉ISP,IAP功能 */}/************************************************************************函數(shù)名稱:byte_write()****函數(shù)功能:字節(jié)寫****備注說明:********************************************************************/voidbyte_write(unsignedintbyte_addr,unsignedcharoriginal_data){ ISP_ADDRH= (unsignedchar)(byte_addr>>8); /*取地址 */ ISP_ADDRL= (unsignedchar)(byte_addr&0x00ff); ISP_CMD =ISP_CMD&0xf8; /*清低3位 */ ISP_CMD=ISP_CMD|PrgCommand; /*寫命令2 */ ISP_DATA=original_data; /*寫入數(shù)據(jù)準備 */ ISPgoon(); /*觸發(fā)執(zhí)行 */ ISP_IAP_disable(); /*關(guān)閉IAP功能 */}#ifndef__EEROM_H__#define__EEROM_H__#include<REG52.H>#include<intrins.h>voidISP_IAP_enable(void);voidISP_IAP_disable(void);voidISPgoon(void);unsignedcharbyte_read(unsignedintbyte_addr);voidSectorErase(unsignedintsector_addr);voidbyte_write(unsignedintbyte_addr,unsignedcharoriginal_data);#endif基于單片機的交流電機變頻調(diào)速系統(tǒng)的設(shè)計【摘要】本課題主要是研究電壓型三相交流SPWM變頻技術(shù)的基本原理、實現(xiàn)方法及軟硬件設(shè)計,完成系統(tǒng)的軟硬件設(shè)計。要求完成內(nèi)容主要有:1、變頻調(diào)速技術(shù)基本原理2、變頻調(diào)速基本原理3、控制方案確定4、軟件與硬件設(shè)計。涉及的主要相關(guān)知識:電力電子及運動控制、微機控制。在通常情況下交流異步電動機用作調(diào)速機時,它的控制電路復雜,系統(tǒng)的效率較低。采用單片機微機控制的交流異步電動機變頻調(diào)速系統(tǒng)使起控制電路大為簡化,使用正弦脈寬調(diào)制(SPWM)驅(qū)動,系統(tǒng)效率也有所提高。交流異步電動機的變頻調(diào)速,實際中多采用脈沖寬度調(diào)制(PWM),完成調(diào)頻和調(diào)壓兩種功能。用單片機實現(xiàn)(PWM)來控制可使調(diào)節(jié)靈活,電路簡化。本設(shè)計采用的MCS51系列的單片微機控制PWM。傳統(tǒng)的交流變頻調(diào)速系統(tǒng)由正弦波和鋸齒波相交產(chǎn)生所需的脈寬調(diào)制波實現(xiàn)恒壓額比的變頻調(diào)速控制。這種系統(tǒng)由于采用模擬控制,設(shè)備復雜、調(diào)整困難,且控制精度低,可靠性差,因而限制了這種系統(tǒng)的應用。與上述傳統(tǒng)的系統(tǒng)相比,本系統(tǒng)具有如下特點:采用新型大規(guī)模專用集成電路產(chǎn)生脈寬調(diào)制波,使波形穩(wěn)定,精度和可靠性顯著增加。以單片機8031CPU為核心的全數(shù)字控制.電路簡單,調(diào)整迅速,進一步提高了控制精度?!娟P(guān)鍵詞】電壓型三相PWM整流器;變頻調(diào)速;單片機;交流電機【ABSTRACT】FocusisStudyingSPWMthree-phasevoltage-typeACinverterwiththefundamentalprinciplesinthispaper,anddesigningthemethodsandsoftwareandhardware,andcompletesystemsoftwareandhardware.Themaincompletionon:1.thebasicprinciplesofVVVFtechnology2.thebasicprinciplesofFrequencyControl,3.thecontrolschemeforthe4.softwareandhardwaredesign.Themainrelevantknowledge:powerelectronicsandmotioncontrol,computercontrol.Undernormalcircumstancesinexchangeformotorasynchronousspeedmachine,it'scomplicatedcontrolcircuits,thesystem'sefficiencyislow.SCMusingcomputercontroltheexchangeofasynchronousmotorFrequencyControlSystemthathasgreatlysimplifiedcontrolcircuit,theuseofSPWM(SPWM)drive,thesystemhasimprovedefficiency.

InductionMotorFrequencyControl,intheactualuseofpulsewidthmodulation(PWM),andcompletedFMSurgetwofunctions.Toachievesingle-chipmicroprocessor(PWM)tocontrolcanadjustflexibly,tosimplifycircuit.ThisdesignbytheMCS51seriesofsingle-chipmicroprocessorachivesPWMcontrol。ThetraditionalexchangeofFrequencyControlSystemfromtheintersectionofasinewaveandthesawtoothPWMwaveofconstantpressuretoachievethanthefrequencyforarrestcontrol.Asaresultofthisanalogcontrolsystem,equipmentcomplexanddifficultadjustment,andlow-precisioncontrol,reliabilitypoor,thuslimitingtheapplicationofsuchasystem.Withthetraditionalsystems,thissystemhasthefollowingcharacteristics:anewtypeoflarge-scaleASICPWMwave,thewavestability,accuracyandreliabilityofasignificantincreaseinSCM(8031CPUasthecoreofdigitalcontrol.Circuitsimpletoadjustquicklytofurtherenhancethecontrolaccuracy.【Keywords】Three-PhasePWMvoltagerectifier,FrequencyControl,SCM,ACmotor,computercontrol

目錄摘要…………………………..1ABSTRACT…………………..2第一章緒論………………..41.1當前變頻調(diào)速的發(fā)展狀況及其趨勢…………………...41.2設(shè)計本課題的總思路…………………...81.3設(shè)計任務及要求………………………...8第二章異步電動機變頻調(diào)速……………..92.1變頻器…………………...92.2變頻調(diào)速基本原理……………………..10第三章脈寬調(diào)制技術(shù)…………………….123.1相電壓控制PWM…………………........123.2線電壓控制PWM………………………143.3電流控制PWM…………153.4空間電壓矢量控制PWM………………163.5 矢量控制PWM………………………...163.6 直接轉(zhuǎn)矩控制PWM…………………...173.7非線性控制PWM………………………17第四章系統(tǒng)的硬件設(shè)計…………………..184.1系統(tǒng)工作原理…………...184.2主電路的設(shè)計…………...224.3光電隔離電路…………...264.4過電壓保護電路………………………...274.58051控制電路…………...28第五章系統(tǒng)的軟件設(shè)計…………………..305.1單片機程序設(shè)計………………………...305.2控制電路

溫馨提示

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

評論

0/150

提交評論