四回路控制器硬件設(shè)計-孫曙論文_第1頁
四回路控制器硬件設(shè)計-孫曙論文_第2頁
四回路控制器硬件設(shè)計-孫曙論文_第3頁
四回路控制器硬件設(shè)計-孫曙論文_第4頁
四回路控制器硬件設(shè)計-孫曙論文_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

PAGEPAGE31溫濕度控制系統(tǒng)畢業(yè)論文設(shè)計姓名:張巍巍學(xué)號:06班級:540733學(xué)校:吉林大學(xué)應(yīng)用技術(shù)學(xué)院摘要本課題介紹的是以單片機AT89S52為控制核心的四回路多點溫度采集控制系統(tǒng)的設(shè)計。該系統(tǒng)通過多個溫度傳感器同時采集溫度信號,并將溫度信號轉(zhuǎn)換成數(shù)字信號經(jīng)單片機處理并經(jīng)輸出驅(qū)動電路顯示于共陰極數(shù)碼管。同時將控制規(guī)律預(yù)先設(shè)置,從而提出處理建議,自動判斷出是否通過控制繼電器動作來控制執(zhí)行機構(gòu)達(dá)到優(yōu)化工業(yè)生產(chǎn)的目的。同時,可以通過四路按鍵開關(guān)來選擇顯示某待測點溫度,使得管理人員更好的掌握生產(chǎn)過程。此外,只要對傳感器類型進(jìn)行改變和對程序做出調(diào)整,該系統(tǒng)可以滿足其他生產(chǎn)控制的需要。在本文中,首先介紹了當(dāng)前計算機控制技術(shù)的發(fā)展及過單片機在過程控制中的應(yīng)用.其次針對系統(tǒng)所使用的單片機的性能和發(fā)展情況做了簡單介紹,同時對測量溫度在-55~125之間的智能溫度傳感器DS18B20做了介紹。其次,本文重點對測控硬件、軟件的組成進(jìn)行了分項、模塊化逐步分析設(shè)計。對各部分的電路進(jìn)行了介紹,最終實現(xiàn)了該系統(tǒng)的硬件電路,繪制了電路原理圖。在焊接完元器件后,完成了硬件調(diào)試。根據(jù)硬件的設(shè)計和測控系統(tǒng)所要實現(xiàn)的功能,本設(shè)計對軟件也進(jìn)行了一一設(shè)計,并經(jīng)過反復(fù)的模擬運行、調(diào)試,修改簡化了軟件系統(tǒng),最后形成了一套完整的程序系統(tǒng)。整個論文共分為六部分,分別對四回路控制器做了較全面的敘述。關(guān)鍵詞:四回路、單片機89S52、DS18B20、系統(tǒng)設(shè)計、硬件系統(tǒng)目錄第1章引言 11.1本文研究的目的和意義 11.2過程控制系統(tǒng)的發(fā)展 2第2章

系統(tǒng)總體設(shè)計及主控芯片介紹 52.1系統(tǒng)設(shè)計方案 52.2最小系統(tǒng)設(shè)計方案 62.2.1主控芯片的選擇方案 62.2.2AT89S52的功能性能描述 72.2.3AT89S52的引腳結(jié)構(gòu) 82.2.4存儲器結(jié)構(gòu) 102.2.5中斷系統(tǒng) 122.3

輸入電路的設(shè)計 122.3.1溫度采集方案 122.3.2

數(shù)字溫度傳感器DS18B20簡介 132.4三位LED數(shù)碼管驅(qū)動電路的設(shè)計 202.4.1LED數(shù)碼顯示器的結(jié)構(gòu)與顯示段碼 202.4.2LED數(shù)碼顯示器的顯示段碼 212.4.3LED數(shù)碼顯示器的顯示方法 222.5鍵盤電路設(shè)計 232.5.1鍵盤電路選擇 232.5.2開關(guān)狀態(tài)的可靠輸入 232.5.3對按鍵進(jìn)行編碼給定鍵值或給出鍵號 232.5.4選擇鍵盤監(jiān)測方法 232.6繼電器控制電路 24第3章

