版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、摘要單片機已在各行業(yè)得到廣泛應用,為適應更多的應用領域,廠家采取了在一塊單片機芯片上集成多種功能部件和大容量存儲器的方法。因而,整個應用系統(tǒng)不需要擴展,而體積變小、可靠性增高,使單片機成為真正意義上的單片機系統(tǒng)。第一章 單片機概述單片機是單片微型計算機的簡稱,有時稱為微控制器,是將計算機的主要功能單元集成在一個芯片中而構成的器件。由于單片機在一個芯片上集成諸多功能,因此就單項功能而言,通常都沒有普通計算機強大,如計算機速度不夠快、字長較短、外部可擴展接口的數(shù)量少且規(guī)模小等。但是,單片機具有體積小、價格便宜和技術成熟等優(yōu)點,是各種電子產(chǎn)品的重要組成部分,在國民經(jīng)濟的各個領域發(fā)揮著重要作用。 早期
2、的單片機都是8位或4位的。其中最成功的是INTEL的8031,因為簡單可靠而性能不錯獲得了很大的好評。此后在8031上發(fā)展出了MCS51系列單片機系統(tǒng)?;谶@一系統(tǒng)的單片機系統(tǒng)直到現(xiàn)在還在廣泛使用。隨著工業(yè)控制領域要求的提高,開始出現(xiàn)了16位單片機,但因為性價比不理想并未得到很廣泛的應用。90年代后隨著消費電子產(chǎn)品大發(fā)展,單片機技術得到了巨大提高。隨著INTEL i960系列特別是后來的ARM系列的廣泛應用,32位單片機迅速取代16位單片機的高端地位,并且進入主流市場。而傳統(tǒng)的8位單片機的性能也得到了飛速提高,處理能力比起80年代提高了數(shù)百倍。目前,高端的32位單片機主頻已經(jīng)超過300MHz,
3、性能直追90年代中期的專用處理器,而普通的型號出廠價格跌落至1美元,最高端1的型號也只有10美元。當代單片機系統(tǒng)已經(jīng)不再只在裸機環(huán)境下開發(fā)和使用,大量專用的嵌入式操作系統(tǒng)被廣泛應用在全系列的單片機上。而在作為掌上電腦和手機核心處理的高端單片機甚至可以直接使用專用的Windows和Linux操作系統(tǒng)。 單片機比專用處理器更適合應用于嵌入式系統(tǒng),因此它得到了最多的應用。事實上單片機是世界上數(shù)量最多的計算機?,F(xiàn)代人類生活中所用的幾乎每件電子和機械產(chǎn)品中都會集成有單片機。手機、電話、計算器、家用電器、電子玩具、掌上電腦以及鼠標等電腦配件中都配有1-2部單片機。而個人電腦中也會有為數(shù)不少的單片機在工作。
4、汽車上一般配備40多部單片機,復雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百臺單片機在同時工作!單片機的數(shù)量不僅遠超過PC機和其他計算的總和,甚至比人類的數(shù)量還要多。 單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。相當于一個微型的計算機,和計算機相比,單片機只缺少了I/O設備。概括的講:一塊芯片就成了一臺計算機。它的體積小、質量輕、價格便宜、為學習、應用和開發(fā)提供了便利條件。同時,學習使用單片機是了解計算機原理與結構的最佳選擇。 單片機內部也用和電腦功能類似的模塊,比如CPU,內存,并行總線,還有和硬盤作用相同的存儲器件,不同的是它的這些部件性能都相對我們的
5、家用電腦弱很多,不過價錢也是低的,一般不超過10元即可.用它來做一些控制電器一類不是很復雜的工作足矣了。我們現(xiàn)在用的全自動滾筒洗衣機、排煙罩、VCD等等的家電里面都可以看到它的身影!.它主要是作為控制部分的核心部件。 它是一種在線式實時控制計算機,在線式就是現(xiàn)場控制,需要的是有較強的抗干擾能力,較低的成本,這也是和離線式計算機的(比如家用PC)的主要區(qū)別。 單片機的組成通常和普通計算機一樣,通常具有以下幾個部分:(1)、CPU。CPU是中央處理器的簡稱,有時也稱為“核”,它是進行運算和控制的重要單元,其性能決定單片機的主要性能。(2)、存儲器。單片機的存儲器通常由ROM和RAM組成,ROM常用
6、于存放單片機的程序,而RAM用于存放數(shù)據(jù)。(3)、輸入/輸出接口。計算機的輸入/輸出接口用于連接外圍設備,例如鍵盤、顯示器、打印機、A/D或D/A轉換器等,實現(xiàn)與外圍設備的數(shù)據(jù)交換。在普通計算機上,這些功能是由主板上的若干芯片實現(xiàn)的;對于單片機,這些對應的功能單元集成在其內部。隨著技術的發(fā)展,單片機的功能日益增多,有些單片機除了上述功能以外,還集成有其他部件,如各種異步和同步串行接口、CAN通信控制器等。通常,稱單片機內部除CPU外的功能單元為片內外設,也稱為內部資源。單片機具有以下主要特點:(1)、價格便宜。單片機盡管集成了眾多資源,但其結構簡單,生產(chǎn)批量大,因此價格十分便宜,通常在幾元到幾
7、十元人民幣。(2)、體積小。目前最小的單片機只有6個引腳,十幾到二十幾個引腳的單片機也很多,還有表面貼片封裝的,體積很小,便于設計成嵌入式系統(tǒng)安裝在電子設備中,以實現(xiàn)智能控制。當然,功能強大的單片機引腳也相應較多,例如有40、52、68,甚至更多引腳的單片機,但在采用表面貼片封裝后,其體積并不大。(3)、技術成熟、應用廣泛。相對于大型計算機和PC機,單片機的技術難度小,復雜度低,因此其技術相當成熟。單片機的穩(wěn)定可靠,為在單片機的廣泛應用創(chuàng)造了技術條件。在現(xiàn)代社會,電子產(chǎn)品在日常生活中不可或缺,而電子產(chǎn)品往往離不開單片機,可見單片機的應用之廣。單片機在計算機家族中占據(jù)著重要地位,是電子工程師應該
8、掌握的最基本工具之一。當然,就功能的完備性和強大性而言,單片機不能和高級計算機相比,但這不影響它的應用范圍。實際工作中,并非所有場合都要求計算機有很高的性能,例如電冰箱溫度控制并不需要使用主頻達1.8GHz的奔騰機。應用單片機的關鍵是看其功能是否夠用,性價比是否合適。單片機不會因其簡單而被淘汰,例如MCS-51單片機退出來二十多年了,仍然是一款應用最廣的單片機,而且在不斷發(fā)展??梢哉f,只有在單片機出現(xiàn)后,計算機才能真正地從科學的神圣殿堂走入了尋常百姓家,成為廣大工程技術人員進行技術革命和技術革新的有力武器。單片機的應用 目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。
9、導彈的導航裝置,飛機上各種儀表的控制,計算機的網(wǎng)絡通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄像機、攝像機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫(yī)療器械以及各種智能機械了。因此,單片機的學習、開發(fā)與應用將造就一批計算機應用與智能化控制的科學家、工程師。 單片機廣泛應用于儀器儀表、家用電器、醫(yī)用設備、航空航天、專用設備的智能化管理及過程控制等領域,大致可分如下幾個范疇: 1.在智能儀器儀表上的應用 單片機具有體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便
10、等優(yōu)點,廣泛應用于儀器儀表中,結合不同類型的傳感器,可實現(xiàn)諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。采用單片機控制使得儀器儀表數(shù)字化、智能化、微型化,且功能比起采用電子或數(shù)字電路更加強大。例如精密的測量設備(功率計,示波器,各種分析儀)。 2.在工業(yè)控制中的應用 用單片機可以構成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)。例如工廠流水線的智能化管理,電梯智能化控制、各種報警系統(tǒng),與計算機聯(lián)網(wǎng)構成二級控制系統(tǒng)等。 3.在家用電器中的應用 可以這樣說,現(xiàn)在的家用電器基本上都采用了單片機控制,從電飯煲、洗衣機、電冰箱、空調機、彩電、其他音響視頻器材、再到電
11、子秤量設備,五花八門,無所不在。 4.在計算機網(wǎng)絡和通信領域中的應用 現(xiàn)代的單片機普遍具備通信接口,可以很方便地與計算機進行數(shù)據(jù)通信,為在計算機網(wǎng)絡和通信設備間的應用提供了極好的物質條件,現(xiàn)在的通信設備基本上都實現(xiàn)了單片機智能控制,從手機,電話機、樓宇自動通信呼叫系統(tǒng)、列車無線通信、再到日常工作中隨處可見的移動電話,集群移動通信,無線電對講機等。 5.單片機在醫(yī)用設備領域中的應用 單片機在醫(yī)用設備中的用途亦相當廣泛,例如醫(yī)用呼吸機,各種分析儀,監(jiān)護儀,超聲診斷設備及病床呼叫系統(tǒng)等等。 6.在各種大型電器中的模塊化應用 某些專用單片機設計用于實現(xiàn)特定功能,從而在各種電路中進行模塊化應用,而不要求
12、使用人員了解其內部結構。如音樂集成單片機,看似簡單的功能,微縮在純電子芯片中(有別于磁帶機的原理),就需要復雜的類似于計算機的原理。如:音樂信號以數(shù)字的形式存于存儲器中(類似于ROM),由微控制器讀出,轉化為模擬音樂電信號(類似于聲卡)。 在大型電路中,這種模塊化應用極大地縮小了體積,簡化了電路,降低了損壞、錯誤率,也方便于更換。 7.單片機在汽車設備領域中的應用 單片機在汽車電子中的應用非常廣泛,例如汽車中的發(fā)動機控制器,基于CAN總線的汽車發(fā)動機智能電子控制器,GPS導航系統(tǒng),制動系統(tǒng)等等。 此外,單片機在工商,金融,科研、教育,國防航空航天等領域都有著十分廣泛的用途。單片機學習應用的六大
13、重要部分 一、總線:我們知道,一個電路總是由元器件通過電線連接而成的,在模擬電路中,連線并不成為一個問題,因為各器件間一般是串行關系,各器件之間的連線并不很多,但計算機電路卻不一樣,它是以微處理器為核心,各器件都要與微處理器相連,各器件之間的工作必須相互協(xié)調,所以需要的連線就很多了,如果仍如同模擬電路一樣,在各微處理器和各器件間單獨連線,則線的數(shù)量將多得驚人,所以在微處理機中引入了總線的概念,各個器件共同享用連線,所有器件的8根數(shù)據(jù)線全部接到8根公用的線上,即相當于各個器件并聯(lián)起來,但僅這樣還不行,如果有兩個器件同時送出數(shù)據(jù),一個為0,一個為1,那么,接收方接收到的究竟是什么呢?這種情況是不允
14、許的,所以要通過控制線進行控制,使器件分時工作,任何時候只能有一個器件發(fā)送數(shù)據(jù)(可以有多個器件同時接收)。器件的數(shù)據(jù)線也就被稱為數(shù)據(jù)總線,器件所有的控制線被稱為控制總線。在單片機內部或者外部存儲器及其它器件中有存儲單元,這些存儲單元要被分配地址,才能使用,分配地址當然也是以電信號的形式給出的,由于存儲單元比較多,所以,用于地址分配的線也較多,這些線被稱為地址總線。 二、數(shù)據(jù)、地址、指令:之所以將這三者放在一起,是因為這三者的本質都是一樣的數(shù)字,或者說都是一串0和1組成的序列。換言之,地址、指令也都是數(shù)據(jù)。指令:由單片機芯片的設計者規(guī)定的一種數(shù)字,它與我們常用的指令助記符有著嚴格的一一對應關系,
15、不可以由單片機的開發(fā)者更改。地址:是尋找單片機內部、外部的存儲單元、輸入輸出口的依據(jù),內部單元的地址值已由芯片設計者規(guī)定好,不可更改,外部的單元可以由單片機開發(fā)者自行決定,但有一些地址單元是一定要有的(詳見程序的執(zhí)行過程)。數(shù)據(jù):這是由微處理機處理的對象,在各種不同的應用電路中各不相同,一般而言,被處理的數(shù)據(jù)可能有這么幾種情況: 1.地址(如MOV DPTR,1000H),即地址1000H送入DPTR。 2.方式字或控制字(如MOV TMOD,#3),3即是控制字。 3.常數(shù)(如MOV TH0,#10H)10H即定時常數(shù)。 4.實際輸出值(如P1口接彩燈,要燈全亮,則執(zhí)行指令:MOV P1,#
16、0FFH,要燈全暗,則執(zhí)行指令:MOV P1,#00H)這里0FFH和00H都是實際輸出值。又如用于LED的字形碼,也是實際輸出的值。 理解了地址、指令的本質,就不難理解程序運行過程中為什么會跑飛,會把數(shù)據(jù)當成指令來執(zhí)行了。 三、P0口、P2口和P3的第二功能用法:初學時往往對P0口、P2口和P3口的第二功能用法迷惑不解,認為第二功能和原功能之間要有一個切換的過程,或者說要有一條指令,事實上,各端口的第二功能完全是自動的,不需要用指令來轉換。如P3.6、P3.7分別是WR、RD信號,當微處理機外接RAM或有外部I/O口時,它們被用作第二功能,不能作為通用I/O口使用,只要-微處理機-執(zhí)行到MO
17、VX指令,就會有相應的信號從P3.6或P3.7送出,不需要事先用指令說明。事實上不能作為通用I/O口使用也并不是不能而是(使用者)不會將其作為通用I/O口使用。你完全可以在指令中按排一條SETB P3.7的指令,并且當單片機執(zhí)行到這條指令時,也會使P3.7變?yōu)楦唠娖?,但使用者不會這么去做,因為這通常會導致系統(tǒng)的崩潰。 四、程序的執(zhí)行過程:單片機在通電復位后8051內的程序計數(shù)器(PC)中的值為0000,所以程序總是從0000單元開始執(zhí)行,也就是說:在系統(tǒng)的ROM中一定要存在0000這個單元,并且在0000單元中存放的一定是一條指令。 五、堆棧:堆棧是一個區(qū)域,是用來存放數(shù)據(jù)的,這個區(qū)域本身沒有
18、任何特殊之處,就是內部RAM的一部份,特殊的是它存放和取用數(shù)據(jù)的方式,即所謂的先進后出,后進先出,并且堆棧有特殊的數(shù)據(jù)傳輸指令,即PUSH和POP,有一個特殊的專為其服務的單元,即堆棧指針SP,每當執(zhí)一次PUSH指令時,SP就(在原來值的基礎上)自動加1,每當執(zhí)行一次POP指令,SP就(在原來值的基礎上)自動減1。由于SP中的值可以用指令加以改變,所以只要在程序開始階段更改了SP的值,就可以把堆棧設置在規(guī)定的內存單元中,如在程序開始時,用一條MOV SP,#5FH指令,就是把堆棧設置在從內存單元60H開始的單元中。一般程序的開頭總有這么一條設置堆棧指針的指令,因為開機時,SP的初始值為07H,
19、這樣就使堆棧從08H單元開始往后,而08H到1FH這個區(qū)域正是8031的第二、三、四工作寄存器區(qū),經(jīng)常要被使用,這會造成數(shù)據(jù)的混亂。不同作者編寫程序時,初始化堆棧指令也不完全相同,這是作者的習慣問題。當設置好堆棧區(qū)后,并不意味著該區(qū)域成為一種專用內存,它還是可以象普通內存區(qū)域一樣使用,只是一般情況下編程者不會把它當成普通內存用了。 第二章 總體方案設計2.1 課題的意義課程設計是單片機課程教學的最后一個環(huán)節(jié),是對學生進行全面的系統(tǒng)的訓練。進行課程設計可以讓學生把學過的比較零碎的知識系統(tǒng)化,真正的能夠把學過的知識落到實處,能夠開發(fā)簡單的系統(tǒng),也進一步激發(fā)了學生再深一步學習的熱情,因此課程設計是必
20、不可少的,是非常必要的。在設計中我們可以消化與鞏固單片機及接口技術課程所學知識;理論聯(lián)系實際,學會用理論知識解決實際問題;培養(yǎng)設計能力,初步掌握設計的一般步驟與方法2.2 系統(tǒng)整體硬件電路2.2.1 芯片簡介Max232串口芯片MAX232芯片是專門為電腦的RS-232標準串口設計的接口電路,使用+5v單電源供電。內部結構基本可分三個部分:第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構成。功能是產(chǎn)生+12v和-12v兩個電源,提供給RS-232串口電平的需要。第二部分是數(shù)據(jù)轉換通道。由7、8、9、10、11、12、13、14腳構成兩個數(shù)據(jù)通道。其中13腳(R1IN)、12腳(R1
21、OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電腦DP9插頭;DP9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。第三部分是供電。15腳DNG、16腳VCC(+5v)。RS232 (DB9)引腳定義:1 :DCD :載波檢測。主要用于Modem通知計算機其處于在線狀態(tài),即Modem檢測到撥號音,處于在線狀態(tài)。 2 :RXD:此引腳用于
22、接收外部設備送來的數(shù)據(jù);在你使用Modem時,你會發(fā)現(xiàn)RXD指示燈在閃爍,說明RXD引腳上有數(shù)據(jù)進入。 3 :TXD:此引腳將計算機的數(shù)據(jù)發(fā)送給外部設備;在你使用Modem時,你會發(fā)現(xiàn)TXD指示燈在閃爍,說明計算機正在通過TXD引腳發(fā)送數(shù)據(jù)。 4 :DTR:數(shù)據(jù)終端就緒;當此引腳高電平時,通知Modem可以進行數(shù)據(jù)傳輸,計算機已經(jīng)準備好。 5 :GND:信號地;此位不做過多解釋。 6 :DSR:數(shù)據(jù)設備就緒;此引腳高電平時,通知計算機Modem已經(jīng)準備好,可以進行數(shù)據(jù)通訊了。 7 :RTS:請求發(fā)送;此腳由計算機來控制,用以通知Modem馬上傳送數(shù)據(jù)至計算機;否則,Modem將收到的數(shù)據(jù)暫時放
23、入緩沖區(qū)中。 8 :CTS: 清除發(fā)送;此腳由Modem控制,用以通知計算機將欲傳的數(shù)據(jù)送至Modem。 9 :RI : Modem通知計算機有呼叫進來,是否接聽呼叫由計算機決定DS18b20DS1820是Dallas半導體公司生產(chǎn)的數(shù)字化溫度傳感器,是世界上第一片支持“一線總線”接口的溫度傳感器。一線總線獨特而經(jīng)濟的特點,使用戶可以輕松的組件傳感器網(wǎng)絡,為測量引入全新的概念。新一代的“DS18B20”體積更小、更經(jīng)濟、更靈活,使用戶可以充分發(fā)揮一線總線的長處5。同DS1820一樣,DS18B20也支持“一線總線”接口,測量溫度范圍為-55+125,在-10+85范圍內,精度為0.5。現(xiàn)場溫度
24、范圍以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性,適合于惡劣環(huán)境的現(xiàn)場溫度測量,如設備控制、設備或過程控制、測溫類消費電子產(chǎn)品等。DS18B20的特性(1) 獨特的單接口僅需一個端口引腳進行通訊;(2) 簡單的多點分布應用;(3) 無需外部器件;(4) 可通過數(shù)據(jù)線供電,無需外部電源;(5) 零待機功耗;(6) 測溫范圍為-55+125,以0.5遞增;(7) 溫度以9位數(shù)字量讀出;(8) 溫度數(shù)字量轉換時間200ms(典型值);(9) 用戶可定義的非易失性溫度報警設置;(10) 報警搜索命令識別并標志超過程序限定溫度(溫度報警條件)的器件;(11) 應用包括溫度控制、工業(yè)系統(tǒng)、消費品
25、、溫度計或任何熱感測系統(tǒng)。DS18B20的結構如圖4.1所示:圖4.1 DS18B20的結構圖DS18B20有三個主要的數(shù)據(jù)部件:(1) 64位激光(lasered) ROM;(2) 溫度靈敏元件;(3) 非易失性溫度告警觸發(fā)器TH和TL。器件從單線的通信線取得其電源,在信號線為高電平的時間周期內,把能量貯存在內部的電容器中;在單信號線為低電平的時間期內,斷開此電源,直到信號線變?yōu)楦唠娖街匦陆由霞纳?電容)電源為止。作為另一種可供選擇的方法,DS18B20也可用外部+5V電源供電。max232芯片:MAX232芯片是專門為電腦的RS-232標準串口設計的接口電路,使用+5v單電源供電。Mcs-
26、51芯片 80C51單片機屬于MCS-51系列單片機,由Intel公司開發(fā),其結構是8048的延伸,改進了8048的缺點,增加了如乘(MUL)、除(DIV)、減(SUBB)、比較(PUSH)、16位數(shù)據(jù)指針、布爾代數(shù)運算等指令,以及串行通信能力和5個中斷源。采用40引腳雙列直插式DIP(Dual In Line Package),內有128個RAM單元及4K的ROM。80C51有兩個16位定時計數(shù)器,兩個外中斷,兩個定時計數(shù)中斷,及一個串行中斷,并有4個8位并行輸入口。80C51內部有時鐘電路,但需要石英晶體和微調電容外接,本系統(tǒng)中采用12MHz的晶振頻率。由于80C51的系統(tǒng)性能滿足系統(tǒng)數(shù)據(jù)
27、采集及時間精度的要求,而且產(chǎn)品產(chǎn)量豐富來源廣,應用也很成熟,故采用來作為控制核心單片機的40個引腳大致可分為類:電源、時鐘、控制和I/O引腳。 1 電源:1 VCC - 芯片電源,接+5V; 2 VSS - 接地端; 2 時鐘:XTAL1、XTAL2 - 晶體振蕩電路反相輸入端和輸出端。 控制線:控制線共有4根, ALE/PROG:地址鎖存允許/片內EPROM編程脈沖 ALE功能:用來鎖存P0口送出的低8位地址 PROG功能:片內有EPROM的芯片,在EPROM編程期間,此引腳輸入編程脈沖。 PSEN:外ROM讀選通信號。 RST/VPD:復位/備用電源。 RST(Reset)功能:復位信號輸
28、入端。 VPD功能:在Vcc掉電情況下,接備用電源。 EA/Vpp:內外ROM選擇/片內EPROM編程電源。 EA功能:內外ROM選擇端。 Vpp功能:片內有EPROM的芯片,在EPROM編程期間,施加編程電源Vpp。 I/O線 80C51共有4個8位并行I/O端口:P0、P1、P2、P3口,共32個引腳。P3口還具有第二功能,用于特殊信號輸入輸出和控制信號(屬控制總線)。2.2.2 硬件電路設計及描述硬件電路由:Ds18b20,max232芯片,晶振,復位電路,聲光報警電路,8051單片機等組成。DS18b20詳細引腳功能描述:外觀圖:GND地信號。DQ數(shù)據(jù)輸入/輸出引腳,開漏單總線接口引腳
29、。當被用著在寄生電源下時,也可以向器件提供電源。VDD外接供電電源輸入端。當工作于寄生電源時,此引腳必須接地。 DS18B20讀出的溫度結果的數(shù)據(jù)為兩字節(jié),用16位符號擴展的二進制補碼讀數(shù)形式提供。因此在系統(tǒng)中要將得到的溫度值數(shù)據(jù)進行格式轉換才能用于顯示。這兩個數(shù)據(jù)格式如圖所示:MSB LSBSSSSS262524MSB LSB232221202-12-22-32-4高8位中的高5位是符號位,表示是零下還是零上。高8位中的低3位D6,D5,D4 和低8位中的高4位D,D,構成溫度的整數(shù)部分。低位中的,D,位溫度的小數(shù)部分。max232芯片,MAX232芯片是專門為電腦的RS-232標準串口設計
30、的接口電路,使用+5v單電源供電。在制作電路前我們先來看看要用的MAX232,這里我們不去具體討論它,只要知道它是TTL和RS232電平相互轉換的芯片和基本的引腳接線功能就行了。通常我會用兩個小功率晶體管加少量的電路去替換MAX232,可以省一點,效果也不錯。下圖就是MAX232的基本接線圖。圖為MAX232聲光報警電路,可實現(xiàn)簡易的發(fā)音功能,如圖所示,復位電路:復位是使CPU和系統(tǒng)中的其他功能部件都處于一個確定的初始狀態(tài),復位后計算機就從這個狀態(tài)開始工作。在復位期間, CPU并沒有開始執(zhí)行程序是在做準備工作。無論是在在計算機剛上電時,斷電后,還是系統(tǒng)出現(xiàn)故障時都需要復位。 MCS-51單片機
31、的復位靠外部電路來實現(xiàn),為了確保復位,RST引腳上的高電平一般要維持大約10秒以上。 MCS-51單片機的復位原理也可分成上電復位和按鍵手動復位兩種,如圖:A上電復位電,路 B按鍵復位電路。上電復位電路是利用電容充電來實現(xiàn)的。在接通電源瞬間,RST端的電位與VCC相同,都是+5v。隨著著RC電路的充電的點位逐漸下降,只要保證位高電平的時間大于秒就能正?;謴?。按鍵復位電路,在單片機已經(jīng)通電的情況下,只需要按下圖所示的鍵也可以復位,此時電源經(jīng)過電阻分壓,在端產(chǎn)生一個復位高電平。如取歐姆,取歐姆左右,這樣當按下鍵時,端的電壓為.,滿足高電平要求。 8051單片機:單片機的40個引腳大致可分為4類:電
32、源、時鐘、控制和I/O引腳。 電源: VCC - 芯片電源,接+5V; VSS - 接地端; 時鐘:XTAL1、XTAL2 - 晶體振蕩電路反相輸入端和輸出端。 控制線:控制線共有4根, ALE/PROG:地址鎖存允許/片內EPROM編程脈沖 ALE功能:用來鎖存P0口送出的低8位地址 PROG功能:片內有EPROM的芯片,在EPROM編程期間,此引腳輸入 編程脈沖。 PSEN:外ROM讀選通信號。 RST/VPD:復位/備用電源。 RST(Reset)功能:復位信號輸入端。 VPD功能:在Vcc掉電情況下,接備用電源。 EA/Vpp:內外ROM選擇/片內EPROM編程電源。 EA功能:內外R
33、OM選擇端。 Vpp功能:片內有EPROM的芯片,在EPROM編程期間,施加編程電源Vpp。 I/O線 80C51共有4個8位并行I/O端口:P0、P1、P2、P3口,共32個引腳。P3口還具有第二功能,用于特殊信號輸入輸出和控制信號。第三章 系統(tǒng)軟件算法設計3.1 主程序ORG 0000HLJMP MAINORG 001BHLJMP PINT1MAIN: MOV P1,#0FFH ACALL CSH ;調用初始化程序 MOV A,P1 XRL A,#03H ;判斷是否有鍵按下 JNZ MAIN ;沒有就返回 ACALL DL20MS ;調用延時20MS程序MOV A,P1XRL A,#03H
34、 ;再次判斷是否有鍵按下JNZ MAIN MOV A,P1MOV TMOD,#20H ;T1方式2、定時模式MOV PCON,#00H ;SMOD=0MOV TH1,#0F4HMOV TL1,#0F4HSETB TR1MOV IE,#90H ;開中斷,允許串行口中斷MOV SCON,#50H ;串行口方式1,可以接收和發(fā)送CLR TRN_STA ;設置本機為發(fā)送命令字狀態(tài)CLR RCV_STA ;設置本機為接收命令字狀態(tài)RET3.2 鍵盤掃描子程序NEXT1: CJNE A,#01H,NEXT2 LCALL K1 ;調用K1鍵的處理程序 CJNE A,#02H,NEXT1 LCALL K2 ;
35、 調用K2鍵的處理程序NEXT2: CJNE A,#02H,MAIN ACALL K2 END ;延時20MS的程序DL20MS: MOV R2,#10 DL20MS1: MOV R3,#250DL20MS2: NOP NOP DJNZ R3,DL20MS2 DJNZ R3,DL20MS2 RET ;以下初始化程序CHS: MOV R2,#03H DH: MOV P0,#3FH MOV P2,#00H MOV R3,#250DELAY: NOP NOP DJNZ R3,DELAY MOV A,P1 INC A DJNZ R2,DH RET3.3檢測溫度子程序ORG 0100HCheck_Tem
36、perature:data_ACQURACALLreset_pulse;發(fā)送復位脈沖MOVA,#0CCHACALLwrite_byte;send skip ROM commandMOVA,#44HACALLwrite_byte;初始化溫度模塊JNBP1.4,$;讀DS18B20狀態(tài)ACALLreset_pulseMOVA,#0CCHACALLwrite_byte MOVA,#0BEHACALLwrite_byte;send scratchpad commandACALL read_byte;read eeprom byte 0MOVR7,A;存儲LSB在R7中ACALLread_byteMOV
37、 R6,A;存儲MSB在R6中ACALLreset_pulseRET芯片初始化的脈沖reset_pulse: SETB P1.4NOPNOPCLR EACLRP1.4MOVR2,#250;delay500usDJNZR2,$SETBP1.4MOVR2,#20;delay40usDJNZR2,$CLR C ORL C,P1.4 JC reset_pulse MOV R2,#80 ;注意這兩條指令是否真的需要 DJNZ R2,$RET3.4讀數(shù)據(jù)子程序READ_BYTE:MOVR3,#8SETB P1.4NOPNOPREAD1:CLRP1.4NOP NOPSETBP1.4NOPNOP NOPMOV
38、R5,AMOVC,P1.4MOVA,R5MOVR2,#30DJNZ R2,$RRCADJNZR3,READ1RET3.5寫數(shù)據(jù)子程序WRITE_BYTE:MOVR3,#8WRITE:RRCAJC WRITE1SETB P1.4 NOP NOPCLRP1.4MOVR2,#30DJNZR2,$SETBP1.4NOPNOPNOPNOPDJNZ R3,WRITERETWRITE1:SETB P1.4NOP NOP CLRP1.4 NOP NOPNOPNOP SETBP1.4 MOVR2,#30 DJNZR2,$ DJNZR3,WRITE RET3.6串口中斷子程序SEND_COM:MOV A,R2MO
39、V SBUF,ARETSRT-INT: POP ACC JNB RI,SENT ;非接收中斷,轉去發(fā)送處理CLR RI ;清除接收標志JB RCV_STA,RCV_DAT ;轉去接收數(shù)據(jù)處理MOV A,SBUF ;以下為接收命令CJNE A,#ASK_RCV,CYM01 ;非“請求接收”命令MOV R6,#LEN_RCV ;是“請求接收”命令,準備接收數(shù)據(jù)MOV R0,#RCV_BUF ;本機接收數(shù)據(jù)區(qū)首地址SETB RCV_STA ;置本機為接收數(shù)據(jù)狀態(tài)MOV A,#RCV_RDY ;本機“接收準備就緒”MOV SBUF,A ;回送“接收準備就緒”命令AJMP RETURNCOM01:CJN
40、E A,#ASK_TRN,COM02 ;非“請求發(fā)送”命令MOV R7,#LEN_TRN ;是“請求發(fā)送”命令,準備發(fā)送MOV R0,#TRN_BUF ;本機發(fā)送數(shù)據(jù)區(qū)首地址SETB TRN_STA ;置本機為發(fā)送數(shù)據(jù)狀態(tài)MOV A,#TRN_RDY ;本機“發(fā)送準備就緒”MOV SBUF,A ;回送“發(fā)送準備就緒”命令AJMP RETURNCJNE A,#RCV_RDY,COM03 ;非“接收準備就緒”命令MOV R7,#LEN_TRN ;是對方的“接收準備就緒”命令,本機發(fā)送MOV R0,#TRN_BUF ;本機發(fā)送數(shù)據(jù)區(qū)首地址SETB TRN_STA ; 置本機為發(fā)送數(shù)據(jù)狀態(tài)MOV A,
41、R0 ;請發(fā)送的數(shù)據(jù)MOV SBUF,A ;發(fā)送數(shù)據(jù)INC R0 ;修改發(fā)送單元地址AJMP RETURNCOM03:CJNE A,#TRN_RDY,NON_COM ;非“發(fā)送準備好”命令MOV R6,#LEN_RCV ;是對方的“發(fā)送準備就緒”命令,接收數(shù)據(jù)MOV R0,#RCV_BUF SETB RCV_STA ;置本機為接收數(shù)據(jù)狀態(tài)NON_COM:AJMP RETURNRCV_DAT:MOV A,SBUF ;接收數(shù)據(jù)MOV R0,A ;存儲INC R0 ;修改地址DJNZ R6,CONT1 ;數(shù)據(jù)塊接受完否?CLR RCV_STA ;數(shù)據(jù)塊接收完畢,置本機為接受命令狀態(tài)CONT1:AJM
42、P RETURN SENT:CLR TI ;清除發(fā)送標注JB TRN_STA,ST_DAT ;本機為發(fā)送數(shù)據(jù)狀態(tài)AJMP RETURN ;本機不是發(fā)送數(shù)據(jù)狀態(tài)ST_DAT:MOV A,R0 ;取發(fā)送的數(shù)據(jù)MOV SBUF,A ;發(fā)送INC R0 ;修改發(fā)送單元地址DJNZ R7 RETURN ;數(shù)據(jù)塊發(fā)送完否CLR TRN_STA ;置本機為發(fā)送命令狀態(tài)RETURN:POP ACC RETI3.7程序流程圖主程序圖 開 始初 始 化檢測是否有鍵按下 N Y延時30秒消抖檢測是否有鍵按下 N按 鍵 YS0處理程序K0按下 Y結束K1按下NN子程序圖開 始保護現(xiàn)場采集數(shù)據(jù)上傳數(shù)據(jù)報警 Y 恢復現(xiàn)場N返回元器件清單 本系統(tǒng)所用的硬件有:見表2-1。表2-1系統(tǒng)硬件清單序號名稱型號數(shù)量備注1單片機AT89C511個2蜂鳴器AD37-M1個聲光報警3串口芯片MAX2321個電平轉換4溫度傳感器DS18B201個檢測溫度5三極
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版班班通設備與物聯(lián)網(wǎng)結合合同2篇
- 二零二五年綠色生態(tài)住宅小區(qū)消防工程設計與施工合同3篇
- 二零二五版股份制企業(yè)股份自愿轉讓與投資者關系維護合同3篇
- 二零二五年度監(jiān)理合同延期補充協(xié)議-責任劃分與風險承擔3篇
- 二零二五版中央空調清洗保養(yǎng)及能耗管理服務合同3篇
- 二零二五年度國有資產(chǎn)管理委托服務合同2篇
- 二零二五版股票質押擔保合同范本編制與解析3篇
- 二零二五年度風力發(fā)電項目融資合同2篇
- 二零二五年美發(fā)師國際交流聘用合同2篇
- 二零二五年度酒店地毯翻新與維護服務合同范本3篇
- 小學五年級解方程應用題6
- GB/T 25919.1-2010Modbus測試規(guī)范第1部分:Modbus串行鏈路一致性測試規(guī)范
- GB/T 22484-2008城市公共汽電車客運服務
- GB/T 14040-2007預應力混凝土空心板
- 帶狀皰疹護理查房課件整理
- 奧氏體型不銹鋼-敏化處理
- 交通信號控制系統(tǒng)檢驗批質量驗收記錄表
- 弱電施工驗收表模板
- 探究基坑PC工法組合鋼管樁關鍵施工技術
- 國名、語言、人民、首都英文-及各地區(qū)國家英文名
- API SPEC 5DP-2020鉆桿規(guī)范
評論
0/150
提交評論