基于51單片機的溫計設(shè)計_第1頁
基于51單片機的溫計設(shè)計_第2頁
基于51單片機的溫計設(shè)計_第3頁
基于51單片機的溫計設(shè)計_第4頁
基于51單片機的溫計設(shè)計_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、序號(學號):學生實習報告書實習類別單片機應用實習實習地址武漢理工大學信息工程學院學 院信息工程學院專 業(yè)通信工程班 級通信1006姓 名王康指導教師黃錚2012年12月30日實習執(zhí)行大綱一、 實習目的1、鞏固單片機原理與應用理論課的理論知識;2、熟悉單片機應用系統(tǒng)的硬件設(shè)計及軟件設(shè)計的基本方法;3、將單片機原理與應用理論課的理論知識應用于實際的應用系統(tǒng)中;4、訓練單片機應用技術(shù),鍛煉實際動手能力。二、實習紀律與要求1、實習紀律1)參加實習的學生必須按照實習大綱的要求,在指導教師的指導下,全面完成實習任務;2)聽從指導教師安排,嚴格遵守實習紀律;3)因故在實習期間缺勤累計超過規(guī)定時間的三分之一

2、,不得參加本次實習考核,但可在補足所缺天數(shù)后再給予考核并評定實習成績。2、基本要求1)利用PROTEL等軟件進行硬件設(shè)計;2)利用Keil uV4軟件完成應用系統(tǒng)軟件設(shè)計;3)利用PROTEUS軟件進行仿真設(shè)計;4)完成單片機最小系統(tǒng)和應用系統(tǒng)電路板的焊接;5)對電路進行調(diào)試;6)利用stc-isp軟件完成在系統(tǒng)編程、下載,并完成系統(tǒng)軟件調(diào)試;7)題目由指導教師提供;8)要求每個學生單獨完成硬件軟件設(shè)計、仿真、焊接、調(diào)試任務;9)寫出實習報告,實習報告主要包括以下內(nèi)容:目錄、摘要、關(guān)鍵詞、基本原理、方案論證、硬件設(shè)計、軟件設(shè)計(帶流程圖、程序清單)、仿真結(jié)果、實物運行結(jié)果照片、結(jié)論、參考文獻等

3、;10)實習完成后通過答辯;11)答辯時交實習報告電子文檔,通過答辯后根據(jù)修改意見修改并打印、裝訂成冊。三、實習地點武漢理工大學信息工程學院通信實驗室。四、實習時間2012年12月17日-2012年12月30日。五、實習內(nèi)容1、實習所需主要材料1)元件、工具、儀器等序號名稱數(shù)量1單片機開發(fā)試驗儀1塊2USB供電線1根3USB轉(zhuǎn)串口線1根4杜邦線若干5NE5532兩片6LM311一片7排針若干8不同阻值的電阻若干9信號源1臺10示波器1臺11電烙鐵、錫絲、鉗子2)軟件序號名稱數(shù)量1電路設(shè)計軟件1套2編程軟件Keil uV41套3仿真軟件PROTEUS1套4下載軟件stc-isp 1套2、任務(1

4、)利用上述材料完成單片機最小系統(tǒng)的設(shè)計、焊接、調(diào)試;(2)完成ISP下載電路的設(shè)計、焊接;(3)完成應用系統(tǒng)擴展電路部分的設(shè)計、焊接、調(diào)試,應用系統(tǒng)擴展電路的具體要求如下:(1)功能選擇通過功能選擇鍵,使得單片機處于不同的工作狀態(tài)并通過LED顯示相應的內(nèi)容。(2)溫度顯示通過功能選擇鍵選擇溫度檢測、顯示后,LED顯示溫度值。(3)數(shù)據(jù)輸入通過功能選擇鍵選擇數(shù)據(jù)輸入后,將通過鍵盤鍵入的09按鍵值顯示在LED上,其中,最后輸入的顯示在最左邊,之前鍵入向右移動一位。(4)數(shù)據(jù)通信將兩個單片機最小系統(tǒng)通過串口連接起來,其中一個作為主系統(tǒng),另一個作為輔系統(tǒng)。當通過功能選擇鍵選擇數(shù)據(jù)通信后,當在主系統(tǒng)上進

5、行功能(2)、功能(3)的操作時,輔系統(tǒng)的LED上顯示與主系統(tǒng)同樣的內(nèi)容。(4)利用仿真軟件完成系統(tǒng)仿真工作;(5)完成系統(tǒng)軟件的設(shè)計,包括程序結(jié)構(gòu)設(shè)計、流程圖繪制、程序設(shè)計。3、參考資料1 謝自美.電子線路設(shè)計·實驗·測試(第三版).武漢:華中科技大學出版社2 李群芳. 單片微型計算機與接口技術(shù)(第3版).電子工業(yè)出版社,20083 劉教瑜. 單片機原理及應用.武漢理工大學出版社,20114 張東亮. 單片機原理與應用.人民郵電出版社,2009六、實習具體安排序號階段內(nèi)容所需時間1方案設(shè)計2天2硬件設(shè)計2天3軟件設(shè)計3天4系統(tǒng)仿真1天5電路板焊接2天6系統(tǒng)調(diào)試3天7答辯1