四回路溫度采集控制系統(tǒng)的軟件設(shè)計 253.1主程序設(shè)計流程圖 253.2DS18B20讀取溫度子程序流程圖 263.3DS18B20計算溫度子程序流程圖 263.4按鍵控制及掃描子程序流程圖 273.5繼電器控制子程序流程圖 313.6顯示子程序流程圖 33第4章結(jié)束語 344.1總結(jié)和系統(tǒng)存在的問題 344.2設(shè)計心得體會 34致謝 36附錄一:系統(tǒng)硬件電路圖 38附錄二:實物照片 39第1章引言1.1本文研究的目的和意義在生產(chǎn)過程中,經(jīng)常要對生產(chǎn)現(xiàn)場的工藝參數(shù)進(jìn)行采集,監(jiān)視和記錄,達(dá)到提高產(chǎn)品質(zhì)量,降低成本的目的。在科學(xué)研究中,應(yīng)用數(shù)據(jù)采集系統(tǒng)獲得大量的動態(tài)信息,是研究瞬間物理過程的有力工具,也是獲取科學(xué)奧秘的重要手段之一??傊?,不論在哪個應(yīng)用領(lǐng)域中,數(shù)據(jù)采集與處理越及時,工作效率就越高,取得的經(jīng)濟效益就越大。在工、農(nóng)業(yè)生產(chǎn)和日常生活中,對溫度的測量及控制占據(jù)著極其重要的地位。首先讓我們了解一下多點溫度檢測系統(tǒng)在各個方面的應(yīng)用領(lǐng)域:消防電氣的非破壞性溫度檢測,電力、電訊設(shè)備之過熱故障預(yù)知檢測,空調(diào)系統(tǒng)的溫度檢測,各類運輸工具之組件的過熱檢測,保全與監(jiān)視系統(tǒng)之應(yīng)用,醫(yī)療與健診的溫度測試,化工、機械…等設(shè)備溫度過熱檢測。溫度檢測系統(tǒng)應(yīng)用十分廣闊由此可以看出,測量控制的作用就是從生產(chǎn)現(xiàn)場中獲取各種參數(shù),運用科學(xué)計算的方法,綜合各種先進(jìn)技術(shù),使每個生產(chǎn)環(huán)節(jié)都能夠得到有效的控制,從而不但保證了生產(chǎn)的規(guī)范化、提高產(chǎn)品質(zhì)量、降低成本,還確保了生產(chǎn)安全。但是由于歷史原因和技術(shù)發(fā)展的瓶頸所限,計算機控制技術(shù)在當(dāng)前生產(chǎn)過程中應(yīng)用的還不是很廣泛。例如,我國目前的鍋爐生產(chǎn)技術(shù)還比較落后,尤其是燃燒供熱的鍋爐的燃燒效率還相當(dāng)?shù)?。這使得鍋爐的燃燒不充分,而造成大氣污染加重,從而造成了我國社會主義現(xiàn)代化的建設(shè)中能源的增長大大落后于生產(chǎn)的增長。這與當(dāng)前所倡導(dǎo)建設(shè)節(jié)約型社會是相背離的。這就要求通過節(jié)能措施,以提高能源的有效利用。有效地的彌補能源供應(yīng)方面的缺口,這是一個迫切的任務(wù)。而我們此次設(shè)計的單片機四回路溫度采集控制系統(tǒng)正是基于改善供熱鍋爐的熱效率,挖掘其潛力,從而提高操作管理水平,減輕勞動強度。眾所周知,鍋爐的生產(chǎn)過程要求對水溫要進(jìn)行實時采集,提供信息供管理人員控制生產(chǎn)過程。但是傳統(tǒng)的生產(chǎn)過程是通過值班人員輪流對測溫點進(jìn)行人工讀取溫度值,這樣難免有時會由于讀數(shù)失誤或不及時,難以對生產(chǎn)過程做到實時監(jiān)測。這樣不僅會造成管理人員勞動強度大,企業(yè)管理成本高,生產(chǎn)效率低。更重要的會影響鍋爐的正常運行,埋藏安全隱患。此次設(shè)計的四回路控制器正是為了解決這個問題而設(shè)計。通過系統(tǒng)的多個溫度傳感器采集多點的溫度信息,一旦某點的溫度超過設(shè)定值,通過繼電器控制引風(fēng)機或給水設(shè)備等執(zhí)行機構(gòu),從而使水溫降至正常值。值班人員在值班室可通過開關(guān)選擇需要的觀測點,其溫度也將實時顯示于顯示屏上。這樣生產(chǎn)過程的安全和效率都能夠得到保障。當(dāng)然鍋爐是一個及其復(fù)雜的系統(tǒng),其輸入量和輸出量有多種,每個數(shù)據(jù)的變化都會給其它量造成影響,不能用簡單的一對一控制規(guī)律來控制其生產(chǎn)過程。此外鍋爐的生產(chǎn)環(huán)境比較惡劣,對系統(tǒng)的抗干擾性能要求比較高。所以本文只是基于計算機控制思想上進(jìn)行模擬,對于實際的鍋爐生產(chǎn)是有點鞭長莫及。但是隨著單片機技術(shù)的迅速興起與蓬勃發(fā)展,其穩(wěn)定、安全、高效、經(jīng)濟等優(yōu)點十分突出,所以其應(yīng)用也必將十分廣泛。相信不久的將來計算機控制技術(shù)將更好的與過程控制技術(shù)相結(jié)合。而鍋爐的生產(chǎn)過程也一定能夠由于計算機的引入而煥發(fā)青春。1.2過程控制系統(tǒng)的發(fā)展自動化技術(shù)在工業(yè)、農(nóng)業(yè)、科技以及人們的日常生活中發(fā)揮著重要的作用。自20世紀(jì)90年代以來,作為信息科學(xué)技術(shù)的重要分支,自動化技術(shù)本身及其應(yīng)用領(lǐng)域得到了迅速的提高和發(fā)展,其水平高低已成為國家科技實力和各個行業(yè)現(xiàn)代化水平的重要標(biāo)志。過程控制通常是指連續(xù)生產(chǎn)過程的自動控制,是自動化技術(shù)最重要的組成部分,其主要任務(wù)是對生產(chǎn)過程中的有關(guān)參數(shù)(溫度、壓力、流量、物位、成分、濕度、PH值和物性等)進(jìn)行控制,使其保持恒定或按一定規(guī)律變化,在保證產(chǎn)品質(zhì)量和生產(chǎn)安全的前提下,使連續(xù)生產(chǎn)過程自動地進(jìn)行下去。實際的生產(chǎn)過程千變?nèi)f化,存在不確定性,影響生產(chǎn)過程的因素和條件諸多。因此要解決生產(chǎn)過程的各種控制問題必須采用有針對性的特殊方法與途徑。這就是過程控制要研究和解決的課題。20世紀(jì)40年代以前,工業(yè)生產(chǎn)技術(shù)水平相對落后,生產(chǎn)過程大多處于手工操作狀態(tài),操作工通過目測判斷生產(chǎn)過程的狀態(tài),手動調(diào)整生產(chǎn)過程,生產(chǎn)效率很低。40年代以來,特別是第二次世界大戰(zhàn)以后,工業(yè)生產(chǎn)過程自動化技術(shù)發(fā)展很快,尤其是近些年來,在IT技術(shù)(自動化技術(shù)也是IT技術(shù)的組成部分)的帶動下,過程控制技術(shù)發(fā)展十分迅猛。過程控制裝置與系統(tǒng)的發(fā)展過程,大致經(jīng)過以下幾個階段:1.局部自動化階段(20世紀(jì)50—60年代)20世紀(jì)50年代,過程控制技術(shù)開始得到發(fā)展。這一階段,過程控制系統(tǒng)絕大多數(shù)是單輸入——單輸出系統(tǒng):被控參數(shù)主要有溫度、壓力、流量和物位四種參數(shù);控制的目的是保持這些工藝參數(shù)的穩(wěn)定,確保生產(chǎn)安全。受當(dāng)時的生產(chǎn)規(guī)模所限,多用氣動儀表進(jìn)行測量與控制,壓縮空氣為動力的氣動儀表實現(xiàn)就地的簡單控制,主要解決在生產(chǎn)過程較為正常的情況下,為滿足工藝要求的參數(shù)而進(jìn)行的定制控制問題。大多數(shù)測量儀表分散在各生產(chǎn)單元工藝設(shè)備上,操作人員在生產(chǎn)現(xiàn)場產(chǎn)看儀表及采取相應(yīng)的操作。20年代50年代后期-60年代,采用了集中監(jiān)控與幾種操作的控制系統(tǒng),實現(xiàn)了工廠儀表化和局部自動化。這對當(dāng)時迫切希望提高設(shè)備效率和擴大生產(chǎn)過程規(guī)模的要求起到了有力的促進(jìn)作用,適應(yīng)了工業(yè)生產(chǎn)設(shè)備日益大型化與連續(xù)化的客觀要求。2.集中控制階段(20世紀(jì)60—70年代)20世紀(jì)60年代,工業(yè)生產(chǎn)規(guī)模不斷擴大,生產(chǎn)過程越來越復(fù)雜,產(chǎn)品質(zhì)量要求越來越高,對過程控制技術(shù)提出了新的要求,迫切需要生產(chǎn)過程集中控制與管理。隨著電子技術(shù)的迅速發(fā)展,半導(dǎo)體產(chǎn)品取代了電子真空管。隨后,集成電路取代了分立元件,電子儀表的可靠性迅速提高,逐步替代了氣動儀表。過程控制系統(tǒng)通過采用單元組合儀表和組裝式儀表,實現(xiàn)了車間范圍和大型系統(tǒng)的集中監(jiān)控。同時為了滿足特殊工藝的控制要求,開發(fā)使用了多種控制系統(tǒng)方案,例如:串級控制,前饋控制,比值控制。更重要的是,計算機開始在過程控制領(lǐng)域應(yīng)用成為里程碑標(biāo)致。3.集散控制系統(tǒng)(20世紀(jì)70年代中期至今)20世紀(jì)70年代,隨著大規(guī)模集成電路出現(xiàn)及微處理器的問世,計算機的性價比和可靠性大為提高,采用冗余技術(shù)和自診斷措施的工業(yè)計算機完全滿足工業(yè)控制對可靠性的要求,為新的過程控制儀表,裝置與系統(tǒng)的設(shè)計開發(fā)提供了強有力的支持。大型生產(chǎn)過程一般都是分散系統(tǒng),使生產(chǎn)過程控制分散進(jìn)行(將發(fā)生故障和危險的風(fēng)險分散),整個生產(chǎn)過程的監(jiān)視、操作與管理相對集中的設(shè)計思想被被大型過程控制系統(tǒng)生產(chǎn)商和用戶普遍接受。隨著數(shù)字化儀表和計算機與網(wǎng)絡(luò)技術(shù)的發(fā)展,過程控制系統(tǒng)的結(jié)構(gòu)也有單變量控制系統(tǒng)發(fā)展到多變量系統(tǒng),由生產(chǎn)過程的定值控制發(fā)展到最優(yōu)控制、自適應(yīng)控制。進(jìn)入20世紀(jì)90年代以后,隨著測量儀表數(shù)字化、通信系統(tǒng)網(wǎng)絡(luò)化的集散型控制技術(shù)日益成熟,現(xiàn)場總線技術(shù)以及基于現(xiàn)場總線技術(shù)的網(wǎng)絡(luò)化分布式控制系統(tǒng)逐步推廣、使用,使過程控制系統(tǒng)的開放性,兼容性和現(xiàn)場儀表與裝置的智能化水平發(fā)上了質(zhì)的飛躍。工廠自動化、計算機集成過程控制,計算機集成制造系統(tǒng)和企業(yè)資源綜合規(guī)劃等方案的通過和實施,為提高工業(yè)生產(chǎn)過程經(jīng)濟效益的關(guān)鍵手段。第2章

