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

正文內(nèi)容

基于單片機的機械通風(fēng)控制器設(shè)計-資料下載頁

2025-06-19 12:56本頁面
  

【正文】 離不長、信號易干擾等缺點,不能直接與多個單片機相連。RS485是美國電工業(yè)聯(lián)合會(EIA)制定的利用平衡雙絞線作傳輸線的多點通訊標(biāo)準(zhǔn)。它采用差分信號進行輸:。最多可連接32個驅(qū)動器和收發(fā)器。接收器最小靈敏可達177。200mv。由此可見,RS485協(xié)議正是針對遠距離、靈敏度、多點通訊制定的標(biāo)準(zhǔn)。RS232C串行通信接口有25針和9針兩種形式?,F(xiàn)在流行的PC機絕大多數(shù)采用9針的連接器,其引腳定義為:DCD為載波檢測、RXD為接收數(shù)據(jù)、TXD為發(fā)送數(shù)據(jù)、DTR為數(shù)據(jù)終端準(zhǔn)備就緒、GND為信號地、DSR為數(shù)據(jù)裝置準(zhǔn)備就緒、RTS為請求發(fā)送、CTS為清除發(fā)送、租為振鈴指示。PC機和單片機之間的串行通信通常采用RXD、TXD、GND3條線即可。在設(shè)計通信接口時,必須根據(jù)需要選擇接口,并考慮傳輸介質(zhì)、電平轉(zhuǎn)換和通信控制芯片等問題,以保證通信的可靠性、通信速度、通信距離和抗干擾能力。目前,常用的標(biāo)準(zhǔn)接口有RS23RS42RS485。本系統(tǒng)是基于跳線選擇RS232或者RS485接口標(biāo)準(zhǔn)。由于RS一2犯或者RS一485電平和TTL電平不兼容,故兩者接口時,必須進行電平轉(zhuǎn)換。常用的轉(zhuǎn)換芯片是M尤心32和MAX485,其作用除了電平轉(zhuǎn)換外,還實現(xiàn)正負邏輯電平的轉(zhuǎn)換,只需要一個+5V的供電電源。5系統(tǒng)軟件設(shè)計本章將介紹軟件的總體設(shè)計,有了各個功能塊的軟件實現(xiàn)方法,軟件的總體設(shè)計就變得清晰了,軟件設(shè)計中一個重要的思想就是采用模塊化設(shè)計,把一個大的任務(wù)分解成若干個小任務(wù),分別編制實現(xiàn)這些小任務(wù)的子程序,然后將子程序按照總體要求組裝起來,就可以實現(xiàn)這個大任務(wù)了。這種思路對于可重復(fù)使用的子程序顯得尤為優(yōu)越,因為不僅程序結(jié)構(gòu)清晰,而節(jié)約程序存儲空間。系統(tǒng)整體軟件設(shè)計包括管理程序和控制程序兩部分,管理程序包括LED顯示的動態(tài)刷新、控制指示燈、處理鍵盤的掃描和響應(yīng)。進行掉電保護的處理、執(zhí)行中斷服務(wù)操作等。控制程序是對被控對象進行采樣、數(shù)據(jù)處理、根據(jù)控制算法進行計算和輸出等??刂瞥绦虬ˋ/D轉(zhuǎn)換,數(shù)據(jù)采樣,數(shù)字處理、上下限報警處理等。下位機程序主要包括主程序、A/D轉(zhuǎn)換程序、定時器中斷服務(wù)程序、鍵盤掃描程序、顯示程序和串口通信程序,這些程序主要由KeilC5l實現(xiàn)。系統(tǒng)初始化程序是為了在進入主程序循環(huán)之前,做好必要的準(zhǔn)備工作。在整個系統(tǒng)設(shè)計中,用到了4個單片機基本功能模塊:時鐘模塊、外部中斷模塊、串口通信模塊以及普通FO模塊。根據(jù)系統(tǒng)實際需求,對各個模塊進行了初始化配置,通過對相應(yīng)數(shù)據(jù)寄存器或狀態(tài)寄存器的讀寫,實現(xiàn)相應(yīng)的功能。在系統(tǒng)進行一系列的準(zhǔn)備工作即初始化之后,程序就進入主循環(huán),主循環(huán)的工作是進行采樣時間控制、控制測量過程、LED顯示循環(huán)、按鍵檢測并且處理、數(shù)據(jù)查表處理、數(shù)據(jù)顯示,然后周而復(fù)始地進行主循環(huán)程序。在主程序循環(huán)的過程中隨時響應(yīng)按鍵中斷,進入中斷響應(yīng)。主程序見附錄主程序模塊包含的主要函數(shù)定義及功能:初始化部分:函數(shù)定義:voidInitial(void)。功能:對SST89E58RD2的特殊功能寄存器和全局變量賦初值,串口初始化.中斷處理部分。函數(shù)定義:void**(void)interrupt。數(shù)據(jù)采集部分:A/D轉(zhuǎn)換函數(shù)定義:unsignedcharADconvert(unsignedcharaddress)。功能:讀AI、DI,啟動A/D轉(zhuǎn)換,將模擬信號轉(zhuǎn)換成數(shù)字量。數(shù)據(jù)采集部分的作用是將表示溫濕度等模擬電壓信號轉(zhuǎn)換成數(shù)字信號輸入單片機,在對TLC2543編程時,最后啟動A/D轉(zhuǎn)換,當(dāng)EOC=O時表示轉(zhuǎn)換結(jié)束,此時可將數(shù)字信號從TLC2543中讀出,其中TLC2543有11個通道。數(shù)據(jù)存儲部分:向E2PROM存儲數(shù)據(jù)函數(shù)定義:voidDataStore(address,unsignedcharsch)。功能:向EZPROM存儲一個字節(jié)的數(shù)據(jù)。從EZPROM中取數(shù)據(jù)函數(shù)定義:unsignedcharDataRestore(address)。在本系統(tǒng)中當(dāng)一路通道的溫度被轉(zhuǎn)換出來后,如果只保存在RAM里,其值很容易因為電磁干擾等原因而改變,因此需要把這個量存儲到穩(wěn)定性高得多的片內(nèi)FLASH里,以提高系統(tǒng)的穩(wěn)定性。外圍設(shè)備接口程序主要包括:初始化并行口程序,AI處理程序,DI輸入數(shù)據(jù)處理程序DO輸出處理程序,DO報警輸出處理程序及ADC采樣轉(zhuǎn)換。MCU在采集真實世界的模擬信號時離不開前向通道中的A/D轉(zhuǎn)換器。TLC2543提供各類A/D轉(zhuǎn)換器,包括積分方式,逐次逼近方式,閃電方式(并行方式),藝一△方式和流水線方式的A/D轉(zhuǎn)換器,TLC2543的A/D轉(zhuǎn)換器具有優(yōu)異的動態(tài)特性和令人滿意的低功率消耗以及很小的芯片尺寸,采用串行接口結(jié)構(gòu)可以減小體積和占用MCU的FO口線,使系統(tǒng)功耗進一步降低,如果降低采樣速率或使用其關(guān)斷功能,系統(tǒng)功耗將更低。A/D轉(zhuǎn)換的基本原理是:將參考電平按最大的轉(zhuǎn)換值量化,再利用輸入模擬電平與參考電平的比例來求得輸入電平的測量值(V測=V參*(AD量化值/AD轉(zhuǎn)換的最大值))。VoidDoADC(unsignedcharadum){registerunsignedchardataj。unsignedintxdataAinMax,AinMin,SecMax,SecMin。unsignedlongxdatasum。unsignedintxdataAinBak[20]。unsignedchardataDEAD。DEAD=0x02。for(j=0。j20。j++){AinBak[j]=GetAiValue(adum)。delayl(l)。}AinMax=AinBak[0]。AinMin=AinBak[0]。SecMax=0。SecMin=0x00fff。for(j=0。j20。j++){if(AinBak[j]AinMax){SecMax=AinMax。AinMax=AinBak[j]。}elseif(AinBak[j]SecMax){SecMax=AinBak[j]。}if(AinBak[j]AinMin){SecMin=AinMin。AinMin=AinBak[j]:}elseif(AinBak[j]SecMin){SecMin=AinBak[j]:}}for(j=0,sum=0。j20。j++){sum=sum+AinBak[j]sum=sumAinMaxAinMinSecMinSecMax。LastestAdc_In[adum]=LasterAdc_In[adum]。LasterAde_In[adum]=LastAdc_In[adum]。LasterAde_In[adum]=NextAdc_In[adum]。NextAdc_In[adum]=(unsignedint)(sum/16)if(fStart[adum]==l){fStart[adum]=O。LastAde_In[adum]=NextAdc_In[adum]。LasteAdc_In[adum]=LastAde_In[adum」。LastestAde_In[adum]=LasteAdc_In[adum]}Ade_In[adum]=((NextAdc_In[adum]*4+LastAdc_In[adum]*4+LasterAde_In[adum]*4+LastestAde_In[adum]*4)/16)if(Ade_In[adum」=DEAD)Adc_In[adum]=0。}單片機的串口收發(fā)信號經(jīng)驅(qū)動及光電隔離后與MAX4SS/MAx232的數(shù)據(jù)收發(fā)引腳對應(yīng)相連,其通信協(xié)議可根據(jù)實際情況自行定義。為提高通信效率,通信協(xié)議可定義為:l位起始位,8位數(shù)據(jù)位,1位停止位,波特率設(shè)為9600b/s,無奇偶校驗。傳輸數(shù)據(jù)格式ASCH碼,發(fā)送一次數(shù)據(jù)為20B的數(shù)據(jù)塊。PC與單片機之間是雙向通信,兩個方向通信的功能不同,傳輸?shù)臄?shù)據(jù)也不相同:PC向單片機發(fā)送控制命令和測試數(shù)據(jù)塊。單片機則向PC反饋工作狀態(tài)并執(zhí)行功能函數(shù)。單片機的數(shù)據(jù)通信由串行口完成,定時器T1作為波特率發(fā)生器,其波特率與PC相同,采用中斷方式接收數(shù)據(jù)。定時器T1設(shè)置為工作模式2,串行口設(shè)置為工作方式l,以上設(shè)置在單片機初始化程序中完成。當(dāng)PC向單片機發(fā)送數(shù)據(jù)時,引起單片機中斷并開始接收數(shù)據(jù)。若正確接收到起始碼,則繼續(xù)接收隨后的功能碼。否則跳出通信,中斷服務(wù)程序。通信設(shè)置為9600N81。本系統(tǒng)的上位機部分采用VisualBasic語言編寫,它是一種面向?qū)ο蟮某绦蛟O(shè)計語言。編程語言可分為過程語言和非過程語言。相應(yīng)地,面向過程的程序設(shè)計關(guān)心的是程序表達對問題的求解過程,用戶可以顯式地指明一系列可執(zhí)行指令(或語句)來表達程序的處理過程。傳統(tǒng)的編程方法都是面向過程的程序設(shè)計。此方法以問題的處理過程為中心,對問題的求解步驟是根據(jù)問題所依據(jù)的數(shù)據(jù)結(jié)構(gòu)來確定算法,編制程序,求得結(jié)果。面向?qū)ο蟪绦蛟O(shè)計與傳統(tǒng)的面向過程的程序設(shè)計完全不同,面向?qū)ο蟪绦蛟O(shè)計將數(shù)據(jù)和對數(shù)據(jù)的操作封裝在“類”中,這樣說明抽象數(shù)據(jù)類型比較自然,對實際問題的描述、對信息的隱蔽性、結(jié)構(gòu)性和可讀性等都比面向過程程序設(shè)計好,對象間通過消息互相聯(lián)系,顯然面向?qū)ο蟪绦蚴恰皩ο蟆钡募?。本系統(tǒng)先使用調(diào)試工具EpsUtility進行參數(shù)設(shè)置,產(chǎn)品運行前必須先設(shè)置作參數(shù)。l)地址設(shè)置設(shè)置設(shè)備地址,地址范圍1~253。2)模擬量設(shè)置設(shè)置對應(yīng)傳感器測量范圍。3)控制限值設(shè)置設(shè)置機房溫濕度控制限值,通風(fēng)系統(tǒng)啟動運行溫度。4)設(shè)備使用狀態(tài)設(shè)置設(shè)置傳感器及相關(guān)設(shè)備是否使用。未選擇的設(shè)備將被禁用,選擇使用的設(shè)備建議配置相對應(yīng)的設(shè)備運行狀態(tài)傳感器,否則會產(chǎn)生誤報警。5)設(shè)置控制參量可以遠程設(shè)置下列室內(nèi)溫濕度調(diào)節(jié)控制限值:表51參數(shù)表參數(shù)默認值通風(fēng)系統(tǒng)啟動運行溫度10濾網(wǎng)阻塞風(fēng)壓180濾網(wǎng)阻塞風(fēng)壓280串口通信實現(xiàn)VB主要采用MSColnm控件來進行串口通訊,MSColnm控件提供了兩種理通信的方式:一種為事件驅(qū)動方式,當(dāng)串口發(fā)生事件或錯誤時,MSCollun件會觸發(fā)onComm事件,程序可以在此事件中進行相應(yīng)的處理。另一種為查詢方式,在用戶程序中設(shè)計定時或不定時查詢MSColnm控件的某些屬性是否發(fā)生變化,從而進行相應(yīng)處理。在糧庫的測控系統(tǒng)中經(jīng)常是2種方式結(jié)合起來用,比如在讀取下位機返回數(shù)據(jù)時,如果已知返回數(shù)據(jù)的長度時可采用事件驅(qū)動方式如果返回數(shù)據(jù)為不定長時多采用查詢方式。l),一是直接調(diào)用WindowsAPI,另一種方式是使用通信控件MicrosoftCommControl,使用通信控件方式實際上是通過通信組件間接的調(diào)用了WindowsAPI函數(shù),其過程要比直接調(diào)用API要復(fù)雜,但是在程序的實現(xiàn)上要比前一種方式簡單的多。在操作系統(tǒng)方面,以便于應(yīng)用程序能夠使用標(biāo)準(zhǔn)的WindowsAPI函數(shù)來傳遞和接收數(shù)據(jù)。串行外圍設(shè)備的制造商則提供硬件驅(qū)動程序,以便讓其硬件能與Windows連接。使用MSComm控件時,實際上就是使用了API函數(shù),以驅(qū)動API函數(shù)的接口完成工作。下圖是串行通信程序的執(zhí)行過程。2)MSComm通信控件MSComm提供了兩種處理通信問題的方法,一是事件驅(qū)動方法,一是查詢法。其中事驅(qū)動法是在使用事件驅(qū)動法設(shè)計程序時,每當(dāng)有新字符到達或端口狀態(tài)改變,或發(fā)生錯誤MSCommm控件將觸發(fā)OnComm事件,而應(yīng)用程序在捕獲該事件后,通過檢查MSComm控件CommEvent屬性可以獲知所發(fā)生的事件或錯誤,從而采取相應(yīng)的操作。這種方法的優(yōu)點是序響應(yīng)及時,可靠性高。查詢法適合于較小的應(yīng)用程序,在這種情況下,每當(dāng)應(yīng)用程序執(zhí)完某一串行口操作后,將不斷檢查MSComm以控件的CommEvent屬性,以檢查執(zhí)行結(jié)果或某一事件是否發(fā)生。串行通信的兩種格輸方式:字符形式和二進制形式。字符形式通常以小于ASCII碼的字符碼來傳遞,通常用于傳送指令。二進制形式是將數(shù)據(jù)以二進制編碼的方式傳遞,它能含有ASCll碼128以上的字符碼,通常用來傳送數(shù)據(jù),以提高速度。MSComm控件的常用屬性和方法:Commport:設(shè)置或返回串口號。Settings:以字符串的形式設(shè)置或返回串口通信參數(shù)。Portopen:設(shè)置或返回串口狀態(tài)。InputMode:設(shè)置或返回接收數(shù)據(jù)的類型。Inputlen:設(shè)置或返回一次從接收緩沖區(qū)中讀取字節(jié)數(shù)。InBuffersize:設(shè)置或返回接收緩沖區(qū)的大小,缺省值為1024字節(jié)。InBufferCounte:設(shè)置或返回接收緩沖區(qū)中等待計算機接收的字符數(shù)。InPut:從
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1