6、天合 計14天七、實習考核學生必須按照實習大綱的要求完成實習的全部內(nèi)容,并提交實習報告。指導教師應對學生進行實習考核并評定實習成績。實習成績評定按優(yōu)、良、中、及格和不及格五級分制。1、對報告的要求實習報告要求邏輯清晰、層次分明、書寫整潔。報告包括標題(中英文)、提要、正文(包括項目要求與說明; 軟件流程分析;調(diào)試分析;實驗數(shù)據(jù)分析;答辯;成績評定)、附錄(圖紙.程序清單或軟盤) 。實習要求須每人一份,獨立完成。2、對圖紙的要求圖紙要求準確全面并與任務要求完成的內(nèi)容一致。3、評分標準1選題合理、目的明確(10分)2方案正確,具有可行性、創(chuàng)新性(20分)3結(jié)果(如:硬件成果、軟件程序、仿真結(jié)果)(

7、20分)4態(tài)度認真、學習刻苦、遵守紀律(15分) 5報告的規(guī)范化、參考文獻充分(不少于5篇)(10分)6答辯(25分)總分(100分)備注:成績等級:優(yōu)(90分100分)、良(80分89分)、中(70分79分)、及格(60分69分)、60分以下為不及格。概 況實習單位: 武漢理工大學信息工程學院 參觀考察單位:(1) (2) (3) (4) (5) (6) 實習開始時間:20 12 年 12 月 17 日,實習時間共 14 天。 完成實習報告時間: 2012 年 12 月 30 日。實 習 日 記 2012 年 12月17日今天是單片機實習的第一天,拿到了實習要求,明確了所要完成的任務:即完成

8、單片機最小系統(tǒng)的設(shè)計、焊接、調(diào)試,完成ISP下載電路的設(shè)計、焊接,并完成應用系統(tǒng):矩陣鍵盤按鍵顯示功能,數(shù)字溫度計設(shè)計,雙機串口通信,整個系統(tǒng)的焊接、調(diào)試,于是便開始了單片機實習。首先要確定整個的設(shè)計方案。經(jīng)過查閱書本以及各種資料,參考實習要求,便確定了鍵盤電路采用六個七段數(shù)碼管,16個按鍵顯示電路。數(shù)字溫度計用芯片DS18B20做溫度采集部分,在數(shù)碼管上顯示溫度,由于還要通過串行通信的方式,將采集到的實時溫度信息送至第二個單片機系統(tǒng),并在二個單片機系統(tǒng)顯示實時溫度,因此還要考慮串口通信部分電路。在整個設(shè)計方案的初步確定中,我又加深了對專業(yè)知識的學習,并將原來所學的知識在實踐中得以應用,使知識

9、連貫起來,讓我覺得收獲很多,相信在接下來的幾天,會有更大的收獲。實 習 日 記 2012 年 12月18日今天是實習的第二天,接著昨已經(jīng)確定的設(shè)計方案,開始了硬件設(shè)計,硬件設(shè)計運用到Altium Designer軟件。Altium Designer是一個全32位的電路板設(shè)計軟件,該軟件功能強大,人機界面友好,易學易用,使用該軟件的設(shè)計者可以容易地設(shè)計出電路原理圖和畫出元件設(shè)計電路板圖。在實驗室學習時,我就常用Altium Designer設(shè)計電路圖,畫過元件設(shè)計電路板圖,因此對此還有一定的熟悉程度。在Altium Designer里找到所需元件后,開始連線,剛開始遇到了很多問題,比如元件封裝的

10、缺失,連線有問題等等,通過自己查找資料,請教別人,都解決了,感覺自己還是有很大的提高。對Altium Designer的使用熟練程度也得到了提高。其中,硬件電路圖的設(shè)計也是費了一番功夫的,也需要參考查閱書本以及資料才能確定其正確性,還要加上自己的理解。但在這個過程中,也進一步鞏固了專業(yè)知識技能,將這學期所學的單片機知識進行了歸納總結(jié)、真正的做到將理論與實踐相結(jié)合。實 習 日 記 2012 年 12月19日前兩天的硬件電路已經(jīng)確定了,接下來就是軟件設(shè)計部分了,即程序的編寫。因為這次實現(xiàn)的功能模塊也不少,因此程序相對來說較為復雜。由于我對程序運用并不熟練,因此需要花費更多的精力在程序上。編寫程序之

11、初,我準備分模塊編寫。將程序分為顯示模塊、鍵盤模塊、溫度采集部分,DS18B20模塊、以及串口部分等。為了能使自己對編程步驟更加熟悉一下,我先翻閱了這學期所學的課本,進一步熟悉了程序的編寫步驟,然后開始著手編寫,編寫中也遇到了很多難題,有時候會不知道如何下手去寫,后來通過自己慢慢的摸索總結(jié)以及向他人請教,及時解決了問題,在別人的講解過程中,也逐漸了解到自己的缺點,在哪些方面還需要加強,獲益頗豐。實 習 日 記 2012 年 12月20日今天我主要完成了DS18B20溫度傳感器的底層函數(shù)代碼的編寫工作,從德州儀器的官方網(wǎng)站上我找到了DS18B20溫度傳感器的數(shù)據(jù)手冊,全英文的,我一邊查詞典一邊翻

