




已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
哈爾濱工業(yè)大學(xué)(威海)畢業(yè)設(shè)計(jì)(論文) - I - 摘要摘要 溫度是工業(yè)控制中主要的被控參數(shù)之一, 溫度測(cè)量在參數(shù)測(cè)量中占據(jù) 重要地位 關(guān)鍵詞關(guān)鍵詞單片機(jī);數(shù)顯表;熱電阻 哈爾濱工業(yè)大學(xué)(威海)畢業(yè)設(shè)計(jì)(論文) - 2 - 1 1緒論緒論 1.11.1課題背景課題背景 溫度數(shù)顯表的使用廣泛溫度是工業(yè)控制中主要的被控參數(shù)之一,無(wú)論在工 業(yè)、農(nóng)業(yè)、科學(xué)研究、國(guó)防和人們?nèi)粘I畹母鱾€(gè)方面,溫度測(cè)量和控制都是極 為重要的課題 。隨著社會(huì)的進(jìn)步和工業(yè)技術(shù)的發(fā)展,人們?cè)絹?lái)越重視溫度因素, 許多產(chǎn)品對(duì)溫度范圍要求都很?chē)?yán)格。對(duì)于不同場(chǎng)所、不同工藝,所需溫度高低范 圍不同、精度不同,則采用的測(cè)溫元件、測(cè)溫方法以及對(duì)溫度的控制方法也將不 同;產(chǎn)品工藝不同、控制溫度的精度不同、時(shí)效不同,則對(duì)數(shù)據(jù)采集的精度和采 用的控制算法也不同,因而,對(duì)溫度的測(cè)控方法多種多樣。單片機(jī)在溫度測(cè)量系 統(tǒng)中應(yīng)用廣泛,根據(jù)單片機(jī)系統(tǒng)設(shè)計(jì)要求的不同,溫度測(cè)量系統(tǒng)的設(shè)計(jì)也有所不 同,有采用集成芯片的,也有采用恒流源器件和恒壓源器件的。溫度溫度數(shù)顯表 是在 20 世紀(jì) 90 年代中期問(wèn)世的。它是微電子技術(shù)、計(jì)算機(jī)技術(shù)和自動(dòng)測(cè)試技術(shù) 的結(jié)晶。目前,國(guó)際上已開(kāi)發(fā)出多種智能溫度傳感器系列產(chǎn)品。智能溫度數(shù)顯表 內(nèi)部都包含溫度傳感器、A/D 轉(zhuǎn)換器、信號(hào)處理器、存儲(chǔ)器(或寄存器)和接口電 路。有的產(chǎn)品還帶多路選擇器、中央控制器(CPU)、隨機(jī)存取存儲(chǔ)器(RAM)和只 讀存儲(chǔ)器(ROM)。智能溫度數(shù)顯表的特點(diǎn)是能輸出溫度數(shù)據(jù)及相關(guān)的溫度控制 量,適配各種微控制器(MCU);并且它是在硬件的基礎(chǔ)上通過(guò)軟件來(lái)實(shí)現(xiàn)測(cè)試功 能的,其智能化程度也取決于軟件的開(kāi)發(fā)水平。 1.21.2題目簡(jiǎn)介題目簡(jiǎn)介 1.2.1 主要研究?jī)?nèi)容主要研究?jī)?nèi)容 設(shè)計(jì)一種基于 PT100 熱電阻的溫度數(shù)顯表。具有實(shí)時(shí)顯示當(dāng)前溫度的功能, 可設(shè)定溫度上下限值并有超限報(bào)警,同時(shí)可以通過(guò) RS485 與上位機(jī)通訊。 1、選用一款單片機(jī); 2、設(shè)計(jì)信號(hào)檢測(cè)電路; 3、對(duì)檢測(cè)數(shù)據(jù)進(jìn)行濾波等處理; 4、顯示檢測(cè)數(shù)據(jù); 學(xué)生本人在該設(shè)計(jì)中具體完成的工作: 硬件設(shè)計(jì)包含了鉑熱電阻測(cè)量模塊、A/D 轉(zhuǎn)換模塊、鍵盤(pán)模塊、顯示模塊、通訊 模塊及主控制模塊等的設(shè)計(jì)原理及電路,軟件編程與硬件設(shè)計(jì)相對(duì)應(yīng)。 1.2.2 研究方案研究方案 哈爾濱工業(yè)大學(xué)(威海)畢業(yè)設(shè)計(jì)(論文) - 3 - 研究方案研究方案: 設(shè)計(jì)電橋?qū)犭娮枳柚档淖兓D(zhuǎn)化為電信號(hào)電壓的變化,將電信號(hào)輸出后 接入運(yùn)算放大器, 然后再將放大后的信號(hào)輸入到 A/D 轉(zhuǎn)換電路, 然后接入單片機(jī), 通過(guò)單片機(jī)在 LED 顯示屏上顯示數(shù)據(jù)。鍵盤(pán)模塊與單片機(jī)相連,用于設(shè)置所用開(kāi) 關(guān)鍵,并且用于設(shè)置溫度上下限,此模塊用電路搭建,并用 C 語(yǔ)言編程控制。選 擇一款單片機(jī)后, 用 C 語(yǔ)言編程進(jìn)行濾波和線(xiàn)性補(bǔ)償并查表找到電壓變化所對(duì)應(yīng) 的溫度值,輸出。通訊模塊用于將單片機(jī)通過(guò) RS485 與 PC 機(jī)相連,通過(guò) LED 顯 示屏顯示數(shù)據(jù)。 系統(tǒng)框圖系統(tǒng)框圖 圖圖 1-11-1 系統(tǒng)方框圖系統(tǒng)方框圖 溫溫度度信信號(hào)號(hào)采采集集 系系統(tǒng)統(tǒng)(橋橋電電 路路) 信信號(hào)號(hào)放放大大 AD轉(zhuǎn)轉(zhuǎn)換換模模 塊塊 單單片片機(jī)機(jī) 計(jì)計(jì)算算機(jī)機(jī) 鍵鍵盤(pán)盤(pán) 超超限限報(bào)報(bào)警警 LED顯顯示示 哈爾濱工業(yè)大學(xué)(威海)畢業(yè)設(shè)計(jì)(論文) - 4 - 2 2器件選型及介紹器件選型及介紹 2.12.1單片機(jī)的選型單片機(jī)的選型 2.1.12.1.1STC89C52RCSTC89C52RC 單片機(jī)介紹單片機(jī)介紹 STC89C51RC/RD+系列單片機(jī)是宏晶科技推出的新一代超強(qiáng)抗干擾/高速/ 低功耗的單片機(jī),指令代碼完全兼容傳統(tǒng) 8051 單片機(jī),12 時(shí)鐘/機(jī)器周期和 6 時(shí)鐘/機(jī)器周期可任意選擇,最新的 D 版本內(nèi)部集成 MAX810 專(zhuān)用復(fù)位電路。它 有以下特點(diǎn): (1) 增強(qiáng)型 6 時(shí)鐘/機(jī)器周期,12 時(shí)鐘/機(jī)器周期 8051 CPU; (2) 工作電壓:5.5V3.4V(5V 單片機(jī)) /3.8V2.0V(3V 單片機(jī))本次設(shè) 計(jì)選用 5V 單片機(jī); (3) 工作頻率范圍:040 MHz,相當(dāng)于普通 8051 的 080MHz.實(shí)際工作頻率可 達(dá) 48MHz; (4) 用戶(hù)應(yīng)用程序空間 4K / 8K / 13K / 16K / 20K / 32K / 64K 字節(jié); (5) 片上集成 1280 字節(jié) / 512 字節(jié) RAM; (6) 通用 I/O 口 (32/36 個(gè)) , 復(fù)位后為:P1/P2/P3/P4 是準(zhǔn)雙向口/弱上拉(普 通 8051 傳統(tǒng) I/O 口)P0 口是開(kāi)漏輸出,作為總線(xiàn)擴(kuò)展用時(shí),不用加上拉 電阻,作為 I/O 口用時(shí),需加上拉電阻; (7) ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程) ,無(wú)需專(zhuān)用編程器/仿真器可 通過(guò)串口 (P3.0/P3.1)直接下載用戶(hù)程序,8K 程序 3 秒即可完成一片; (8) EEPROM 功能; (9) 看門(mén)狗; (10)內(nèi)部集成 MAX810 專(zhuān)用復(fù)位電路 (D 版本才有) ,外部晶體 20M 以下時(shí), 可省外部復(fù)位電路; (11)共 3 個(gè) 16 位定時(shí)器/計(jì)數(shù)器, 其中定時(shí)器 0 還可以當(dāng)成 2 個(gè) 8 位定時(shí)器使 用; (12)外部中斷 4 路,下降沿中斷或低電平觸發(fā)中斷,Power Down 模式可由外部 中斷低電平觸發(fā)中斷方式喚醒; (13)通用異步串行口(UART),還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè) UART; (14)工作溫度范圍:075 / -40+85; (15)封裝: LQFP-44,PDIP-40,PLCC-44,PQFP-44,如選擇 STC89 系列,本次 選擇 PDIP-40 封裝。 STC89C52RC 的引腳圖如圖 3-15 所示: 哈爾濱工業(yè)大學(xué)(威海)畢業(yè)設(shè)計(jì)(論文) - 5 - 圖 1-2 STC89C52RC 的引腳圖 STC89C52RC 具有 4 級(jí) 6 個(gè)中斷源, 主要用于單片機(jī)的實(shí)時(shí)測(cè)控, 可以使單 片機(jī)及時(shí)的響應(yīng)和處理單片機(jī)外部或內(nèi)部事件所提出的中斷請(qǐng)求。 外部中斷有外 部中斷 0 和外部中斷 1 兩類(lèi),它是由外部原因引起的中斷。外部中斷的觸發(fā)有 2 種方式:電平觸發(fā)方式和跳沿觸發(fā)方式。電平觸發(fā)方式適合于外部中斷以低電平 輸入而且中斷服務(wù)程序能清除外部中斷源的情況, 即外部中斷輸入電平又變?yōu)楦?電平的情況。跳沿觸發(fā)方式適合于以負(fù)脈沖形式輸入的外部中斷請(qǐng)求。定時(shí)器溢 出中斷是為滿(mǎn)足與時(shí)間技術(shù)相關(guān)的實(shí)際需要而設(shè)置的。在單片機(jī)芯片內(nèi)部有 3 個(gè)定時(shí)器/計(jì)數(shù)器,這三個(gè)定時(shí)器/計(jì)數(shù)器都具有定時(shí)器和計(jì)數(shù)器兩種工作方式。 計(jì)數(shù)功能是對(duì)外來(lái)脈沖進(jìn)行計(jì)數(shù), 每當(dāng)計(jì)數(shù)器的計(jì)數(shù)輸入引腳的脈沖發(fā)生負(fù)跳變 時(shí),計(jì)數(shù)器加 1。定事功能也是通過(guò)計(jì)數(shù)器的計(jì)數(shù)來(lái)實(shí)現(xiàn)的,此時(shí)的計(jì)數(shù)脈沖來(lái) 自單片機(jī)內(nèi)部,每個(gè)機(jī)器周期產(chǎn)生 1 個(gè)計(jì)數(shù)脈沖,也就是每經(jīng)過(guò) 1 個(gè)機(jī)器周期的 時(shí)間計(jì)數(shù)器加 1。串行中斷是為串行數(shù)據(jù)傳送的需要而設(shè)置的。每當(dāng)串行口接受 或發(fā)送完一組串行數(shù)據(jù)時(shí)均產(chǎn)生一個(gè)中斷請(qǐng)求。 STC89C52RC 單片機(jī)與中斷控制 有關(guān)的寄存器有:定時(shí)控制寄存器 TCON、中斷允許控制寄存器 IE、中斷優(yōu)先 控制寄存器 EP、串行口控制寄存器 SCON 和定時(shí)器操作模式寄存器 TMOD。 STC89C52RC 單片機(jī)內(nèi)部有一個(gè)功能強(qiáng)大的全雙工的異步通信串行口。 串行 通信是指數(shù)據(jù)的所有位都按一定的順序和方式,逐步通過(guò)串行輸入/輸出口進(jìn)行 傳輸。異步通信是指收發(fā)雙方?jīng)]有統(tǒng)一的公共時(shí)鐘,采用應(yīng)答方式通信。 STC89C52RC 單片機(jī)串行口有兩個(gè)在物理上獨(dú)立的接受、發(fā)送緩沖器 SBUF,可 以同時(shí)發(fā)送、接收數(shù)據(jù),發(fā)送緩沖器只能寫(xiě)入數(shù)據(jù)而不能讀出,接受緩沖器則只 能讀出數(shù)據(jù)而不能寫(xiě)入數(shù)據(jù),兩個(gè)緩沖器共用一個(gè)特殊功能寄存器 SBUF。串行 口工作模式由特殊功能寄存器 SCON 的 SMO, SM1 位定義,它的四個(gè)工作模式 如表 2 所示。 表 2 STC89C52RC 串行口工作模式表 SM0SM1MODE功能描述波特率 000移位寄存器fosc/12 哈爾濱工業(yè)大學(xué)(威海)畢業(yè)設(shè)計(jì)(論文) - 6 - 0118 位 UART波特率可變 1029 位 UARTfosc/64 或 fosc/32 1139 位 UART波特率可變 STC89C52RC 的特殊功能寄存器如表 3 所示。 表 3 STC89C52RC 特殊功能寄存器表 名稱(chēng)說(shuō)明地址 ACC累加器E0H BB 寄存器F0H DPTR數(shù)據(jù)指針(雙字節(jié)) DPH數(shù)據(jù)指針高字節(jié)83H DPL數(shù)據(jù)指針低字節(jié)82H IE中斷使能A8H IP中斷優(yōu)先級(jí)B8H P0I/O 口 080H P1I/O 口 190H P2I/O 口 2A0H P3I/O 口 3B0H PCON電源控制87H PSW程序狀態(tài)字D0H SBUF串口數(shù)據(jù)緩沖區(qū)99H SCON串行口控制98H SP堆棧指針81H TCON定時(shí)器控制88H T2CON定時(shí)器 2 控制C8H T2MOD定時(shí)器 2 模式控制C9H TH0定時(shí)器高字節(jié) 08CH TH1定時(shí)器高字節(jié) 18DH TH2定時(shí)器高字節(jié) 2CDH TL0定時(shí)器低字節(jié) 08AH TL1定時(shí)器低字節(jié) 18BH TL2定時(shí)器低字節(jié) 2CCH TMOD定時(shí)器模式89H 2.22.2 鉑熱電阻簡(jiǎn)介鉑熱電阻簡(jiǎn)介 鉑熱電阻是利用鉑絲的電阻值隨著溫度的變化而變化這一基本原理設(shè) 計(jì)和制作的,按 0時(shí)的電阻值 R()的大小分為 10 歐姆(分度號(hào)為 Pt10) 和 100 歐姆(分度號(hào)為 Pt100)等,測(cè)溫范圍均為-200850.10 歐姆鉑熱 電阻的感溫原件是用較粗的鉑絲繞制而成,耐溫性能明顯優(yōu)于 100 歐姆的 鉑熱電阻,只要用于 650以上的溫區(qū):100 歐姆鉑熱電阻主要用于 650 以下的溫區(qū),雖也可用于 650以上溫區(qū),但在 650以上溫區(qū)不允許有 A 級(jí)誤差。100 歐姆鉑熱電阻的的分辨率比 10 歐姆鉑熱電阻的分辨率大 10 倍,對(duì)二次儀表的要求相應(yīng)地一個(gè)數(shù)量級(jí),因此在 650以下溫區(qū)測(cè)溫應(yīng)盡 量選用 100 歐姆鉑熱電阻。 哈爾濱工業(yè)大學(xué)(威海)畢業(yè)設(shè)計(jì)(論文) - 7 - 感溫元件骨架的材質(zhì)也是決定鉑熱電阻使用溫區(qū)的主要因素,常見(jiàn)的 感溫元件有陶瓷元件,玻璃元件,云母元件,它們是由鉑絲分別繞在陶瓷 骨架,玻璃骨架,云母骨架上再經(jīng)過(guò)復(fù)雜的工藝加工而成。由于骨架材料 本身的性能不同,陶瓷元件適用于 850以下溫區(qū),玻璃元件適用于 550 以下溫區(qū)。近年來(lái)市場(chǎng)上出現(xiàn)了大量的厚膜和薄膜鉑熱電阻感溫元件,厚 膜鉑熱電阻元件是用鉑漿料印刷在玻璃或陶瓷底板上,薄膜鉑熱電阻元件 是用鉑漿料濺射在玻璃或陶瓷底板上,再經(jīng)光刻加工而成,這種感溫元件 僅適用于-70500溫區(qū),但這種感溫元件用料省,可機(jī)械化大批量生產(chǎn), 效率高,價(jià)格便宜。 就結(jié)構(gòu)而言,鉑熱電阻還可以分為工業(yè)鉑熱電阻和鎧裝鉑熱電阻。工 業(yè)鉑熱電阻也叫裝配鉑熱電阻,即是將鉑熱電阻感溫元件焊上引線(xiàn)組裝在 一端封閉的金屬管或陶瓷管內(nèi),再安裝上接線(xiàn)盒而成;鎧裝鉑熱電阻是將 鉑熱電阻元件,過(guò)渡引線(xiàn),絕緣粉組裝在不銹鋼管內(nèi)再經(jīng)模具拉實(shí)的整體, 具有堅(jiān)實(shí),抗震,可繞,線(xiàn)徑小,使用安裝方便等優(yōu)點(diǎn)。 本題目選用的傳感器為 PT100。 圖 1-3 PT100 哈爾濱工業(yè)大學(xué)(威海)畢業(yè)設(shè)計(jì)(論文) - 8 - 3 3硬件電路的設(shè)計(jì)硬件電路的設(shè)計(jì) 該智能溫度數(shù)顯表主要具有溫度顯示,超限報(bào)警,用戶(hù)自定義溫度范圍,控 制降溫設(shè)備的繼電器開(kāi)關(guān)幾項(xiàng)功能, 據(jù)此, 將其硬件電路劃分為電源電路、 LM75A 的數(shù)據(jù)采集電路、LED 顯示電路、鍵盤(pán)電路和超限措施電路五部分,下面將對(duì)其 一一進(jìn)行介紹。 3.13.1溫度信號(hào)的采集溫度信號(hào)的采集電路的設(shè)計(jì)電路的設(shè)計(jì) 溫度信號(hào)的采集使用橋電路原理: 電橋是在工業(yè)測(cè)量過(guò)程中進(jìn)行電阻-電壓轉(zhuǎn)換的常用電路, 具有結(jié)構(gòu)簡(jiǎn)單 及良好的動(dòng)態(tài)品質(zhì)特點(diǎn),但存在的問(wèn)題是橋臂電阻和電橋輸出電壓之間的非線(xiàn) 性。如圖1 所示, 1 R, 2 R, x R, 3 R= 3 R/ 1 W構(gòu)成橋電路。在橋臂電阻 x R產(chǎn) 生R的變化時(shí),電橋輸出電壓變化為U,如式(1)所示; 3 12() x1 23 RRx U RR RR (1) 哈爾濱工業(yè)大學(xué)(威海)畢業(yè)設(shè)計(jì)(論文) - 9 - 圖圖 3-13-1 橋電路橋電路 3.23.2 信號(hào)放大器的選擇信號(hào)放大器的選擇 儀用放大器 AD620 是由三個(gè)放大器所共同組成,其的電阻 R 與 Rx需在放大器 的電阻用范圍內(nèi)(1k 10k )。我們可以調(diào)整 Rx來(lái)調(diào)整放大的增益值,其關(guān)系式如 式(1)所示,必須注意避免每個(gè)放大器的飽和現(xiàn)象(放大器最大輸出為其工作電壓 Vdc) 012 2 (1)() x R VVV R (1) 圖 3-2 AD620 的基本特點(diǎn)為精確度高、 使用簡(jiǎn)易、 低噪聲, 應(yīng)用十分廣泛, 表 1 為 AD620 的規(guī)格特性總覽。 項(xiàng)目規(guī)格特性備注 增益范圍11000只需一個(gè)電阻即可設(shè)定 電源供應(yīng)范圍2.3V18V 低耗電量max supply current =1.3mA可用電池驅(qū)動(dòng),方便應(yīng) 用 于可攜式器材中 精確度高40 ppm maximum nonlinearity; low offset voltage of 50V max.; offset drift of 0.6V/ max. 低噪聲Low input voltage noise of 9nV/ Hz at 哈爾濱工業(yè)大學(xué)(威海)畢業(yè)設(shè)計(jì)(論文) - 10 - 1kHz 應(yīng)用場(chǎng)合ECG 量測(cè)與醫(yī)療器材、 壓力量測(cè)、 V/I 轉(zhuǎn)換、 資料擷取系統(tǒng)等。 AD620 儀表放大器的腳位圖如圖 2 所示。其中 1、8 接腳要跨接一個(gè)電阻來(lái)調(diào)整 放大倍率(作用同式(1)中之 Rx) ,4、7 接腳需提供正負(fù)相等的工作電壓,由 2、3 接腳 輸入的放大的電壓即可從接腳 6 輸出放大后的電壓值。接腳 5 則是參考基 準(zhǔn),如果接地則接腳 6 的輸出即為與地之間的相對(duì)電壓。AD620 的放大增益關(guān)系式 如式(2)、式 (3)所示,由此二式我們即可推算出各種增益所要使用的電阻值了。 49.4 1 G K G R (2) 49.4 1 G K G R (3) 圖 3-3 哈爾濱工業(yè)大學(xué)(威海)畢業(yè)設(shè)計(jì)(論文) - 11 - 3.33.3 AD 轉(zhuǎn)換電路的設(shè)計(jì)轉(zhuǎn)換電路的設(shè)計(jì) A/D 轉(zhuǎn)換有很多方式,可以利用多諧振蕩器實(shí)現(xiàn) A/D 轉(zhuǎn)換,而單片機(jī) STC89C52RC 內(nèi)部有一個(gè)模擬信號(hào)比較器 ,P1.0 和 P1.1 兼作模擬信號(hào)比較器 的同相輸入端和反相輸入端 ,模擬信號(hào)比較器的比較結(jié)果存入 P3.6 對(duì)應(yīng)的寄 存器 ,P3.6 在 STC89C52RC 外部無(wú)引腳。利用這個(gè)模擬信號(hào)比較器和鋸齒波 信號(hào)發(fā)生器電路就可以組成一個(gè) A/D 轉(zhuǎn)換電路 ,把 P1.1 輸入的模擬信號(hào)轉(zhuǎn)換 成數(shù)字信號(hào)。這次設(shè)計(jì)采用最常用的 ADC0809 作為 A/D 轉(zhuǎn)換器。 ADC0809 是八位逐次逼近式 A/D 轉(zhuǎn)換器,是一種單片 CMOS 器件,包括 8 位的模/數(shù)轉(zhuǎn)換器、8 通道多路轉(zhuǎn)換器和與微分處理器兼容的控制邏輯。8 通道多 路轉(zhuǎn)換器能直接連通 8 個(gè)單端模擬信號(hào)中的任何一個(gè)。 ADC08909 設(shè)計(jì)時(shí)考慮到 了若干種模/數(shù)轉(zhuǎn)換技術(shù)的長(zhǎng)處,適用于過(guò)程控制和機(jī)床控制。ADC0809 的引腳 圖如圖 3-6 所示。它的片內(nèi)帶有鎖存功能的 8 路模擬多路開(kāi)關(guān),可對(duì) 8 路 05V 的輸入模擬電壓信號(hào)分時(shí)進(jìn)行轉(zhuǎn)換,片內(nèi)具有多路開(kāi)關(guān)的地址譯碼和鎖存電路、 比較器、256R 電阻 T 型網(wǎng)絡(luò)、樹(shù)狀電子開(kāi)關(guān)、逐次逼近寄存器 SAR、控制與時(shí) 序電路等。輸出具有 TTL 三態(tài)鎖存緩沖器,可直接連到單片機(jī)數(shù)據(jù)總線(xiàn)上。 ADC0809 的分辨率為 8 位,最大不可調(diào)誤差小于1LSB,單一+5V 供電,模擬 輸入范圍為 05V, 具有鎖存控制的 8 路模擬開(kāi)關(guān), 可鎖存三態(tài)輸出, 輸出與 TTL 兼容。不必進(jìn)行零點(diǎn)和滿(mǎn)度調(diào)整,轉(zhuǎn)換速度取決于芯片的時(shí)鐘頻率(由于單片機(jī) STC89C52RC 外部晶振采用的是 12MHz 晶振,故需對(duì)頻率進(jìn)行四分頻。 ADC0809 的引腳功能如下: IN0IN7:8 路輸入通道的模擬量輸入端口; START:為啟動(dòng)控制輸入端口; ALE:為地址鎖存控制信號(hào)端口,可以和 START 端口連接在一起,當(dāng)通過(guò) 軟件輸入一個(gè)正脈沖,便立即啟動(dòng)模/數(shù)轉(zhuǎn)換; EOC:為轉(zhuǎn)換結(jié)束信號(hào)脈沖輸出端口; OE:為輸出允許控制端口,可以和 EOC 端口連接在一起表示轉(zhuǎn)換結(jié)束。 OE 端的電平由低到高,打開(kāi)三態(tài)輸出鎖存器,將轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)字 總線(xiàn)上; REF(+) :參考電壓輸入端口; REF(-) :參考電壓輸入端口; Vcc:主電壓輸入端口; GND:接地端; CLK:時(shí)鐘輸入端; ADDA,B,C:8 路模擬開(kāi)關(guān)的 3 位地址選通輸入端,以選擇對(duì)應(yīng)得輸入通道。 在本次設(shè)計(jì)中采用 8 路信號(hào)輸入端,采集 8 路模擬信號(hào),故 ADDA,B,C 應(yīng)分別 接單片機(jī)的 3 個(gè) I/O 口進(jìn)行選擇通道。 哈爾濱工業(yè)大學(xué)(威海)畢業(yè)設(shè)計(jì)(論文) - 12 - 圖 3-6ADC0809 引腳圖 ADC0809 的工作過(guò)程是:首先輸入 3 位地址,并使地址鎖存允許信號(hào) ALE 為 1,將地址存入地址鎖存器中,此地址經(jīng)譯碼選通 8 路模擬輸入之一。A/D 轉(zhuǎn) 換啟動(dòng)信號(hào) START 上升沿將逐次逼近寄存器復(fù)位。下降沿啟動(dòng) A/D 轉(zhuǎn)換,之后 A/D 轉(zhuǎn)換結(jié)束信號(hào) EOC 輸出變低, 指示轉(zhuǎn)換正在進(jìn)行。 直到 A/D 轉(zhuǎn)換完成, A/D 轉(zhuǎn)換結(jié)束信號(hào) EOC 變?yōu)楦唠娖?,指?A/D 轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器, 這個(gè)信號(hào)可用作中斷申請(qǐng)。當(dāng)數(shù)據(jù)輸出允許信號(hào) OE 輸入高電平時(shí),輸出三態(tài)門(mén) 打開(kāi),轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線(xiàn)上。 ADC0809 與 STC89C52RC 的連接見(jiàn)圖 3-7 所示, 雖然接的是中斷口,但是 ADC0809 的工作方式采用為查詢(xún)方式。 圖 3-7ADC0809 與 STC89C52RD 的連接 3.3.2 74LS74 芯片 74LS74 是雙上升沿 D 觸發(fā)器(有預(yù)置、清除端)1CP、2CP 為時(shí)鐘輸入端, 1D、2D 為數(shù)據(jù)輸入端,Q、/Q 為輸出端,CLR 為直接復(fù)位端(低電平有效) ,PRE 為直接置位端(低電平有效) 。 哈爾濱工業(yè)大學(xué)(威海)畢業(yè)設(shè)計(jì)(論文) - 13 - 3.43.4顯示電路的設(shè)計(jì)顯示電路的設(shè)計(jì) 3.4.13.4.1LED 簡(jiǎn)介簡(jiǎn)介 發(fā)光二極管顯示器是單片機(jī)應(yīng)用產(chǎn)品中常用的廉價(jià)輸出設(shè)備。 它是由若干個(gè) 發(fā)光二極管組成顯示的字段。當(dāng)二極管導(dǎo)通時(shí)相應(yīng)的一個(gè)點(diǎn)或一個(gè)筆劃發(fā)光,通 過(guò)控制發(fā)光二極管的亮暗的不同組合, 就可以顯示出多種數(shù)字、 字母及其他符號(hào)。 本次設(shè)計(jì)采用的是由7段型發(fā)光二極管(ag7段)和1個(gè)圓點(diǎn)型發(fā)光二極管(常 以dp表示,主要用來(lái)顯示小數(shù)點(diǎn))組成的8段數(shù)碼顯示器。 LED 數(shù)碼顯示器有兩種結(jié)構(gòu):將所有發(fā)光二極管的陽(yáng)極連在一起,稱(chēng)為共陽(yáng) 接法,公共端接高電平,當(dāng)某個(gè)字段的陰極接低電平時(shí),對(duì)應(yīng)的字段就點(diǎn)亮;而 將所有發(fā)光二極管的陰極連在一起,稱(chēng)為共陰接法,公共端接低電平,當(dāng)某個(gè)字 段的陽(yáng)極接高電平時(shí),對(duì)應(yīng)的字段就點(diǎn)亮。發(fā)光二極管顯示其外形及共陰極、共 陽(yáng)極接法如圖3-3所示。 圖3-3LED顯示器外形及共陰極、共陽(yáng)極接法 為了顯示各個(gè)數(shù)字或字符,就需要為 LED 提供相應(yīng)的代碼,因?yàn)檫@些代碼是 用來(lái)控制各段發(fā)光二極管的亮或滅,供顯示器顯示字形的,所以稱(chēng)為字段碼(也 可以稱(chēng)為段選碼或字形碼)。7 段發(fā)光二極管再加上 1 個(gè)小數(shù)點(diǎn)位,共計(jì) 8 段, 因此提供給 LED 顯示器的字段碼正好 1 個(gè)字節(jié)。各代碼位的對(duì)應(yīng)關(guān)系如表 3-1 所示。 表 3-1 代碼位對(duì)應(yīng)關(guān)系 D7D6D5D4D3D2D1D0 dpgfedcba 在單片機(jī)應(yīng)用系統(tǒng)中,實(shí)際使用的 LED 顯示器有多個(gè),N 位 LED 顯示器的顯 示要從兩個(gè)方面來(lái)控制:其一是控制 N 位的字段顯示(即顯示什么字符);其二 是控制字位(即哪一位到哪一位亮)。由 LED 的顯示原理可知,要使某 N 位 LED 顯示器的某一位顯示某個(gè)字符, 就必須將此字符轉(zhuǎn)換為對(duì)應(yīng)的字段碼來(lái)控制該位 的 8 個(gè)段,同時(shí),該位的字位線(xiàn)也要控制有效,這要通過(guò)一定接口來(lái)實(shí)現(xiàn)。 點(diǎn)亮LED 顯示器有靜態(tài)和動(dòng)態(tài)兩種方法。所謂靜態(tài)顯示,就是顯示某一字符 時(shí), 相應(yīng)的發(fā)光二極管恒定的導(dǎo)通或截止, 這種方法, 每一顯示位都需要一個(gè)8 位 的輸出口控制,占用的硬件較多,一般僅用于顯示位數(shù)較少的場(chǎng)合。 而動(dòng)態(tài)就是一位一位地輪流點(diǎn)亮各位顯示器,對(duì)每一位顯示器而言,每隔一 段時(shí)間點(diǎn)亮一次,利用人的視覺(jué)留感達(dá)到顯示的目的。顯示器的亮度跟導(dǎo)通的電 流有關(guān),也和點(diǎn)亮的時(shí)間與間隔的比例有關(guān)。動(dòng)態(tài)顯示器因其硬件成本較低,而 得到廣泛的應(yīng)用。 3.4.23.4.2顯示電路的設(shè)計(jì)顯示電路的設(shè)計(jì) 由于 LM75A 測(cè)量溫度的最大范圍是-55+125, 在25100時(shí)它 提供2的測(cè)量精度,因此,采用四位 LED 即可滿(mǎn)足顯示要求。考慮到顯示位 數(shù)較少,選擇靜態(tài)顯示即可。 由 AT89C2051 單片機(jī)的串行口外接移位寄存器 74LS164 構(gòu)成顯示器接口, 單 哈爾濱工業(yè)大學(xué)(威海)畢業(yè)設(shè)計(jì)(論文) - 14 - 片機(jī)的串行口采用方式 0 的輸出方式。P1.7 作為 TXD 引腳同步移位脈沖輸出控 制線(xiàn),P1.7=0 時(shí),與門(mén)輸出為 0,禁止同步移位脈沖輸出。這種靜態(tài)顯示方式的 優(yōu)點(diǎn)是亮度大,很容易做到顯示不閃爍,且 CPU 不必頻繁的為顯示服務(wù),因而主 程序可以不掃描顯示器;軟件設(shè)計(jì)比較簡(jiǎn)單,從而使單片機(jī)有更多時(shí)間處理其他 事務(wù)。具體電路圖如圖 3-4 所示。 圖 3-4顯示電路 3.53.5鍵盤(pán)電路及工作原理鍵盤(pán)電路及工作原理 3.5.13.5.1鍵盤(pán)工作原理鍵盤(pán)工作原理 鍵盤(pán)在單片機(jī)應(yīng)用系統(tǒng)中用于實(shí)現(xiàn)向單片機(jī)輸入數(shù)據(jù)、傳輸命令等功能,是 人工干預(yù)單片機(jī)的主要手段。 鍵盤(pán)實(shí)質(zhì)上是一組按鍵開(kāi)關(guān)的集合,每一個(gè)按鍵都被賦予一個(gè)代碼,稱(chēng)為鍵 碼。鍵的閉合與否,反映在行線(xiàn)輸出電壓上就是呈現(xiàn)高電平或低電平,通過(guò)對(duì)行 線(xiàn)電平高低狀態(tài)的檢測(cè)便可以確認(rèn)按鍵是否按下。但是,按鍵的閉合和釋放都要 經(jīng)過(guò)一定的過(guò)程才能達(dá)到穩(wěn)定, 這一過(guò)程是出于高低電平之間的一種不穩(wěn)定的狀 態(tài),稱(chēng)為抖動(dòng)。抖動(dòng)持續(xù)時(shí)間的長(zhǎng)短與開(kāi)關(guān)的機(jī)械特性有關(guān),為了避免多次處理 按鍵的的一次閉合,應(yīng)采取措施消除抖動(dòng)。消除抖動(dòng)的方法有兩種,一種是采用 硬件電路來(lái)實(shí)現(xiàn),如濾波電路、雙穩(wěn)態(tài)電路等;另一種是利用軟件來(lái)實(shí)現(xiàn),即當(dāng) 發(fā)現(xiàn)有按鍵按下時(shí),延時(shí) 50ms 左右再查詢(xún)是否有按鍵按下,若沒(méi)有按鍵按下, 說(shuō)明上次查詢(xún)的結(jié)果為干擾或抖動(dòng);若有鍵按下,則說(shuō)明閉合鍵已穩(wěn)定,即可判 斷其鍵碼。 常用的鍵盤(pán)接口分為獨(dú)立式和行列式兩種, 當(dāng)按鍵較少時(shí)一般采用獨(dú)立式鍵 盤(pán)接口,此時(shí) CPU 的相應(yīng)方式可以是查詢(xún)方式也可以是中斷方式;而當(dāng)按鍵比較 多時(shí)鍵盤(pán)接口多采用行列式,CPU 的響應(yīng)方式此時(shí)一般是查詢(xún)方式。 3.5.23.5.2鍵盤(pán)電路的設(shè)計(jì)鍵盤(pán)電路的設(shè)計(jì) 該智能溫度數(shù)顯表允許用戶(hù)通過(guò)鍵盤(pán)設(shè)置或更改溫度范圍的上、下限,將最 終數(shù)值存入 LM75A 的相應(yīng)寄存器中,并且在設(shè)置過(guò)更改過(guò)程中,輸入的數(shù)值能在 LED 上顯示出來(lái)。為實(shí)現(xiàn)上述功能,鍵盤(pán)電路的設(shè)計(jì)思想如下: 首先需要設(shè)置一個(gè)功能鍵,該鍵被按下后產(chǎn)生中斷,以便用戶(hù)對(duì)鍵盤(pán)進(jìn)行下 一步操作。第一次按下功能鍵,LED 的第一位顯示“H” ,第二位閃爍,用戶(hù)此時(shí) 可以設(shè)置溫度上限;第二次按下功能鍵,LED 的第一位顯示“L” ,第二位閃爍, 用戶(hù)此時(shí)可以設(shè)置溫度下限;第三次按下功能鍵,LED 恢復(fù)正常顯示狀態(tài),并將 更改后的上、下限數(shù)值送入 LM75A 相應(yīng)的寄存器中,若上、下限沒(méi)有更改,則不 必存入。 其次需要一個(gè)移位鍵。在正常顯示狀態(tài)下,按下移位鍵不起作用。當(dāng)功能鍵 被按下一次或兩次以后,LED 的第二位閃爍,此后每按下移位鍵一次,閃爍位向 后移動(dòng)一次,用戶(hù)即可對(duì)閃爍位進(jìn)行相應(yīng)操作。當(dāng) LED 第四位閃爍時(shí),按下移位 鍵,第二位即開(kāi)始閃爍。 哈爾濱工業(yè)大學(xué)(威海)畢業(yè)設(shè)計(jì)(論文) - 15 - 最后,要設(shè)置能更改相應(yīng)位的數(shù)值的按鍵??紤]到每一位數(shù)從 0 逐次加一 至 9 后可以再回到 0,不需要進(jìn)位功能,因此只需設(shè)置一個(gè)加一鍵即可滿(mǎn)足更改 數(shù)值的要求。在正常顯示狀態(tài)下,按下加一鍵不起作用。當(dāng)功能鍵被按下一次或 兩次以后,按加一鍵即可對(duì)閃爍位進(jìn)行數(shù)值的更改,每按一次,該位數(shù)值加一, 加至數(shù)字為 9 時(shí),再按加一鍵,該位數(shù)值變?yōu)?0,但不向高位進(jìn)位。 需要注意的是,在正常顯示狀態(tài)下,按下移位鍵或加一鍵是不起作用的;只 有在功能鍵被按下一次或兩次后,進(jìn)入設(shè)置狀態(tài),再按其他兩鍵才能達(dá)到更改數(shù) 值的目的。此外,當(dāng)功能鍵被按下時(shí),CPU 給予中斷響應(yīng),只有當(dāng)功能鍵被按下 3 次才能恢復(fù)到正常顯示狀態(tài),否則將一直處在中斷中而不運(yùn)行其他程序。 由于按鍵個(gè)數(shù)較少,只有三個(gè)鍵,因此采用獨(dú)立式鍵盤(pán)即可。采用軟件查詢(xún) 和外部中斷相結(jié)合的方式,當(dāng)某個(gè)鍵按下時(shí),低電平有效。鍵盤(pán)電路如圖 3-5 所示。 圖 3-5鍵盤(pán)電路 3.63.6報(bào)警電路的設(shè)計(jì)報(bào)警電路的設(shè)計(jì) 報(bào)警電路采用紅色和綠色發(fā)光二極管分別作為超上限報(bào)警信號(hào)和超下限報(bào) 警信號(hào),由單片機(jī)的 I/O 口直接驅(qū)動(dòng)。即由單片機(jī)讀取 LM75A 的溫度寄存器、過(guò) 溫關(guān)斷寄存器和滯后寄存器的數(shù)值,將其進(jìn)行比較,當(dāng)溫度值超過(guò)過(guò)溫關(guān)斷寄存 器數(shù)值(即上限值)時(shí),P1.6 輸出低電平,紅色發(fā)光二極管點(diǎn)亮,上限報(bào)警; 反之,當(dāng)溫度值低于滯后寄存器數(shù)值(即下限值)時(shí),P1.4 輸出低電平,綠色 發(fā)光二極管點(diǎn)亮,下限報(bào)警。需要注意的是,由于發(fā)光二極管的導(dǎo)通電流不能太 大(小于 20mA) ,否則會(huì)損壞,因此使用它作為報(bào)警信號(hào)時(shí)應(yīng)在電路中接限流電 阻,設(shè)計(jì)中使用的限流電阻是 510。 哈爾濱工業(yè)大學(xué)(威海)畢業(yè)設(shè)計(jì)(論文) - 16 - 4 4 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì) 4.1 軟件開(kāi)發(fā)及應(yīng)用平臺(tái) 操作平臺(tái): Window98/2000/XP 開(kāi)發(fā)工具: Keil uVision2C 語(yǔ)言 ISP 編程軟件: PC 機(jī)端控制軟件 STC-ISP-V3.1 4.2 工具介紹 4.2.1 Keil uVision2 簡(jiǎn)介 本軟件采用 Keil uVision2 作為開(kāi)發(fā)工具?,F(xiàn)把它做一簡(jiǎn)單概述: KEILC51 標(biāo)準(zhǔn) C 編譯器為 8051 微控制器的軟件開(kāi)發(fā)提供了 C 語(yǔ)言環(huán)境,同 時(shí)保留了匯編代碼高效,快速的特點(diǎn)。C51 編譯器的功能不斷增強(qiáng), 使你可以更 加貼近 CPU 本身,及其它的衍生產(chǎn)品。C51 已被完全集成到 uVision2 的集成開(kāi) 發(fā)環(huán)境中,這個(gè)集成開(kāi)發(fā)環(huán)境包含:編譯器,匯編器,實(shí)時(shí)操作系統(tǒng),項(xiàng)目管理 器,調(diào)試器。uVision2 IDE 可為它們提供單一而靈活的開(kāi)發(fā)環(huán)境。 4.2.2 ISP 編程編程原理及注意事項(xiàng) 單片機(jī)徹底沒(méi)電后給單片機(jī)上電復(fù)位,冷起動(dòng),單片機(jī)運(yùn)行系統(tǒng) ISP 監(jiān)控程 序,若檢測(cè) P3.0/RxD 有合法下載命令流則下載用戶(hù)程序進(jìn)用戶(hù)程序區(qū)。軟復(fù)位 到用戶(hù)程序區(qū)后即可運(yùn)行用戶(hù)程序。 若為檢測(cè)到合法下載命令流則直接軟復(fù)位到 用戶(hù)程序區(qū)。 注意事項(xiàng): (1) 外部手動(dòng)復(fù)位,看門(mén)狗復(fù)位,單片機(jī)不會(huì)運(yùn)行 ISP 程序; (2) 單片機(jī)運(yùn)行 ISP 程序,檢測(cè)有無(wú)合法下載命令流,占時(shí)幾十 mS幾百 mS, 如無(wú)合法下載命令流,則立即跑用戶(hù)程序; (3) 如果已設(shè)置 P1.0/P1.1=0/0,才會(huì)判斷是否下載用戶(hù)程序,則冷啟動(dòng)后,如 P1.0/P1.10/0,則直接跑用戶(hù)程序,只會(huì)占時(shí) 50uS,可忽略不計(jì)。若選 擇 P1.0/P1.1 不同時(shí)為 0/0,則立即跑用戶(hù)程序,跨過(guò)系統(tǒng) ISP 監(jiān)控程序; (4) PC 機(jī)端的控制軟件必需先發(fā)下載命令流,再給單片機(jī)上電復(fù)位。 4.3主程序設(shè)計(jì) 本設(shè)計(jì)中采用 STC89C52RC 作為核心處理器件,軟件設(shè)計(jì)部分需要實(shí)現(xiàn)以 下幾部功能: (1) ADC0809 轉(zhuǎn)換控制:采集輸入信號(hào)中進(jìn)行模數(shù)循環(huán)轉(zhuǎn)換,將 ADC0809 的 輸出數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,得到對(duì)應(yīng)的線(xiàn)性數(shù)值; (2) 按鍵:通過(guò)按鍵控制可以設(shè)置系統(tǒng)允許對(duì)數(shù)值進(jìn)行設(shè)置上下限操作,實(shí)現(xiàn) 系統(tǒng)當(dāng)前工作狀態(tài)的切換和電路復(fù)位; (3) 顯示:4 位數(shù)碼管動(dòng)態(tài)顯示; (4) 報(bào)警指示:將采集到被測(cè)當(dāng)前數(shù)值與系統(tǒng)設(shè)置的數(shù)值上限值相比較,若當(dāng) 前被測(cè)數(shù)值超出所設(shè)置的數(shù)值上下限范圍,則產(chǎn)生報(bào)警指示并輸出 24V 電壓。 哈爾濱工業(yè)大學(xué)(威海)畢業(yè)設(shè)計(jì)(論文) - 17 - 4.3.1 主程序流程圖設(shè)計(jì) 智能數(shù)顯表主程序要初始化,然后開(kāi)放 CPU 中斷,啟動(dòng)定時(shí)器工作,進(jìn)行 數(shù)據(jù)處理并在顯示器和鍵盤(pán)管理子程序的重復(fù)執(zhí)行, 當(dāng)超過(guò)所設(shè)定的上限值時(shí)進(jìn) 行報(bào)警處理。主程序工作流程圖,如圖 4-1 所示: 系統(tǒng)在開(kāi)始工作后,當(dāng)有確定鍵按下時(shí)系統(tǒng)開(kāi)始采集 ADC 轉(zhuǎn)換的數(shù)字量,然 后對(duì)其進(jìn)行數(shù)據(jù)處理并用數(shù)碼管顯示出當(dāng)前的線(xiàn)性對(duì)應(yīng)的數(shù)值, 最后將確定鍵的 按鍵標(biāo)志位 f4 置零。當(dāng)有切換鍵按下時(shí),跳轉(zhuǎn)到切換程序,切換程序進(jìn)行顯示 界面的 P、H、L 之間的切換,對(duì)應(yīng)的可執(zhí)行數(shù)值顯示和上下限值的設(shè)定。 4.2.1 4.3.2 主程序流程圖設(shè)計(jì)解析 由于系統(tǒng)復(fù)位后,各寄存器都被置 1,因此,要對(duì)各工作寄存器清零。以便 以后的使用。另外,由于控制報(bào)警系統(tǒng)的 STC89C52RC 的 P2.7 引腳是用來(lái)控制 報(bào)警裝置的, 若當(dāng)前所得到的數(shù)值超過(guò)用戶(hù)所設(shè)定的上限則把 P2.7 置 1, 此時(shí)硬 件會(huì)產(chǎn)生報(bào)警并輸出 24V 直流電壓。因此在系統(tǒng)復(fù)位后應(yīng)立即把 P2.7 強(qiáng)行置為 低電平,這樣才會(huì)避免誤報(bào)警。初始化后主程序就進(jìn)入了一個(gè)循環(huán)。對(duì)鍵盤(pán)進(jìn)行 掃描,時(shí)刻監(jiān)視是否有按鍵被按下。一旦某個(gè)按鍵被按下,則立刻判斷是哪個(gè)按 鍵,繼而執(zhí)行相關(guān)操作,調(diào)相應(yīng)的顯示子程序。最后返回,再進(jìn)行鍵盤(pán)分析作出 相應(yīng)的處理。 圖 4-1 主程序流程圖 4.4鍵盤(pán)子程序設(shè)計(jì)鍵盤(pán)子程序設(shè)計(jì) 4.2.2 4.4.1 鍵盤(pán)掃描子程序 系統(tǒng)鍵盤(pán)采用中斷方式。當(dāng)有按鍵按下時(shí),程序進(jìn)入外部中斷 1 子程序。設(shè) 哈爾濱工業(yè)大學(xué)(威海)畢業(yè)設(shè)計(jì)(論文) - 18 - 置變量 temp 采集 4 個(gè)按鍵接口的電平,然后通過(guò)判斷變量 temp 的數(shù)值來(lái)確定 4 個(gè)按鍵中具體時(shí)哪一個(gè)被按下,同時(shí)把該按鍵的按鍵標(biāo)志位置 1,跳出中斷。當(dāng) f1=1 時(shí)表示切換鍵按下;當(dāng) f2=1 時(shí)表示平移鍵按下;當(dāng) f3=1 時(shí)表示循環(huán)鍵按 下;當(dāng) f4=1 時(shí)表示確定鍵按下。其流程圖如圖 4-2 所示。 圖 4-2 定時(shí)器 1 T中斷服務(wù)子程序流程圖 鍵盤(pán)共有 4 個(gè)按鍵構(gòu)成,分別為:KEY1 鍵狀態(tài)切換鍵(用于系統(tǒng)工作狀態(tài) 的切換,包括顯示狀態(tài),上限制設(shè)定狀態(tài)和下限值設(shè)定狀態(tài)) ,KEY2 鍵平移鍵 (當(dāng)進(jìn)行數(shù)值設(shè)定時(shí)控制位數(shù)的平移) ,KEY3 鍵循環(huán)鍵(當(dāng)按鍵按下時(shí)能進(jìn)行 0-9 和“-”的數(shù)值設(shè)定) ,KEY4 鍵確認(rèn)鍵用于保存數(shù)據(jù)。在按鍵電路中,因?yàn)?P3 口默認(rèn)為高電平故不用加上拉電阻。當(dāng)有按鍵按下時(shí),電路導(dǎo)通使得 P3.4、 P3.5、P3.6、P3.7 某一口接地,為低電平。同時(shí) 74LS08 的 1、2、4、5 其中一口 哈爾濱工業(yè)大學(xué)(威海)畢業(yè)設(shè)計(jì)(論文) - 19 - 為低,使得單片機(jī)的外部中斷 1(P3.3 口)為低,產(chǎn)生中斷。當(dāng)按鍵松開(kāi)時(shí),電 路斷開(kāi),P3.4、P3.5、P3.6、P3.7 接高電平,74LS08 的 1、2、4、5 口為高,單 片機(jī)的外部中斷 1 為高,無(wú)中斷產(chǎn)生。 按鍵是一種機(jī)械彈性開(kāi)關(guān),當(dāng)按鍵按下時(shí)閉合,松開(kāi)時(shí)斷開(kāi)。因?yàn)橛袡C(jī)械的 接觸, 在觸點(diǎn)閉合或斷開(kāi)的瞬間會(huì)出現(xiàn)電壓抖動(dòng)。抖動(dòng)時(shí)間長(zhǎng)短與鍵的鍵的機(jī)械 特性有關(guān),一般為 510ms。而鍵盤(pán)的穩(wěn)定閉合時(shí)間和操作者的按鍵動(dòng)作有關(guān), 大約為十分之幾秒不等。為了避免輸入的錯(cuò)誤,必須進(jìn)行鍵抖動(dòng)的處理。本設(shè)計(jì) 采用軟件處理方法采用時(shí)間延遲以躲避抖動(dòng)(大約延時(shí) 1030ms) ,待觸點(diǎn)狀態(tài) 穩(wěn)定之后,再進(jìn)行輸入。 4.4.2 KEY1KEY1 鍵狀態(tài)切換鍵子程序鍵狀態(tài)切換鍵子程序 該部分程序的主要功能是在顯示狀態(tài),上限值設(shè)定狀態(tài),下限值設(shè)定狀態(tài) 3 個(gè)狀態(tài)之間實(shí)現(xiàn)切換。系統(tǒng)上電后,即進(jìn)入顯示狀態(tài)。按 1 下切換鍵,系統(tǒng)切換 到上限值設(shè)定狀態(tài),再按 1 下切換鍵系統(tǒng)將進(jìn)入下限值設(shè)定狀態(tài),再按 1 下切換 鍵系統(tǒng)將從新回到顯示狀態(tài)。其原理為當(dāng)切換鍵被按下時(shí),切換變量 num1 自加 1, 當(dāng) num1 大于 2 時(shí)歸零。 然后通過(guò)判斷 num1 的數(shù)值跳轉(zhuǎn)到與數(shù)值相對(duì)應(yīng)的顯 示子程序、上限設(shè)定子程序或下限設(shè)定子程序,具體流程如圖 4-3-1 所示。 哈爾濱工業(yè)大學(xué)(威海)畢業(yè)設(shè)計(jì)(論文) - 20 - 圖 4-3-1 KEY1 鍵狀態(tài)切換鍵子程序流程圖 哈爾濱工業(yè)大學(xué)(威海)畢業(yè)設(shè)計(jì)(論文) - 21 - 圖 4-3-2 設(shè)置上下限程序流程圖 4.4.3 KEY2 鍵平移鍵子程序 該部分程序的主要功能是在系統(tǒng)分別進(jìn)入上、下限值設(shè)定狀態(tài)時(shí),實(shí)現(xiàn)上下 限位的設(shè)定。 以上限值設(shè)定為例, 當(dāng)系統(tǒng)進(jìn)入上限值設(shè)定狀態(tài)時(shí), 按 1 下平移鍵, 數(shù)碼管全部變黑,平移循環(huán)變量 num2 自加一,num2 大于 3 時(shí)數(shù)值自動(dòng)歸零。然 后通過(guò) num2 數(shù)值的判斷,跳轉(zhuǎn)到與之相對(duì)應(yīng)的百位、十位、個(gè)位、小數(shù)位設(shè)定 子程序,其流程圖如圖 4-4 所示。 哈爾濱工業(yè)大學(xué)(威海)畢業(yè)設(shè)計(jì)(論文) - 22 - 圖 4-4KEY2 鍵平移鍵子程序流程圖 4.4.4KEY3 鍵循環(huán)鍵子程序 該程序部分為平移程序所調(diào)用的程序, 平移程序功能的實(shí)現(xiàn)主要是以該程序 為基礎(chǔ)。以百位值的設(shè)定為例,如果不設(shè)定,則默認(rèn)值為 0,該位的數(shù)碼管全部 變黑。如果按下確認(rèn)鍵,表示設(shè)定完畢,此時(shí) KEY3 鍵循環(huán)鍵已經(jīng)失效。在確認(rèn) 鍵未按下的前提下,按下 KEY3 鍵循環(huán)鍵,變量 num3 會(huì)自加一用于實(shí)現(xiàn) 09 以 及負(fù)號(hào)的設(shè)定,如果是設(shè)定百位 num3 大于 10 時(shí)則 num3 置 0,設(shè)定結(jié)束后將循 環(huán)鍵標(biāo)志位置 0,調(diào)用下數(shù)組 LEDData1 = 0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90, 0xbf 數(shù)組(數(shù)組中元素對(duì)應(yīng)的字符含義依次為數(shù)字 09 及負(fù)號(hào)) 。但當(dāng)設(shè)置十位、個(gè) 位和小數(shù)位時(shí)則調(diào)用 LEDData1 = 0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90, 0xbf 哈爾濱工業(yè)大學(xué)(威海)畢業(yè)設(shè)計(jì)(論文) - 23 - 數(shù)組和 LEDData2 = 0x40, 0x79, 0x24, 0x30, 0x19, 0x12, 0x02, 0x78, 0x00, 0x10數(shù)組 (數(shù)組中元素對(duì)應(yīng)的字符含義依次為數(shù)字 0.9. )此時(shí)每按一下按下 KEY3 鍵 循環(huán)鍵,變量 num3 會(huì)自加一,當(dāng) num3 大于 9 時(shí) num3 置 0。KEY3 鍵循環(huán)鍵的 具體程序流程如圖 4-5、4-6 所示。 圖 4-5 KEY3 鍵循環(huán)鍵子程序百位流程圖圖 4-6 KEY3 鍵循環(huán)鍵子程序其余位 流程圖 4.5A/D 轉(zhuǎn)換子程序設(shè)計(jì) 智能數(shù)顯表的主體流程如圖 4-1 所示。 在系統(tǒng)進(jìn)行初始化之后判斷是否有切 換鍵或者是確認(rèn)鍵按下,如果沒(méi)有則等待。否則若是有切換鍵按下則執(zhí)行切換程 序,若是有確認(rèn)鍵按下則進(jìn)行 A/D 轉(zhuǎn)換和數(shù)據(jù)處理等相關(guān)程序。在執(zhí)行完各自 程序操作后返回,從新執(zhí)行鍵盤(pán)掃描程序。ADC0809 轉(zhuǎn)換流程圖如圖 4-7 所示。 哈爾濱工業(yè)大學(xué)(威海)畢業(yè)設(shè)計(jì)(論文) - 24 - 圖 4-7 A/D 轉(zhuǎn)換程序設(shè)計(jì)子程流程圖 在進(jìn)行A/D轉(zhuǎn)換控制時(shí), 必須嚴(yán)格按照ADC0809的工作時(shí)序完成A/D轉(zhuǎn)換。 A/D 轉(zhuǎn)換啟動(dòng)信號(hào) START 下降沿啟動(dòng) A/D 轉(zhuǎn)換,之后 A/D 轉(zhuǎn)換結(jié)束信號(hào) EOC 輸出變低, 指示模數(shù)轉(zhuǎn)換正在進(jìn)行。 直到 A/D 轉(zhuǎn)換完成, A/D 轉(zhuǎn)換結(jié)束信號(hào) EOC 變?yōu)楦唠娖?,指?A/D 轉(zhuǎn)換結(jié)束。當(dāng)數(shù)據(jù)輸出允許信號(hào) OE 為高電平時(shí),轉(zhuǎn)換結(jié) 果的數(shù)字量輸出到數(shù)據(jù)總線(xiàn)上。ADDA,B,C:8 路模擬開(kāi)關(guān)的 3 位地址選通輸入 端,通過(guò)單片機(jī)選擇對(duì)應(yīng)得輸入通道。 4.6顯示子程序設(shè)計(jì) 顯示子程序采用動(dòng)態(tài)掃描法實(shí)現(xiàn)四位數(shù)碼管的數(shù)值顯示。測(cè)量所得的 A/D 轉(zhuǎn)換數(shù)據(jù)放在數(shù)據(jù)段 NUM 的 4 字節(jié)存儲(chǔ)單元, 測(cè)量數(shù)據(jù)在顯示時(shí)需要轉(zhuǎn)換為十進(jìn) 制 BCD 碼放在 BCD0BCD4 單元中,其中 BCD4 存放的是輸入數(shù)據(jù)的路數(shù)。由 于 AD0809 是將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),轉(zhuǎn)換完的數(shù)字信號(hào)輸入單片機(jī) STC89C52RC 的 P1 口, 在單片機(jī) STC89C52RC 內(nèi)部將二進(jìn)制數(shù)據(jù)先轉(zhuǎn)換成十進(jìn) 制數(shù)據(jù)(0255) ,由于顯示范圍為-99.9999.9,故還需做一次線(xiàn)性變換將數(shù)字信 號(hào)轉(zhuǎn)換為對(duì)應(yīng)的數(shù)值, 公式為 td*43.129+0.5 (d 為AD轉(zhuǎn)換后對(duì)應(yīng)的十進(jìn)制數(shù)) , 哈爾濱工業(yè)大學(xué)(威海)畢業(yè)設(shè)計(jì)(論文) - 25 - 轉(zhuǎn)換時(shí)保留整數(shù)位,再將數(shù)據(jù)轉(zhuǎn)換為顯示碼就可以輸出顯示了。 顯示子程序中調(diào)用了 BCD 碼轉(zhuǎn)換子程序和 4 位數(shù)據(jù)顯示子程序,BCD 碼轉(zhuǎn) 換程序是將數(shù)據(jù)轉(zhuǎn)換為 BCD 碼值。4 位顯示子程序是將每組數(shù)據(jù)輸出,主要是 將對(duì)應(yīng)的段碼和位碼輸出。 圖-顯示子程序流程圖 4.3 4.7 EEPROM 程序設(shè)計(jì) 4.3.1 4.7.1 設(shè)計(jì)思路 首先,把上限做一個(gè)標(biāo)準(zhǔn),比如:在代碼初始化的時(shí)候就設(shè)定上限為 40, 就是程序中的一個(gè)全局變量:unsigned char sx=40。然后,當(dāng)測(cè)量的溫度高于 40,系統(tǒng)就會(huì)自動(dòng)報(bào)警。如果要設(shè)置上限的話(huà),只要按了上限設(shè)置按紐,就會(huì)馬 上把 sx 這個(gè)變量送到顯示,這時(shí)候,數(shù)碼管上面顯示的是 0040,按移位鍵、循 環(huán)鍵和確認(rèn)鍵,把新上限設(shè)定好了,那么的話(huà) SX 的值也隨即改變,即為新的上 限值。 把上面的新的 SX 值寫(xiě)到單片機(jī)的 EPROM 里面,在單片機(jī)下次啟動(dòng)的時(shí)候, 從 EPROM 里面把這個(gè)值讀出來(lái),替換掉 SX 里面的初始化值,這就實(shí)現(xiàn)了掉電保 存。 4.3.2 4.7.2STC89C52RC 的 EEPROM 介紹 ISP_DATA:ISP/IAP 操作時(shí)的數(shù)據(jù)寄存
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 夜空中的星星秘密抒情作文(8篇)
- 數(shù)字化轉(zhuǎn)型助力公路貨運(yùn)行業(yè)效率革命研究報(bào)告
- 大型物流配送中心建設(shè)對(duì)城市能源消耗風(fēng)險(xiǎn)分析報(bào)告
- 2025年可持續(xù)發(fā)展目標(biāo)(SDGs)在虛擬數(shù)字人技術(shù)中的應(yīng)用與發(fā)展報(bào)告
- 共享出行平臺(tái)信用積分體系設(shè)計(jì)與應(yīng)用報(bào)告
- 2025年海上風(fēng)力發(fā)電場(chǎng)運(yùn)維管理與技術(shù)創(chuàng)新策略深度報(bào)告
- 2025年智慧公交系統(tǒng)實(shí)施方案評(píng)估報(bào)告:智能調(diào)度與運(yùn)營(yíng)優(yōu)化分析
- 2025年兒童教育游戲化應(yīng)用研究:教學(xué)設(shè)計(jì)理念與實(shí)踐策略報(bào)告001
- 房屋買(mǎi)賣(mài)合同協(xié)議
- 2025-2030中國(guó)自動(dòng)化液體處理設(shè)備行業(yè)運(yùn)行態(tài)勢(shì)與發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 上海市重點(diǎn)建設(shè)項(xiàng)目社會(huì)穩(wěn)定風(fēng)險(xiǎn)評(píng)估報(bào)告編制指南2025
- 數(shù)字化情報(bào)資源管理-洞察闡釋
- 北京市2025學(xué)年高二(上)第一次普通高中學(xué)業(yè)水平合格性考試物理試題(解析版)
- 炸雞店的產(chǎn)品創(chuàng)新與口味調(diào)研
- 陜西省銅川市2025年八下英語(yǔ)期末監(jiān)測(cè)試題含答案
- 社區(qū)工作者綜合能力考試基礎(chǔ)知識(shí)試題及答案
- 山西焦煤集團(tuán)所屬煤炭子公司招聘筆試題庫(kù)2025
- 墊付醫(yī)療費(fèi)協(xié)議書(shū)
- 2025年福建省廈門(mén)市中考物理模擬試卷
- 2024年陜西省普通高中學(xué)業(yè)水平合格性考試語(yǔ)文試題(原卷版+解析版)
- (高清版)DG∕TJ 08-9-2023 建筑抗震設(shè)計(jì)標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論