版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 摘要</b></p><p> 單片機已在各行業(yè)得到廣泛應用,為適應更多的應用領域,廠家采取了在一塊單片機芯片上集成多種功能部件和大容量存儲器的方法。因而,整個應用系統(tǒng)不需要擴展,而體積變小、可靠性增高,使單片機成為真正意義上的單片機系統(tǒng)。</p><p><b> 第一章 單片機概述</b></p>
2、<p> 單片機是單片微型計算機的簡稱,有時稱為微控制器,是將計算機的主要功能單元集成在一個芯片中而構成的器件。由于單片機在一個芯片上集成諸多功能,因此就單項功能而言,通常都沒有普通計算機強大,如計算機速度不夠快、字長較短、外部可擴展接口的數(shù)量少且規(guī)模小等。但是,單片機具有體積小、價格便宜和技術成熟等優(yōu)點,是各種電子產品的重要組成部分,在國民經濟的各個領域發(fā)揮著重要作用。</p><p> 早期
3、的單片機都是8位或4位的。其中最成功的是INTEL的8031,因為簡單可靠而性能不錯獲得了很大的好評。此后在8031上發(fā)展出了MCS51系列單片機系統(tǒng)?;谶@一系統(tǒng)的單片機系統(tǒng)直到現(xiàn)在還在廣泛使用。隨著工業(yè)控制領域要求的提高,開始出現(xiàn)了16位單片機,但因為性價比不理想并未得到很廣泛的應用。90年代后隨著消費電子產品大發(fā)展,單片機技術得到了巨大提高。隨著INTEL i960系列特別是后來的ARM系列的廣泛應用,32位單片機迅速取代16位單
4、片機的高端地位,并且進入主流市場。而傳統(tǒng)的8位單片機的性能也得到了飛速提高,處理能力比起80年代提高了數(shù)百倍。目前,高端的32位單片機主頻已經超過300MHz,性能直追90年代中期的專用處理器,而普通的型號出廠價格跌落至1美元,最高端[1]的型號也只有10美元。當代單片機系統(tǒng)已經不再只在裸機環(huán)境下開發(fā)和使用,大量專用的嵌入式操作系統(tǒng)被廣泛應用在全系列的單片機上。而在作為掌上電腦和手機核心處理的高端單片機甚至可以直接使用專用的Window
5、s和Linux操作系統(tǒng)。 </p><p> 單片機比專用處理器更適合應用于嵌入式系統(tǒng),因此它得到了最多的應用。事實上單片機是世界上數(shù)量最多的計算機?,F(xiàn)代人類生活中所用的幾乎每件電子和機械產品中都會集成有單片機。手機、電話、計算器、家用電器、電子玩具、掌上電腦以及鼠標等電腦配件中都配有1-2部單片機。而個人電腦中也會有為數(shù)不少的單片機在工作。汽車上一般配備40多部單片機,復雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百臺單片
6、機在同時工作!單片機的數(shù)量不僅遠超過PC機和其他計算的總和,甚至比人類的數(shù)量還要多。 </p><p> 單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。相當于一個微型的計算機,和計算機相比,單片機只缺少了I/O設備。概括的講:一塊芯片就成了一臺計算機。它的體積小、質量輕、價格便宜、為學習、應用和開發(fā)提供了便利條件。同時,學習使用單片機是了解計算機原理與結構的最佳選
7、擇。 </p><p> 單片機內部也用和電腦功能類似的模塊,比如CPU,內存,并行總線,還有和硬盤作用相同的存儲器件,不同的是它的這些部件性能都相對我們的家用電腦弱很多,不過價錢也是低的,一般不超過10元即可......用它來做一些控制電器一類不是很復雜的工作足矣了。我們現(xiàn)在用的全自動滾筒洗衣機、排煙罩、VCD等等的家電里面都可以看到它的身影!......它主要是作為控制部分的核心部件。 </p>
8、<p> 它是一種在線式實時控制計算機,在線式就是現(xiàn)場控制,需要的是有較強的抗干擾能力,較低的成本,這也是和離線式計算機的(比如家用PC)的主要區(qū)別。 </p><p> 單片機的組成通常和普通計算機一樣,通常具有以下幾個部分:</p><p> ?。?)、CPU。CPU是中央處理器的簡稱,有時也稱為“核”,它是進行運算和控制的重要單元,其性能決定單片機的主要性能。&l
9、t;/p><p> ?。?)、存儲器。單片機的存儲器通常由ROM和RAM組成,ROM常用于存放單片機的程序,而RAM用于存放數(shù)據。</p><p> ?。?)、輸入/輸出接口。計算機的輸入/輸出接口用于連接外圍設備,例如鍵盤、顯示器、打印機、A/D或D/A轉換器等,實現(xiàn)與外圍設備的數(shù)據交換。在普通計算機上,這些功能是由主板上的若干芯片實現(xiàn)的;對于單片機,這些對應的功能單元集成在其內部。<
10、/p><p> 隨著技術的發(fā)展,單片機的功能日益增多,有些單片機除了上述功能以外,還集成有其他部件,如各種異步和同步串行接口、CAN通信控制器等。通常,稱單片機內部除CPU外的功能單元為片內外設,也稱為內部資源。</p><p> 單片機具有以下主要特點:</p><p> ?。?)、價格便宜。單片機盡管集成了眾多資源,但其結構簡單,生產批量大,因此價格十分便宜,通
11、常在幾元到幾十元人民幣。</p><p> ?。?)、體積小。目前最小的單片機只有6個引腳,十幾到二十幾個引腳的單片機也很多,還有表面貼片封裝的,體積很小,便于設計成嵌入式系統(tǒng)安裝在電子設備中,以實現(xiàn)智能控制。當然,功能強大的單片機引腳也相應較多,例如有40、52、68,甚至更多引腳的單片機,但在采用表面貼片封裝后,其體積并不大。</p><p> (3)、技術成熟、應用廣泛。相對于大型
12、計算機和PC機,單片機的技術難度小,復雜度低,因此其技術相當成熟。單片機的穩(wěn)定可靠,為在單片機的廣泛應用創(chuàng)造了技術條件。在現(xiàn)代社會,電子產品在日常生活中不可或缺,而電子產品往往離不開單片機,可見單片機的應用之廣。</p><p> 單片機在計算機家族中占據著重要地位,是電子工程師應該掌握的最基本工具之一。當然,就功能的完備性和強大性而言,單片機不能和高級計算機相比,但這不影響它的應用范圍。實際工作中,并非所有場
13、合都要求計算機有很高的性能,例如電冰箱溫度控制并不需要使用主頻達1.8GHz的奔騰機。應用單片機的關鍵是看其功能是否夠用,性價比是否合適。單片機不會因其簡單而被淘汰,例如MCS-51單片機退出來二十多年了,仍然是一款應用最廣的單片機,而且在不斷發(fā)展。可以說,只有在單片機出現(xiàn)后,計算機才能真正地從科學的神圣殿堂走入了尋常百姓家,成為廣大工程技術人員進行技術革命和技術革新的有力武器。</p><p><b>
14、; 單片機的應用 </b></p><p> 目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網絡通訊與數(shù)據傳輸,工業(yè)自動化過程的實時控制和數(shù)據處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄像機、攝像機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、
15、醫(yī)療器械以及各種智能機械了。因此,單片機的學習、開發(fā)與應用將造就一批計算機應用與智能化控制的科學家、工程師。 </p><p> 單片機廣泛應用于儀器儀表、家用電器、醫(yī)用設備、航空航天、專用設備的智能化管理及過程控制等領域,大致可分如下幾個范疇: </p><p> 1.在智能儀器儀表上的應用 </p><p> 單片機具有體積小、功耗低、控制功能強、擴展靈活
16、、微型化和使用方便等優(yōu)點,廣泛應用于儀器儀表中,結合不同類型的傳感器,可實現(xiàn)諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。采用單片機控制使得儀器儀表數(shù)字化、智能化、微型化,且功能比起采用電子或數(shù)字電路更加強大。例如精密的測量設備(功率計,示波器,各種分析儀)。 </p><p> 2.在工業(yè)控制中的應用 </p><p> 用單片機可以
17、構成形式多樣的控制系統(tǒng)、數(shù)據采集系統(tǒng)。例如工廠流水線的智能化管理,電梯智能化控制、各種報警系統(tǒng),與計算機聯(lián)網構成二級控制系統(tǒng)等。 </p><p> 3.在家用電器中的應用 </p><p> 可以這樣說,現(xiàn)在的家用電器基本上都采用了單片機控制,從電飯煲、洗衣機、電冰箱、空調機、彩電、其他音響視頻器材、再到電子秤量設備,五花八門,無所不在。 </p><p>
18、 4.在計算機網絡和通信領域中的應用 </p><p> 現(xiàn)代的單片機普遍具備通信接口,可以很方便地與計算機進行數(shù)據通信,為在計算機網絡和通信設備間的應用提供了極好的物質條件,現(xiàn)在的通信設備基本上都實現(xiàn)了單片機智能控制,從手機,電話機、樓宇自動通信呼叫系統(tǒng)、列車無線通信、再到日常工作中隨處可見的移動電話,集群移動通信,無線電對講機等。 </p><p> 5.單片機在醫(yī)用設備領域中的應
19、用 </p><p> 單片機在醫(yī)用設備中的用途亦相當廣泛,例如醫(yī)用呼吸機,各種分析儀,監(jiān)護儀,超聲診斷設備及病床呼叫系統(tǒng)等等。 </p><p> 6.在各種大型電器中的模塊化應用 </p><p> 某些專用單片機設計用于實現(xiàn)特定功能,從而在各種電路中進行模塊化應用,而不要求使用人員了解其內部結構。如音樂集成單片機,看似簡單的功能,微縮在純電子芯片中(有別
20、于磁帶機的原理),就需要復雜的類似于計算機的原理。如:音樂信號以數(shù)字的形式存于存儲器中(類似于ROM),由微控制器讀出,轉化為模擬音樂電信號(類似于聲卡)。 </p><p> 在大型電路中,這種模塊化應用極大地縮小了體積,簡化了電路,降低了損壞、錯誤率,也方便于更換。 </p><p> 7.單片機在汽車設備領域中的應用 </p><p> 單片機在汽車電子
21、中的應用非常廣泛,例如汽車中的發(fā)動機控制器,基于CAN總線的汽車發(fā)動機智能電子控制器,GPS導航系統(tǒng),制動系統(tǒng)等等。 </p><p> 此外,單片機在工商,金融,科研、教育,國防航空航天等領域都有著十分廣泛的用途。</p><p> 單片機學習應用的六大重要部分 </p><p><b> 一、總線:</b></p>&l
22、t;p> 我們知道,一個電路總是由元器件通過電線連接而成的,在模擬電路中,連線并不成為一個問題,因為各器件間一般是串行關系,各器件之間的連線并不很多,但計算機電路卻不一樣,它是以微處理器為核心,各器件都要與微處理器相連,各器件之間的工作必須相互協(xié)調,所以需要的連線就很多了,如果仍如同模擬電路一樣,在各微處理器和各器件間單獨連線,則線的數(shù)量將多得驚人,所以在微處理機中引入了總線的概念,各個器件共同享用連線,所有器件的8根數(shù)據線全部
23、接到8根公用的線上,即相當于各個器件并聯(lián)起來,但僅這樣還不行,如果有兩個器件同時送出數(shù)據,一個為0,一個為1,那么,接收方接收到的究竟是什么呢?這種情況是不允許的,所以要通過控制線進行控制,使器件分時工作,任何時候只能有一個器件發(fā)送數(shù)據(可以有多個器件同時接收)。器件的數(shù)據線也就被稱為數(shù)據總線,器件所有的控制線被稱為控制總線。在單片機內部或者外部存儲器及其它器件中有存儲單元,這些存儲單元要被分配地址,才能使用,分配地址當然也是以電信號的
24、形式給出的,由于存儲單元比較多,所以,用于地址分配的線也較多,這些線被稱為地址總線。 </p><p> 二、數(shù)據、地址、指令:</p><p> 之所以將這三者放在一起,是因為這三者的本質都是一樣的——數(shù)字,或者說都是一串‘0’和‘1’組成的序列。換言之,地址、指令也都是數(shù)據。指令:由單片機芯片的設計者規(guī)定的一種數(shù)字,它與我們常用的指令助記符有著嚴格的一一對應關系,不可以由單片機的開
25、發(fā)者更改。地址:是尋找單片機內部、外部的存儲單元、輸入輸出口的依據,內部單元的地址值已由芯片設計者規(guī)定好,不可更改,外部的單元可以由單片機開發(fā)者自行決定,但有一些地址單元是一定要有的(詳見程序的執(zhí)行過程)。數(shù)據:這是由微處理機處理的對象,在各種不同的應用電路中各不相同,一般而言,被處理的數(shù)據可能有這么幾種情況: </p><p> 1.地址(如MOV DPTR,1000H),即地址1000H送入DPTR。 &l
26、t;/p><p> 2.方式字或控制字(如MOV TMOD,#3),3即是控制字。 </p><p> 3.常數(shù)(如MOV TH0,#10H)10H即定時常數(shù)。 </p><p> 4.實際輸出值(如P1口接彩燈,要燈全亮,則執(zhí)行指令:MOV P1,#0FFH,要燈全暗,則執(zhí)行指令:MOV P1,#00H)這里0FFH和00H都是實際輸出值。又如用于LED的字形碼
27、,也是實際輸出的值。 </p><p> 理解了地址、指令的本質,就不難理解程序運行過程中為什么會跑飛,會把數(shù)據當成指令來執(zhí)行了。 </p><p> 三、P0口、P2口和P3的第二功能用法:</p><p> 初學時往往對P0口、P2口和P3口的第二功能用法迷惑不解,認為第二功能和原功能之間要有一個切換的過程,或者說要有一條指令,事實上,各端口的第二功能完全
28、是自動的,不需要用指令來轉換。如P3.6、P3.7分別是WR、RD信號,當微處理機外接RAM或有外部I/O口時,它們被用作第二功能,不能作為通用I/O口使用,只要--微處理機--執(zhí)行到MOVX指令,就會有相應的信號從P3.6或P3.7送出,不需要事先用指令說明。事實上‘不能作為通用I/O口使用’也并不是‘不能’而是(使用者)‘不會’將其作為通用I/O口使用。你完全可以在指令中按排一條SETB P3.7的指令,并且當單片機執(zhí)行到這條指令時
29、,也會使P3.7變?yōu)楦唠娖?,但使用者不會這么去做,因為這通常會導致系統(tǒng)的崩潰。 </p><p> 四、程序的執(zhí)行過程:</p><p> 單片機在通電復位后8051內的程序計數(shù)器(PC)中的值為‘0000’,所以程序總是從‘0000’單元開始執(zhí)行,也就是說:在系統(tǒng)的ROM中一定要存在‘0000’這個單元,并且在‘0000’單元中存放的一定是一條指令。 </p><
30、p><b> 五、堆棧:</b></p><p> 堆棧是一個區(qū)域,是用來存放數(shù)據的,這個區(qū)域本身沒有任何特殊之處,就是內部RAM的一部份,特殊的是它存放和取用數(shù)據的方式,即所謂的‘先進后出,后進先出’,并且堆棧有特殊的數(shù)據傳輸指令,即‘PUSH’和‘POP’,有一個特殊的專為其服務的單元,即堆棧指針SP,每當執(zhí)一次PUSH指令時,SP就(在原來值的基礎上)自動加1,每當執(zhí)行一次P
31、OP指令,SP就(在原來值的基礎上)自動減1。由于SP中的值可以用指令加以改變,所以只要在程序開始階段更改了SP的值,就可以把堆棧設置在規(guī)定的內存單元中,如在程序開始時,用一條MOV SP,#5FH指令,就是把堆棧設置在從內存單元60H開始的單元中。一般程序的開頭總有這么一條設置堆棧指針的指令,因為開機時,SP的初始值為07H,這樣就使堆棧從08H單元開始往后,而08H到1FH這個區(qū)域正是8031的第二、三、四工作寄存器區(qū),經常要被使用
32、,這會造成數(shù)據的混亂。不同作者編寫程序時,初始化堆棧指令也不完全相同,這是作者的習慣問題。當設置好堆棧區(qū)后,并不意味著該區(qū)域成為一種專用內存,它還是可以象普通內存區(qū)域一樣使用,只是一般情況下編程者不會把它當成普通內存用了。 </p><p> 第二章 總體方案設計</p><p><b> 2.1 課題的意義</b></p><p> 課
33、程設計是單片機課程教學的最后一個環(huán)節(jié),是對學生進行全面的系統(tǒng)的訓練。進行課程設計可以讓學生把學過的比較零碎的知識系統(tǒng)化,真正的能夠把學過的知識落到實處,能夠開發(fā)簡單的系統(tǒng),也進一步激發(fā)了學生再深一步學習的熱情,因此課程設計是必不可少的,是非常必要的。在設計中我們可以消化與鞏固《單片機及接口技術》課程所學知識;理論聯(lián)系實際,學會用理論知識解決實際問題;培養(yǎng)設計能力,初步掌握設計的一般步驟與方法</p><p>
34、2.2 系統(tǒng)整體硬件電路</p><p> 2.2.1 芯片簡介</p><p> Max232串口芯片</p><p> MAX232芯片是專門為電腦的RS-232標準串口設計的接口電路,使用+5v單電源供電。</p><p> 內部結構基本可分三個部分:</p><p> 第一部分是電荷泵電路。由1、2、
35、3、4、5、6腳和4只電容構成。功能是產生+12v和-12v兩個電源,提供給RS-232串口電平的需要。</p><p> 第二部分是數(shù)據轉換通道。由7、8、9、10、11、12、13、14腳構成兩個數(shù)據通道。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據通道。</
36、p><p> TTL/CMOS數(shù)據從T1IN、T2IN輸入轉換成RS-232數(shù)據從T1OUT、T2OUT送到電腦DP9插頭;DP9插頭的RS-232數(shù)據從R1IN、R2IN輸入轉換成TTL/CMOS數(shù)據后從R1OUT、R2OUT輸出。</p><p> 第三部分是供電。15腳DNG、16腳VCC(+5v)。</p><p> RS232 (DB9)引腳定義:<
37、;/p><p> 1 :DCD :載波檢測。主要用于Modem通知計算機其處于在線狀態(tài),即Modem檢測到撥號音,處于在線狀態(tài)。 2 :RXD:此引腳用于接收外部設備送來的數(shù)據;在你使用Modem時,你會發(fā)現(xiàn)RXD指示燈在閃爍,說明RXD引腳上有數(shù)據進入。 3 :TXD:此引腳將計算機的數(shù)據發(fā)送給外部設備;在你使用Modem時,你會發(fā)現(xiàn)TXD指示燈在閃爍,說明計算機正在通過TXD引腳發(fā)送數(shù)據。
38、 4 :DTR:數(shù)據終端就緒;當此引腳高電平時,通知Modem可以進行數(shù)據傳輸,計算機已經準備好。 5 :GND:信號地;此位不做過多解釋。 6 :DSR:數(shù)據設備就緒;此引腳高電平時,通知計算機Modem已經準備好,可以進行數(shù)據通訊了。 7 :RTS:請求發(fā)送;此腳由計算機來控制,用以通知Modem馬上傳送數(shù)據至計算機;否則,Modem將收到的數(shù)據暫時放入緩沖區(qū)中。 8 :CTS: 清除發(fā)送;此腳由M
39、odem控制,用以通知計算機將欲傳的數(shù)據送至Modem。 9 :RI : Modem通知計算機有呼叫進來,是否接聽呼叫由計算機決定</p><p><b> DS18b20</b></p><p> DS1820是Dallas半導體公司生產的數(shù)字化溫度傳感器,是世界上第一片支持“一線總線”接口的溫度傳感器。一線總線獨特而經濟的特點,使用戶可以輕松的組件傳感
40、器網絡,為測量引入全新的概念。新一代的“DS18B20”體積更小、更經濟、更靈活,使用戶可以充分發(fā)揮一線總線的長處[5]。</p><p> 同DS1820一樣,DS18B20也支持“一線總線”接口,測量溫度范圍為-55℃~+125℃,在-10℃~+85℃范圍內,精度為±0.5℃?,F(xiàn)場溫度范圍以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性,適合于惡劣環(huán)境的現(xiàn)場溫度測量,如設備控制、設備或過程控
41、制、測溫類消費電子產品等。</p><p> DS18B20的特性</p><p> (1) 獨特的單接口僅需一個端口引腳進行通訊;</p><p> (2) 簡單的多點分布應用;</p><p> (3) 無需外部器件;</p><p> (4) 可通過數(shù)據線供電,無需外部電源;</p>&l
42、t;p> (5) 零待機功耗;</p><p> (6) 測溫范圍為-55℃~+125℃,以0.5℃遞增;</p><p> (7) 溫度以9位數(shù)字量讀出;</p><p> (8) 溫度數(shù)字量轉換時間200ms(典型值);</p><p> (9) 用戶可定義的非易失性溫度報警設置;</p><p>
43、 (10) 報警搜索命令識別并標志超過程序限定溫度(溫度報警條件)的器件;</p><p> (11) 應用包括溫度控制、工業(yè)系統(tǒng)、消費品、溫度計或任何熱感測系統(tǒng)。</p><p> DS18B20的結構如圖4.1所示:</p><p> 圖4.1 DS18B20的結構圖</p><p> DS18B20有三個主要的數(shù)據部件:<
44、;/p><p> 64位激光(lasered) ROM;</p><p><b> 溫度靈敏元件;</b></p><p> 非易失性溫度告警觸發(fā)器TH和TL。</p><p> 器件從單線的通信線取得其電源,在信號線為高電平的時間周期內,把能量貯存在內部的電容器中;在單信號線為低電平的時間期內,斷開此電源,直到信號
45、線變?yōu)楦唠娖街匦陆由霞纳?電容)電源為止。作為另一種可供選擇的方法,DS18B20也可用外部+5V電源供電。</p><p><b> max232芯片:</b></p><p> MAX232芯片是專門為電腦的RS-232標準串口設計的接口電路,使用+5v單電源供電。</p><p><b> Mcs-51芯片</b&g
46、t;</p><p> 80C51單片機屬于MCS-51系列單片機,由Intel公司開發(fā),其結構是8048的延伸,改進了8048的缺點,增加了如乘(MUL)、除(DIV)、減(SUBB)、比較(PUSH)、16位數(shù)據指針、布爾代數(shù)運算等指令,以及串行通信能力和5個中斷源。采用40引腳雙列直插式DIP(Dual In Line Package),內有128個RAM單元及4K的ROM。80C51有兩個16位定時計數(shù)
47、器,兩個外中斷,兩個定時計數(shù)中斷,及一個串行中斷,并有4個8位并行輸入口。80C51內部有時鐘電路,但需要石英晶體和微調電容外接,本系統(tǒng)中采用12MHz的晶振頻率。由于80C51的系統(tǒng)性能滿足系統(tǒng)數(shù)據采集及時間精度的要求,而且產品產量豐富來源廣,應用也很成熟,故采用來作為控制核心單片機的40個引腳大致可分為類:電源、時鐘、控制和I/O引腳。 </p><p><b> 電源:</b><
48、;/p><p> VCC - 芯片電源,接+5V; </p><p> VSS - 接地端; </p><p><b> 時鐘:</b></p><p> XTAL1、XTAL2 - 晶體振蕩電路反相輸入端和輸出端。 </p><p><b> ?、?控制線:</b>&l
49、t;/p><p><b> 控制線共有4根, </b></p><p> ALE/PROG:地址鎖存允許/片內EPROM編程脈沖</p><p> ① ALE功能:用來鎖存P0口送出的低8位地址</p><p> ?、?PROG功能:片內有EPROM的芯片,在EPROM編程期間,此引腳輸入編程脈沖。 </p>
50、;<p> PSEN:外ROM讀選通信號。 </p><p> RST/VPD:復位/備用電源。 </p><p> ?、?RST(Reset)功能:復位信號輸入端。 </p><p> ?、?VPD功能:在Vcc掉電情況下,接備用電源。 </p><p> EA/Vpp:內外ROM選擇/片內EPROM編程電源。 <
51、/p><p> ① EA功能:內外ROM選擇端。 </p><p> ② Vpp功能:片內有EPROM的芯片,在EPROM編程期間,施加編程電源Vpp。 </p><p><b> ⒋ I/O線 </b></p><p> 80C51共有4個8位并行I/O端口:P0、P1、P2、P3口,共32個引腳。P3口還具有第二
52、功能,用于特殊信號輸入輸出和控制信號(屬控制總線)。</p><p><b> 。</b></p><p> 2.2.2 硬件電路設計及描述</p><p> 硬件電路由:Ds18b20,max232芯片,晶振,復位電路,聲光報警電路,8051單片機等組成。</p><p> DS18b20詳細引腳功能描述:&l
53、t;/p><p><b> 外觀圖:</b></p><p><b> GND地信號。</b></p><p> DQ數(shù)據輸入/輸出引腳,開漏單總線接口引腳。當被用著在寄生電源下時,也可以向器件提供電源。</p><p> VDD外接供電電源輸入端。當工作于寄生電源時,此引腳必須接地。 <
54、/p><p> DS18B20讀出的溫度結果的數(shù)據為兩字節(jié),用16位符號擴展的二進制補碼讀數(shù)形式提供。因此在系統(tǒng)中要將得到的溫度值數(shù)據進行格式轉換才能用于顯示。</p><p> 這兩個數(shù)據格式如圖所示:</p><p> MSB
55、 </p><p><b> LSB</b></p><p> MSB LSB</p><p> 高8位中的高5位是符號位,表示是零下還是零上。</p><p> 高8位中
56、的低3位D6,D5,D4 和低8位中的高4位D3,D2,D1,D0構成溫度的整數(shù)部分。低8位中的D-1,D-2,D-3,D-4位溫度的小數(shù)部分。</p><p> max232芯片,MAX232芯片是專門為電腦的RS-232標準串口設計的接口電路,使用+5v單電源供電。在制作電路前我們先來看看要用的MAX232,這里我們不去具體討論它,只要知道它是TTL和RS232電平相互轉換的芯片和基本的引腳接線功能就行了。
57、通常我會用兩個小功率晶體管加少量的電路去替換MAX232,可以省一點,效果也不錯。下圖就是MAX232的基本接線圖。</p><p><b> 圖為MAX232</b></p><p> 聲光報警電路,可實現(xiàn)簡易的發(fā)音功能,如圖所示,</p><p> 復位電路:復位是使CPU和系統(tǒng)中的其他功能部件都處于一個確定的初始狀態(tài),復位后計算機就
58、從這個狀態(tài)開始工作。在復位期間, CPU并沒有開始執(zhí)行程序是在做準備工作。</p><p> 無論是在在計算機剛上電時,斷電后,還是系統(tǒng)出現(xiàn)故障時都需要復位。</p><p> MCS-51單片機的復位靠外部電路來實現(xiàn),為了確保復位,RST引腳上的高電平一般要維持大約10秒以上。</p><p> MCS-51單片機的復位原理也可分成上電復位和按鍵手動復位兩種
59、,如圖:A上電復位電,</p><p><b> 路 </b></p><p><b> B按鍵復位電路。</b></p><p> 上電復位電路是利用電容充電來實現(xiàn)的。在接通電源瞬間,RST端的電位與VCC相同,都是+5v。隨著著RC電路的充電RST的點位逐漸下降,只要保證RST位高電平的時間大于10秒就能正
60、?;謴?。</p><p> 按鍵復位電路,在單片機已經通電的情況下,只需要按下圖B所示的K鍵也可以復位,此時電源VCC 經過電阻分壓,在RST端產生一個復位高電平。如RK?。保藲W姆,RS?。玻埃皻W姆左右,這樣當按下K鍵時,RST端的電壓為4.2V,滿足高電平要求。</p><p> 8051單片機:單片機的40個引腳大致可分為4類:電源、時鐘、控制和I/O引腳。 ⒈ 電源:</p
61、><p> ?、?VCC - 芯片電源,接+5V; </p><p> ⑵ VSS - 接地端; </p><p><b> ⒉ 時鐘:</b></p><p> XTAL1、XTAL2 - 晶體振蕩電路反相輸入端和輸出端。 </p><p><b> ?、?控制線:</b>
62、;</p><p><b> 控制線共有4根, </b></p><p> ALE/PROG:地址鎖存允許/片內EPROM編程脈沖</p><p> ?、?ALE功能:用來鎖存P0口送出的低8位地址</p><p> ?、?PROG功能:片內有EPROM的芯片,在EPROM編程期間,此引腳輸入 編程脈沖。
63、 </p><p> PSEN:外ROM讀選通信號。 </p><p> RST/VPD:復位/備用電源。 </p><p> ?、?RST(Reset)功能:復位信號輸入端。 </p><p> ?、?VPD功能:在Vcc掉電情況下,接備用電源。 </p><p> EA/Vpp:內外ROM選擇/片內EPROM
64、編程電源。 </p><p> ?、?EA功能:內外ROM選擇端。 </p><p> ?、?Vpp功能:片內有EPROM的芯片,在EPROM編程期間,施加編程電源Vpp。 </p><p><b> ?、?I/O線 </b></p><p> 80C51共有4個8位并行I/O端口:P0、P1、P2、P3口,共32個引
65、腳。P3口還具有第二功能,用于特殊信號輸入輸出和控制信號。</p><p> 第三章 系統(tǒng)軟件算法設計</p><p><b> 3.1 主程序</b></p><p><b> ORG 0000H</b></p><p><b> LJMP MAIN</b></
66、p><p><b> ORG 001BH</b></p><p> LJMP PINT1</p><p> MAIN: MOV P1,#0FFH</p><p> ACALL CSH ;調用初始化程序</p><p><b> MOV A,P1</b>
67、</p><p> XRL A,#03H ;判斷是否有鍵按下</p><p> JNZ MAIN ;沒有就返回</p><p> ACALL DL20MS ;調用延時20MS程序</p><p><b> MOV A,P1</b></p><p>
68、; XRL A,#03H ;再次判斷是否有鍵按下</p><p> JNZ MAIN </p><p> MOV A,P1</p><p> MOV TMOD,#20H ;T1方式2、定時模式</p><p> MOV PCON,#00H ;SMOD=0</p>
69、<p> MOV TH1,#0F4H</p><p> MOV TL1,#0F4H</p><p><b> SETB TR1</b></p><p> MOV IE,#90H ;開中斷,允許串行口中斷</p><p> MOV SCON,#50H ;串行口方式1,可
70、以接收和發(fā)送</p><p> CLR TRN_STA ;設置本機為發(fā)送命令字狀態(tài)</p><p> CLR RCV_STA ;設置本機為接收命令字狀態(tài)</p><p><b> RET</b></p><p> 3.2 鍵盤掃描子程序</p><p>
71、; NEXT1: CJNE A,#01H,NEXT2</p><p> LCALL K1 ;調用K1鍵的處理程序</p><p> CJNE A,#02H,NEXT1 </p><p> LCALL K2 ; 調用K2鍵的處理程序</p><p> NEXT2: CJNE A,#02
72、H,MAIN</p><p> ACALL K2</p><p><b> END</b></p><p> ;延時20MS的程序</p><p> DL20MS: MOV R2,#10 </p><p> DL20MS1: MOV R3,#250</p
73、><p> DL20MS2: NOP</p><p><b> NOP</b></p><p> DJNZ R3,DL20MS2</p><p> DJNZ R3,DL20MS2</p><p> RET </p><p&g
74、t;<b> ;以下初始化程序</b></p><p> CHS: MOV R2,#03H </p><p> DH: MOV P0,#3FH</p><p> MOV P2,#00H</p><p> MOV R3,#250</p><
75、p> DELAY: NOP</p><p><b> NOP</b></p><p> DJNZ R3,DELAY</p><p> MOV A,P1</p><p><b> INC A</b></p><p> DJNZ
76、R2,DH</p><p><b> RET</b></p><p> 3.3檢測溫度子程序</p><p><b> ORG 0100H</b></p><p> Check_Temperature:</p><p> data_ACQUR</p>
77、<p> ACALLreset_pulse;發(fā)送復位脈沖</p><p> MOVA,#0CCH</p><p> ACALLwrite_byte;send skip ROM command</p><p> MOVA,#44H</p><p> ACALLwrite_byte;初始化溫度模塊</p&
78、gt;<p> JNBP1.4,$;讀DS18B20狀態(tài)</p><p> ACALLreset_pulse</p><p> MOVA,#0CCH</p><p> ACALLwrite_byte</p><p> MOVA,#0BEH</p><p> ACALLwrit
79、e_byte;send scratchpad command</p><p> ACALL read_byte;read eeprom byte 0</p><p> MOVR7,A;存儲LSB在R7中</p><p> ACALLread_byte</p><p> MOV R6,A;存儲MSB在R6中</p>
80、;<p> ACALLreset_pulse</p><p><b> RET</b></p><p><b> 芯片初始化的脈沖</b></p><p> reset_pulse: </p><p> SETB P1.4</p
81、><p><b> NOP</b></p><p><b> NOP</b></p><p><b> CLR EA</b></p><p><b> CLRP1.4</b></p><p> MOVR2,#250
82、;delay500us</p><p><b> DJNZR2,$</b></p><p><b> SETBP1.4</b></p><p> MOVR2,#20;delay40us</p><p><b> DJNZR2,$</b></p&g
83、t;<p> CLR C </p><p> ORL C,P1.4</p><p> JC reset_pulse</p><p> MOV R2,#80 ;注意這兩條指令是否真的需要</p><p> DJNZ R2,$</p><p>&
84、lt;b> RET</b></p><p><b> 3.4讀數(shù)據子程序</b></p><p> READ_BYTE:</p><p><b> MOVR3,#8</b></p><p> SETB P1.4</p><p><b&g
85、t; NOP</b></p><p><b> NOP</b></p><p> READ1:CLRP1.4</p><p><b> NOP</b></p><p><b> NOP</b></p><p><b>
86、 SETBP1.4</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> MOVR5,A</b></p>&l
87、t;p> MOVC,P1.4</p><p><b> MOVA,R5</b></p><p> MOVR2,#30</p><p><b> DJNZ R2,$</b></p><p><b> RRCA</b></p><p>
88、; DJNZR3,READ1</p><p><b> RET</b></p><p><b> 3.5寫數(shù)據子程序</b></p><p> WRITE_BYTE:</p><p><b> MOVR3,#8</b></p><p>
89、WRITE:RRCA</p><p><b> JC WRITE1</b></p><p> SETB P1.4</p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> CL
90、RP1.4</b></p><p> MOVR2,#30</p><p><b> DJNZR2,$</b></p><p><b> SETBP1.4</b></p><p><b> NOP</b></p><p><
91、;b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p> DJNZ R3,WRITE</p><p><b> RET</b></p><p> WRITE
92、1:SETB P1.4</p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> CLRP1.4</b></p><p><b> NOP</b></p><p>
93、<b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> SETBP1.4</b></p><p> MOVR2,#30</p><p>&
94、lt;b> DJNZR2,$</b></p><p> DJNZR3,WRITE</p><p><b> RET</b></p><p> 3.6串口中斷子程序</p><p> SEND_COM:MOV A,R2</p><p> MOV SBUF,A<
95、/p><p><b> RET</b></p><p><b> SRT--INT:</b></p><p><b> POP ACC </b></p><p> JNB RI,SENT ;非接收中斷,轉去發(fā)送處理</p><p>
96、CLR RI ;清除接收標志</p><p> JB RCV_STA,RCV_DAT ;轉去接收數(shù)據處理</p><p> MOV A,SBUF ;以下為接收命令</p><p> CJNE A,#ASK_RCV,CYM01 ;非“請求接收”命令</p><p> MOV R6,#LEN_R
97、CV ;是“請求接收”命令,準備接收數(shù)據</p><p> MOV R0,#RCV_BUF ;本機接收數(shù)據區(qū)首地址</p><p> SETB RCV_STA ;置本機為接收數(shù)據狀態(tài)</p><p> MOV A,#RCV_RDY ;本機“接收準備就緒”</p><p&
98、gt; MOV SBUF,A ;回送“接收準備就緒”命令</p><p> AJMP RETURN</p><p> COM01:CJNE A,#ASK_TRN,COM02 ;非“請求發(fā)送”命令</p><p> MOV R7,#LEN_TRN ;是“請求發(fā)送”命令,準備發(fā)送</p><p> MOV
99、 R0,#TRN_BUF ;本機發(fā)送數(shù)據區(qū)首地址</p><p> SETB TRN_STA ;置本機為發(fā)送數(shù)據狀態(tài)</p><p> MOV A,#TRN_RDY ;本機“發(fā)送準備就緒”</p><p> MOV SBUF,A ;回送“發(fā)送準備就緒”命令</p&g
100、t;<p> AJMP RETURN</p><p> CJNE A,#RCV_RDY,COM03 ;非“接收準備就緒”命令</p><p> MOV R7,#LEN_TRN ;是對方的“接收準備就緒”命令,本機發(fā)送</p><p> MOV R0,#TRN_BUF ;本機發(fā)送數(shù)據區(qū)首地址</p><p
101、> SETB TRN_STA ; 置本機為發(fā)送數(shù)據狀態(tài)</p><p> MOV A,@R0 ;請發(fā)送的數(shù)據</p><p> MOV SBUF,A ;發(fā)送數(shù)據</p><p> INC R0 ;修改發(fā)送單元地址</p><p> AJMP RETURN<
102、/p><p> COM03:CJNE A,#TRN_RDY,NON_COM ;非“發(fā)送準備好”命令</p><p> MOV R6,#LEN_RCV ;是對方的“發(fā)送準備就緒”命令,接收數(shù)據</p><p> MOV R0,#RCV_BUF </p><p> SETB RCV_STA ;置本機為接收數(shù)據狀態(tài)</p&
103、gt;<p> NON_COM:AJMP RETURN</p><p> RCV_DAT:MOV A,SBUF ;接收數(shù)據</p><p> MOV @R0,A ;存儲</p><p> INC R0 ;修改地址</p><p> DJNZ R6,CONT1 ;數(shù)據塊接受完否?</p&g
104、t;<p> CLR RCV_STA ;數(shù)據塊接收完畢,置本機為接受命令狀態(tài)</p><p> CONT1:AJMP RETURN </p><p> SENT:CLR TI ;清除發(fā)送標注</p><p> JB TRN_STA,ST_DAT ;本機為發(fā)送數(shù)據狀態(tài)</p><p> AJMP RE
105、TURN ;本機不是發(fā)送數(shù)據狀態(tài)</p><p> ST_DAT:MOV A,@R0 ;取發(fā)送的數(shù)據</p><p> MOV SBUF,A ;發(fā)送</p><p> INC R0 ;修改發(fā)送單元地址</p><p> DJNZ R7 RETURN ;數(shù)據塊發(fā)送完否</p&
106、gt;<p> CLR TRN_STA ;置本機為發(fā)送命令狀態(tài)</p><p> RETURN:POP ACC </p><p><b> RETI</b></p><p><b> 3.7程序流程圖</b></p><p><b> 主程序圖</b>
107、</p><p> N </p><p><b> Y</b></p><p><b> N</b></p><p><b> Y</b></p>&
108、lt;p><b> Y</b></p><p><b> N</b></p><p><b> N</b></p><p><b> 子程序圖</b></p><p><b> Y </b></p>&
109、lt;p><b> N</b></p><p><b> 元器件清單</b></p><p> 本系統(tǒng)所用的硬件有:見表2-1。</p><p> 表2-1系統(tǒng)硬件清單</p><p><b> 課程設計心得體會</b></p><p>
110、 首先,在此衷心地感謝我們的指導老師及給予我們幫助的同學們,因為在他們的幫助下我們的設計才如此完善。</p><p> 課程設計是培養(yǎng)學生綜合運用所學知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學生實際工作能力的具體訓練和考察過程.隨著科學技術發(fā)展的日新日異,單片機已經成為當今計算機應用中空前活躍的領域, 在生活中可以說得是無處不在。因此作為二十一世紀的大學來說掌握單片機的開發(fā)技術是十分
111、重要的。</p><p> 我們的課題是《基于單片機的溫度采集系統(tǒng)設計》,剛拿到題目真的是一頭霧水,硬件電路不知如何下手,更別談解決程序那塊,因為我們所學的都是單片機方面的理論知識,應用到實踐中去還比較少。不過,我們六人也沒偷下懶,迅速分工去查閱和收集資料。我們去了圖書館借一些參考書,上網找一些相關資料,并且請教指導老師。通過不斷努力,終于將我們所需要的各個板塊整理清楚?;仡櫰鸫舜螁纹瑱C課程設計,至今我仍感慨頗
112、多,的確,從選題到定稿,從理論到實踐,在整整兩星期的日子里,可以說得是苦多于甜,但是可以學到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第
113、一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,比如說,對單片機匯編語言掌握得不好……</p><p> 在完成單片機課程設計后,我們發(fā)現(xiàn)我們還有許多不足,所學到的知識還遠遠不夠,以至于還有一些功能不能被動完成。但通過學習這一次實踐,增強了我們的動手能力,提高和鞏固了單片機方面的知識,特別是軟件方面。從中增強了我們的團隊合作精神,并
114、讓我們認識到把理論應用到實踐中去是多么重要。</p><p> 通過這次單片機課程設計,我不僅加深了對單片機理論的理解,將理論很好地應用到實際當中去,而且我還學會了如何去培養(yǎng)我們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。創(chuàng)新可以是在原有的基礎上進行改進,使之功能不斷完善,成為自己的東西。</p><p> 這次課程設計終于順利完成了,在設計中遇到了很多編程問題,最后在xx老師的辛勤指導
115、下,終于游逆而解。同時,在xx老師的身上我學得到很多實用的知識,在次我表示感謝!同時,對給過我們幫助的所有同學再次表示忠心的感謝!</p><p><b> 參考文獻</b></p><p> [1] 何立民.電子設計自動化[J] .電子技術, 2008, (56) :5-9.</p><p> [2] 李鴻.嵌入式系統(tǒng)設計[M] .深圳
116、:科技電子出版社,2008:98-1130</p><p> [3] 嚴天峰.單片機開發(fā)[M] .成都:科學出版社,2007:77-98</p><p> [4] 謝維成.單片機原理與應用[D] .北京.清華大學.2003.</p><p> [5] 錢顯毅.電子電路設計[N] .科技時報.2009-3-12(C1).</p><p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設計--基于單片機的溫度數(shù)據采集系統(tǒng)設計
- 基于單片機的多路溫度采集系統(tǒng)課程設計
- 單片機課程設計--遠程溫度采集系統(tǒng)
- 單片機課程設計--基于mcs-51單片機的溫度采集系統(tǒng)
- 單片機課程設計---基于單片機溫度測量系統(tǒng)設計
- 單片機課程設計報告--遠程溫度采集系統(tǒng)
- 單片機課程設計報--遠程溫度采集系統(tǒng)
- 單片機課程設計報告--遠程溫度采集系統(tǒng)
- 單片機課程設計—基于51單片機的溫度監(jiān)控系統(tǒng)設計
- 單片機課程設計--數(shù)字時鐘及溫度采集系統(tǒng)的設計
- 課程設計---基于51單片機的多路溫度采集控制系統(tǒng)設計
- 單片機課程設計--基于51單片機的溫度控制系統(tǒng)設計
- 單片機課程設計——基于51單片機的溫度控制系統(tǒng)設計
- 單片機課程設計--基于51單片機的溫度控制系統(tǒng)設計
- msp430單片機溫度單片機課程設計--溫度測試系統(tǒng)設計
- 課程設計---單片機數(shù)據采集系統(tǒng)
- 單片機課程設計-- 基于單片機的數(shù)字溫度計設計
- 課程設計---基于ds18b20的單片機溫度采集系統(tǒng)
- 單片機課程設計---溫度測試系統(tǒng)設計
- 基于單片機溫度采集系統(tǒng)的設計論文(
評論
0/150
提交評論