12、譯,一字一句得弄懂了DS18B20的 操作方法,其中最關(guān)鍵的也是最難懂的是DS18B20操作時序圖即和單片機的通信協(xié)議,我通過51單片機的IO口控制時序,給高電平和低電平,模擬數(shù)據(jù)手冊上的操作時序,底層驅(qū)動函數(shù)還有嘴重要的一部分就是對單片機讀來的溫度數(shù)據(jù)進行處理,將數(shù)據(jù)轉(zhuǎn)換成以攝氏度為單位的數(shù)據(jù),然后將數(shù)據(jù)分割成十位、各位、十分位,供數(shù)碼管顯示的函數(shù)調(diào)用,顯示溫度。在實際的代碼編寫過程中遇到了很多問題,開始一直是讀不到DS18B20的數(shù)據(jù),通過分析發(fā)現(xiàn)是時序的問題,我通過網(wǎng)絡查找了別人寫好的DS18B20的操作函數(shù),改進了自己的程序,最終調(diào)試成功。實 習 日 記 2012 年 12月21日軟件

13、的設(shè)計部分已經(jīng)快接近尾聲了,幾個模塊的程序也差不多都完成了。便開始了各個模塊的程序的調(diào)試。首先調(diào)試的是鍵盤顯示部分,在鍵盤部分調(diào)試的過程中,也出現(xiàn)了各種問題,剛開始也沒有加上消抖部分,經(jīng)過幾番調(diào)試后,終于調(diào)試成功了。后來進行了數(shù)碼管部分的調(diào)試工作,還是比較順利的。調(diào)試完數(shù)碼管、按鍵部分,在接下里的數(shù)字溫度計的溫度測量部分DS18B20的調(diào)試,雖然在這中間出現(xiàn)了各種各樣的問題,但是最終還是都一一解決了。我還是感到很興奮的,因為這畢竟是自己第一次寫這么多模塊的程序。不僅鍛煉的了自己的能力,也磨練了自己的態(tài)度。實 習 日 記 2012 年 12月22日經(jīng)過幾天的調(diào)試,軟件部分的工作已經(jīng)完成了。接下來

14、就是系統(tǒng)的仿真問題了,仿真要用到的軟件是proteus仿真軟件,在進行仿真前,我先去查閱了關(guān)于此仿真軟件的使用說明以及觀看的視頻教程,想先熟悉一下仿真軟件的使用。通過一系列的準備工作,熟悉了工具欄的使用,怎么樣去查找元件,放置連接點等基本的技能。熟悉了使用方法后,便開始進行仿真圖的繪制,在繪圖的過程中,元件的查找基本沒有問題。下一步就是連線了,連線過程中放置節(jié)點、連接總線過程中也遇到了不少問題。不過最終都能得以解決。最終的仿真圖在一天之內(nèi)也完成了。實習已經(jīng)過去近一個星期了,收獲還是很多的,從一開始的方案設(shè)計、硬件電路的設(shè)計到后來的軟件設(shè)計,程序的調(diào)試,以及今天的仿真圖的繪制,我也熟悉了整個系統(tǒng)

15、設(shè)計的流程、也參與了各方面的工作,收獲還是很大的。既熟悉了各種軟件的使用,也明白了如何去進行方案的比較和選擇。使我對整個的專業(yè)知識的應用也有了更進一步的認識,總的來說,真的是受益匪淺。在接下來的后續(xù)工作中,我也會繼續(xù)認認真真的完成,不懂的問題也會及時請教他人,努力做到最好。實 習 日 記 2012 年 12月23日本來打算懷著愉悅的心情踏上今天的仿真之旅的,可是剛開始就遭到了一個晴天霹靂。我把昨天好不容易編譯好后生成的hex文件放入主機和從機,發(fā)現(xiàn)不能通過仿真,真是六神無主了。于是經(jīng)過高手指教之后,才發(fā)現(xiàn)一直以來我都忽略了雙機通信的模塊。看來做一個編程者,必須要看清全局,把各種可能的沖突不兼容

16、都給消滅掉,看來真的最厲害的編程不是越復雜的編程,而是可以和各種終端兼容的編程。只能繼續(xù)研究程序,更改程序了。不過接口問題讓我發(fā)現(xiàn),這是一個比我想象中更麻煩的事情,如何利用好三個P口,而且使他們都不發(fā)生沖突真的棘手。不過開心的事情是時鐘模塊已經(jīng)部分可以調(diào)節(jié)出來了,這么多按鍵如何分配也是一個大問題呢,明天繼續(xù)仿真,加油加油!實 習 日 記 2012 年 12月24日系統(tǒng)的仿真基本完成后,便開始制作實物,首先要列元件清單,清楚電路所需的各種元件。拿到元件后,準備好焊接需要的工具,就開始焊接實物。先焊接的是單片機最小系統(tǒng),包括時鐘電路、復位電路。由于考慮到串口通信部分,時鐘電路選用11.0592MH