系統(tǒng)總體設(shè)計及主控芯片介紹2.1系統(tǒng)設(shè)計方案此次設(shè)計的主要應(yīng)用在糧食倉儲系統(tǒng)、樓宇自動化、系統(tǒng)空調(diào)系統(tǒng)的溫度檢測、石化、機械等需要多點溫度檢測的場所。其目的是及時提供準(zhǔn)確的溫度分析報告,供管理人員及時對生產(chǎn)過程進(jìn)行控制,確保工業(yè)生產(chǎn)的效率和安全。該課題主要是通過智能溫度傳感器滿足溫度測量,并將溫度信號轉(zhuǎn)換成數(shù)字信號經(jīng)單片機處理并經(jīng)輸出驅(qū)動電路顯示于共陰極數(shù)碼管。因此該系統(tǒng)可實現(xiàn)多點不同區(qū)域測量,單通道,循環(huán)測量。此外還具有自動控制和超溫報警和自動控制功能,當(dāng)溫度超過某一設(shè)定值時,系統(tǒng)控制繼電器來關(guān)閉加溫設(shè)備,同時做出聲光報警。該系統(tǒng)由硬件和軟件兩部分組成,硬件部分主要包括:AT89S52主控芯片,智能溫度傳感器DS18B20,LED數(shù)碼顯示,繼電器控制及聲光報警電路,同PC機通信并口單元。軟件部分主要包括對傳感器的程序編寫,LED數(shù)碼顯示程序的編寫,控制繼電器動作子程序,按鍵動作子程序等。系統(tǒng)的總體結(jié)構(gòu)框圖如下圖2-1:人機交換電路輸入電路單片機最小系統(tǒng)人機交換電路輸入電路單片機最小系統(tǒng)顯示電路繼電器控制電路圖2-1系統(tǒng)總體框圖2.2最小系統(tǒng)設(shè)計方案2.2.1主控芯片的選擇方案微型計算機滲透到測試領(lǐng)域并得到充分發(fā)揮,是現(xiàn)代測試技術(shù)發(fā)展的必然趨勢,也是目前作為智能儀表的設(shè)計的一般方法,目前市場上的單片機從數(shù)據(jù)總線寬度上來分主要有8位機、16位機、32位機,其中的32位單片機近年來在信號分析與處理、語音處理、數(shù)字圖象處理等數(shù)字信號處理運用領(lǐng)域得到廣泛的運用,但在工業(yè)測控現(xiàn)場,占主導(dǎo)地位的還是8位機和16位機,對本課題涉及的多路溫度的測量,運用單片機的主要目的是構(gòu)成一個具有一定判斷、運算能力以及具有存儲、顯示、通信等功能的智能測量儀表,它所處理的信息量和復(fù)雜程度由于是溫度,因而用8位機已經(jīng)足夠了。目前,生產(chǎn)單片機的廠商有很多,尤其是近年來微電子技術(shù)、計算機技術(shù)的飛速發(fā)展,比較著名的有Intel、Philips、Microchip、Motorola、Atmel等半導(dǎo)體企業(yè)。在上述著名的半導(dǎo)體企業(yè)產(chǎn)品中,尤其在工業(yè)測控場合,運用較多的為Intel公司的MCS-51系列,Microchip公司的PIC系列,近年來,隨著Intel公司對8031內(nèi)核的公開以及各半導(dǎo)體企業(yè)在關(guān)鍵技術(shù)上的相互滲透,不僅Intel公司,而且Philips公司、Atmel公司等企業(yè)目前都生產(chǎn)MCS-51系列的CPU。近十年來在工業(yè)測控領(lǐng)域,國內(nèi)運用最多的恐怕是Atmel公司的AT89系列,它的標(biāo)準(zhǔn)型產(chǎn)品不僅在指令上,而且在管腳上都兼容Intel公司的MCS-51系列的第一代CPU8031,并在片內(nèi)存儲器、振蕩電路、功耗、軟件加密以及內(nèi)置看門狗等技術(shù)水平上均有很大程度的提高,使國內(nèi)的智能儀表行業(yè)的設(shè)計與開發(fā)者越來越感到使用和設(shè)計上的方便。因此主控芯片的選擇方案有二種:方案一:此方案采用AT89C528位單片機實現(xiàn)。單片機編程的自由度大,可通過編程實現(xiàn)各種算術(shù)算法和邏輯控制。但是,AT89C52單片機需要用仿真器來實現(xiàn)軟硬件的合成在線調(diào)試,較為繁瑣,很不方便。而且AT89C52的地位已經(jīng)漸漸的被AT89S52所取代,逐漸成為歷史。事實也證明了AT89S52在工業(yè)控制上有著更為廣泛的應(yīng)用。方案二:此方案采用AT89S52八位單片機實現(xiàn)。它除了89C52所具有的優(yōu)點外,還具有可在線編程,可在線仿真的功能,這讓調(diào)試變得方便。與凌陽十六位單片機相比,AT89S52八位單片機的價格便宜,在線編程方便,而且AT89S52在工業(yè)控制中有廣泛的應(yīng)用,編程技術(shù)及外圍功能電路的配合技術(shù)發(fā)展都很成熟。這對于我們查找相關(guān)資料非常方便。綜合比較本設(shè)計最終選用ATMEL最新的8位單片機AT89S52作為本系統(tǒng)的主控制器。2.2.2AT89S52的功能性能描述與MCS-51單片機產(chǎn)品兼容8K字節(jié)在系統(tǒng)可編程Flash存儲器1000次擦寫周期全靜態(tài)操作:0Hz~33Hz三級加密程序存儲器32個可編程I/O口線三個16位定時器/計數(shù)器八個中斷源全雙工UART串行通道低功耗空閑和掉電模式掉電后中斷可喚醒看門狗定時器雙數(shù)據(jù)指針掉電標(biāo)識符AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。使用Atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51的指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。2.2.3AT89S52的引腳結(jié)構(gòu)圖2.2AT89S52引腳圖AT89S52引腳圖,如圖2.2所示VCC:電源GND:地P0口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。P1口:P1口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,P1輸出緩沖器能驅(qū)動4個TTL邏輯電平。對P1端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時器/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和定時器/計數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體如表2.1所示,在flash編程和校驗時,P1口接收低8位地址字節(jié)。表2.1P1口第二功能引腳號第二功能P1.0T2(定時器/計數(shù)器T2的外部計數(shù)輸入),時鐘輸出P1.1T2EX(定時器/計數(shù)器T2的捕捉/重載觸發(fā)信號和方向控制)P1.5MOSI(在系統(tǒng)編程用)P1.6MISO(在系統(tǒng)編程用)P1.7SCK(在系統(tǒng)編程用)P2口:P2口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動4個TTL邏輯電平。對P2端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX@DPTR)時,P2口送出高八位地址。在這種應(yīng)用中,P2口使用很強的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX@RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。P3口:P3口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,p2輸出緩沖器能驅(qū)動4個TTL邏輯電平。對P3端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用,如表2.2所示。在flash編程和校驗時,P3口也接收一些控制信號。表2.2P3口第二功能表引腳第二功能P3.0RXD(串行口輸入端)P3.1TXD(串行口輸出端)P3.2(外中斷0,低電平有效)P3.3(外中斷1,低電平有效)P3.4T0(定時/計數(shù)器0計數(shù)脈沖輸入端)P3.5T1(定時/計數(shù)器1計數(shù)脈沖輸入端)P3.6(外部數(shù)據(jù)存儲器寫選通,低電平有效)P3.7(外部數(shù)據(jù)存儲器讀選通,低電平有效)RST:復(fù)位輸入。晶振工作時,RST腳持續(xù)2個機器周期高電平將使單片機復(fù)位??撮T狗計時完成后,RST腳輸出96個晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。ALE/PROG:地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8位地址的輸出脈沖。在flash編程時,此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強調(diào),在每次訪問外部數(shù)據(jù)存儲器時,ALE脈沖將會跳過。如果需要,通過將地址為8EH的SFR的第0位置“1”,ALE操作將無效。這一位置“1”,ALE僅在執(zhí)行MOVX或MOVC指令時有效。否則,ALE將被微弱拉高。這個ALE使能標(biāo)志位(地址為8EH的SFR的第0位)的設(shè)置對微控制器處于外部執(zhí)行模式下無效。:外部程序存儲器選通信號()是外部程序存儲器選通信號。當(dāng)AT89S52從外部程序存儲器執(zhí)行外部代碼時,在每個機器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲器時,將不被激活。/VPP:訪問外部程序存儲器控制信號。為使能從0000H到FFFFH的外部程序存儲器讀取指令,必須接GND。為了執(zhí)行內(nèi)部程序指令,應(yīng)該接VCC。在flash編程期間,也接收12伏VPP電壓。XTAL1:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。2.2.4存儲器結(jié)構(gòu)單片機AT89S52有單獨的程序存儲器和數(shù)據(jù)存儲器。外部程序存儲器和數(shù)據(jù)存儲器都可以進(jìn)行64K尋址。(1)程序存儲器:如果引腳接地,程序讀取只從外部存儲器開始。對于89S52,如果接VCC,程序讀寫先從內(nèi)部存儲器(地址為0000H~1FFFH)開始,接著從外部尋址,尋址地址為:2000H~FFFFH。(2)數(shù)據(jù)存儲器:AT89S52有256字節(jié)片內(nèi)數(shù)據(jù)存儲器。高128字節(jié)與特殊功能寄存器重疊。也就是說高128字節(jié)與特殊功能寄存器有相同的地址,而物理上是分開的。當(dāng)一條指令訪問高于7FH的地址時,尋址方式?jīng)Q定CPU訪問高128字節(jié)RAM還是特殊功能寄存器空間。直接尋址方式訪問特殊功能寄存器。(3)看門狗定時器:WDT是一種需要軟件控制的復(fù)位方式。WDT由13位計數(shù)器和特殊功能寄存器中的看門狗定時器復(fù)位存儲器(WDTRST)構(gòu)成。WDT在默認(rèn)情況下無法工作;為了激活WDT,戶用必須往WDTRST寄存器(地址:0A6H)中依次寫入01EH和0E1H。當(dāng)WDT激活后,晶振工作,WDT在每個機器周期都會增加。WDT計時周期依賴于外部時鐘頻率。除了復(fù)位(硬件復(fù)位或WDT溢出復(fù)位),沒有辦法停止WDT工作。當(dāng)WDT溢出,它將驅(qū)動RSR引腳一個高個電平輸出。為了激活WDT,用戶必須向WDTRST寄存器(地址為0A6H的SFR)依次寫入0E1H和0E1H。當(dāng)WDT激活后,用戶必須向WDTRST寫入01EH和0E1H喂狗來避免WDT溢出。當(dāng)計數(shù)達(dá)到8191(1FFFH)時,13位計數(shù)器將會溢出,這將會復(fù)位器件。晶振正常工作、WDT激活后,每一個機器周期WDT都會增加。為了復(fù)位WDT,用戶必須向WDTRST寫入01EH和0E1H(WDTRST是只讀寄存器)。WDT計數(shù)器不能讀或?qū)?。?dāng)WDT計數(shù)器溢出時,將給RST引腳產(chǎn)生一個復(fù)位脈沖輸出,這個復(fù)位脈沖持續(xù)96個晶振周期(TOSC),其中TOSC=1/FOSC。為了很好地使用WDT,應(yīng)該在一定時間內(nèi)周期性寫入那部分代碼,以避免WDT復(fù)位。在掉電模式下,晶振停止工作,這意味這WDT也停止了工作。在這種方式下,用戶不必喂狗。有兩種方式可以離開掉電模式:硬件復(fù)位或通過一個激活的外部中斷。通過硬件復(fù)位退出掉電模式后,用戶就應(yīng)該給WDT喂狗,就如同通常AT89S52復(fù)位一樣。通過中斷退出掉電模式的情形有很大的不同。中斷應(yīng)持續(xù)拉低很長一段時間,使得晶振穩(wěn)定。當(dāng)中斷拉高后,執(zhí)行中斷服務(wù)程序。為了防止WDT在中斷保持低電平的時候復(fù)位器件,WDT直到中斷拉低后才開始工作。這就意味著WDT應(yīng)該在中斷服務(wù)程序中復(fù)位。為了確保在離開掉電模式最初的幾個狀態(tài)WDT不被溢出,最好在進(jìn)入掉電模式前就復(fù)位WDT。在進(jìn)入待機模式前,特殊寄存器AUXR的WDIDLE位用來決定WDT是否繼續(xù)計數(shù)。默認(rèn)狀態(tài)下,在待機模式下,WDIDLE=0,WDT繼續(xù)計數(shù)。為了防止WDT在待機模式下復(fù)位AT89S52,用戶應(yīng)該建立一個定時器,定時離開待機模式,喂狗,再重新進(jìn)入待機模式。2.2.5中斷系統(tǒng)AT89S52有6個中斷源:兩個外部中斷(INT0和INT1),三個定時中斷(定時器0、1、2)和一個串行中斷。每個中斷源都可以通過置位或清除特殊寄存器IE中的相關(guān)中斷允許控制位分別使得中斷源有效或無效。IE還包括一個中斷允許總控制位EA,它能一次禁止所有中斷。IE.6位是不可用的。對于AT89S52,IE.5位也是不能用的。用戶軟件不應(yīng)給這些位寫1。它們?yōu)锳T89系列新產(chǎn)品預(yù)留。定時器2可以被寄存器T2CON中的TF2和EXF2的邏輯“或”觸發(fā)。程序進(jìn)入中斷服務(wù)后,這些標(biāo)志位都可以由硬件清0。實際上,中斷服務(wù)程序必須判定是否是TF2或EXF2激活中斷,標(biāo)志位也必須由軟件清0。定時器0和定時器1標(biāo)志位TF0和TF1在計數(shù)溢出的那個周期的S5P2被置位。它們的值一直到下一個周期被電路捕捉下來。然而,定時器2的標(biāo)志位TF2在計數(shù)溢出的那個周期的S2P2被置位,在同一個周期被電路捕捉下來。2.3

