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

正文內(nèi)容

單片機(jī)溫濕度設(shè)計(jì)畢業(yè)論文(完整版)

  

【正文】 True = 停止采集 = amp。 恢復(fù)默認(rèn)值 = 1 = False = 開(kāi)始采集 = False = amp。 初始化表格 If = True Then = 1000 * 39。Private Sub CmdStart_Click() 39。定義窗體級(jí)變量39。 display() 。 }//串口發(fā)送數(shù)據(jù)void UART_Trans(char n){ SBUF = n。 delay(60)。 shijian[4]=x%10。 x=+t[1]4。 t[1]=*pt。k0。參考文獻(xiàn)[1]—入門(mén)、提高、開(kāi)發(fā)、拓展全攻略[M].北京:. [2][M].北京:北京航空航天大學(xué)出版社. 20085. [3](C語(yǔ)言版)[M].北京:. [4][M].北京:.[5]:[6][M].北京:[7]:附 錄附錄一:下位機(jī)程序includeincludedefine XTAL 11059200 define baudrate 9600 unsigned char code tab[]={0xc0, 0xf9,0xa4,0xb0,0x99 ,0x92 ,0x82,0xf8,0x80 ,0x90,0xbf,0xff,0xbf,0x7f}。自然而然,我的耐心便在其中建立起來(lái)了。最后還要實(shí)現(xiàn)單片機(jī)與上位機(jī)通信的功能,所以要連接好串口,以便能向上位機(jī)發(fā)送或接受數(shù)據(jù)。點(diǎn)擊查詢(xún)可查詢(xún)歷史溫度信息。也可以打開(kāi)和關(guān)閉端口Input它允許建立串口連接,可以連接到其他通信設(shè)備(如Modem).還可以發(fā)送命令、進(jìn)行數(shù)據(jù)交換以及監(jiān)視和響應(yīng)在通信過(guò)程中可能發(fā)生的各種錯(cuò)誤和事件,從而可以用它創(chuàng)建全雙工 、事件驅(qū)動(dòng)的、高效實(shí)用的通信程序。H amp。接收觸發(fā)事件的處理,當(dāng)每發(fā)送一次指令時(shí),就會(huì)觸發(fā)OnComm事件,并返回?cái)?shù)據(jù)串,通過(guò)計(jì)算獲取溫度測(cè)量值并顯示出來(lái),具體設(shè)計(jì)程序如下:Private Sub MSComm1_OnComm() Dim Inbyte() As Byte Dim buffer As String Dim datatemp2a, datatemp2b As String Dim datatemp2 As String Dim count As Integer 39。其他延時(shí)子程序以及DS18B20的讀寫(xiě)子程序,可見(jiàn)附錄一的完整的DS18B20溫度采集系統(tǒng)程序設(shè)計(jì),在這里不做詳細(xì)介紹了。 display[2]=display[1]/10。℃/LSB,通過(guò)移位操作,即可獲得一個(gè)新的關(guān)于溫度整數(shù)部分的數(shù)據(jù),部分設(shè)計(jì)顯示轉(zhuǎn)化程序如下:display[4]=temp_data[0]amp。 TH1=(unsigned char)(256 (XTAL / (32L * 12L * baudrate)))。 } } }}主程序?yàn)橐粺o(wú)限循環(huán),單片機(jī)不斷從DS18B20的數(shù)據(jù)口采集數(shù)據(jù)信號(hào),用flash標(biāo)志DS18B20是否正常,當(dāng)flash=1時(shí)表示DS18B20不正常,就由軟件設(shè)置及時(shí)關(guān)閉LED顯示并由蜂鳴器報(bào)警。 while(1) { Read_Temperature()。 初始化調(diào)用顯示子程序1S到?初次上電讀出溫度值溫度計(jì)算處理顯示數(shù)據(jù)刷新發(fā)溫度轉(zhuǎn)換開(kāi)始命令的法國(guó)風(fēng)格 法國(guó) NYNY 主程序流程圖讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時(shí)需進(jìn)行CRC校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫(xiě)。顯示電路采用8個(gè)共陽(yáng)極的LED顯示,顯示代碼由P0口發(fā)送,當(dāng)使用P0口時(shí)需要接上拉電阻,P2口的邏輯狀態(tài)作位選線(xiàn)信號(hào),達(dá)到分時(shí)選通的目的,當(dāng)相應(yīng)口為高電平時(shí)LED才能顯示相應(yīng)代碼。器件中還有一個(gè)計(jì)數(shù)門(mén),當(dāng)計(jì)數(shù)門(mén)打開(kāi)時(shí),DS18B20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖進(jìn)行計(jì)數(shù)進(jìn)而完成溫度測(cè)量。單片機(jī)可以通過(guò)單線(xiàn)接口讀出該數(shù)據(jù),讀數(shù)據(jù)時(shí)低位在先,高位在后,℃/LSB形式表示。DS18B20工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。 DS18B20傳感器簡(jiǎn)介DS18B20溫度傳感器是美國(guó)DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)9~12位的數(shù)字值讀數(shù)方式。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000HFFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。GND:接地。三級(jí)程序存儲(chǔ)器鎖定單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。對(duì)于單片機(jī)的選擇,如果用8031系列,由于它沒(méi)有內(nèi)部RAM,系統(tǒng)又需要大量?jī)?nèi)存存儲(chǔ)數(shù)據(jù),因而不可用;AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱(chēng)單片機(jī)??刂破鞑捎脝纹瑱C(jī)AT89C51,溫度傳感器采用DS18B20,用8位LED數(shù)碼管以串口傳送數(shù)據(jù)實(shí)現(xiàn)溫度顯示并通過(guò)串口與上位機(jī)PC通訊,把數(shù)據(jù)傳送給上位機(jī),并用VB編寫(xiě)的圖形界面把溫度的變化曲線(xiàn)顯示出來(lái),并通過(guò)數(shù)據(jù)庫(kù)存儲(chǔ),可查詢(xún)歷史溫度記錄。讀數(shù)方便,測(cè)量范圍廣,測(cè)溫準(zhǔn)確。硬件電路較簡(jiǎn)單,所以軟件設(shè)計(jì)較復(fù)雜,DS18B20只有一個(gè)數(shù)據(jù)口,所以它的讀寫(xiě)程序?qū)r(shí)序有很高的要求。單片機(jī)LED顯示溫 度 傳 感 器復(fù)位電路時(shí)鐘振蕩蜂鳴器單片機(jī)AT89C51具有低電壓供電和體積小等特點(diǎn),四個(gè)端口只需要兩個(gè)口就能滿(mǎn)足電路系統(tǒng)的設(shè)計(jì)需要,很適合便攜手持式產(chǎn)品的設(shè)計(jì)使用系統(tǒng)可用二節(jié)電池供電。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的單片機(jī)。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS51指令集和輸出管腳相兼容。128*8位內(nèi)部RAMP0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。P3口也可作為AT89C51的一些特殊功能口,如下表所示:口管腳 備選功能 RXD(串行輸入口) TXD(串行輸出口) /INT0(外部中斷0) /INT1(外部中斷1) T0(記時(shí)器0外部輸入) T1(記時(shí)器1外部輸入) /WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通) /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。如想禁止ALE的輸出可在SFR8EH地址上置0。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。DS18B20的性能特點(diǎn)如下:獨(dú)特的單線(xiàn)接口僅需要一個(gè)端口引腳進(jìn)行通信;多個(gè)DS18B20可以并聯(lián)在惟一的三線(xiàn)上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能;無(wú)須外部器件;可通過(guò)數(shù)據(jù)線(xiàn)供電,~;零待機(jī)功耗;溫度以9或12位數(shù)字;用戶(hù)可定義報(bào)警設(shè)置;報(bào)警搜索命令識(shí)別并標(biāo)志超過(guò)程序限定溫度(溫度報(bào)警條件)的器件;負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作; DS18B20采用3腳PR-35封裝或8腳SOIC封裝。低5位一直為1,TM是工作模式位,用于設(shè)置DS18B20在工作模式還是在測(cè)試模式,DS18B20出廠(chǎng)時(shí)該位被設(shè)置為0,用戶(hù)要去改動(dòng),R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),來(lái)設(shè)置分辨率。當(dāng)符號(hào)位S=0時(shí),表示測(cè)得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號(hào)位S=1時(shí),表示測(cè)得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計(jì)算十進(jìn)制數(shù)值。計(jì)數(shù)門(mén)的開(kāi)啟時(shí)間由高溫度系數(shù)振蕩器來(lái)決定,每次測(cè)量前,首先將-55℃所對(duì)應(yīng)的一個(gè)基數(shù)分別置入減法計(jì)數(shù)器溫度寄存器中,計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55℃所對(duì)應(yīng)的一個(gè)基數(shù)值。實(shí)際使用中只用到七個(gè)LED,最后2個(gè)用來(lái)顯示攝氏度符號(hào),第二個(gè)用來(lái)顯示溫度的正負(fù),當(dāng)溫度為負(fù)時(shí),顯示“—”號(hào),為正時(shí)不顯示,同樣由軟件可以實(shí)現(xiàn),當(dāng)百位為零時(shí),百位不顯示,百位十位為零時(shí),百位十位都不顯示,這樣設(shè)計(jì)方便觀(guān)察,更加直觀(guān)。Y發(fā)DS18B20復(fù)位命令發(fā)跳過(guò)ROM命令發(fā)讀取溫度命令讀取操作,CRC校驗(yàn)9字節(jié)完?CRC校驗(yàn)正?確?移入溫度暫存器結(jié)束 NNY 讀流程圖 計(jì)算溫度子程序計(jì)算溫度子程序?qū)AM中讀取值進(jìn)行轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定。 if (flash==0) { Disp_Temperature()。當(dāng)一幀數(shù)據(jù)采集完畢即RI接受中斷標(biāo)志位為1,判斷下位機(jī)是否接受到來(lái)自上位機(jī)的字符“1”對(duì)應(yīng)的ASC碼49時(shí)接收到時(shí)才開(kāi)始將采集到的數(shù)據(jù)發(fā)送給上位機(jī)進(jìn)行處理,RI標(biāo)志位必須由軟件清零。 TL1=(unsigned char)(256 (XTAL / (32L * 12L * baudrate)))。0x0f。 display[1]=display[1]%10。上位機(jī)是應(yīng)用VB進(jìn)行編寫(xiě)的,它把下位機(jī)傳送上來(lái)是兩字節(jié)的十六進(jìn)制數(shù)據(jù)進(jìn)行解碼顯示出來(lái)。讀取儀表返回?cái)?shù)據(jù)串 Select Case Case EvReceive count = Inbyte = If count 2 Then Exit Sub counter = counter + 1 For i = LBound(Inbyte) To UBound(Inbyte) buffer = buffer + Hex(Inbyte(i)) Next i End Select程序中,接收到的數(shù)據(jù)暫存在Inbyte()中,buffer為溫度數(shù)據(jù)緩存,接收到的數(shù)據(jù)按16進(jìn)制的格式放入緩沖中,便于之后的數(shù)據(jù)處理。 Mid(buffer, 3, 3) amp。一般說(shuō)來(lái),計(jì)算機(jī)都有一個(gè)或多個(gè)串行端口,它們依次為ComCom…,這些串口還提供了外部設(shè)備與PC進(jìn)行數(shù)據(jù)傳輸和通信的通道。 設(shè)置或返回通信端口號(hào)Settings串口的波特率,串口號(hào)都采用下拉選擇的方式,在使用中可跟據(jù)情況選擇讀串口數(shù)據(jù)的原理是,只要當(dāng)有數(shù)據(jù)向串口發(fā)數(shù)據(jù)來(lái)時(shí),計(jì)算機(jī)就會(huì)自動(dòng)將其數(shù)據(jù)寫(xiě)到一個(gè)特定的緩沖區(qū),我們只要寫(xiě)程序去讀那個(gè)特定的緩沖區(qū)就可以了。按健復(fù)位電路是最簡(jiǎn)單的手動(dòng)復(fù)位,使用比較方便,在程序跑飛時(shí),以手動(dòng)復(fù)位,這樣就不用在重起單片機(jī)電源,就可以實(shí)現(xiàn)復(fù)位。為以后的工作積累了經(jīng)驗(yàn),增強(qiáng)了信心。unsigned char shijian[]={11,11,11,11,11,13,11,11}。k) for (j=125。 if(t[1]0x07) { shijian[19]=10。 x+=(t[0]amp。 shijian[6]=y/10。 P0=0xff。 while(TI==0)。 if(f==1) P3_7=1。在顯示、繪圖、報(bào)警等過(guò)程中使用Dim datatemp(200) As Single 39。 開(kāi)始采集 If (Txttimes 200) Or (Txttimes 1) Then 39。 設(shè)置間隔采樣時(shí)間 = 重新采集 = True = 停止采集 = amp。H808080 39。HFFamp。 二進(jìn)制輸入模式 = 1 39。39。 十六進(jìn)制溫度數(shù)據(jù) Dim count As Integer 39。 接收溫度數(shù)據(jù)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1