17、z的晶振。最小系統(tǒng)完成后,開始鍵盤和數(shù)碼管的焊接。焊接中同樣也出現(xiàn)了一些問題,影響電路板的美觀性。對照電路原理圖將DS18B20溫度測量部分焊接上去,并將其與單片機的引腳相連,這個過程是需要耐心的細致的,因為引腳部分如果連錯的話,就會導致工作不正常的情況。陸陸續(xù)續(xù)的將各個元件焊接上去后,硬件制作部分就完成了,電路總體來說還是比較簡單的,并不復雜。由于自己平時焊接工作做的比較少,因此還缺少一定的熟練程度,以后的學習中要加強練習,增強自己的動手能力。實 習 日 記 2012 年 12月25日今天打算休息一下大腦,跳出調(diào)程序的思路,所以我打算今天去焊接電路。恰好今天天氣也不錯,真是天公作美呀,早上打

18、點好元件清單,便火速火燎的騎車去了廣埠屯,然后買到了所需要的元件,不貴。下午在實驗室焊電路。其實從我畫的硬件電路上來看,需要附加焊接的電路并不復雜,只不過該如何漂亮布局,合理排版,并且正確無誤的將電路焊出來,也不是一件容易的事情。而且焊板子也得有耐心,重復著重復著重復著同一件事,還得無視那煙味和可能會出現(xiàn)的意外傷害。真心覺得做一個IT男真不容易啊。實 習 日 記 2012 年 12月26日實物焊接工作、系統(tǒng)軟件調(diào)試工作等各部分的準備工作已經(jīng)完成了,下面就將進行系統(tǒng)的調(diào)試。首先應用stc-isp下載軟件將所編寫的單片機程序下載到單片機里。在網(wǎng)上查閱了一些資料以后,知道STC-ISP 是一款單片機

19、下載編程燒錄軟件,是針對STC系列單片機而設(shè)計的,可下載STC89系列、12C2052系列和12C5410等系列的STC單片機。它的使用方法也比較簡單,因此,程序下載工作很快就完成了。將下載好程序程序的單片機安裝好后,給電路板提供電源,電源供電選用的是5V的USB接口供電。上電以后,數(shù)碼管上顯示時間溫度,說明溫度計是可以工作的。然后再按下按鍵,按位調(diào)整,這個功能也是可以實現(xiàn)的。其他部分的調(diào)試工作將在后幾天進行。實 習 日 記 2012 年 12月27日繼續(xù)昨天的系統(tǒng)調(diào)試工作。心情還是很激動的,看著自己親手制作的電路板,能夠達到預期效果,證明自己的努力還沒有白費。緊接著調(diào)試數(shù)字溫度計部分,按下溫

20、度測試按鍵,數(shù)字鐘上顯示29.38的數(shù)字,然后用手給DS18B20加溫,會看到示數(shù)在不斷的上升,溫度測量部分的功能也是可以實現(xiàn)的。由于數(shù)字溫度計部分,還要求串口通信,即兩塊單片機之間實現(xiàn)溫度數(shù)據(jù)的傳輸,將串口程序下載到第二塊有單片機最小系統(tǒng)、數(shù)碼管顯示部分的電路板的單片機里。兩塊單片機之間通過P3.0與P3.1相連,實現(xiàn)串行通信。結(jié)果發(fā)現(xiàn)主機部分溫度顯示正常,但是從機數(shù)碼管的顯示不正確,檢查連線沒有出錯,后再改寫程序,試驗幾次后,仍有問題。由于時間關(guān)系,今天的調(diào)試就結(jié)束了,對于出現(xiàn)的問題,我也開始查閱資料,咨詢他人,希望在最后一天能都得到解決。實 習 日 記 2012 年 12月28日 昨天焊

21、接好了電路板,現(xiàn)在心情很輕松,感覺整個人都被更新系統(tǒng)了一樣,神清氣爽的。懷著好心情,我開始新的一輪仿真,這一次的仿真比以往課設(shè)花的時間更久,難度更大。不過可能是休息了一天大腦,所以重啟的更機敏了,故在和同學請假了一段時間之后,再幾次失敗之后,終于穩(wěn)定了,不過在這個時候真是一劑強心劑呀。最后的火候就是硬件調(diào)試了,將程序下在單片機里面,不過又出現(xiàn)了意想不到的插曲了,比如按鍵失靈等,可是要找到問題也是件很麻煩的事情,因為不知道是哪個環(huán)節(jié)的問題。到底是芯片問題呢,還是跳線問題呢,還是程序的問題呢。在同學的幫助下一一排除了問題的所在,終于可以通過按鍵出來了所有模塊的結(jié)果,不過就是數(shù)碼管顯示的方式有點問題

22、,從機和主機沒法兼容,這個問題就留著明天去解決好了。實 習 日 記 2012 年 12月29日今天是倒數(shù)第二天,答辯前的最后一天了,對于終審答辯,我的內(nèi)心卻沒有以往的忐忑,而是非常的平靜。今天應該做的事情就是爭取調(diào)好我的單片機,讓所以的努力都在單片機上展現(xiàn)。我終于領(lǐng)悟到調(diào)試的重要性,紙上得來終覺淺,絕知此事要躬行,只有調(diào)試過程中遇到那些意外的事情才知道程序的不足性和要改進的方向。今天只用把雙擊通信的部分弄好就大功告成了,對于主機和從機的相接,還是主要是對接口的把握,如何使各個部分不相沖突。在改程序無果后,請教了同學,才得以解決,還是自身學的東西不夠硬呀,不過將按鍵一到十二按下后,數(shù)碼管顯示都一