輸入電路的設(shè)計2.3.1溫度采集方案方案一:采用熱敏電阻,可滿足40℃至90℃測量范圍,但熱敏電阻精度、重復(fù)性、可靠性較差,對于檢測1℃的信號是不適用的。而且在溫度測量系統(tǒng)中,采用單片溫度傳感器,比如AD590,LM35等.但這些芯片輸出的都是模擬信號,必須經(jīng)過A/D轉(zhuǎn)換后才能送給計算機,這樣就必須采用高速高位的A/D轉(zhuǎn)換器,使得測溫裝置的結(jié)構(gòu)較復(fù)雜.另外,這種測溫裝置的一根線上只能掛一個傳感器,不能進(jìn)行多點測量.即使能實現(xiàn),也會造成成本的加大。此外,用到的算法也比較復(fù)雜,一定程度上也增加了軟件實現(xiàn)的難度。方案二:在多點測溫系統(tǒng)中,傳統(tǒng)的測溫方法是將模擬信號遠(yuǎn)距離采樣進(jìn)行AD轉(zhuǎn)換,而為了獲得較高的測溫精度,就必須采用措施解決由長線傳輸,多點測量切換及放大電路零點漂移等造成的誤差補償問題。采用數(shù)字溫度芯片DS18B20測量溫度,輸出信號全數(shù)字化。便于單片機處理及控制,省去傳統(tǒng)測溫方法的復(fù)雜外圍電路。且該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測溫元件,此元件線形較好。在0—100℃時,最大線形偏差小于1℃。DS18B20的最大特點之一采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計DS18B20和微控制器AT89S52構(gòu)成的溫度測量裝置,它直接輸出溫度的數(shù)字信號,可直接與計算機連接。這樣,測溫系統(tǒng)的結(jié)構(gòu)就比較簡單,體積也不大,且由于AT89S5可以帶多個DSB18B20,因此可以非常容易實現(xiàn)多點測溫,輕松的組建傳感器網(wǎng)絡(luò)。采用溫度芯片DS18B20測量溫度,可以體現(xiàn)系統(tǒng)芯片化這個趨勢。部分功能電路的集成,使總體電路更簡潔,搭建電路和焊接電路時更快。而且,集成塊的使用,有效地避免了外界的干擾,提高測量電路的精確度。所以集成芯片的使用將成為電路發(fā)展的一種趨勢。2.3.2

