![[優秀畢業設計] 帶溫度顯示的可調時鐘_第1頁](http://file4.renrendoc.com/view/454c29e5361bcaf2916e1b675ffae84c/454c29e5361bcaf2916e1b675ffae84c1.gif)
![[優秀畢業設計] 帶溫度顯示的可調時鐘_第2頁](http://file4.renrendoc.com/view/454c29e5361bcaf2916e1b675ffae84c/454c29e5361bcaf2916e1b675ffae84c2.gif)
![[優秀畢業設計] 帶溫度顯示的可調時鐘_第3頁](http://file4.renrendoc.com/view/454c29e5361bcaf2916e1b675ffae84c/454c29e5361bcaf2916e1b675ffae84c3.gif)
![[優秀畢業設計] 帶溫度顯示的可調時鐘_第4頁](http://file4.renrendoc.com/view/454c29e5361bcaf2916e1b675ffae84c/454c29e5361bcaf2916e1b675ffae84c4.gif)
![[優秀畢業設計] 帶溫度顯示的可調時鐘_第5頁](http://file4.renrendoc.com/view/454c29e5361bcaf2916e1b675ffae84c/454c29e5361bcaf2916e1b675ffae84c5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、畢 業 論 文畢業論文題目:帶溫度顯示的可調時鐘學生姓名:學 號:院(系):海事與港航學院專 業:機電一體化(自動化)班 級:093班 指導教師: 起止時間: 2011 年11 月 2011 年 12 月帶溫度顯示的可調時鐘摘要:單片微型計算機(Single Chip Microcomputer)簡稱單片機,是指集成在一個芯片上的微型計算機,它的各種功能部件,包括CPU(Central Processing Unit)、存儲器(Memory)、基本輸入/輸出(Input/Output,簡稱I/O)接口電路、定時/計數器和中斷系統等,都制作在一塊集成芯片上,構成一個完整的微型計算機。本課題通過M
2、CS-51單片機來設計,通過C語言編程??梢詫崿F以下的一些功能:時、分、秒和星期以及當前溫度的顯示。本系統由溫度電路、LCD顯示電路、按鍵調整電路、蜂鳴器提示電路組成。51單片機通過編程在LCD1602上顯示時間和溫度。利用DS1820來實現溫度的檢測,通過三個按鍵來實現時間的調整:一個用于啟動時間調整;一個用于時間的加;還有一個用于時間的減,每按下一次按鍵蜂鳴器發聲提示一下。本次設計的時鐘溫度計通過仿真成功實現能比較準確的實現期望實現的功能。 關鍵詞:單片機;LCD1602;DS18B20;可調時鐘Adjustable Clock With ThermometerAbstract: The
3、single chip microcomputer (Single Chip Microcomputer)referred to as SCM, is integrated on a single chip microcomputer, its various features, including the CPU(Central Processing Unit),memory(Memory),basic input/output(Input/Output, referred to as the I/O)interface circuit timer/counters and interrup
4、t system etc. are produced in an integrated chip, a complete micro-computer.The issue by the MCS-51 to design through the C programming language. Can achieve some of the following functions hours minutes, seconds and day of week and the current temperature display. The system consists of temperature
5、 circuit. LCD display circuit push button circuit, buzzer circuit by programming the microcontroller 51 on the LCD1602 display time and temperature. Temperature using DS18B20 to achieve the detection time by the three keys to achieve the adjustment: one for start-up time to adjust; a plus for the ti
6、me; there is a reduction for the time; every time you press the send button buzzer sounder minder. The design of the clock thermometer can be successfully achieved through the simulation to achieve more accurate expectations of the functions.Keywords: Microcontroller; LCD1602;DS18B20;Adjustable cloc
7、k目 錄 TOC o 1-3 h z u HYPERLINK l _Toc310805987 1 第一章 理論基礎 PAGEREF _Toc310805987 h 1 HYPERLINK l _Toc310805988 什么是單片機 PAGEREF _Toc310805988 h 1 HYPERLINK l _Toc310805989 單片機的幾個概念 PAGEREF _Toc310805989 h 2 HYPERLINK l _Toc310805990 單片機的內部組成及信號引腳 PAGEREF _Toc310805990 h 2 HYPERLINK l _Toc310805991 單片機的
8、基本組成 PAGEREF _Toc310805991 h 2 HYPERLINK l _Toc310805992 89C51的信號引腳 PAGEREF _Toc310805992 h 3 HYPERLINK l _Toc310805993 單片機的中斷系統 PAGEREF _Toc310805993 h 4 HYPERLINK l _Toc310805994 中斷的各個功能部件 PAGEREF _Toc310805994 h 4 HYPERLINK l _Toc310805995 中斷優先級的說明 PAGEREF _Toc310805995 h 5 HYPERLINK l _Toc310805
9、996 顯示和接口鍵盤技術 PAGEREF _Toc310805996 h 5 HYPERLINK l _Toc310805997 液晶顯示 PAGEREF _Toc310805997 h 5 HYPERLINK l _Toc310805998 按鍵 PAGEREF _Toc310805998 h 7 HYPERLINK l _Toc310805999 1.5 A/D轉換 PAGEREF _Toc310805999 h 8 HYPERLINK l _Toc310806000 單片機的應用 PAGEREF _Toc310806000 h 9 HYPERLINK l _Toc310806001 單
10、片機的發展方向 PAGEREF _Toc310806001 h 10 HYPERLINK l _Toc310806002 2 第二章 整體方案設計 PAGEREF _Toc310806002 h 11 HYPERLINK l _Toc310806003 帶溫度顯示可調時鐘背景 PAGEREF _Toc310806003 h 11 HYPERLINK l _Toc310806004 制定設計方案 PAGEREF _Toc310806004 h 12 HYPERLINK l _Toc310806005 單片機的選擇 PAGEREF _Toc310806005 h 12 HYPERLINK l _T
11、oc310806006 顯示器的選擇 PAGEREF _Toc310806006 h 12 HYPERLINK l _Toc310806007 溫度轉換芯片的選擇 PAGEREF _Toc310806007 h 13 HYPERLINK l _Toc310806008 時鐘芯片的選擇 PAGEREF _Toc310806008 h 13 HYPERLINK l _Toc310806009 設計的最終方案 PAGEREF _Toc310806009 h 13 HYPERLINK l _Toc310806010 硬件電路設計 PAGEREF _Toc310806010 h 14 HYPERLINK
12、 l _Toc310806011 單片機最小系統設計 PAGEREF _Toc310806011 h 14 HYPERLINK l _Toc310806012 LCD顯示電路設計 PAGEREF _Toc310806012 h 18 HYPERLINK l _Toc310806013 溫度轉換電路設計 PAGEREF _Toc310806013 h 19 HYPERLINK l _Toc310806014 按鍵電路設計 PAGEREF _Toc310806014 h 20 HYPERLINK l _Toc310806015 蜂鳴器電路設計 PAGEREF _Toc310806015 h 21
13、HYPERLINK l _Toc310806016 軟件設計 PAGEREF _Toc310806016 h 21 HYPERLINK l _Toc310806017 流程圖設計 PAGEREF _Toc310806017 h 21 HYPERLINK l _Toc310806018 程序設計 PAGEREF _Toc310806018 h 24 HYPERLINK l _Toc310806019 3 第三章 系統仿真 PAGEREF _Toc310806019 h 40 HYPERLINK l _Toc310806020 3.1 PROTEUS軟件介紹 PAGEREF _Toc3108060
14、20 h 40 HYPERLINK l _Toc310806021 系統PROTEUS仿真 PAGEREF _Toc310806021 h 41 HYPERLINK l _Toc310806022 4 第四章 調試與功能說明 PAGEREF _Toc310806022 h 41 HYPERLINK l _Toc310806023 調試 PAGEREF _Toc310806023 h 41 HYPERLINK l _Toc310806024 軟件調試問題及解決 PAGEREF _Toc310806024 h 41 HYPERLINK l _Toc310806025 硬件調試 PAGEREF _T
15、oc310806025 h 42 HYPERLINK l _Toc310806026 系統性能測試與功能說明 PAGEREF _Toc310806026 h 43 HYPERLINK l _Toc310806027 系統時鐘誤差分析 PAGEREF _Toc310806027 h 43 HYPERLINK l _Toc310806028 致謝 PAGEREF _Toc310806028 h 45 HYPERLINK l _Toc310806029 參 考 文 獻 PAGEREF _Toc310806029 h 46帶溫度顯示的可調時鐘09機電一體化(自動化)3班 吳基晴指導教師:馮建第一章 理
16、論基礎本設計主要以MCS-51單片機為核心,進而控制其它部件實現時鐘和溫度測量的功能。主要涉及了單片機以及少量模擬電路和數字電路方面的知識。目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。 HYPERLINK :/baike.baidu /view/35448.htm t _blank 導彈的導航裝置,飛機上各種儀表的控制,計算機的網絡通訊與數據傳輸,工業自動化過程的實時控制和數據處理,廣泛使用的各種智能 HYPERLINK :/baike.baidu /view/4189.htm t _blank IC卡,民用豪華轎車的安全保障系統, HYPERLINK :/bai
17、ke.baidu /view/111680.htm t _blank 錄像機、 HYPERLINK :/baike.baidu /view/45678.htm t _blank 攝像機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫療器械以及各種智能機械了。 什么是單片機單片微型計算機簡稱單片機,是指集成在一個芯片上的微型計算機,單片機的各個功能部件包括:CPU、存儲器、基本輸入輸出接口電路、定時/計數器和中斷系統等,都集成在一塊芯片上,構成一個完整的微型計算機。是典型的嵌入式微型控制器,常用英文字母MCU表示單片機。 單片機的幾
18、個概念單片機最小系統:單片機可獨立運行的小模塊,具備電源電路、復位電路、晶振電路。單片機應用系統:單片機的應用系統主要以單片機為核心,配以輸入輸出,顯示等外圍接口電路和軟件,能實現一種或多種功能的系統。 單片機的內部組成及信號引腳單片機的基本組成1.中央處理器(CPU):是單片機的核心,完成運算和控制功能。2.內部數據存儲器(RAM):8051內部共有256個RAM單元,可讀可寫,掉電后數據會丟失。3.內部程序存儲器(ROM):8051內部共有4KB掩模ROM,只能讀不能寫,掉電后數據不會丟失,用于存放程序或程序運行構成中不會改變的原始數據,通常稱為程序存儲器。4.并行I/O端口:8051內部
19、有4個8位并行I/O端口(稱為P0、P1、P2、P3),可以實現數據的并行輸出。5.串行口:8051內部有一個全雙工一步串行口,可以實現單片機于其它設備之間的串行數據通信。6.定時/計數器:8051內部有兩個16位的定時/計數器,可實現定時或計數功能。7.中斷系統:8051內部共有5個中斷源,分為高級和低級兩個優先級。8.時鐘電路:8051內部有時鐘電路,只需外接石英晶振和微調電容即可。頻率基準源中斷系統可編程串行口定時器0定時器1128BRAM振蕩器4KBROM并行端口CPUP0 P1 P2 P3 圖1.2 8051單片機的內部組成89C51的信號引腳89C51單片機采用標準雙列直插式封裝。
20、40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復用,其中P3口有第二功能。 P0口8位雙端口線P1口8位雙端口線P2口8位雙端口線P3口8位雙端口線ALE地址鎖存控制信號PSEN外部程序存儲器讀選通信號-EA訪問程序存儲控制信號RST復位信號XTAL1和XTAL2外接晶體引線端Vcc+5V電源Vss地線圖1.3 89C51引腳 表1.1 引腳對應功能單片機的中斷系統中斷系統是單片機中很重要的一個功能,中斷是通過改變CPU的運行方向。計算機在執行程序的過程中,外部設備向CPU發出中斷請求信號,要求CPU暫時中斷當前程序的執行而轉去執行相應
21、的處理程序,待處理程序執行完畢后,在執行原來被中斷的程序。中斷的各個功能部件中斷的SFR位76543210符號EAECET2ESET1EX1ET0EX0 中斷使能控制寄存器IEEA: 總中斷使能位,總閥門。EC: PCA中斷使能位ET2:定時器2中斷使能位ES: 串口中斷ET1:定時器1溢出中斷使能EX1:外部中斷1使能ET0:定時器0溢出中斷使能EX0:外部中斷0使能位76543210符號保留PPCPT2PSPT1PX1PT0PX0位76543210符號保留PPCHPT2HPSHPT1HPX1HPT0HPX0H PPC:PCA中斷優先級PT: 定時器中斷優先級PS:串口中斷優先級PX:外部中
22、斷優先級中斷優先級的說明當設置為默認中斷優先級時: 當幾個中斷同時發生時,則先處理中斷優先級高的中斷程序,在處理任意中斷期間發生中斷,都不會響應。當人為配置了中斷優先級: 同時發生中斷,優先級高的先響應,在處理任意中斷時,發生同級別或低級的中斷,則不響應,發生優先級更高的中斷時,則先處理高優先級中斷,處理完畢,再回來處理當前中斷。顯示和接口鍵盤技術單片機應用系統經常需要連接一些外部設備,其中鍵盤和顯示器是構成人機對話的一種基本方式,使用最為頻繁。液晶顯示本設計主要用LCD1602液晶顯示。LCD液晶顯示器是一種功耗極低的顯示器件,它廣泛的用于便攜式電子產品中。它不僅省電,而且能夠顯示大量的信息
23、,如文字、曲線、圖形等。以下是51系列單片機與1602的連接方式: 1602有16個接口,以下是每個接口信號的說明:編號符號引腳說明1Vss電源地2Vdd電源正極3VL液晶顯示偏壓信號4RS數據/命令選擇端(H/L)5R/W讀/寫選擇端(H/L)6E使能信號7D0Data I/O8D1Data I/09D2Data I/010D3Data I/011D4Data I/012D5Data I/013D6Data I/014BLA背光源正極15BLK背光源負極 操作LCD1602的時序如下:讀操作時序: 寫操作時序: 按鍵按鍵有獨立按鍵和矩陣按鍵,根據實際情況選擇按鍵的種類。以下是按鍵的接法: 當
24、用手按下一個鍵時,如下圖所示,往往按鍵在閉合位置和斷開位置之間跳幾下才穩定到閉合狀態的情況;在釋放一個鍵時,也回會出現類似的情況。這就是抖動。抖動的持續時間隨鍵盤材料和操作員而異,不過通??偸遣淮笥?0ms。很容易想到,抖動問題不解決就會引起對閉合鍵的識別。用軟件方法可以很容易地解決抖動問題,這就是通過延遲10ms來等待抖動消失,這之后,在讀入鍵盤碼。鍵按下前沿抖動后沿抖動閉合穩定圖1.8 按鍵抖動信號波形A/D轉換在單片機應用系統中,經常需要把單片機中的數字信號轉變為連續變化的物理量,即模擬量,如電壓、電流、壓力等送到外部去控制某些外設;反之,需要把外部連續變化的模擬信號送入單片機進行處理,
25、完成這種由數字量到模擬量的轉換器件分別稱為數模(D/A)轉換器和模數(A/D)轉換器。它們是單片機(數字世界)同外部世界的模擬信號(模擬世界)交換數據時不可缺少的器件。本設計用DS18B20進行溫度的采集用轉換。以下是18B20的封裝: GND:地;DQ:數字輸入/輸出Vdd:可選的+5V電源18B20的操作:設置18B20個數B初始化 匹配ROM跳過ROM 讀存儲器變換溫度存儲緩沖區指針加1YNB-1=0?初始化初始化等待1s 單片機的應用單片機廣泛應用于儀器儀表、家用電器、醫用設備、航空航天、專用設備的智能化管理及過程控制等領域,大致可分如下幾個范疇: HYPERLINK :/baike.
26、baidu /view/1540405.htm t _blank 智能儀器儀表上的應用 單片機具有體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便等優點,廣泛應用于儀器儀表中,結合不同類型的 HYPERLINK :/baike.baidu /view/16431.htm t _blank 傳感器,可實現諸如電壓、 HYPERLINK :/baike.baidu /view/44147.htm t _blank 功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。采用單片機控制使得儀器儀表數字化、智能化、微型化,且功能比起采用電子或 HYPERLINK :
27、/baike.baidu /view/635019.htm t _blank 數字電路更加強大。例如精密的測量設備( HYPERLINK :/baike.baidu /view/1608633.htm t _blank 功率計, HYPERLINK :/baike.baidu /view/130973.htm t _blank 示波器,各種分析儀)。 2.在工業控制中的應用 用單片機可以構成形式多樣的控制系統、 HYPERLINK :/baike.baidu /view/2102581.htm t _blank 數據采集系統。例如工廠流水線的智能化管芯片管理,電梯智能化控制、各種報警系統,與計
28、算機聯網構成二級控制系統等。 3.在家用電器中的應用 可以這樣說,現在的家用電器基本上都采用了單片機控制,從電飯煲、洗衣機、電冰箱、空調機、彩電、其他 HYPERLINK :/baike.baidu /view/68529.htm t _blank 音響視頻器材、再到 HYPERLINK :/baike.baidu /view/287613.htm t _blank 電子秤量設備,五花八門,無所不在。 4.在計算機網絡和通信領域中的應用 現代的單片機普遍具備 HYPERLINK :/baike.baidu /view/1296283.htm t _blank 通信接口,可以很方便地與計算機進行
29、數據通信,為在計算機網絡和通信設備間的應用提供了極好的物質條件,現在的通信設備基本上都實現了單片機智能控制,從 , 機、小型 HYPERLINK :/baike.baidu /view/84642.htm t _blank 程控交換機、樓宇自動通信呼叫系統、列車無線通信、再到日常工作中隨處可見的移動 ,集群移動通信, HYPERLINK :/baike.baidu /view/19599.htm t _blank 無線電對講機等。 5.單片機在醫用設備領域中的應用 單片機在醫用設備中的用途亦相當廣泛,例如醫用呼吸機,各種分析儀,監護儀,超聲診斷設備及病床呼叫系統等等。 6.在各種大型電器中的模
30、塊化應用 某些專用單片機設計用于實現特定功能,從而在各種電路中進行模塊化應用,而不要求使用人員了解其內部結構。如音樂集成單片機,看似簡單的功能,微縮在純電子芯片中(有別于磁帶機的原理),就需要復雜的類似于計算機的原理。如:音樂信號以數字的形式存于存儲器中(類似于ROM),由微控制器讀出,轉化為模擬音樂電信號(類似于聲卡)。 在大型電路中,這種模塊化應用極大地縮小了體積,簡化了電路,降低了損壞、錯誤率,也方便于更換。 7.單片機在汽車設備領域中的應用 單片機在汽車電子中的應用非常廣泛,例如汽車中的發動機控制器,基于CAN總線的汽車發動機智能 HYPERLINK :/baike.baidu /vi
31、ew/2066657.htm t _blank 電子控制器,GPS導航系統, HYPERLINK :/baike.baidu /view/1029.htm t _blank abs防抱死系統,制動系統等等。 單片機的發展方向1多功能 單片機中盡可能地把所需要的存儲器和I/O口都集成在一塊芯片上,使得單片機可以實現更多的功能。比如A/D、PWM、PCA(可編程計數器陣列)、WDT(監視定時器看家狗)、高速I/O口及計數器的捕獲/比較邏輯等。 有的單片機針對某一個應用領域,集成了相關的控制設備,以減少應用系統的芯片數量。例如,有的芯片以51內核為核心,集成了USB控制器、SMART CARD接口、
32、MP3解碼器、CAN或者I*I*C總線控制器等,LED、LCD或VFD顯示驅動器也開始集成在8位單片機中。2、高效率和高性能 為了提高執行速度和執行效率,單片機開始使用RISC、流水線和DSP的設計技術,使單片機的性能有了明顯的提高,表現為:單片機的時鐘頻率得到提高;同樣頻率的單片機運行效率也有了很大的提升;由于集成度的提高,單片機的尋址能力、片內ROM(FLASH)和RAM的容量都突破了以往的數量和限制。 由于系統資源和系統復雜程度的增加,開始使用高級語言(如C語言)來開發單片機的程序。使用高級語言可以降低開發 難度,縮短開發周期,增強軟件的可讀性和可移植性,便于改進和擴充功能。3、低電壓和
33、低功耗 單片機的嵌入式應用決定了低電壓和低功耗的特性十分重要。由于CMOS等工藝的大量采用,很多單片機可以在更低的電壓下工作(1.2V或0.9V),功耗已經降低到uA級。這些特性使得單片機系統可以在更小電源的支持下工作更長的時間。4、低價格單片機應用面廣,使用數量大,帶來的直接好處就是成本的降低。目前世界各大公司為了提高競爭力,在提高單片機性能的同時,十分注意降低其產品的價格。第二章 整體方案設計帶溫度顯示可調時鐘背景20世紀末,電子技術獲得了飛速的發展,在其推動下,現代電子產品幾乎滲透了社會的各個領域,有力地推動了社會生產力的發展和社會信息化程度的提高,同時也使現代電子產品性能進一步提高,產
34、品更新換代的節奏也越來越快?,F代生活的人們越來越重視起了時間觀念,可以說是時間和金錢劃上了等號。對于那些對時間把握非常嚴格和準確的人或事來說,時間的不準確,會帶來非常大的麻煩,所以以液晶為顯示器的時鐘比指針式的時鐘表現出了很大的優勢。液晶顯示的時間簡單明了而且讀數快、時間準確顯示到秒。而機械式的依賴于晶體震蕩器,可能會導致誤差。本設計中的數字鐘是采用數字電路實現對“時”、“分”、“秒”“星期”數字顯示的計時裝置。數字鐘的精度、穩定度遠遠超過老式機械鐘。同時,現在很多的人也都很關注溫度的變化。為此,在本設計中,采用LCD1602顯示時、分、秒,以24小時計時方式的同時也顯示當前的溫度。用12MH
35、z的晶振產生振蕩脈沖,定時器定時,DS18B20采集溫度及溫度轉換。在此次設計中,電路具有顯示時間和溫度的其本功能,還可以實現對時間的調整,而且每當按下按鍵時都會有蜂鳴器的發聲進行提示。數字鐘是其小巧,價格低廉,走時精度高,使用方便,功能多,便于集成化而受廣大消費的喜愛,因此得到了廣泛的使用。制定設計方案單片機的選擇目前國內生產的單片機的型號有很多,在本設計中我選擇了AT89C51。因為Atmel公司的MCS-51單片機,價格便宜,而且提供了豐富的外圍接口和專用控制器,例如電壓比較,US控制、MP3解碼及CAN控制等。內部含Flash存儲器,在系統開發的過程中很容易修改;和80C51插座兼容;
36、采用靜態時鐘方式;可反復系統試驗?;谶@些條件,完全能夠滿足本設計的要求,故選擇AT89C51這款單片機。顯示器的選擇方案一:采用LED數碼管進行動態顯示。LED數碼管價格比較便宜,但在顯示需要顯示“時”“分”“秒”“星期”以及“溫度”所用的數碼管會比較多,價格上并沒有占據大的優勢,而且所需要的面積會比較大。方案二:采用點陣式數碼管顯示。點陣式數碼管采用8行8列的發光二極管顯示,用于顯示文字比較合適,用于顯示數字就太浪費了。方案三:采用LCD顯示??紤]到本設計需要顯示的內容較多,而且LCD的顯示功能強大,若想要拓展顯示其它的東西會比較方便,故本設計選用LCD1602進行顯示。溫度轉換芯片的選擇
37、方案一:采用A/D轉換芯片ADC0809,進行溫度的采集與轉換。ADC0809通用性好,操作比較簡單,但ADC0809占用的I/O口多,而且還需要74LS74芯片進行輔助。設計電路時會比較麻煩。方案二:采用DS18B20進行溫度的采集與轉換。DS18B20接口少,設計電路簡單,故采用本芯片。時鐘芯片的選擇方案一:采用DS1302實時時鐘芯片。實時時鐘芯片能準確的顯示年、月、日、星期、時、分、秒,但是本設計中主要的目的是時鐘的設計,若用DS1302會顯得有點浪費。方案二:不使用芯片,而用單片機中的定時計數器及中斷配合控制,這樣雖然會造成時間的誤差,但在不是很高要求的場合中運用是能夠滿足要求的,這
38、樣既能滿足要求又能節約成本。設計的最終方案綜上各方案所述,本設計采用AT89C51作為主控制系統,使內部時鐘電路外接晶振,提供時鐘震蕩電路,用DS18B20進行溫度的采集及轉換,用LCD1602進行顯示。硬件電路設計單片機最小系統設計 單片機的最小系統是由電源、復位、晶振、/EA=1組成,下面分別介紹每一個組成部分。1.電源引腳 Vcc40電源端GND20接地端工作電壓為5V,另有AT89LV51工作電壓則是2.7-6V, 引腳功能一樣。 圖2.2 晶振連接的內部、外部方式圖XTAL119XTAL218 XTAL1是片內振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時,外部振蕩
39、信號應直接加到XTAL1,而XTAL2懸空。內部方式時,時鐘發生器對振蕩脈沖二分頻,如晶振為12MHz,時鐘頻率就為6MHz。晶振的頻率可以在1MHz-24MHz內選擇。電容取30PF左右。系統的時鐘電路設計是采用的內部方式,即利用芯片內部的振蕩電路。AT89單片機內部有一個用于構成振蕩器的高增益反相放大器。引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體諧振器一起構成一個自激振蕩器。外接晶體諧振器以及電容C1和C2構成并聯諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴格的要求,但電容的大小會影響震蕩器頻率的高低、震蕩器的穩定性、起振的快
40、速性和溫度的穩定性。因此,此系統電路的晶體振蕩器的值為12MHz,電容應盡可能的選擇陶瓷電容,電容值約為22F。在焊接刷電路板時,晶體振蕩器和電容應盡可能安裝得與單片機芯片靠近,以減少寄生電容,更好地保證震蕩器穩定和可靠地工作。3. 復位RST9在振蕩器運行時,有兩個機器周期(24個振蕩周期)以上的高電平出現在此引腿時,將使單片機復位,只要這個腳保持高電平,51芯片便循環復位。復位后P0P3口均置1引腳表現為高電平,程序計數器和特殊功能寄存器SFR全部清零。當復位腳由高電平變為低電平時,芯片為ROM的00H處開始運行程序。復位是由外部的復位電路來實現的。片內復位電路是復位引腳RST通過一個斯密
41、特觸發器與復位電路相連,斯密特觸發器用來抑制噪聲,它的輸出在每個機器周期的S5P2,由復位電路采樣一次。復位電路通常采用上電自動復位和按鈕復位兩種方式,此電路系統采用的是上電與按鈕復位電路。當時鐘頻率選用6MHz時,C取22F,Rs約為200,Rk約為1K。復位操作不會對內部RAM有所影響。常用的復位電路如下圖所示:圖2.3 常用復位電路圖(1) P0端口P0.0-P0.7 P0是一個8位漏極開路型雙向I/O端口,端口置1(對端口寫1)時作高阻抗輸入端。作為輸出口時能驅動8個TTL。對內部Flash程序存儲器編程時,接收指令字節;校驗程序時輸出指令字節,要求外接上拉電阻。在訪問外部程序和外部數
42、據存儲器時,P0口是分時轉換的地址(低8位)/數據總線,訪問期間內部的上拉電阻起作用。(2) P1端口P1.0P1.7 P1是一個帶有內部上拉電阻的8位雙向I/0端口。輸出時可驅動4個TTL。端口置1時,內部上拉電阻將端口拉到高電平,作輸入用。對內部Flash程序存儲器編程時,接收低8位地址信息。(3) P2端口P2.0P2.7 P2是一個帶有內部上拉電阻的8位雙向I/0端口。輸出時可驅動4個TTL。端口置1時,內部上拉電阻將端口拉到高電平,作輸入用。對內部Flash程序存儲器編程時,接收高8位地址和控制信息。在訪問外部程序和16位外部數據存儲器時,P2口送出高8位地址。而在訪問8位地址的外部
43、數據存儲器時其引腳上的內容在此期間不會改變。(4) P3端口P3.0P3.7 P2是一個帶有內部上拉電阻的8位雙向I/0端口。輸出時可驅動4個TTL。端口置1時,內部上拉電阻將端口拉到高電平,作輸入用。對內部Flash程序存儲器編程時,接控制信息。除此之外P3端口還用于一些專門功能,具體請看下表。P3引腳兼用功能串行通訊輸入(RXD)串行通訊輸出(TXD)外部中斷0( INT0)外部中斷1(INT1)定時器0輸入(T0)定時器1輸入(T1)外部數據存儲器寫選通WR外部數據存儲器寫選通RD表2.1 P3端口引腳兼用功能表LCD顯示電路設計 LCD1602液晶顯示電路設計時,因為數據端口連接的是P
44、0口,P0口內部沒有上拉電阻,所以在設計時要加上大小在4.7K-10K之間的上拉電阻。本設計采用4.7K的排阻。DS18B20轉換后的溫度通過單片機P0口輸入到液晶上顯示,時間也是通過PO口輸入到液晶進行顯示。溫度轉換電路設計 DS18B20采用的是單總線的接法,2口接單片機I/O口要接4.7K或10K的上拉電阻,是數據的輸入輸出端,3口接5V電源,1口接地。按鍵電路設計 按鍵用于調整時間,因為按鍵數比較少,所以采用獨立按鍵,按鍵的一端用總線串聯在一起接地。通過按鍵的來調節時鐘。蜂鳴器電路設計 蜂鳴器用作在用戶按下按鍵時發聲提示,蜂鳴器的設計中,用到了三極管進行信號的放大,在基極串接上一個10
45、K的電阻起到限流的作用。 軟件設計軟件設計分為兩部分:一是流程圖設計;二是程序設計。流程圖設計開始 說明:按鍵1:a按鍵2:b按鍵3:c1602初始化18B20初始化時間初始化顯示時間啟動18B20按下a1602顯示溫度時鐘停止溫度變化?按鍵按下次數n=n+1n=1?n=1?n=2?n=4?n=3?調整小時n=0調整秒調整星期調整分按c按b時間減時間加 說明:秒:sec分:mit時:hour星期:u中斷響應 cnt=cnt+1cnt=20?sec+sec=60?mit+mit=60?hour+hour=60?u+u=7?u=0返回 程序設計#define uchar unsigned char
46、#define uint unsigned intsbit DQ = P13;sbit RS = P25;sbit RW = P26;sbit EN = P27;sbit key1 = P20;sbit key2 = P21;sbit key3 = P22;sbit beep = P14;uchar code week = SUN MON TUE WED THU FRI SAT;uchar code table = TEM;uchar data disdata5; /溫度暫存uint tvalue;/溫度值uchar tflag;/溫度正負標志uchar hour,mit,sec;uchar
47、cnt = 0,knum = 0,u = 0;void timer0_init();void di();void delay1ms(uint ms);void wr_com(uchar com);void wr_dat(uchar dat);void lcd_init();void wrchar(uchar *p);void disp_hms(uchar add,uchar num);void disp_week(uchar w);void init_time();void init_temp();void delay_18B20(uchar i);void ds1820rst();uchar
48、 ds1820rd();void ds1820wr(uchar wdata);void start_temp_sensor();uint read_temp();void ds1820disp();void key1_ctrl();void key2_ctrl();void key3_ctrl();/*主程序*/void main() SP=0 x50;lcd_init(); /1602初始化init_time(); /初始化時間init_temp(); /初始化溫度while(1)read_temp(); /讀取溫度ds1820disp(); /顯示溫度disp_hms(10,sec); /
49、刷新時間disp_hms(7,mit);disp_hms(4,hour);disp_week(u);if(key1 = 0)while(1) key1_ctrl(); key2_ctrl(); key3_ctrl(); if(knum = 5)TR0 = 1;knum = 0;wr_com(0 x0c);break; void time() interrupt 1 using 0 /時鐘計時TH0 = 0 x3c;TL0 = 0 xb0;cnt+;if(cnt = 20) cnt = 0; sec+;if(sec = 60) sec = 0; mit+;if(mit = 60) mit= 0;
50、 hour+;if(hour = 24)hour = 0; u+; if(u = 7) u = 0;void key1_ctrl() /時間光標定位 if(key1 = 0)delay1ms(5);if(key1 = 0)while(!key1);di();knum+;if(knum = 1)TR0 = 0;wr_com(0 x80+5);wr_com(0 x0f);if(knum = 2)wr_com(0 x80+8);if(knum = 3)wr_com(0 x80+11);if(knum = 4)wr_com(0 x80+15);void key2_ctrl() /時間加if(knum!
51、=0)if(key2 = 0)delay1ms(5);if(key2 = 0)while(!key2);di();if(knum = 1)hour+;if(hour = 24)hour = 0;disp_hms(4,hour);wr_com(0 x80+5);if(knum = 2)mit+;if(mit = 60)mit = 0;disp_hms(7,mit);wr_com(0 x80+8);if(knum = 3)sec+;if(sec = 60)sec = 0;disp_hms(10,sec);wr_com(0 x80+11);if(knum = 4)u+;if(u = 7)u = 0;
52、disp_week(u);wr_com(0 x80+15);void key3_ctrl()/時間減if(knum!=0)if(key3 = 0)delay1ms(5);if(key3 = 0)while(!key3);di();if(knum = 1)hour-;if(hour = -1)hour = 23;disp_hms(4,hour);wr_com(0 x80+5);if(knum = 2)mit-;if(mit = -1)mit = 59;disp_hms(7,mit);wr_com(0 x80+8);if(knum = 3)sec-;if(sec = -1)sec = 59;dis
53、p_hms(10,sec);wr_com(0 x80+11);if(knum = 4)u-;if(u = -1)u = 6;disp_week(u);wr_com(0 x80+15);void timer0_init()/初始化定時器TMOD = 0 x01;TH0 = 0 x3c;TL0 = 0 xb0;TR0 = 1;EA = 1;ET0 = 1;void di() /蜂鳴器beep = 0;delay1ms(100);beep = 1;/*lcd1602程序*/void delay1ms(uint ms)/延時大概1毫秒 uint i,j; for(i=0; ims; i+) for(j=0; j100; j+);void wr_com(uchar com)/寫指令 delay1ms(1); RS = 0; RW = 0; EN = 0; P0 = com; delay1ms(1); EN = 1; delay1ms(1); EN = 0;void wr_dat(uchar dat)/寫數據 delay1ms(1); RS = 1; RW = 0; EN = 0; P0 = dat; delay1ms(1); EN = 1; dela
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java面試題及答案說說線程
- 瑞幸咖啡兼職面試題及答案
- java面試題及答案前100
- 北京捷通華聲java面試題及答案
- 各大公司java程序員面試題及答案
- 財務決策與邏輯分析試題及答案
- java面試題及答案3.4年
- 平安管家面試題及答案
- 甘肅省蘭州市聯片辦學2019-2020學年高一上學期期末考試試題(英語解析版)
- java算法面試題及答案改編
- 大學生心理健康教育 課件 13生命教育與幸福感
- 伺服系統面試題及答案
- 2025年小班小手拍拍標準教案
- 校園閑置物品創新創業
- 法官助理的面試題及答案
- 預見性護理及早期風險識別課件
- 山東省淄博市、濱州市2025屆高三一模語文試題(含答案)
- 大學語文22孔子論孝
- 2025年小學《義務教育數學課程標準》(2022 年版)測試題庫及答案(共3套)
- 歡樂購物街第2課時 買賣我做主(教學設計)-2024-2025學年 一年級數學下冊人教版
- 2025年中國食品安全監控軟件市場調查研究報告
評論
0/150
提交評論