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

正文內(nèi)容

基于vb60的溫度數(shù)據(jù)采集系統(tǒng)畢業(yè)設(shè)計(jì)論文單片機(jī)控制-在線瀏覽

2025-05-01 10:52本頁面
  

【正文】 器件,XTAL2 應(yīng)不接。芯片擦除: 整個(gè) PEROM 陣列和三個(gè)鎖定位的電擦除可通過正確的控制信號組合,并保持 ALE管腳處于低電平 10ms 來完成。此外,AT89C51 設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。但 RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。5 DS18B20傳感器簡介 DS18B20 溫度傳感器是美國 DALLAS 半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實(shí)際要求通過簡單的編程實(shí)現(xiàn) 9~12 位的數(shù)字值讀數(shù)方式。 圖 DS18B20 內(nèi)部結(jié)構(gòu)圖I/OC64 位ROM和單線接口高速緩存存儲器與控制邏輯溫度傳感器高溫觸發(fā)器 TH低溫觸發(fā)器 TL配置寄存器8 位 CRC 發(fā)生器Vdd664 位 ROM 的結(jié)構(gòu)開始 8 位是產(chǎn)品類型的編號,接著是每個(gè)器件的惟一的序號,共有 48 位,最后 8 位是前面 56 位的 CRC 檢驗(yàn)碼,這也是多個(gè) DS18B20 可以采用一線進(jìn)行通信的原因。DS18B20 溫度傳感器的內(nèi)部存儲器還包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的 EERAM。頭 2 個(gè)字節(jié)包含測得的溫度信息,第 3 和第 4 字節(jié) TH 和 TL 的拷貝,是易失的,每次上電復(fù)位時(shí)被刷新。DS18B20 工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。低 5 位一直為1,TM是工作模式位,用于設(shè)置 DS18B20 在工作模式還是在測試模式,DS18B20 出廠時(shí)該位被設(shè)置為 0,用戶要去改動,R1 和 R0決定溫度轉(zhuǎn)換的精度位數(shù),來設(shè)置分辨率。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。第 9 字節(jié)讀出前面所有8字節(jié)的 CRC 碼,可用來檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。轉(zhuǎn)換完成后的溫度值就以 16位帶符號擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲在高速暫存存儲器的第 2 字節(jié)。當(dāng)符號位 S=0 時(shí),表示測得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號位 S=1 時(shí),表示測得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計(jì)算十進(jìn)制數(shù)值。表  一部分溫度對應(yīng)值表溫度/℃ 二進(jìn)制表示 十六進(jìn)制表示+125 0000 0111 1101 000007D0H+85 0000 0101 0101 00000550H+ 0000 0001 1001 00000191H+ 0000 0000 1010 000100A2H+ 0000 0000 0000 00100008H0 0000 0000 0000 10000000H 1111 1111 1111 0000FFF8H 1111 1111 0101 1110FF5EH 1111 1110 0110 1111FE6FH55 1111 1100 1001 0000FC90H8DS18B20 完成溫度轉(zhuǎn)換后,就把測得的溫度值與 RAM 中的 TH、TL 字節(jié)內(nèi)容作比較。因此,可用多只 DS18B20 同時(shí)測量溫度并進(jìn)行報(bào)警搜索。主機(jī) ROM 前 56 位來計(jì)算 CRC 值,并和存入 DS18B20 的 CRC 值作比較,以判斷主機(jī)收到的 ROM 數(shù)據(jù)是否正確。器件中還有一個(gè)計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開時(shí),DS18B20 就對低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖進(jìn)行計(jì)數(shù)進(jìn)而完成溫度測量。減法計(jì)數(shù)器 1 對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器 1的預(yù)置值減到 0 時(shí),溫度寄存器的值將加 1,減法計(jì)數(shù)器 1 的預(yù)置將重新被裝入,減法計(jì)數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器計(jì)數(shù)到 0 時(shí),停止溫度寄存器的累加,此時(shí)溫度寄存器中的數(shù)值就是所測溫度值。另外,由于 DS18B20 單線通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很重要。操作協(xié)議為:初使化DS18B20(發(fā)復(fù)位脈沖)→發(fā) ROM 功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù) [3]。用單片機(jī)系統(tǒng)接收溫度傳感器的溫度數(shù)據(jù),并在數(shù)碼管上顯示當(dāng)前溫度值,可測溫范圍-55125 攝氏度,精度 攝氏度?;? 的數(shù)據(jù)采集系統(tǒng)在設(shè)計(jì)時(shí)主要應(yīng)該滿足如下功能指標(biāo):1.測量溫度,并在數(shù)碼管上顯示當(dāng)前溫度值;2.可測溫范圍-55125 攝氏度,精度 攝氏度;3.每秒給上位機(jī)傳送一次溫度數(shù)據(jù);4.上位機(jī)接收溫度數(shù)據(jù),并將數(shù)據(jù)、接收數(shù)據(jù)時(shí)間以及測溫批次等信息存儲到數(shù)據(jù)庫中;5.測溫批次可以自動生成也可手動輸入;6.接收溫度數(shù)據(jù)時(shí),同步畫出溫度變化的曲線;7.可按批次以及測溫時(shí)間查詢溫度數(shù)據(jù);8.將上位機(jī)軟件打包,生成安裝文件。方案二 :進(jìn)而考慮到用溫度傳感器,在單片機(jī)電路設(shè)計(jì)中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器 DS18B20,此傳感器,可以很容易直接讀取被測溫度值,進(jìn)行轉(zhuǎn)換,就可以滿足設(shè)計(jì)要求。溫度計(jì)電路設(shè)計(jì)總體設(shè)計(jì)方框圖如圖 1 所示,控制器采用單片機(jī) AT89C51,溫度傳感器采用 DS18B20,用 8 位 LED 數(shù)碼管以串口傳送數(shù)據(jù)實(shí)現(xiàn)溫度顯示并通過串口與上位機(jī) PC 通訊,把數(shù)據(jù)傳送給上位機(jī),并用 VB 編寫的圖形界面把溫度的變化曲線顯示出來,并通過數(shù)據(jù)庫存儲,可查詢歷史溫度記錄。顯示電路顯示電路采用 8 位共陽極 LED 數(shù)碼管,從 P0 口輸出段碼,P2 口為 LED 的位選信單片機(jī)LED顯 示溫 度 傳 感 器復(fù)位電路時(shí)鐘振蕩蜂鳴器P C11號。PC 實(shí)時(shí)顯示界面顯示實(shí)時(shí)溫度數(shù)據(jù)變化曲線的界面,采用 編輯,在 程序使用 的通用串口控件 MSCOMM 來對發(fā)送到串口的數(shù)據(jù)進(jìn)行采集處理。 單片機(jī):AT89C51 一塊; 溫度傳感器:DS18B20 一塊;8位共陽極數(shù)碼管 一塊; 30PF電容一個(gè),開關(guān)一個(gè),蜂鳴器一個(gè); 10K電阻 2個(gè)、5K的電阻排; 串行通信線。13 圖 設(shè)計(jì)原理圖溫度傳感器的數(shù)據(jù)線接單片機(jī)的 口,單片機(jī)通過反復(fù)讀寫 口的狀態(tài)采集數(shù)據(jù),不過硬件簡單,軟件肯定復(fù)雜,讀寫時(shí)都有嚴(yán)格的時(shí)序要求。實(shí)際使用中只用到七個(gè) LED,最后 2 個(gè)用來顯示攝氏度符號,第二個(gè)用來顯示溫度的正負(fù),當(dāng)溫度為負(fù)時(shí),顯示“—”號,為正時(shí)不顯示,同樣由軟件可以實(shí)現(xiàn),當(dāng)百位為零時(shí),百位不顯示,百位十位為零時(shí),百位十位都不顯示,這樣設(shè)計(jì)方便觀察,更加直觀。最后還要實(shí)現(xiàn)單片機(jī)與上位機(jī)通信的功能,所以要連接好串口,以便能向上位機(jī)發(fā)送或接受數(shù)據(jù)。系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計(jì)算溫度子程序,顯示數(shù)據(jù)刷新子程序等。這樣可以在一秒之內(nèi)測量一次被測溫度,其程序流程14見圖 所示。其程序流程圖如圖 所示。圖 計(jì)算溫度流程圖 圖 溫度轉(zhuǎn)換流程圖 溫度轉(zhuǎn)換命令子程序溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,當(dāng)采用 12 位分辨率時(shí)轉(zhuǎn)換時(shí)間約為 750ms,在本程序設(shè)計(jì)中采用 1s 顯示程序延時(shí)法等待轉(zhuǎn)換的完成,如圖 所示。程序流程圖如圖 所示。當(dāng)點(diǎn)擊采集溫度時(shí),上位機(jī)向下位機(jī)發(fā)送采集溫度命令字符“1” ,當(dāng)下位機(jī)接受到命令時(shí),向上位機(jī)發(fā)送數(shù)據(jù)。具體在上下位機(jī)程序里面體現(xiàn)出來。溫度數(shù)據(jù)移入顯示寄存器十位數(shù) 0?百位數(shù) 0?十位數(shù)顯示符號百位數(shù)不顯示百位數(shù)顯示數(shù)據(jù)(不顯示符號) 結(jié)束NNYY17圖 上位機(jī)工作流程圖數(shù)據(jù)采集實(shí)時(shí)顯示程序設(shè)計(jì)思路:本程序使用 的通用串口控件 MSComm 來對發(fā)送到串口的數(shù)據(jù)進(jìn)行采集處理。一般說來,計(jì)算機(jī)都有一個(gè)或多個(gè)串行端口,它們依次為 ComCom2 、… ,這些串口還提供了外部設(shè)備與 PC 進(jìn)行數(shù)據(jù)傳輸和通信的通道?;緦傩耘c描述如下:屬性 描述CommPort 設(shè)置或返回通信端口號Settings 以字符串的形式設(shè)置或返回波特率、奇偶校驗(yàn)、數(shù)據(jù)位和停止位PortOpen 設(shè)置或返回通信端口的狀態(tài)。你只首先要確定一個(gè) msm 控件在 system 目錄下并且該控件已經(jīng)被 windows 注冊,程序才能正常運(yùn)行。查看原來的數(shù)據(jù)的原理也是這樣的,不同的地方就是,數(shù)據(jù)是從文件中來,同樣的也是將多個(gè)數(shù)據(jù)分成一個(gè)一個(gè)的,然后這一個(gè)數(shù)據(jù)的大小就是畫圖的某一個(gè)點(diǎn)的縱坐標(biāo),橫坐標(biāo)同樣為數(shù)據(jù)的序號,再將這些點(diǎn)用線連起來就是曲線圖。VB 編寫的實(shí)時(shí)顯示界面如圖 所示,點(diǎn)擊查詢可查詢歷史溫度信息。此外為了保存和查詢歷史溫度數(shù)據(jù)還要在 VB 中設(shè)計(jì)建立連接到 Access 數(shù)據(jù)庫的控件,Data 控件是 Visual Basic 中的一個(gè)內(nèi)置數(shù)據(jù)控件,可以通過設(shè)置 Data 控件的 connect、DatabaseName 、RecordSource 屬性實(shí)現(xiàn)對數(shù)據(jù)庫的連接和訪問。 。其中包括 DS18B20 的測溫模塊,顯示模塊和串口通信模塊,當(dāng)上位機(jī)向下位機(jī)發(fā)送讀溫度指令時(shí),單片機(jī)才會將所測得的數(shù)據(jù)傳給上位機(jī)。 init()。 if (flash==0) {Disp_Temperature()。 }if (RI) {RI = 0。if (receive == 39。) {send_char()。當(dāng)一幀數(shù)據(jù)采集完畢即 RI 接受中斷標(biāo)志位為 1,判斷下位機(jī)是否接受到來自上位機(jī)的字符“1”對應(yīng)的 ASC 碼 49 時(shí)接收到時(shí)才開始將采集到的數(shù)據(jù)發(fā)送給上位機(jī)進(jìn)行處理,RI 標(biāo)志位必須由軟件清零。波特率的產(chǎn)生用定時(shí)器產(chǎn)生,在設(shè)置時(shí)選擇定時(shí)器 1,并將它的設(shè)為工作方式212,8 位的常數(shù)自動重新裝載的定時(shí)器,這種工作方式可以省去用戶軟件中重裝初值的程序,簡化定時(shí)初值的計(jì)算方法,可以相當(dāng)精確的確定定時(shí)時(shí)間。令 TCON 中的 TR1=1,啟動定時(shí)器,并禁止其他中斷。 TMOD = 0x20。TL1=(unsigned char)(256 (XTAL / (32L * 12L * baudrate)))。PCON amp。TR1 = 1。 }此外,在顯示模塊中,小數(shù)位的轉(zhuǎn)化才用了一定的技巧,由于實(shí)際顯示中只要求顯示一位小數(shù),而 DS18B20 每一位的轉(zhuǎn)化溫度為 ℃/LSB,當(dāng)每一位變化時(shí),第一位小數(shù)只有 16 種狀態(tài),我們只需一一算出放在一個(gè)數(shù)組中,通過查表指令即可獲取第一位小數(shù)的十進(jìn)制值。0x0f。 display[4]=((temp_data[0]amp。0x0f)4)。display[1]=display[4]%100。display[1]=display[1]%10。unsigned char code LEDData[ ] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, 0x80,0x90,0xff}當(dāng)然應(yīng)特別注意由于個(gè)位的顯示需要顯示小數(shù)點(diǎn),所以它的查表顯示代碼不一樣,應(yīng)為下面的程序:unsigned char code LEDData1[ ] ={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0xff}由于測溫范圍包含負(fù)數(shù),還要對溫度的正負(fù)進(jìn)行判別,由 DS18B20 的特性可知,當(dāng)溫度為負(fù)數(shù)時(shí),溫度高八位的前五位都為高電平,轉(zhuǎn)化時(shí)應(yīng)先將測得的溫度數(shù)據(jù)取反再在最低位加 1 進(jìn)行運(yùn)算,具體程序設(shè)計(jì)如下:if(temp_data[1]7) { flag_zf=1。temp_data[0]= temp_data[0]+1。}}Else {flag_zf=0} 其中 temp_data[1] 為溫度數(shù)據(jù)的高八位,temp_data[0]為溫度數(shù)據(jù)的低八位,flag_zf=1 表示溫度為負(fù),進(jìn)行相應(yīng)轉(zhuǎn)化再執(zhí)行上面的顯示轉(zhuǎn)化程序,為正則直接執(zhí)行顯示轉(zhuǎn)化程序里的內(nèi)容。 上位機(jī)程序 在上位機(jī) VB 程序的編寫中,最重要的是串口的初始化程序和接收觸發(fā)程序的設(shè)計(jì)。主要使用方法如下:串口設(shè)置:(“波特率,校驗(yàn)方式,數(shù)據(jù)位數(shù),停止位數(shù)”)串口數(shù)據(jù):MSComm. InputMode(輸入模式設(shè)定)23其具體程序設(shè)計(jì)如下:Private Sub Form_Load()On Error GoTo err: = 1 = InputModeBinary = 1 = 1 = 9600,n,8,2 Call tabinit
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1