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

正文內(nèi)容

基于vb60的溫度數(shù)據(jù)采集系統(tǒng)畢業(yè)設(shè)計(jì)-預(yù)覽頁(yè)

 

【正文】 經(jīng)成為了當(dāng)代人的一種基本技能。如今,計(jì)算機(jī)的使用領(lǐng)域已經(jīng)擴(kuò)展到了各行各業(yè),甚至介入個(gè)人家庭。傳統(tǒng)的溫度采集的方法不僅費(fèi)時(shí),而且精度差,滿(mǎn)足不了各行業(yè)對(duì)于溫度數(shù)據(jù)高精度,設(shè)備高可靠性的需求。 。并且增加了報(bào)警電路。AT89C2051 是一種帶 2K 字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的單片機(jī)。AT89C51 單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。全靜態(tài)工作:0Hz24Hz兩個(gè) 16 位定時(shí)器/計(jì)數(shù)器長(zhǎng)沙學(xué)院畢業(yè)設(shè)計(jì)3片內(nèi)振蕩器和時(shí)鐘電路 管腳說(shuō)明: VCC:供電電壓。P0 能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在 FLASH 編程和校驗(yàn)時(shí),P1 口作為第八位地址接收。P2 口當(dāng)用于外部程序存儲(chǔ)器或 16 位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2 口輸出地址的高八位。當(dāng) P3 口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持 RST 腳兩個(gè)機(jī)器周期的高電平時(shí)間。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。另外,該引腳被略微拉高。但在訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN 信號(hào)將不出現(xiàn)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。石晶振蕩和陶瓷振蕩均可采用。在芯片擦操作中,代碼陣列全被寫(xiě)“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。在掉電模式下,保存 RAM 的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止 [2]。溫度報(bào)警觸發(fā)器TH和TL,可通過(guò)軟件寫(xiě)入戶(hù)報(bào)警上下限。第 5 個(gè)字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。TM R1 1R0 1 1 1 1....圖  DS18B20 字節(jié)定義由表 可見(jiàn),DS18B20 溫度轉(zhuǎn)換的時(shí)間比較長(zhǎng),而且分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長(zhǎng)。當(dāng) DS18B20 接收到溫度轉(zhuǎn)換命令后,開(kāi)始啟動(dòng)轉(zhuǎn)換。表 2 是一部分溫度值對(duì)應(yīng)的二進(jìn)制溫度數(shù)據(jù)。在 64 位 ROM 的最高有效字節(jié)中存儲(chǔ)有循環(huán)冗余檢驗(yàn)碼(CRC) 。計(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ù)值。系統(tǒng)對(duì) DS18B20 的各種操作按協(xié)議進(jìn)行。 使用 編寫(xiě)上位機(jī)程序,接收溫度數(shù)據(jù)并儲(chǔ)存在數(shù)據(jù)庫(kù)中;接收數(shù)據(jù)時(shí),要求能同步畫(huà)出溫度變化的曲線(xiàn);要求系統(tǒng)可查詢(xún)歷史溫度信息。從以上兩種方案,很容易看出,采用方案二,電路比較簡(jiǎn)單,軟件設(shè)計(jì)也比較簡(jiǎn)單,故采用了方案二。單片機(jī)LED顯 示溫 度 傳 感 器復(fù)位電路時(shí)鐘振蕩蜂鳴器P C長(zhǎng)沙學(xué)院畢業(yè)設(shè)計(jì)11溫度傳感器采用 DS18B20 溫度傳感器,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn) 9~12 位的數(shù)字值讀數(shù)方式。長(zhǎng)沙學(xué)院畢業(yè)設(shè)計(jì)12 系統(tǒng)硬件設(shè)計(jì)系統(tǒng)整體硬件電路包括,傳感器數(shù)據(jù)采集電路,溫度顯示電路,報(bào)警電路,單片機(jī)主板電路等,如圖 所示。此外還接有蜂鳴器,當(dāng) DS18B20 不能正常工作時(shí)可以達(dá)到報(bào)警的目的。 主程序主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理 DS18B20 的測(cè)量的當(dāng)前溫度值,溫度測(cè)量每 1s 進(jìn)行一次。 計(jì)算溫度子程序初始化調(diào)用顯示子程序1S 到?初次上電讀出溫度值溫度計(jì)算處理顯示數(shù)據(jù)刷新發(fā)溫度轉(zhuǎn)換開(kāi)始命令的法國(guó)風(fēng)格 法國(guó) NYNYY發(fā) DS18B20 復(fù)位命令發(fā)跳過(guò) ROM 命令發(fā)讀取溫度命令讀取操作,CRC 校驗(yàn)9 字節(jié)完?CRC 校驗(yàn)正?確?移入溫度暫存器結(jié)束 NNY長(zhǎng)沙學(xué)院畢業(yè)設(shè)計(jì)15發(fā) DS18B20 復(fù)位命令發(fā)跳過(guò) ROM 命令發(fā)溫度轉(zhuǎn)換開(kāi)始命令 結(jié)束計(jì)算溫度子程序?qū)?RAM 中讀取值進(jìn)行轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如圖 所示。 開(kāi)始溫度零下?溫度值取補(bǔ)碼置“—”標(biāo)志計(jì)算小數(shù)位溫度值 計(jì)算整數(shù)位溫度值 結(jié)束置“+”標(biāo)志NY溫度數(shù)據(jù)移入顯示寄存器十位數(shù) 0?百位數(shù) 0?十位數(shù)顯示符號(hào)百位數(shù)不顯示百位數(shù)顯示數(shù)據(jù)(不顯示符號(hào)) 結(jié)束NNYY長(zhǎng)沙學(xué)院畢業(yè)設(shè)計(jì)16圖 顯示數(shù)據(jù)刷新流程圖   上位機(jī)軟件設(shè)計(jì)上位機(jī)是應(yīng)用 VB 進(jìn)行編寫(xiě)的,它把下位機(jī)傳送上來(lái)是兩字節(jié)的十六進(jìn)制數(shù)據(jù)進(jìn)行解碼顯示出來(lái)。下圖 為上位機(jī)工作流程圖。這些串口在 CPU 和外設(shè)之間充當(dāng)解釋器的角色。有數(shù)據(jù)向串口發(fā)過(guò)來(lái)時(shí),程序可以將數(shù)據(jù)接收到,接收的數(shù)據(jù)是字符型的,那么將數(shù)據(jù)轉(zhuǎn)化為數(shù)字型的,再將這個(gè)數(shù)據(jù)的大小作為畫(huà)圖的某一個(gè)點(diǎn)的縱坐標(biāo),橫坐標(biāo)為數(shù)據(jù)的序,這個(gè)就是圖形顯示基本原理。長(zhǎng)沙學(xué)院畢業(yè)設(shè)計(jì)19圖 實(shí)時(shí)溫度曲線(xiàn)顯示及查詢(xún)圖串口的波特率,串口號(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ū)就可以了。第 3 章 程序設(shè)計(jì) 下位機(jī)程序下位機(jī)程序的編寫(xiě)主要使用 C 語(yǔ)言進(jìn)行編寫(xiě),可讀性要比匯編語(yǔ)言好很多。 while(1) { Read_Temperature()。receive = SBUF。 }} }}主程序?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)警。計(jì)算出定時(shí)器的初長(zhǎng)沙學(xué)院畢業(yè)設(shè)計(jì)21值之后,在設(shè)定串行口的工作方式,在這里令SCON=0X50,即 SCON 各位中,SM0=0,SM1=1,REN=1,其他控制字為 0,選擇為工作方式 1,8 位異步收發(fā)。TH1=(unsigned char)(256 (XTAL / (32L * 12L * baudrate)))。= 0x00。由于每一位變化為 ℃/LSB,通過(guò)移位操作,即可獲得一個(gè)新的關(guān)于溫度整數(shù)部分的數(shù)據(jù),部分設(shè)計(jì)顯示轉(zhuǎn)化程序如下:display[4]=temp_data[0]amp。0xf0)4)|((temp_data[1]amp。display[2]=display[1]/10。 temp_data[1]=!( temp_data[1]) temp_data[0]=!( temp_data[0])。其他延時(shí)子程序以及 DS18B20 的讀寫(xiě)子程序,可見(jiàn)附錄 1 的完整的 DS18B20 溫度采集系統(tǒng)程序設(shè)計(jì),在這里不做詳細(xì)介紹了。波特率設(shè)置為 9600,可以根據(jù)具體設(shè)計(jì)情況更改波特率的大小,但要與下位機(jī)的一致。此外程序還添加了接收溫度數(shù)據(jù)的判定,接收到的溫度數(shù)據(jù)應(yīng)為兩字節(jié),且低位在前,當(dāng)接收到的數(shù)據(jù)不是兩字節(jié)時(shí),表示接收錯(cuò)誤,跳出此程序。 Str(0) amp。 Mid(buffer, 1, 2)) * End If 39。整個(gè) VB 界面及數(shù)據(jù)庫(kù)程序的編寫(xiě)見(jiàn)附錄 2 所示。讀數(shù)方便,測(cè)量范圍廣,測(cè)溫準(zhǔn)確??梢赃x擇串口和波特率滿(mǎn)足不同要求,設(shè)置采集間隔時(shí)間,顯示不同時(shí)間范圍的溫度滿(mǎn)足不同場(chǎng)合的測(cè)溫要求。就個(gè)人而言,在這次畢業(yè)設(shè)計(jì)鍛煉了個(gè)人意志以及在克服困難的毅力,培養(yǎng)了我在一定的壓力下進(jìn)行研究和設(shè)計(jì)的心理素質(zhì),獨(dú)立處理問(wèn)題的能路,提高了我查找運(yùn)用各種參考資料以及與其他人溝通交流解決問(wèn)題的能力。同時(shí)也感謝長(zhǎng)沙學(xué)院能夠提供如此的師資力量和實(shí)驗(yàn)室研究條件。很慶幸這些年來(lái)我遇到了許多恩師益友,無(wú)論在學(xué)習(xí)上、生活上還是工作上都給予了我無(wú)私的幫助和熱心的照顧,讓我在許多方面都有所成長(zhǎng)。unsigned char presence 。unsigned char code ditab[16] = {0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04, 0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09}。 // 顯示開(kāi)關(guān)標(biāo)記bit flag_zf=0。 // 稍做延時(shí) DQ = 0。 presence = DQ。 // 返回信號(hào), 0=presence,1= no presence}/**********************************************************/uchar ReadOneChar(void) // 讀一個(gè)字節(jié){unsigned char i = 0。 i) { DQ = 0。 Delay(4)。 i 0。 Delay(5)。 if(presence==1) { beep()。 // 跳過(guò)讀序號(hào)列號(hào)的操作 WriteOneChar(0x44)。 // 讀取溫度寄存器 temp_data[0] = ReadOneChar()。 // 所測(cè)溫度為負(fù)時(shí),要進(jìn)行轉(zhuǎn)換 temp_data[1]=!( temp_data[1]); temp_data[0]=!( temp_data[0])。0x0f。0x0f)4)。display[1]=display[1]%10。} //溫度為負(fù)數(shù)時(shí)第二個(gè)數(shù)碼管顯示負(fù)號(hào) if(!display[3]) // 高位為 0,不顯示 { display[3]=0x0a。 // 位選線(xiàn)為 口,LED 為共陽(yáng)極顯示,當(dāng)位選線(xiàn)為低電平時(shí)選通Delay(300)。 // 選中 口Delay(300)。P0 =LEDData1[display[1]]。 // 顯示十位P2 = 0xef。Delay(300)。i100。 // 關(guān)閉蜂鳴器}/*********************************************************/void init(void){EA = 1。 // 定時(shí)器 0 賦初值SCON = 0x50。 // 啟動(dòng)定時(shí)器 1IE = 0x00。 // 等特?cái)?shù)據(jù)傳送TI = 0。 while(1) { Read_Temperature()。receive = SBUF。在顯示、繪圖、報(bào)警等過(guò)程中使用Dim datatemp(200) As Single 39。 暫停標(biāo)志Dim strSql As StringPrivate Sub cmd_Search_Click() strSql = select * from Tbl_wD where 1=1 Set Rs = New = adUseClient strSql, Db, adOpenKeyset, adLockReadOnly If 1 Then MsgBox (數(shù)據(jù)庫(kù)中沒(méi)有數(shù)據(jù)!) Exit Sub End If Set = Rs End Sub39。 開(kāi)始采集 If (Txttimes 200) Or (Txttimes 1) Then 39。, 49, 溫度采集系統(tǒng) Call setAcquiescence 39。 設(shè)置間隔采樣時(shí)間 = 重新采集 = True = 停止采集 = amp。39。H808080 39。 停止溫度采集39。HFFamp。39。 二進(jìn)制輸入模式 = 1 39。 調(diào)用表格初始化子程序 Call ScaleSys 39。39。每發(fā)送一次指令,觸發(fā)下面事件,返回?cái)?shù)據(jù)串Private Sub MSComm1_OnComm() Dim Inbyte() As Byte 39。 十六進(jìn)制溫度數(shù)據(jù) Dim count As Integer 39。H80FFamp。 接收溫度數(shù)據(jù) If count 2 Then Exit Sub 39。獲取十進(jìn)制測(cè)量數(shù)據(jù) If Len(Trim(Mid(buffer, 1, 2))) = 1 Then datatemp(num) = Val(amp。 Mid(buffer, 1, 2)) * Else datatemp(num) = Val(amp。保存數(shù)據(jù) Data_save (datatemp(num))長(zhǎng)沙學(xué)院畢業(yè)設(shè)計(jì)41 39。
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1