數(shù)字溫度傳感器DS18B20簡介2.3.2.1DS18B20概述DS18B20數(shù)字溫度計提供9位溫度讀數(shù),指示器件的溫度信息經(jīng)過單線接口送入DS18B20或從DS18B20送出,因此從中央處理器到DS18B20僅需連接一條線和地。讀寫和完成溫度變換所需的電源可以由數(shù)據(jù)線本身提供而不需要外部電源。因為每一個DS18B20有唯一的系列號,因此多個DS18B20可以存在于同一條單線總線上,可以實現(xiàn)單線多點測溫。DS18B20此特性的應(yīng)用范圍包括HVAC環(huán)境控制建筑物設(shè)備內(nèi)的溫度檢測以及過程監(jiān)視和控制中的溫度檢測。2.3.2.2DS18B20的功能特性獨特的單線接口只需1個接口引腳即可通信多點multidrop能力使分布式溫度檢測應(yīng)用得以簡化無需外部元件不需備份電源以9位數(shù)字量讀出溫度在1S典型值內(nèi)把溫度變換為數(shù)字用戶可定義的非易失性的溫度告警設(shè)置告警搜索命令識別和尋址溫度在編定的極限之外的器件溫度告警情況測量范圍從-55~+125℃,增量值為0.5,等效的華氏溫度范圍是-67~257F,增量值為0.9F2.3.2.3DS18B20引腳排列DS18B20的引腳排列和功能說明如圖2.3所示圖2.3DS18B20引腳圖2.3.2.4DS18B20內(nèi)部結(jié)構(gòu)(1)DS18B20的內(nèi)部結(jié)構(gòu)如圖3.2所示I/OI/O溫度傳感器溫度傳感器高速緩存器低溫觸發(fā)器TL高溫觸發(fā)器TH配置寄存器8位CRC發(fā)生器VDD存儲器與控制邏輯64位ROM和單線接口C圖3.2DS18B20內(nèi)部結(jié)構(gòu)圖DS18B20有4個主要的數(shù)據(jù)部件:

