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

正文內(nèi)容

說明書--基于單片機(jī)的八路數(shù)字溫度巡檢儀設(shè)計(jì)(參考版)

2024-12-08 01:18本頁(yè)面
  

【正文】 //顯示符號(hào) dis[2] 25。amp。amp。a 200。 //對(duì) 溫度值取個(gè)位數(shù) warn dis[2],dis[1],dis[0] 。 //對(duì)溫度值取百位數(shù) dis[1] k/10%10。 k h*135。m 8。 dis[4] 0x01。 float h。 delayms 1000 。 //發(fā)光二極管閃動(dòng) delayms 1000 。amp。amp。 //模擬開關(guān)選通 Addr_channel 0x00。 //通道數(shù)據(jù)內(nèi)存單元賦值 j++。 value_buf[n+1] k。n++ if ad_data_buff[n] value_buf[n+1] k ad_data_buff[n]。m++ for n 0。 for m 0。 //中值濾波處理 ad_data_buff[1] Read_AD_reg 。i 8。 Addr_channel j。 int k。緩沖模式 ,FASYNC : 0x66 /************溫度采集處理函數(shù) *****************/ void AD_samp void uchar i,m,n。緩沖模式 ,FASYNC 0. 倒序 :0x76 // Write_AD_reg 0x66 。緩沖模式 ,FASYNC 0. 倒序 :0x7e Write_AD_reg 0x76 。緩沖模式 ,FASYNC 0. 倒序 :0x6E // Write_AD_reg 0x7e 。 //寫 0x10 到通信寄存器 ,到通信寄存器 ,下一個(gè)寄存器指向設(shè)置寄存器 .倒序 :0x08 // Write_AD_reg 0x6e 。 //寫 0X20到通信寄存器 ,選擇通道 ANI + 和 ANI ,下一個(gè)寄存器指向時(shí)鐘寄存器 .倒序 :0x04 Write_AD_reg 0X30 。 return AD_out。 AD_out 8。 //對(duì)讀回的高 8 位倒序 low8 reverse_order low8 。 REN 0。 RI 0。 high8 SBUF。 //接收使能 while !RI 。 //讀數(shù)據(jù)通道 0x38 while DRDY 。 SCON 0x00。 /********從 TM7705 讀出兩個(gè)字節(jié)的數(shù)據(jù), AD 轉(zhuǎn)換值 *******/ //返回值為 unsigned int 類型 uint Read_AD_reg uchar low8,high8。 while !TI 。 return new_dat。 //數(shù)據(jù)的第二位移到最底位 new_dat| old_datamp。i++ new_dat 1。 //取要轉(zhuǎn)換數(shù)據(jù)最底位 for i 0。 new_dat old_datamp。j 。i for j 110。 for i t。 //5 個(gè)顯示單元 uchar data sin_data[1] 0x00 。 //8 個(gè)通道AD 數(shù)據(jù)內(nèi)存單元 uint data ad_data_buff[3] 0x0000,0x0000,0x0000 。 //09 段碼譯碼數(shù)組及符號(hào)位 uchar code scan_con[5] 0xef,0xf7,0xfb,0xfd,0xfe 。 sbit D1 P3^5。 sbit S1 P3^3。 void sin_tem_det void 。最后,祝老師和同學(xué)們工作、學(xué)習(xí)順利,身體健康,闔家歡樂! 2021 年 6 月 8 日 附 錄 附錄 1:程序清單 附錄 2:設(shè)計(jì)圖紙 附錄 3:元器件目錄表 附錄 1 程序清單 include define Addr_channel P1 //八路通道地址端口 typedef unsigned char uchar。 畢業(yè)設(shè)計(jì)的完成,離不開指導(dǎo)老師和同學(xué)們的幫助,在此感謝張美琪老師的悉心指導(dǎo),自始至終在關(guān)心督促我的畢業(yè)設(shè)計(jì)的進(jìn)度,并且為我解決設(shè)計(jì)過程中遇見的問題,幫助我開拓設(shè)計(jì)思路,提供解問題的想法和方式。當(dāng)然,自己的缺點(diǎn)在整個(gè)設(shè)計(jì)過程中也凸顯出來,比如一些復(fù)雜的元器件性能參數(shù)不清楚等。最后,也是自己的一點(diǎn)體會(huì),即在設(shè)計(jì)過程中,一定要注意各項(xiàng)工作的有序開展,要確保每天都有相同的設(shè)計(jì)進(jìn)度。其次,對(duì)元件 TM7705 了解不足,基本是初識(shí) TM7705功能特性、信號(hào)采集和轉(zhuǎn)換程序,尤其 TM7705 初始化程序,也是從頭開始學(xué)的。 參考文獻(xiàn) 致 謝 通過本次基于單片機(jī)的八路數(shù)字溫度巡檢儀的設(shè)計(jì),我收獲頗多。人的能力在各方面不盡相同,不管畢業(yè)設(shè)計(jì)結(jié)果如何,只要肯端正你的畢業(yè)設(shè)計(jì)態(tài)度,真正能學(xué)到知識(shí),這本就是一種收獲??戳水厴I(yè)設(shè)計(jì)說明書上的紅色修改痕跡,本人認(rèn)識(shí)到必須靜下 心來將這個(gè)畢業(yè)設(shè)計(jì)做好,敷衍是不能解決任何問題的。在完成初稿后,交付張美琪老師修改。對(duì)于單片機(jī)的設(shè)計(jì)說明書,很多元器件介紹基本一樣,所以在這上面不必花太多時(shí)間。做畢業(yè)設(shè)計(jì)是一個(gè)很享受的過程,但不會(huì)看重結(jié)果怎樣。其實(shí),在當(dāng)前條件下也不可能去驗(yàn)證 100℃以上和 0℃以下的溫度。等到設(shè)計(jì)后期,在脫機(jī)環(huán)境下調(diào)試電路板時(shí),發(fā)現(xiàn)有些問題難以得到解決。在設(shè)計(jì)基本完成之時(shí),聽同學(xué)講述 DS18B20 也可以通過總線引出,但 DS18B20 使用環(huán)境并無(wú) Pt100 廣泛,雖然比較容易實(shí)現(xiàn)設(shè)計(jì)要求,而且不用考慮在程序中如何實(shí)現(xiàn)正 負(fù)溫度。在準(zhǔn)備考研復(fù)試的同時(shí),開始對(duì)設(shè)計(jì)題 目進(jìn)行思索,比如應(yīng)該采用什么樣的元器件,需要什么樣的子程序,硬件和軟件如何聯(lián)系等?,F(xiàn)在設(shè)計(jì)已經(jīng)完成,在此簡(jiǎn)單地對(duì)整個(gè)畢業(yè)設(shè)計(jì)過程做個(gè)小結(jié)。 56 實(shí)物圖 57 實(shí)物調(diào)試結(jié)果 實(shí)物調(diào)試完成后,顯示第八通道,符號(hào)為正(不顯示),溫度值 018。調(diào)節(jié) 八路鉑熱電阻橋中的電位器,通過五位數(shù)碼管顯示對(duì)應(yīng)阻值下的溫度值。在編譯沒有錯(cuò)誤后,就可調(diào)試程序了。糾正錯(cuò)誤后,再次編譯直到?jīng)]有錯(cuò)誤。 先調(diào)試電源部分整個(gè)電路只需要 +5V 的電壓再檢測(cè)單片機(jī)的復(fù)位和晶振電路。在制作實(shí)物過程中,系統(tǒng)電路需要 8 個(gè) PT100 鉑熱電阻,每個(gè)PT100 價(jià)格較高,便根據(jù)設(shè)計(jì)要求(溫度從 25℃變化到 110℃,即鉑熱電阻阻值變化范圍應(yīng)該是 ~ ,查詢 PT100 分度表),使用了 8 個(gè) 200Ω的可調(diào)電位器對(duì) PT100 阻值變化進(jìn)行模擬,這樣也 可以滿足在不同環(huán)境下所測(cè)溫度的不同的條件。在使用 Proteus 仿真軟件仿真時(shí),由于在庫(kù)中沒有 TM7705 這個(gè)元件,自己通過繪圖工具繪制了一個(gè)元件,其不具備模數(shù)轉(zhuǎn)換的電氣特性,因?yàn)檫@個(gè)緣故仿真無(wú)效。在開關(guān)語(yǔ)句下,表達(dá)式與通道號(hào)對(duì)應(yīng),常量從 0 變化到 7,數(shù)據(jù)是從8 個(gè)通道 AD 數(shù)據(jù)內(nèi)存單元中直接調(diào)用的,但是還需要對(duì)其進(jìn)行處理,其程序與顯示子程序基本一樣。 S2 是控制通道數(shù) num 增加的,剛開始直接將 num 值調(diào)入 switch 中,通過實(shí)驗(yàn)板驗(yàn)證發(fā)現(xiàn)只會(huì)顯示通道 1 下的溫度, S2 失去控制能力。此程序中,通過 TM7705 寫入子程序來對(duì) TM7705 寄存器進(jìn)行設(shè)置,數(shù)據(jù)需要倒序處理,寫入寄存器的順序是指定的。雖然 TM7705 自帶八個(gè)寄存器,但在初始化中用到的寄存器只有通信寄存器、時(shí)鐘寄存器和設(shè)置寄存器這三個(gè)。然后對(duì)高低八位數(shù)據(jù)進(jìn)行倒序處理,最后合成 16 位數(shù)據(jù)后返回。寫入一個(gè)字節(jié)數(shù)據(jù)后,判斷 DRDY 的狀態(tài),當(dāng) DRDY為低電平時(shí)則讀取數(shù)據(jù),將 REN 置 1,允許接收,等 RI 1 時(shí)表示接收完成,需重新置 0。 TM7705 讀出子程序設(shè)計(jì) TM7705 讀出子程序是從 TM7705 讀出兩個(gè)字節(jié)的數(shù)據(jù),傳送到單片機(jī)里執(zhí)行后續(xù)的溫度采集處理子程序。 圖 43 顯示子程序流程圖 八位數(shù)據(jù)倒序處理子程序設(shè)計(jì) 八位數(shù)據(jù)倒序處理是由 reverse_order 子程序執(zhí)行的,因?yàn)閷?duì)于模數(shù)轉(zhuǎn)換器TM7705 在串行 0 方式下的寫入、讀出數(shù)據(jù),都需要對(duì)數(shù)據(jù)進(jìn)行倒序處理。每位 LED 顯示時(shí)間為 2ms,每路溫度數(shù)據(jù)顯示時(shí)間為 2s。這些都是通過程序來完成判斷和計(jì)算的。設(shè)計(jì)中的數(shù)值測(cè)量范圍是 0~135,對(duì)應(yīng)于 Pt100 在 25℃ ~110℃內(nèi)的阻值變動(dòng)。 dis[3]作為第四位數(shù)碼管,顯示符號(hào) ,正溫度下不顯示,即 dis[3] 11,關(guān)閉 LED,負(fù)溫度下顯示負(fù)號(hào),即 dis[3] 10,只讓 g 段 LED 發(fā)亮。經(jīng)過對(duì)數(shù)據(jù)的處理,分別通過五位數(shù)碼管顯示通道號(hào)、符號(hào)、溫度值的百、十、個(gè)。此子程序流程圖如圖 42: 圖 42 溫度采集處理子程序流程圖 顯示子程序設(shè)計(jì) 顯示功能采用動(dòng)態(tài)掃描法實(shí)現(xiàn)五位數(shù)碼管的數(shù)值顯示。將緩沖器內(nèi)的值賦給對(duì)應(yīng)通道內(nèi)存單元,即保存在其內(nèi),方便隨時(shí)調(diào)用。 溫度采集處理子程序設(shè)計(jì) 溫度采集處理子程序的設(shè)計(jì)思路是,選擇某一通道,該通道下的模擬信號(hào)輸送給 TM7705,連續(xù)三次從 TM7705 讀出兩個(gè)字節(jié)數(shù)據(jù),這三次讀出的數(shù)據(jù)先存在三個(gè)緩沖單元內(nèi),濾波處理取中值,此中值賦給對(duì)應(yīng)通道下的內(nèi)存單元,通道再加一,繼續(xù)上述過程,直到 8 個(gè)通道賦值完成后再返回。 3 3 矩陣鍵盤至少需要六個(gè)引腳,但 P3 口最多提供五個(gè),所以此設(shè)想不能實(shí)現(xiàn)。或者,通過矩陣鍵盤也可以實(shí)現(xiàn)單通道溫度查詢和顯示,設(shè)置八個(gè)按鍵對(duì)應(yīng) 8 個(gè)通道。一旦 S1 狀態(tài)處在低電平,則在其內(nèi)通過按鍵控制通道加減,選擇需要輸出的通道號(hào),使用 switch 語(yǔ)句,從 0 變化到 7,輸出對(duì)應(yīng)通道和溫度。若使用定時(shí)中斷,但以本設(shè)計(jì)來看,并不要求定時(shí)控制單通道溫度查詢,而是先提出單通道查詢顯示的“申請(qǐng)”,當(dāng)完成一個(gè)周期的輪詢之后,便不再繼續(xù)輪詢了,此時(shí)可以由按鍵 S2 選擇通道數(shù)并顯示溫度。在通過實(shí)驗(yàn)板驗(yàn)證此程序時(shí),發(fā)現(xiàn)外部中斷執(zhí)行時(shí)間很短,在沒有來得及進(jìn)行單通道溫度查詢顯示子程序操作時(shí),其已經(jīng)返回到主程序中了。 程序初始化完成后,對(duì) S1 狀態(tài)進(jìn)行判斷。最后,再向設(shè)置寄存器中寫入 0x66,選擇的是自動(dòng)校準(zhǔn),單極性,增益 16,緩沖模式, FASYNC 0。接著,向時(shí)鐘寄存器寫入 0x0c,接 2M時(shí)鐘,時(shí)鐘二分頻,輸出更新率 50Hz。而且在串行口數(shù)據(jù)輸入輸出時(shí),需要對(duì)數(shù)據(jù)進(jìn)行倒序處理。總之,串口初始化時(shí), SCON 0x00。而 TB8 和 RB8 在方式 0 下不使用,所以直接置 0。串行接口工作方式選擇位由 SM0、 SM SM2 決定,由于串口工作在 0 方式下,所以 SM0、 SM SM2都置 0。需要注意的是,必須等 S1 高電平下已經(jīng)在執(zhí)行的 8 個(gè)通道輪詢結(jié)束后才可執(zhí)行此子程序。然后開始判斷按鍵 S1 的電平狀態(tài), S1 在高電平下系統(tǒng)自動(dòng)調(diào)用溫度采集處理子程序和顯示子程序, 輪流顯示 8 個(gè)通道的通道數(shù)及溫度值,并且使每個(gè)通道的數(shù)據(jù)顯示時(shí)間在2s 左右,一個(gè)測(cè)溫周期為 16s。 P1 口上的 ~ 作為通道地址選擇端,在每執(zhí)行一次主程序時(shí)也應(yīng)該將值重新置為 0,即表示通道地址繼續(xù)從 0 開始。 51 單片機(jī)一般包括定時(shí)中斷初始化、外部中斷初始化,串口初始化、 I/O 口初始化等。在程序設(shè)計(jì)過程中,根據(jù)程序設(shè)計(jì)的需要,對(duì)單片機(jī)的內(nèi)存單元進(jìn)行了定義,分別定義了 0~9 數(shù)碼管段碼及符號(hào)位數(shù)組 seg7[12], 5 位數(shù)碼管位選掃描數(shù)組 scan_con[5], 8 個(gè)通道 A/D 數(shù)據(jù)內(nèi)存單元 ad_data[8](初始值都為 0x0000 , 3 個(gè)數(shù)據(jù)緩存單元 ad_data_buff[3](初始值都為 0x0000), 5 個(gè)顯示內(nèi)存單元 dis[5](初始值都為 0x00)和 1 個(gè)單通道數(shù)據(jù)內(nèi)存單元 sin_data[1]。根據(jù)系統(tǒng) PCB 圖的繪制流程圖,繪制的基于單片機(jī)的八路數(shù)字溫度巡檢儀設(shè)計(jì)的 PCB圖可以參見附錄 。同時(shí),注意在對(duì) TM7705 初始化時(shí)需對(duì)數(shù)據(jù)進(jìn)行倒序處理。最后,寫 0x7e 到設(shè)置寄存器中。 ZEROZEROZERO 000,確保 TM7705 正確操作; CLKDIS 0,使 MCLK OUT 輸出引腳處于低電平; CLKDIV 1,使, MCLK IN 引腳處的時(shí)鐘頻率在被 TM7705 使用前進(jìn)行 2 分頻;接 2M 主時(shí)鐘頻率,設(shè)置 CLK 1; FS1FS0 00,置輸出更新率為 50Hz。在通信寄存器中,先寫入 0x20, 0,通信寄存器上的寫操作能夠準(zhǔn)確完成; RS2RS0 010,設(shè)置下一個(gè)寄存器指向時(shí)鐘寄存器; R/ 0,表示下次操作是寫; STBY 0,使器件處于正常工作模式; CH1CH0 00,選擇通道 AIN + 和 AIN 。 第 8 個(gè)寄存器是校準(zhǔn)寄存器,它存儲(chǔ)通道校準(zhǔn)數(shù)據(jù)。 第 6 個(gè)寄存器是零標(biāo)度校準(zhǔn)寄存器,每個(gè)零標(biāo)度寄存器負(fù)責(zé)一個(gè)輸入通道,和滿標(biāo)度寄存器連在一起使用,組成一個(gè)寄存器對(duì)。 第 4 個(gè)寄存器是數(shù)據(jù)寄存器,器件輸出的數(shù)據(jù)從這個(gè)寄存器讀出。 第 2 個(gè)寄存器是設(shè)置寄存器,決定校準(zhǔn)模式、
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1