23、一實現(xiàn)了功能。心里挺開心的,不管怎么樣,對于明天的答辯有了更多的信心。萬事俱備只欠東風,睡個好覺,明天加油加油加油!實 習 日 記 2012 年 12月30日對于昨天遺留的問題,今天便著手開始檢查問題所在。首先用示波器檢測主機p3.0口是否有數(shù)據(jù)輸出,從示波器觀察結(jié)果來看,確實有波形,即說明是有數(shù)據(jù)輸出的,接著檢測從機部分的p3.0口,結(jié)果沒有觀察到波形,也就說明主機有數(shù)據(jù)的輸出,但是從機并無接受。兩片單片機的晶振都使用的是11.0592的,也沒有問題。后發(fā)現(xiàn)從機的電平轉(zhuǎn)換MAX232有問題,將其撤除后,再兩機之間串行通信,結(jié)果從機也能顯示溫度了,實現(xiàn)了功能。溫度計部分的調(diào)試也已完成,都達到了

24、預期效果。通過幾天的系統(tǒng)調(diào)試,幾大功能模塊的功能都得到了實現(xiàn),但是還是存在有一些小的瑕疵,數(shù)碼管的亮度不夠,加了電阻,增大驅(qū)動電流以后,數(shù)碼管的亮度有所提高,但是仍舊不是很理想。但是不影響使用。實習即將要結(jié)束了,經(jīng)過這段時間的實習,自己也學到了很多知識、培養(yǎng)了自己的動手能力。也將書本知識運用到實際,將理論與實踐相結(jié)合??偟膩碚f,此次單片機實習確實讓我獲益良多,對我以后的專業(yè)學習有很大的幫助。目 錄摘 要22Abstract231、基本原理241.1 單片機引腳介紹241.2 單片機時鐘電路251.3 復位電路251.4 數(shù)字溫度計的設(shè)計262、方案設(shè)計272.1模塊的設(shè)計方案272.1.1 顯

25、示電路設(shè)計方案272.1.2 溫度測量模塊方案272.2 實際設(shè)計中的改進方案282.2.1 數(shù)碼管的設(shè)計方案282.2.2 最小系統(tǒng)的設(shè)計方案283、硬件電路設(shè)計303.1 單片機最小系統(tǒng)設(shè)計303.2 數(shù)碼管顯示部分設(shè)計303.3 鍵盤部分設(shè)計313.4 溫度采集部分設(shè)計313.5 串口通信部分設(shè)計323.5 供電電路部分設(shè)計323.6 電路PCB布置設(shè)計334、軟件設(shè)計344.1 系統(tǒng)流程圖344.2 溫度計流程圖345、仿真電路356、實物照片366.1 溫度計366.2 數(shù)據(jù)輸入366.3 數(shù)據(jù)通信376.4 最小系統(tǒng)實物圖376.5 整體實物圖376.6 部分電路圖387、總結(jié)39