1)64位激光ROM。64位激光ROM從高位到低位依次為8位CRC、48位序列號和8位家族代碼(28H)組成。2)溫度靈敏元件。3)非易失性溫度報警觸發(fā)器TH和TL。可通過軟件寫入用戶報警上下限值。4)配置寄存器。配置寄存器為高速暫存存儲器中的第五個字節(jié)。DS18B20在0工作時按此寄存器中的分辨率將溫度轉(zhuǎn)換成相應(yīng)精度的數(shù)值,其各位定義如表2.4所示。表2.4DS18B20配置寄存器結(jié)構(gòu)圖TMR1R011111MSBDS18B20配置寄存器結(jié)構(gòu)圖LSB其中,TM:測試模式標(biāo)志位,出廠時被寫入0,不能改變;R0、R1:溫度計分辨率設(shè)置位,其對應(yīng)四種分辨率如下表所列,出廠時R0、R1置為缺省值:R0=1,R1=1(即12位分辨率),用戶可根據(jù)需要改寫配置寄存器以獲得合適的分辨率(如表2.5)。表2.5配置寄存器與分辨率關(guān)系表R0R1溫度計分辨率/bit最大轉(zhuǎn)換時間/us00993.750110187.510113751112750(2)高速暫存存儲器高速暫存存儲器由9個字節(jié)組成,其分配如下表2.6所示。當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補碼形式存放在高速暫存存儲器的第0和第1個字節(jié)。單片機可通過單線接口讀到該數(shù)據(jù),讀取時低位在前,高位在后,數(shù)據(jù)格式如表2.7所示。對應(yīng)的溫度計算:當(dāng)符號位S=0時,直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)S=1時,先將補碼變?yōu)樵a,再計算十進(jìn)制值(如表2.8所示)。表2.6DS18B20存儲器映像圖溫度低位溫度高位THTL配置保留保留保留8位CRCLSBDS18B20存儲器映像圖MSB表2.7溫度格式圖232221202-12-22-32-4MSBLSBSSSSS262524表2.8對應(yīng)的溫度值表溫度/℃二進(jìn)制表示十六進(jìn)制表示+125

+25.0625

+10.125

+0.5

0

-0.5

-10.125

-25.0625

-550000011111010000

0000000110010001

0000000010100010

0000000000001000

0000000000000000

1111111111111000

1111111101011110

1111111001101111

111111001001000007D0H

0191H

00A2H

0008H

0000H

FFF8H

FF5EH

FE6FH

FC90H2.3.2.5DS18B20的工作時序DS18B20的一線工作協(xié)議流程是:初始化→ROM操作指令→存儲器操作指令→數(shù)據(jù)傳輸。其工作時序包括初始化時序、寫時序和讀時序,如圖2.4、圖2.5和圖2.6所示。在測溫時首先設(shè)置DS18B20的數(shù)據(jù)輸入端口DQ為高電平,然后初始化DS18B20,在成功后DS18B20接收單片機的命令,為了簡單起見這里跳過ROM命令設(shè)置匹配過程,然后再次初始化DS18B20在成功后啟動溫度轉(zhuǎn)換命令,然后將溫度值保存起來,返回。其中讀寫DS18B20的驅(qū)動程序在DS18B20.c文件中,可以參考DS18B20的讀寫時序圖來理解程序。

圖2.4初始化時序

圖2.5寫時序

圖2.6讀時序2.3.2.6DS18B20與單片機的典型接口設(shè)計可以采用外接電源與寄生電源供電(就是供電電源從數(shù)據(jù)線上得到)如圖2.6和圖2.7所示:

圖2.6外接電源供電