26、8、參考文獻409、附錄41本科生課程設(shè)計成績評定表53摘 要 單片機是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計時器等功能(可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個小而完善的微型計算機系統(tǒng).單片機具有體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便等優(yōu)點,廣泛應用于儀器儀表中,結(jié)合不同類型的傳感器,可實現(xiàn)諸如電壓、電流、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。采用單片機控制

27、使得儀器儀表數(shù)字化、智能化、微型化,且功能比起采用電子或數(shù)字電路更加強大。 本文主要是在單片機最小系統(tǒng)的基礎(chǔ)上設(shè)計一個矩陣按鍵,一個數(shù)字溫度計和一個數(shù)據(jù)通信設(shè)計,并能用按鍵進行功能切換顯示。關(guān)鍵詞:單片機、最小系統(tǒng)、數(shù)字溫度計、雙機通信、矩陣鍵盤Abstract SCM is A kind of integrated circuit chips, is to use very large scale integrated circuit technology has the ability to handle data CPU, RAM and ROM, RAM read only memor

28、y of I/O mouth and interrupt system, timer/timer function (may include display driver circuit, pulse width modulation circuit, simulation way more converter, A/D converter circuits, etc) integrated into one of these forms of A small and perfect miniature computer system Single chip microcomputer wit

29、h small size, low power consumption, control function is strong, flexible, miniaturization and expand convenient use and so on, widely used in instrumentation, combined with different kinds of sensors, which can realize such as voltage, current, power, frequency, humidity, temperature and flow rate,

30、 speed, thickness, Angle, length, hardness, elements, such as the physical pressure measurement. By single chip microcomputer control makes instruments digital, intelligent, miniaturization, and function by electronic or than digital circuit more powerful. Of this paper is to design a digital clock

31、on the basis of the smallest single-chip system, a digital thermometer , and use the button to switch the display.Keywords:SCM 、digital clock、digital thermometer 、data communication 1、基本原理1.1 單片機引腳介紹89C52單片機是一種高性能、低功效的采用CMOS工藝制造的8位微控制器。它提供以下標準特征:4K字節(jié)的程序存儲器、128字節(jié)的RAM、32條I/O線、2個16位定時/計數(shù)器、一個5中斷源兩級中斷優(yōu)先級

32、、一個雙工的串行口、片上振蕩器和時鐘電路。AT89C52引腳圖如圖1所示:圖1各引腳功能分別為:VCC:供電電壓;GND:接地P0P3:為輸入/輸出口線;RST:復位輸入,當振蕩器復位器件時,保持RST腳兩個機器周期的高電平時間ALE/PROG: 地址鎖存允許/片內(nèi)EPROM編程脈沖/PSEN:外部程序存儲器的選通信號;/EA/VPP:外部訪問允許,為了使單片機能夠有效的傳送外部數(shù)據(jù)存儲器從0000H到0FFFH單元的指令。/EA必須接地;當執(zhí)行內(nèi)部指令時,應接VCC端。XTAL1:振蕩器反相放大器以及內(nèi)部時鐘電路的輸入端XTAL2:振蕩器反相放大器的輸出端1.2 單片機時鐘電路 89C52時

33、鐘有兩種方式產(chǎn)生,即內(nèi)部方式和外部方式。89C52內(nèi)部有一個構(gòu)成內(nèi)部振蕩器的高增益的放大器,引腳XTAL1,XTAL2分別是該放大器的輸入端和輸出端。在引腳XTAL1和XTAL2外接晶體振蕩器(簡稱晶振)或陶瓷諧振器,就構(gòu)成了內(nèi)部振蕩方式。由于單片機內(nèi)部有一個高增益反相放大器,當外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時鐘脈沖。內(nèi)部振蕩方式的外部電路如圖2所示。 圖中,電容器C1,C2起穩(wěn)定振蕩頻率、快速起振的作用,其電容值一般在5-30pF。晶振頻率的典型值為12MHz,采用6MHz的情況也比較多。內(nèi)部振蕩方式所得的時鐘情號比較穩(wěn)定,實用電路中使用較多。圖2 1.3 復位電路單片機系統(tǒng)的復位

34、電路采用的是上電+按鈕復位電路形式.當MCS-5l系列單片機的復位引腳RST(全稱RESET)出現(xiàn)2個機器周期以上的高電平時,單片機就執(zhí)行復位操作。如果RST持續(xù)為高電平,單片機就處于循環(huán)復位狀態(tài)。 根據(jù)應用的要求,復位操作通常有兩種基本形式:上電復位和上電或開關(guān)復位。上電復位要求接通電源后,自動實現(xiàn)復位操作。上電或開關(guān)復位要求電源接通后,單片機自動復位,并且在單片機運行期間,用開關(guān)操作也能使單片機復位。常用的上電或開關(guān)復位電路如圖3所示。上電后,由于電容C3的充電和反相門的作用,使RST持續(xù)一段時間的高電平。當單片機已在運行當中時,按下復位鍵后松開,也能使RST為一段時間的高電平,從而實現(xiàn)上

35、電或開關(guān)復位的操作。圖3 1.4 數(shù)字溫度計的設(shè)計基于AT89C52單片機和DS18B20的數(shù)字溫度計。采用數(shù)字溫度芯片DS18B20 測量溫度,輸出信號全數(shù)字化。采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計DS18B20和AT89C52單片機構(gòu)成的溫度測量裝置,它直接輸出溫度的數(shù)字信號,也可直接與計算機連接。 測溫范圍 55125,固有測溫分辨率0.5。DS18B20 實物圖如圖4所示。圖42、方案設(shè)計2.1模塊的設(shè)計方案2.1.1 顯示電路設(shè)計方案數(shù)碼管有共陰、共陽兩種方案一:選用共陽數(shù)碼管,51單片機I/O口不需要提供電流,只需一片74LS04/74HC04反相器就可以驅(qū)動六個數(shù)碼管顯示。方案二

36、:數(shù)碼管有共陰、共陽數(shù)碼管兩種;若選用共陰數(shù)碼管,51單片機I/O不能直接驅(qū)動數(shù)碼管顯示,因為電流太小,需要加74LS04/74HC04反相器,提供驅(qū)動電流,需要2片芯片控制6個數(shù)碼管。原則上應選擇方案一,但市場上購買時,只買到了共陰數(shù)碼管,所以最終選擇方案二。2.1.2 溫度測量模塊方案方案一:利用DS18B20可編程1-Wire數(shù)字溫度傳感器芯片,集成度高,單總線模式與其他相比系統(tǒng)電路相對簡單。內(nèi)含寄生電源。數(shù)字溫度傳感器DS18B20的數(shù)字溫度計提供9至12位的攝氏溫度測量,測溫范圍為-55-+125,測量分辨率為0.0625,DS18B20可以從數(shù)據(jù)線直接供電(“寄生電源”),從而消除

37、了供應需要一個外部電源。方案二:利用AD590溫度傳感器芯片和A/D轉(zhuǎn)換器芯片采集溫度溫度信號,可以滿足設(shè)計要求。其中AD590是美國ANALOG DEVICES公司的單片集成兩端感溫電流源,其輸出電流與絕對溫度成比例。在4 V至30 V電源電壓范圍內(nèi),該器件可充當一個高阻抗、恒流調(diào)節(jié)器,調(diào)節(jié)系數(shù)為1µA/K。但相較于方案一,系統(tǒng)電路更加復雜。綜上所述,選擇方案一。2.2 實際設(shè)計中的改進方案2.2.1 數(shù)碼管的設(shè)計方案在數(shù)碼管的擺放問題上,由于在電子市場上沒有所需的6位一體的數(shù)碼管,所以采取4位加2位并列擺放實現(xiàn)6位并列顯示。經(jīng)過實際測試,發(fā)現(xiàn)數(shù)碼管引腳分布復雜,最終選擇排針引出,

38、由杜邦線進行錯位連接,而不是直接進行錯綜復雜的走線。實際效果如圖5所示。圖52.2.2 最小系統(tǒng)的設(shè)計方案在最小系統(tǒng)的設(shè)計中,考慮到芯片放置在底座上,內(nèi)部用足夠的空間放置一些類似電阻電容的小型元器件,而且芯片引腳包含VCC與GND,在實際PCB設(shè)計時,將整個晶振電路與復位電路的10K電阻和10uF電容放置在內(nèi)部,節(jié)省了部分空間,同時也可以保護部分元器件。實際效果如圖6所示。圖63、硬件電路設(shè)計3.1 單片機最小系統(tǒng)設(shè)計單片機最小系統(tǒng)包含芯片,晶振電路,復位電路等,其中P0口需接10K上拉電阻接電源。電路如圖7所示,圖73.2 數(shù)碼管顯示部分設(shè)計數(shù)碼管顯示在理論上可以直接接在單片機的I/O口上,

39、但是在實際應用中,數(shù)碼管內(nèi)部存在電阻,直接接在單片機上的實際電壓僅為2.8V左右,驅(qū)動不了數(shù)碼管。所以在實際設(shè)計中采用74HC04非門驅(qū)動,由于在軟件設(shè)計部分采用動態(tài)顯示,所以不需要鎖存的功能,實際電路圖如圖8所示。圖83.3 鍵盤部分設(shè)計矩陣鍵盤采用4X4鍵盤設(shè)計,其中10個用于09的數(shù)字按鍵輸入,另外3個用于功能選擇按鍵,剩余3個按鍵缺省。矩陣按鍵需8個I/O口控制,設(shè)計時選用P2口控制。電路圖如圖9所示。圖93.4 溫度采集部分設(shè)計溫度采集部分采用DS18B20進行設(shè)計,元件引腳分布較為簡單,只需選用一個I/O口進行數(shù)據(jù)接收即可。電路圖如圖10所示。圖103.5 串口通信部分設(shè)計串口通信

40、部分采用9孔串口轉(zhuǎn)接電平轉(zhuǎn)換芯片MAX232與單片機的XTAL1(P3.1)與XTAL2(P3.2)進行數(shù)據(jù)通信。電路圖如圖11所示。圖113.5 供電電路部分設(shè)計單片機所需電源為+5V供電,可采用多種方式完成供電,本次設(shè)計采用USB供電。在應用中,采用六腳自鎖按鍵開關(guān)進行開關(guān)控制,同時采用LED提示電源接通與否。電路圖如圖12所示。圖123.6 電路PCB布置設(shè)計最小系統(tǒng)電路與擴展電路PCB布局如圖13所示。圖134、軟件設(shè)計4.1 系統(tǒng)流程圖圖144.2 溫度計流程圖圖155、仿真電路仿真電路使用Proteus軟件搭建,經(jīng)測試,能順利完成任務指標,在前期調(diào)試時,為了在后期實際設(shè)計時節(jié)省時間

41、,各個模塊的調(diào)試基本上在51開發(fā)板上完成了軟件調(diào)試,所以沒有過多的依賴仿真調(diào)試。電路圖如圖16所示。圖166、實物照片6.1 溫度計圖176.2 數(shù)據(jù)輸入圖186.3 數(shù)據(jù)通信圖196.4 最小系統(tǒng)實物圖圖206.5 整體實物圖圖216.6 部分電路圖圖227、總結(jié)在這次的課程設(shè)計中不僅檢驗了我所學習的理論知識,鍛煉了自己的動手實踐能力,也培養(yǎng)了我在短時間內(nèi)完成任務的能力。在設(shè)計過程中,和同學們相互探討,相互學習,相互監(jiān)督,更加學會了合作. 通過這次單片機電路設(shè)計,我加深了對單片機的理解和認識,能夠?qū)舅鶎W知識運用到實際。最開始接手這個題目的時候,有點茫然和不知所措,而這個設(shè)計需要的理論知識

42、我們都已經(jīng)全部學習完,這讓我認識到自己的理論和實際應用的統(tǒng)一和對于器件在實際中的使用還有很大的不足,在做的過程中也提升了我的動手能力,實踐能力得到了一定的鍛煉,從開始的朦朧到后面得到的結(jié)果,也鍛煉了自己,提高了自己。我制作前在網(wǎng)上找了一些數(shù)字溫度計等電路圖以后,開始只是盲目的效仿,但是得出的結(jié)果都不理想,有的根本就得不出結(jié)果,后來慢慢的學會結(jié)合自己的理論知識,對電路進行了自己的設(shè)計并不斷嘗試和修改,最終確定電路圖。對于程序的理解掌握也在這次單片機實習中得到了較大程度的提高。在整個課設(shè)的進行過程中,用到了大量的專業(yè)性軟件,Altium Designer、Proteus、Keil uVision4

43、、STC_ISP等。在設(shè)計中碰到的大量的問題通過上網(wǎng)查找資料,與同學探討或是咨詢老師、學長等途徑解決了問題。在焊接電路板時,容易出現(xiàn)短路,斷路,元器件極性接反等問題,所以在平時的學習中應該多加注意時刻修正電路,盡量將錯誤率降到最低。8、參考文獻1 謝自美. 電子線路設(shè)計·實驗·測試(第三版).武漢:華中科技大學出版社2 李哲英,電子技術(shù)及其應用基礎(chǔ),高等教育出版社,20032 李群芳. 單片微型計算機與接口技術(shù)(第3版).電子工業(yè)出版社,20084 康華光. 電子技術(shù)基礎(chǔ) 數(shù)字部分.高等教育出版社,20055 郭天祥. 新概念51單片機C語言教程.北京:電子工業(yè)出版社,20