圖2.7寄生電源供電2.3.2.7DS18B20與AT89S52接口電路的設(shè)計VCC5kDS18B204#DS18B201#DS18B202#DS18B20DS18B204#DS18B201#DS18B202#DS18B203#4.7KAT89S52AT89S521—1—WIRE圖2.8單線多點測溫電路此部分為多點溫度測試。DS18B20采用外部供電方式,理論上可以在一根數(shù)據(jù)總線上掛256個DS18B20,但實踐應(yīng)用中發(fā)現(xiàn),如果掛接25個以上的DS18B20仍舊有可能產(chǎn)生功耗問題。另外單總線長度也不宜超過80M,否則也會影響到數(shù)據(jù)的傳輸。在這種情況下我們可以采用分組的方式,用單片機的多個I/O來驅(qū)動多路DS18B20。在實際應(yīng)用中還可以使用一個MOSFET將I/O口線直接和電源相連,起到上拉的作用。在此次設(shè)計過程中,最初我們采用了單總線模式,如圖2.8所示,但是凡事都具有兩面性。對硬件結(jié)構(gòu)簡單的單線數(shù)字溫度傳感器DS18B20進(jìn)行操作,是需要用較為復(fù)雜的程序完成的。編制程序時必須嚴(yán)格按芯片數(shù)據(jù)手冊提供的有關(guān)操作順序進(jìn)行,讀、寫時間子程序要嚴(yán)格按時序要求編寫。尤其在使用DS18B20的高測溫分辨力時,對時序及電氣特性參數(shù)要求更高。在面對單總線接線時,如何選取需要顯示的18B20成了軟件的一個難點。在經(jīng)過1個多星期摸索之后,我們小組決定通過軟件將四個18B20的序列號顯示出來),然后通過軟件對序列號進(jìn)行操作來實現(xiàn)選取18B20的工作狀態(tài)。但是遺憾的是,對于DS18B20的時序問題,尤其是對于其ROM的操作始終解決不好,在請教老師和同學(xué)之后,最終還是沒有能夠?qū)崿F(xiàn)。無奈之下,只有選取了使用單片機的多個I/O來驅(qū)動多路DS18B20,雖然最終結(jié)果得以實現(xiàn),這也不免是整個設(shè)計過程的一個遺憾。此外有多個測溫點時,應(yīng)考慮系統(tǒng)能實現(xiàn)傳感器出錯自動指示,進(jìn)行自動DS18B20序列號和自動排序,以減少調(diào)試和維護工作量。2.3.2.8DS18B20設(shè)計使用得注意事項(1)DS18B20從測溫結(jié)束到將溫度值轉(zhuǎn)換成數(shù)字量需要一定的轉(zhuǎn)換時間,這是必須保證的,不然會出現(xiàn)轉(zhuǎn)換錯誤的現(xiàn)象,使溫度輸出總是顯示85。(2)在實際使用中發(fā)現(xiàn),應(yīng)使電源電壓保持在5v左右,若電源電壓過低,會使所測得的溫度與實際溫度出現(xiàn)偏高現(xiàn)象,經(jīng)過試驗發(fā)現(xiàn),一般在5v左右。(3)較小的硬件開銷需要相對復(fù)雜的軟件進(jìn)行補償,由于DS18B20與微處理器間采用串行數(shù)據(jù)傳送,因此,在對DS18B20進(jìn)行讀寫編程時,必須嚴(yán)格保證讀寫時序,否則將無法讀取測溫結(jié)果,在使用pl/m、c等高級語言進(jìn)行系統(tǒng)程序設(shè)計時,對DS18B20操作部分最好采用匯編語言實現(xiàn)。(4)在DS18B20的有關(guān)資料中均未提及單總線上所掛DS18B20數(shù)量問題,容易使人誤認(rèn)為可以掛任意多個DS18B20,在實際應(yīng)用中并非如此,當(dāng)單總線上所掛DS18B20超過8個時,就需要解決微處理器的總線驅(qū)動問題,這一點在進(jìn)行多點測溫系統(tǒng)設(shè)計時要加以注意。(5)連接DS18B20的總線電纜是有長度限制的。試驗中,當(dāng)采用普通信號電纜傳輸長度超過50m時,讀取的測溫數(shù)據(jù)將發(fā)生錯誤,當(dāng)將總線電纜改為雙絞線帶屏蔽電纜時,正常通訊距離可達(dá)150m,當(dāng)采用每米膠合次數(shù)更多的雙絞線帶屏蔽電纜時,正常通訊距離進(jìn)一步加長。這種情況主要由總線分布電容使信號波形產(chǎn)生畸變造成的。因此,在用DS18B20進(jìn)行長距離測溫系統(tǒng)設(shè)計時要充分考慮總線分布電容和阻抗匹配問題。(6)在DS18B20測溫程序設(shè)計中,向DS18B20發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS18B20的返回信號,一旦某個DS18B20接觸不好或斷線,當(dāng)程序讀該DS18B20時,將沒有返回信號,程序進(jìn)入死循環(huán),這一點在進(jìn)行DS18B20硬件連接和軟件設(shè)計時也要給予一定的重視。2.4三位LED數(shù)碼管驅(qū)動電路的設(shè)計2.4.1LED數(shù)碼顯示器的結(jié)構(gòu)與顯示段碼在單片機系統(tǒng)中,常用的顯示器有:發(fā)光二極管顯示器,簡稱LED(LightEmittingDiode),液晶顯示器,簡稱LCD(LiquidCrystalDisplay);熒光管顯示器。近年來也開始使用簡易的CRT接口,顯示一些漢字及圖形。前三種顯示器都有兩種顯示結(jié)構(gòu);段顯示和點陣顯示。而發(fā)光二極管顯示又分為固定段顯示和可以拼裝的大型字段顯示,此外還有共陽極和共陰極之分等。

三種顯示器中,以熒光管顯示器亮度最高,發(fā)光二極管次之,而液晶顯示器最弱,為被動顯示器,必須有外光源。

LED顯示塊是由發(fā)光二極管顯示字段組成的顯示器,有8字段和“米”字段之分。顯示塊都有dp顯示段,用于顯示小數(shù)點。7段LED的字型碼,由于只有7個段發(fā)光二極管,所以字型碼為一個字節(jié)(如圖2.9-c所示)。這種顯示塊有共陽極和共陰極兩種,共陰極LED顯示塊的發(fā)光二極管的陰極連接在一起,通常此公共陰極接地,當(dāng)某個發(fā)光二極管的陽極為高電平時,發(fā)光二極管點亮,相應(yīng)的段被顯示(見圖2.9-a所示)。同樣,共陽板LED顯示塊的發(fā)光二極管的陽極連接在一起,通常此公共陽極接正電壓(見圖2.9-b所示)。共陰接法(a)共陽接法(b)LED數(shù)碼管內(nèi)部結(jié)構(gòu)(c)圖2.9由N片LED顯示塊可拼接成N位LED顯示器。

N位LED顯示器有N根位選線和8XN(或16XN)根段選線。根據(jù)顯示方式的不同,位選線和段選線的連接方法也各不相同。段選線控制顯示字符的字型,而位選線則控制顯示位的亮、暗。本設(shè)計采用的是三位數(shù)碼顯示,如圖2.10所示:圖2.102.4.2LED數(shù)碼顯示器的顯示段碼為了顯示字符,要為LED顯示器提供顯示段碼(或字形代碼),組成一個“8”字形字符的7段,再加上一個小數(shù)點位,共計8段,因此提供給LED顯示器的顯示段碼位一個字節(jié),各段碼的對應(yīng)關(guān)系如下表2.9所示:表2.9段位碼D7D6D5D4D3D2D1D0顯示碼DpGFEDCBa用LED顯示器顯示十六進(jìn)制數(shù)和空白字符與P的顯示段碼如表2.10所示表2.10字型共陽極段碼共陰極段碼字型共陽極段碼共陰極段碼0C0H3FH990H6FH1F9H06HA88H77H2A4H5BMb83H7CH3B0H4FHCC6H39H499H66HdA1H5EH592H6DHE86H79H682H7DHF84H71H7F8H07H空白FFH00H880H7FHP8CH73H注:(1)本表所列各字符的顯示段碼均為小數(shù)點不亮的情況(2)“空白”字符即沒有任何顯示2.4.3LED數(shù)碼顯示器的顯示方法(1)靜態(tài)顯示所謂靜態(tài)顯示,就是再同一時刻只顯示一種字符,或者說被顯示的字符再同一時刻是穩(wěn)定不變的。其顯示方法比較簡單,只要將顯示段碼送至段碼口即可。靜態(tài)顯示雖然比較簡單,但是用處不大。因為再同一時刻只顯示同一種字符的場合是不多的。再大多數(shù)情況下,需要顯示的是不同的字符。這就需要用下述的動態(tài)顯示方法。(2)動態(tài)顯示如果要在同一時刻顯示不同的字符,從電路上看,這是辦不到的。因為只能利用人眼對視覺的殘留效應(yīng),采用動態(tài)掃描顯示的方法,逐個地循環(huán)點亮各位數(shù)碼管,每位顯示1MS左右,使人看起來好像再同時顯示不同的字符一樣。再進(jìn)行動態(tài)掃描顯示時,往往事先并不知道應(yīng)顯示什么內(nèi)容,這樣也就無從顯示被顯示字符的顯示段碼。為此一般采用查表的方法,由待顯示的字符通過查表得到對應(yīng)的顯示段碼(如段碼表2.10所示)。2.5鍵盤電路設(shè)計2.5.1鍵盤電路選擇單片機應(yīng)用系統(tǒng)中除了復(fù)位按鍵有專門的復(fù)位電路,以及專一的復(fù)位功能外,其它的按鍵或鍵盤都是以開關(guān)狀態(tài)來設(shè)置控制功能或輸入數(shù)據(jù)。鍵盤有編碼和非編碼兩種。非編碼鍵盤硬件電路極為簡單。故本系統(tǒng)采用按鍵開關(guān)來控制。2.5.2開關(guān)狀態(tài)的可靠輸入鍵開關(guān)狀態(tài)的可靠輸入有兩種解決方法。一種是軟件去抖動:它是在檢測到有鍵按下時,執(zhí)行一個10ms的延時程序后,再確認(rèn)該鍵電平是否仍保持閉合狀態(tài)電平,如保持閉合狀態(tài)電平則確認(rèn)為真正鍵按下狀態(tài),從而消除了抖動影響。另一種為硬件去抖動:即為按鍵添加一個鎖存器。兩種方法都簡單易行,本設(shè)計采用的是軟件去抖。2.5.3對按鍵進(jìn)行編碼給定鍵值或給出鍵號對于按鍵無論有無編碼,以及采用什么編碼,最后都要轉(zhuǎn)換成為與累加器中數(shù)值相對應(yīng)鍵值,以實現(xiàn)按鍵功能程序的三轉(zhuǎn)轉(zhuǎn)移。為使編碼間隔小,散轉(zhuǎn)入口地址安排方便,常采用依次序排列的鍵號(見表2.11所示)。表2.11撥碼開關(guān)值含義0000實時顯示通道一的溫度值0001實時顯示通道二的溫度值0010實時顯示通道三的溫度值0011實時顯示通道四的溫度值2.5.4選擇鍵盤監(jiān)測方法對是否有鍵按下的信息輸入方式有中斷方式與查詢方式兩種。本設(shè)計采用的查詢法,即在在CPU空閑時調(diào)用鍵盤掃描子程序。2.6繼電器控制電路加熱器控制電路如圖2.11所示圖2.11單片機通過三極管控制繼電器的通斷,最后達(dá)到控制電熱器的目的。當(dāng)溫度未達(dá)到要求時,單片機發(fā)送低電平信號使三極管處于截止?fàn)顟B(tài),繼電器使電源與電熱器接通,電熱器加熱。溫度慢慢升高。當(dāng)溫度上升到預(yù)定溫度時,單片機發(fā)送高電平信號三極管進(jìn)入飽和導(dǎo)通狀態(tài),繼電器的彈片打到另一側(cè),使電熱器與電源斷開,電熱器停止加熱。與此同時,聲光報警電路接入,發(fā)出警報,提醒管理人員對當(dāng)前的生產(chǎn)過程采取措施。繼電器電路中有一個二極管,用來保護繼電器。接線方法如上圖2.11所示,其原理是:當(dāng)繼電器突然斷電時,繼電器產(chǎn)生很大的反向電流。二極管的作用是使繼電器兩端的電流變化不至于很劇烈,從而達(dá)到保護繼電器的目的。整個超溫報警電路主要是進(jìn)行恒溫控制,故而采取的是邦邦控制法。對軟件進(jìn)行改進(jìn)和完善,引入更高級的控制方式,其控制也更加智能化。在此次設(shè)計中,由于條件有限其加熱設(shè)備采用的是綠色發(fā)光二極管模擬,點亮說明其加熱設(shè)備工作。熄滅則代表停止工作。第3章

四回路溫度采集控制系統(tǒng)的軟件設(shè)計3.1主程序設(shè)計流程圖主程序的主要功能是負(fù)責(zé)溫度的實時顯示、讀出并處理DS1820的測量溫度值,按照命令執(zhí)行顯示(如圖3.1所示)。調(diào)用繼電器控制電路子程序調(diào)用繼電器控制電路子程序調(diào)用顯示子程序調(diào)用按鍵掃描子程序調(diào)用按鍵控制顯示子程序初始化,———繼電器1動作,聲光報警開始LED待顯——.1調(diào)用讀溫子程序1調(diào)用讀溫子程序2調(diào)用讀溫子程序3調(diào)用讀溫子程序4圖3.1主程序流程圖3.2DS18B20讀取溫度子程序流程圖DS1820讀取溫度子程序流程圖,以第一片DS1820為例(如圖3.2所示)開始開始初始化DS1820發(fā)跳過ROM命令啟動溫度轉(zhuǎn)換初始化DS1820發(fā)跳過ROM命令DS1820測得數(shù)據(jù)放入特定單元初始化DS1820讀當(dāng)前DS1820溫度值掃描鍵盤250次發(fā)讀溫度指令返回圖3.2讀取溫度子程序流程圖3.3DS18B20計算溫度子程序流程圖DS18B20溫度計算子程序流程圖(如圖3.3所示)開始開始測地十六進(jìn)制溫度值放入29H單元中寄存器A←(29H)單元35H←(個位)單元36H←(十位)返回溫度值轉(zhuǎn)換成十進(jìn)制圖3.3DS18B20溫度計算子程序流程圖3.4按鍵控制及掃描子程序流程圖按鍵控制子程序流程圖(如圖3.4所示)YN開始YN開始按鍵“1”是否按下?28H,29H←第一片DS1820測得溫度值調(diào)數(shù)據(jù)處理子程序返回按鍵“2”是否按下?28H,29H←第二片DS1820測得溫度值調(diào)數(shù)據(jù)處理子程序返回按鍵“3”是否按下?28H,29H←第三片DS1820測得溫度值調(diào)數(shù)據(jù)處理子程序返回按鍵“4”是否按下?28H,29H←第四片DS1820測得溫度值調(diào)數(shù)據(jù)處理子程序返回返回NYNY圖3.4按鍵控制子程序流程圖按鍵掃描子程序流程圖(如圖3.5所示)開始開始按鍵“1”是否按下?調(diào)數(shù)據(jù)處理子程序調(diào)顯示子程序最左邊顯示1返回按鍵“1”是否按下?按鍵“2”是否按下?調(diào)數(shù)據(jù)處理子程序調(diào)顯示子程序最左邊顯示2返回按鍵“2”是否按下?N Y N YY按鍵3 N N

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論