44、09.6 張東亮. 單片機原理與應用.人民郵電出版社,20099、附錄程序如下(C語言):#include <reg52.h>#include <intrins.h>#include <18b20.h>unsigned char code table= /共陰數(shù)碼管常用段碼0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71, /0-f 0-15 code unsigned char key_tab17=0xed,0x7e,0x7d,0x7b, 0xbe

45、,0xbd,0xbb,0xde, 0xdd,0xdb,0x77,0xb7, 0xee,0xd7,0xeb,0xe7,0xff;/=此數(shù)組為鍵盤編碼,unsigned char l_tmpdate6=32,32,32,32,32,32;/定義數(shù)組變量unsigned char l_tmpdateold6=1,2,3,4,32,32;/定義數(shù)組變量unsigned char l_key=0xff;/定義變量,存放鍵值unsigned char l_keyold=0xFF;/做為按鍵松開否的憑int func3_flag = 0;int temp;int uartbit = 0;void delay

46、ms(unsigned char t);void display(unsigned char *lp,unsigned char lc);/顯示void ReadKey(void);void func1(void);void func2();void com_init(void);void main() com_init();/串口初始化while(1) ReadKey();switch(l_key)case 0x0a:func1();break;case 0x0b:func2();break;default :break; void display(unsigned char *lp,uns

47、igned char lc)/數(shù)碼管顯示函數(shù)unsigned char i,j=0X01;/定義變量P0 = 0x00; P1=j;for(i=0;i<lc;i+) /循環(huán)顯示P0=tablelpi;/查表法得到要顯示數(shù)字的數(shù)碼段delayms(2);/延時5個空指令P0=0x00;/清0端口,準備顯示下位P1=_irol_(P1,1); void delayms(unsigned char t) /延時函數(shù) unsigned char j; unsigned char i; do j=4; do i=1000; do -i; while(i!=0); -j; while(j!=0);

48、-t; while(t!=0); void ReadKey(void) /鍵盤掃描函數(shù)unsigned char i,j,key;/分三個部份來理解,第一部份,用掃描來讀取鍵盤,j=0xfe;key=0xff;/設(shè)定初值for (i=0;i<4;i+)P2=j;/P2口低4位循環(huán)輸出0,掃描鍵盤/leday();if (P2&0xf0)!=0xf0)/如果有鍵按下,P2口高4位不會全為1,key=P2;/讀取P2口,退出循環(huán),否則循環(huán)下次break;j=_crol_(j,1);/此函數(shù)功能為左循環(huán)移位/第二部份,檢測是否干擾或按鍵放開if (key=0xff)/如果讀取不到P2口

49、的值,比如是干擾或是鍵盤又松開,我們做相應復位,返回l_keyold=0xff;return;/第三部份,檢測是新按鍵按下,獲取新的鍵盤編碼值if(l_keyold!=key)/檢測按鍵放開否,如果一樣表明沒放開,不做處理,不一樣表時另一個鍵按下做編碼轉(zhuǎn)換l_keyold=key;/獲取鍵碼做為放開下次的憑證for(i=0;i<17;i+)/查表獲得相應的16進制值存放l_key變量中if (key=key_tabi)l_key=i;break;/程序運行到這里,就表明有鍵值被讀取存放于l_key變量中,主程序就可以檢測此變量做相應外理 void func1(void) / /功能1函數(shù)

50、,移位顯示鍵盤按鍵值unsigned char i=0,j=0,k,m,equ ;func3_flag = 0;while(1)ReadKey();/調(diào)用鍵盤掃描if(l_key!=0xff)&&(l_key<10)/掃描到的數(shù)值是0-9才做處理 if(j=6)j=5;if(j<6)/我們用J來表示按下的個數(shù),最多不超過6個j+;for(i=j-1;i>0;i-) /循環(huán)移數(shù)據(jù)l_tmpdatei=l_tmpdatei-1;l_tmpdate0=l_key;/移完數(shù)據(jù),尾補上輸入的數(shù)據(jù)l_key=0xff; if(func3_flag = 1)for(k=0;k<6;k+)if(l_tmpdatek!=l_tmpdateoldk) equ = 0;break;equ = 1;if(equ =0 )for(k=0;k<6;k+)/將數(shù)據(jù)通過串口發(fā)送給

溫馨提示

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

評論

0/150

提交評論