基于單片機多功能電子時鐘的設計_第1頁
基于單片機多功能電子時鐘的設計_第2頁
基于單片機多功能電子時鐘的設計_第3頁
基于單片機多功能電子時鐘的設計_第4頁
基于單片機多功能電子時鐘的設計_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、課 程 設 計 說 明 書課程名稱: 單片機技術 設計題目:基于單片機多功能電子時鐘的設計 學 院: 學生姓名: 學 號: 專業(yè)班級: 指導教師: 2016年 4月22 日課 程 設 計 任 務 書設計題目基于單片機多功能電子時鐘的設計學生姓名所在學院專業(yè)、年級、班設計要求:1、具有電源開關及指示燈,有調節(jié)鍵;2、本次設計完成電子時鐘年、月、日、時、分、秒的顯示及環(huán)境溫度測量等功能的基礎上完成定時鬧鐘的功能。硬件電路包括單片機最小系統(tǒng)電路、DS12887實時時鐘芯片電路模塊、LCD1602液晶顯示模塊、按鍵模塊、DS18B20溫度傳感器模塊、蜂鳴器報警電路模塊;軟件部分主要通過c程序的編程實現

2、對時鐘芯片進行時間數據的讀和寫,然后通過液晶顯示程序將時間顯示出來。設計中結合硬件、軟件的分步調試,達到要求的控制效果。3、系統(tǒng)具有調時間及鬧鐘定時溫度顯示功能,可以調節(jié)時間、定時報時提醒,顯示環(huán)境溫度。學生應完成的工作: 完成電子時鐘系統(tǒng)設計,調試燒制程序,利用Altium Designer軟件繪制電路原理圖,設計制作電路的PCB板,對系統(tǒng)進行安裝、調試,并提交課程設計報告。肖顯在本次課程設計中應完成的任務是繪制電路原理圖,系統(tǒng)的安裝,元器件的焊接等工作。參考文獻閱讀: 1微機原理與應用M.陳繼紅,徐晨,王春明,徐慧北京:高等教育出版社,2014. 2單片機原理與應用王艷編著北京航空航天大學

3、出版社,2009.5.3單片機原理與實踐高衛(wèi)東、辛友順、韓彥征編著北京航空航天大學出版社,2008.1.4 張毅剛,彭喜元,彭宇.單片機原理及應用M.北京:高等教育出版社,2013.5 谷樹忠.Altium Designer教程-原理圖、PCB設計與仿真M.北京:電子工業(yè)出版社,2010.6 周佩玲.16位微型計算機原理接口及其應用M.北京:中國科學技術大學出版社,2000.工作計劃: 4月11日4月15日,介紹課程設計整體情況擬定課題并確定優(yōu)化檔案;4月16日4月19日學生根據程序流程圖編寫程序制作硬件電路并檢查課程設計報告撰寫進度;4月20日4月21燒錄程序系統(tǒng)調試;4月22日,提交課程設

4、計報告并集中收取實物。任務下達日期:2016 年4月 11 日 任務完成日期:2016 年4月 22 日指導教師(簽名): 學生(簽名): 基于單片機多功能電子時鐘的設計摘 要:設計了一個多功能電子時鐘,該系統(tǒng)具有定時、報時、溫度顯示功能,到設定時間時蜂鳴器會響。該電路主要由時鐘芯片模塊、液晶顯示模塊、按鍵模塊、溫度傳感器模塊、蜂鳴器報警電路模塊、復位模塊構成。軟件部分主要通過C程序的編程實現對時鐘芯片進行時間數據的讀和寫,然后通過液晶顯示程序將時間顯示出來。利用Altium Designer軟件對電路圖進行了原理圖的設計和PCB板的設計,并對電路進行了安裝和調試,調試結果與設計預期一致。關鍵

5、詞:電子時鐘、溫度顯示、Altium Designer、PCB目錄1.設計背景11.1 電子時鐘的研究背景11.2數字電子時鐘的發(fā)展趨勢12.設計方案22.1 系統(tǒng)的設計思路22.2 系統(tǒng)硬件描述22.3 系統(tǒng)軟件描述32.4 設計程序及預期結果33. 方案實施43.1主要器件介紹43.2單片機的功能43.3 單片機最小系統(tǒng)73.4電源電路83.5液晶顯示電路83.6鍵盤電路103.7時鐘芯片電路103.8溫度測量電路133.9蜂鳴器電路133.10原理圖的繪制及PCB的布線134. 系統(tǒng)調試144.1 PCB板的安裝144.2 最小系統(tǒng)的調試154.3 液晶顯示模塊和蜂鳴器報警模塊的調試15

6、4.4 整體調試155. 軟件設計155.1 軟件設計總體說明155.2主程序流程圖165.3主程序代碼166.結果與結論177. 致 謝188.參考文獻198. 附件20附件I電路原理圖20附件II PCB布線圖20附件III實物圖21附件IV元器件清單22附件V子源程序231.設計背景1.1 電子時鐘的研究背景1957年,Ventura發(fā)明了世界第一個電子表,從而奠定了電子時鐘的基礎,電子時鐘開始迅速發(fā)展起來。現代的電子時鐘是基于單片機的一種計時工具,采用延時程序產生一定的時間中斷,用于一秒的定義,通過計數方式進行滿六十秒分鐘進一,滿六十分,小時進一,滿二十四小時,小時位清零。從而達到計時

7、的功能。傳統(tǒng)的數字電子時鐘采用了較多的分立元器件,不僅占用了很大的空間而且利用率也比很低。隨著系統(tǒng)設計復雜度的不斷提高,用傳統(tǒng)時鐘系統(tǒng)設計方法很難滿足設計需求。20世紀末,電子技術得到了極速的發(fā)展,毫無疑問,在其推動下,現代電子產品以及各種高科技產品幾乎滲透到了社會的各個領域,這有力地推動了社會生產力的發(fā)展和社會信息化程度以及綜合科技水平的提高,但產品更新換代的頻率也越來越快。多功能電子鐘不管在性能還是在樣式亦或是用途上都發(fā)生了重大的變化,許多電子鐘都已具備電子萬年歷、電子秒表、溫度檢測等功能。同時單片機在多功能數字鐘中的應用已是非常普遍的。多功能電子時鐘除了具有時鐘的功能外還可以包含對環(huán)境溫

8、度檢測的功能,溫度是一種最基本的環(huán)境參數。目前,典型的溫度檢測控制系統(tǒng)由模擬式溫度傳感器、A/D轉換電路和各種單片機組成。以DS18B20為代表的新型單線總線數字式溫度傳感器集溫度測量和A/D轉換于一體,這類傳感器可以直接輸出數字量,同時與單片機接口電路結構非常簡單,可以廣泛用于距離遠、節(jié)點分布多的場合具有較強推廣應用價值。 數字電子時鐘是采用數字電路實現對時,分,秒數字顯示的裝置,廣泛用于個人家庭,車站,碼頭辦公室等公共場所,成為人們日常生活中不可或缺的必需品,由于數字集成電路的發(fā)展和石英晶體振蕩器的廣泛應用,數字時鐘的精度遠遠超過老式鐘表,鐘表的數字化給人們生產生活帶來了極大的方便,而且大

9、大地擴展了鐘表原先的報時功能。例如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動啟閉路燈、定時開關烘箱、通斷動力設備、甚至各種定時電器的自動啟用等,所有這些,都是以鐘表數字化為基礎的。因此,研究數字時鐘及擴大其應用,有著非?,F實的意義。1.2數字電子時鐘的發(fā)展趨勢數字電子時鐘,自從它發(fā)明的那天起就成為人類的朋友,給人們的生活、學習、工作、娛樂帶來極大的方便。但隨著時間的推移,社會的進步,人們對時間計量的精度要求越來越高,應用越來越廣,可以說時間的準確已成為各行各業(yè)安全運行的基礎。電子時鐘的設計方法有多種,可用中小規(guī)模集成電路組成電子鐘,也可以利用專用的電子鐘芯片配以顯示電路及其所

10、需要的外圍電路組成電子鐘,還可以利用對單片機編程來實現電子鐘。其中,利用單片機實現的電子時鐘具有硬件結構簡單、編程靈活、便于功能擴展等特點。由單片機作為數字鐘的核心控制器,可以通過它的時鐘信號實現計時功能,將其時間數據經單片機輸出,利用顯示器顯示出來。 智能溫度傳感器(亦稱數字溫度傳感器)是上世紀90年代中期問世的。此類傳感器是微電子技術、計算機技術和自動測試技術的結晶。21世紀后,智能溫度傳感器毫無疑問正朝著高精度、多功能、總線標準化、高可靠性及高安全性等高科技的方向迅速發(fā)展,開發(fā)虛擬傳感器和網絡傳感器、研制更先進的單片測溫系統(tǒng)已是刻不容緩,在日常生活和自動控制系統(tǒng)中,我們時常會遇到對時間和

11、溫度實時監(jiān)控的需求。這就給具有多種功能的時鐘提供了市場,也有了市場開發(fā)的前景。本文給出了一種基于單片機實現帶溫度檢測的電子時鐘的設計方法和實現過程。2.設計方案2.1 系統(tǒng)的設計思路本次設計完成電子時鐘年、月、日、時、分、秒的顯示及環(huán)境溫度測量等功能的基礎上完成定時鬧鐘的功能。由于DS12887時鐘芯片內含一個鋰電池,所以斷電情況可以運行十年以上不丟失數據,重新上電后不用校正時鐘。硬件電路包括單片機最小系統(tǒng)電路、DS12887實時時鐘芯片電路模塊、LCD1602液晶顯示模塊、按鍵模塊、DS18B20溫度傳感器模塊、蜂鳴器報警電路模塊;軟件部分主要通過c程序的編程實現對時鐘芯片進行時間數據的讀和

12、寫,然后通過液晶顯示程序將時間顯示出來,通過按鍵操作實現功能的轉換和屏幕的切換。設計中結合硬件、軟件的分步調試,達到要求的控制效果。2.2 系統(tǒng)硬件描述基于單片機系統(tǒng)的電子時鐘基本結構框圖如圖2-1所示該系統(tǒng)所需要的器件包括單片機AT89S52芯片一塊,實時時鐘芯片DS12887一塊,溫度傳感器DS18B20一塊,液晶顯示屏LCD1602一塊,雙4輸入與門芯片74LS21一塊,蜂鳴器一個,12mHZ的晶振一個,排針排線若干組,電容電阻若干,導線若干,發(fā)光二級管一個,三極管一個,按鈕5個。電源單片機溫度傳感器DS18B20液晶顯示模塊晶振,復位電路時鐘芯片DS12887蜂鳴器聲響模塊按鍵模塊圖2

13、.1系統(tǒng)基本結構圖2.3 系統(tǒng)軟件描述系統(tǒng)程序實現三部分功能:時鐘部分實現年、月、日、時、分、秒、星期顯示和設置、鬧鐘功能;溫度測量部分實現環(huán)境溫度測量及顯示;鍵盤部分主要為時鐘和鬧鐘設置。單片機及各變量初始化判斷模式 時間設置鬧鐘設置日期設置溫度讀取 退出模式選擇鍵盤操作 鍵盤操作LCD1602顯示時間,日期,鬧鐘,溫度DS18B20的數據輸出DS12887數據的寫入或輸出圖2.2功能整體流程圖2.4 設計程序及預期結果 該設計的主要流程如下:首先閱讀大量參考文獻,進行設計方案的確定,然后在Altium Designer上進行原理圖的繪制和修改,在基本電路原理檢查無誤的情況下,統(tǒng)計所需要的元

14、器件清單(元器件應考慮裕量)。接著把元器件焊接到各個功能電路的模塊上,并結合程序進行調試。最后將各個功能的電路程序組合起來,然后再進行總體調試直到成功。本設計能達到以下結果:1)顯示年、月、日、星期等日歷相關信息。通過按鍵設置年月日和星期,以及定時鬧鐘。2)掉電后時鐘芯片正常運行,重新上電后不用校正時鐘。3)定時時間到達時,蜂鳴器報警;手動按任意鍵報警停止;如無人工按鍵,報警在1.5min后停止。4)時時溫度顯示。3. 方案實施3.1主要器件介紹本系統(tǒng)采用AT89S52單片機作為控制器,用LCD液晶顯示器作為顯示模塊,調節(jié)時間按鍵模塊,時鐘芯片模塊,用DS18B20作為溫度測量輸入模塊,用蜂鳴

15、器作為鬧鐘輸出。3.2單片機的功能中央處理器:中央處理器(CPU)是整個單片機的核心部件,是8位數據寬度的處理器,能處理8位二進制數據或代碼,CPU負責控制、指揮和調度整個單元系統(tǒng)協調的工作,完成運算和控制輸入輸出功能等操作。 數據存儲器(內部RAM):數據存儲器用于存放變化的數據。AT89S52中數據存儲器的地址空間為256個RAM單元,但其中能作為數據存儲器供用戶使用的僅有前面128個,后128個被專用寄存器占用。程序存儲器(內部ROM): 程序存儲器用于存放程序和固定不變的常數等。通常采用只讀存儲器,且其又多種類型,在89系列單片機中全部采用閃存。AT89S52內部配置了4KB閃存。圖3

16、.1 AT89S52引腳圖定時/計數器(ROM): 定時/計數器用于實現定時和計數功能。AT89S52共有2個16位定時/計數器。 并行輸入輸出(I/O)口:AT89S52共有4組8位I/O口(P0、P1、P2或P3),用于對外部數據的傳輸。每個口都由1個鎖存器和一個驅動器組成。它們主要用于實現與外部設備中數據的并行輸入與輸出,有些I/O口還有其他功能。全雙工串行口:AT89S52內置一個全雙工串行通信口,用于與其它設備間的串行數據傳送,該串行口既可以用作異步通信收發(fā)器,也可以當同步移位器使用。時鐘電路:時鐘電路的作用是產生單片機工作所需要的時鐘脈沖序列。中斷系統(tǒng):中斷系統(tǒng)的作用主要是對外部或

17、內部的終端請求進行管理與處理。AT89S52共有5個中斷源,其中又2個外部中斷源和3個內部中斷源。引腳功能如下:VCC:電源電壓。GND:地。P0口:P0口是一組8位漏極開路型雙向I0口,也即地址數據總線復用口。作為輸出口用時,每位能驅動8個TTL邏輯門電路,對端口寫“l(fā)”可作為高阻抗輸入端用。在訪問外部數據存儲器或程序存儲器時,這組口線分時轉換地址(低8位)和數據總線復用,在訪問期間激活內部上拉電阻。P1口:Pl是一個帶內部上拉電阻的8位雙向IO口,Pl的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“l(fā)”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時

18、,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。Flash編程和程序校驗期間,Pl接收低8位地址。P2 口:P2 是一個帶有內部上拉電阻的8 位雙向IO 口,P2 的輸出緩沖級可驅動(吸收或輸出電流)4 個TTL邏輯門電路。對端口寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。在訪問外部程序存儲器或16位地址的外部數據存儲器(例如執(zhí)行MOVXDPTR指令)時,P2口送出高8位地址數據。在訪問8 位地址的外部數據存儲器(如執(zhí)行MOVXRi 指令)時,P2 口線上的內容(

19、也即特殊功能寄存器(SFR)區(qū)中P2寄存器的內容),在整個訪問期間不改變。Flash編程或校驗時,P2亦接收高位地址和其它控制信號。 P3 口:P3 口是一組帶有內部上拉電阻的8 位雙向I0 口。P3 口輸出緩沖級可驅動(吸收或輸出電流)4 個TTL邏輯門電路。對P3口寫入“l(fā)”時,它們被內部上拉電阻拉高并可作為輸入端口。作輸入端時,被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I0口線外,更重要的用途是它的第二功能P3口還接收一些用于Flash閃速存儲器編程和程序校驗的控制信號。RST:復位輸入。當振蕩器工作時,RST引腳出現兩個機器周期以上高電平將使單片機復位。WD

20、T 溢出將使該引腳輸出高電平,設置SFR AUXR的DISRT0 位(地址8EH)可打開或關閉該功能。DISRT0位缺省為RESET輸出高電平打開狀態(tài)。 ALEPROG:當訪問外部程序存儲器或數據存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問外部存儲器,ALE 仍以時鐘振蕩頻率的輸出固定的正脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數據存儲器時將跳過一個ALE脈沖。對F1ash存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH 單元的D0 位置位,可禁止ALE 操作。該位置位后,

21、只有一條M0VX和M0VC指令ALE才會被激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應設置ALE無效。PSEN程序儲存允許(PSEN )輸出是外部程序存儲器的讀選通信號,當AT89S51 由外部程序存儲器取指令(或數據)時,每個機器周期兩次PSEN 有效,即輸出兩個脈 沖。當訪問外部數據存儲器,沒有兩次有效的PSEN 信號。 EAVPP:外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址為0000HFFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復位時內部會鎖存EA端狀態(tài)。如EA端為高電平(接VCC端),CPU則執(zhí)行內部程序存儲器中的指令。F1ash

22、存儲器編程時,該引腳加上+12V的編程電壓Vpp。 XTAL1:振蕩器反相放大器及內部時鐘發(fā)生器的輸入端。3.3 單片機最小系統(tǒng)本設計的單片機最小系統(tǒng)主要包括AT89S52芯片,晶振電路和復位電路。(一)時鐘電路 最小系統(tǒng)晶振電路如圖3.2所示。 圖3.2 時鐘電路STC89C52內部有一個用于構成振蕩器的高增益反相放大器,引腳XTAL0和XTAL1分別是此放大器的輸入端和輸出端。時鐘可以由內部方式產生或外部方式產生。內部方式的時鐘電路如圖3-9所示,在XTAL0和XTAL1引腳上外接定時元件,內部振蕩器就產生自激振蕩。定時元件通常采用石英晶體和電容組成的并聯諧振回路。晶體振蕩頻率可以在1.2

23、12MHz之間選擇,電容值在530pF之間選擇,電容值的大小可對頻率起微調的作用。單片機晶振兩個電容的作用:這兩個電容叫晶振的負載電容,分別接在晶振的兩個腳上和對地的電容,一般在幾十pf。它會影響到晶振的諧振頻率和輸出幅度。晶振的負載電容=(Cd*Cg)/(Cd+Cg)+Cic+C式中Cd,Cg為分別接在晶振的兩個腳上和對地的電容,Cic(集成電路內部電容)+C(PCB上電容)經驗值為3至5pf。(二)復位電路無論使用哪種類型的單片機,總要涉及到單片機復位電路的設計而單片機復位電路設計的好壞,直接影響到整個系統(tǒng)工作的可靠性許多用戶在設計完單片機系統(tǒng),并在實驗室調試成功后,在現場卻出現了“死機”

24、、“程序走飛”等現象,這主要是單片機的復位電路設計不可靠引起的16。復位電路的基本功能是:系統(tǒng)上電時提供復位信號,直至系統(tǒng)電源穩(wěn)定后,撤銷復位信號。為可靠起見,電源穩(wěn)定后還要經過一定的延時才最小系統(tǒng)復位電路如圖3.3所示: 圖3.3 復位電路撤銷復位信號,以防電源開關或電源插頭分-合過程中引起的抖動而影響復位。單片機復位電路參數的選定須在振蕩穩(wěn)定后保證復位高電平持續(xù)時間大于2個機器周期。單片機復位電路主要有四種類型:微分型復位電路;積分型復位電路;比較器型復位電路;看門狗型復位電路。3.4電源電路圖3.4 AC12V變DC5V伏電路采用橋堆及LM7805將12V交流電轉化為該系統(tǒng)需要的+5V直

25、流穩(wěn)定電壓,電路中器件選擇可以通過計算和實驗確定,也可以參考一些典型電路參數。如圖3.2所示,P5接口為輸入12V交流電,VCC為輸出+5V直流穩(wěn)壓電壓為系統(tǒng)供電。3.5液晶顯示電路圖3.6液晶顯示電路液晶LCD1602的D0-D7引腳與AT89C52芯片的P2口相接,而控制引腳RS、R/W、CS則分別接P1.6,P1.5,P1.4。引腳3接一個1K的電位器來調整對比度,從而達到合適的背光燈對比度。液晶顯示模塊由于具有低功耗、壽命長、體積小、顯示內容豐富、價格低、接口控制方便等優(yōu)點,因此在各類電子產品中被極廣泛地推廣和應用。字符型液晶顯示模塊是一類專門用于顯示字母、數字、符號等點陣式液晶顯示模

26、塊。本系統(tǒng)設計采用字符型液屏顯示模塊LCD1602 作為顯示器件,這樣不僅簡化了系統(tǒng)的硬件設計,而且極大地提高了系統(tǒng)的可靠性。字符型液晶顯示模塊LCD1602是單片機應用設計中最常用的信息顯示器件。LCD1602 可以顯示兩行,每行16 個字符,采用5V 電源供電,外圍電路配置簡單,價格便宜,具有很高的性價比。1602LCD主要技術參數:顯示容量:162個字符,芯片工作電壓:4.55.5V, 工作電流:2.0mA(5.0V), 模塊最佳工作電壓:5.0V ,字符尺寸:2.954.35(WH)mm 。引腳功能說明:第1腳:VSS為地電源。 第2腳:VDD接5V正電源。 第3腳:VL為液晶顯示器對

27、比度調整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產生“鬼影”,使用時可以通過一個10K的電位器調整對比度。 第4腳:RS為寄存器選擇,高電平時選擇數據寄存器、低電平時選擇指令寄存器。 第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和R/W共同為低電平時可以寫入指令或者顯示地址,當RS為低電平R/W為高電平時可以讀忙信號,當RS為高電平R/W為低電平時可以寫入數據。 第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。 第714腳:D0D7為8位雙向數據線。 第15腳:背光源正極。 第16腳:背光源負極。 LCD1602 讀寫操作時

28、序總體上來說是比較簡單的,掌握其有兩種方法:一種是直接看時序圖,另外一種方法是直接記憶和總結讀寫時電平高低和變化。很顯然第二種更簡單、直接,下面就列出典型讀寫的時序要求,以方便編寫程序。讀狀態(tài)-輸入:RS=L,R/W=H,E=H 輸出:D0-D7=狀態(tài)字寫指令-輸入:RS=L,R/W=L,D0-D7=指令碼,E=高脈沖 輸出:無讀數據-輸入:RS=H,R/W=H,E=H 輸出:D0-D7=數據寫數據-輸入:RS=H,R/W=L,D0-D7=數據,E=高脈沖 輸出:無LCD1602初始化過程:(1)延時15ms(2)寫指令38H(不檢測忙信號)(3)延時5ms(4) 寫指令38H(不檢測忙信號)

29、(5)寫指令5ms(6) 寫指令38H(不檢測忙信號)(7)之后每次寫指令、讀/寫數據操作之前均需檢測忙信號(8)寫指令38H:顯示模式設置(9)寫指令08H:顯示關閉(10) 寫指令01H:顯示清屏幕(11) 寫指令06H:顯示光標移動設置(12) 寫指令0CH:顯示及光標設置。3.6鍵盤電路圖3.7鍵盤電路74LS21芯片為兩組 4 輸入與門(正邏輯)。本設計中的四個按鍵分別接到74LS21芯片的1A,1B,1C,1D,即4輸入與門的4個輸入。而74LS21的輸出1Y則接到AT89S52芯片的P3.2(INT0)引腳,由于該引腳為低電平有效,當警報發(fā)生時按下四個按鍵中任意一個都會使輸出1Y

30、變?yōu)榈碗娖?,則芯片發(fā)生中斷,報警停止。同時,四個按鍵key1-key4也接到AT89S52芯片的P1.0-P1.3起到調節(jié)時間日期等功能。四個按鍵中S1為切換鍵,S2為設定鍵,S3為上調鍵,S4下調鍵。3.7時鐘芯片電路(一)DS12887功能特點:DS12887是美國達拉斯半導體公司推出的時鐘芯片,此芯片是基于CMOS技術的,把時鐘芯片所需的晶振和外部鋰電池相關電路集于芯片內部,這無疑大大簡化了外圍電路,同時它與目前IBM AT計算機常用的時鐘芯片MCB和DS1287芯片引腳兼容,可直接進行對等交換。其主要功能如下:圖3.8時鐘電路 (1) 內含一個鋰電池,斷電可運行十年,并且不會丟失數據,

31、時間功能正常運行。(2) 可計時至2100年前的秒、分、時、星期、日、月、年等日歷信息并帶有閏年補償功能。(3) 可通過編程選擇BCD碼或者二進制數表示日歷和定時鬧鐘。(4) 可通過編程選擇12小時或24小時制,12小時時鐘模式帶有PM和AM提示,此外還有有夏令時功能。(5) 可選擇MOTOROLA和INTEL總線時序。 (6) 內部共有128個RAM單元,這在常用的實時時鐘中屬于較大的。其中14個字節(jié)作為時鐘和控制寄存器,114字節(jié)為通用RAM,所有ARAM單元數據都具有掉電保護功能。 (7) 可編程并選擇的方波信號輸出。 (8) 中斷信號輸出(IRQ)和總線兼容,定時鬧鐘中斷、周期性中斷、

32、時鐘更新周期結束中斷可分別由軟件屏蔽,也可分別進行測試。(9) 三種可供選擇的中斷方式 -時間性中斷 -周期性中斷-時鐘更新結束中斷(二)DS12887的原理圖3.9顯示了DS12887管腳排列圖。下面說明管腳功能:GND:電源地 圖3.9 DS12887管腳VCC:直流電源+5V電壓。若外部提供的VCC電源小于4.25V,讀寫會即刻被禁止,但芯片內部的計時仍在繼續(xù),重新通上+5V電源后,通過編程即可顯示當前時間;若外部提供的VCC電源小于3V,電源方式切換為內部鋰電池提供,同樣可以保持芯片內部計時仍然繼續(xù)。 MOT(模式選擇):接VCC(+5V)時,芯片在MOTOROLA時序下工作,接GND

33、(地)時,芯片在INTEL時序下工作。 SQW(方波信號):通過15個分頻器抽頭中的13個提供方波輸出。 AD0AD7(雙向地址/數據復用線):數據和控制指令都通過此8個引腳來于單片機等控制器傳輸。AS(地址選通輸入):地址鎖存引腳。 DS(數據選通或讀輸入):該引腳有兩種操作模式,視該芯片是出于MOTOROLA模式或者INTEL模式,當使用MOTOROLA時序時,DS是一正脈沖,出現在總線周期的后段,稱為數據選通;若為INTEL時序,DS稱作(RD),RD與典型存貯器的允許信號(OE)的定義相同。 R/W(讀/寫輸入):R/W管腳同樣也有兩種操作模式。此引腳的兩種模式與DS相似。 CS(片選

34、輸入):在訪問DS12887的總線周期內,片選信號必須保持為低。 IRQ(中斷申請輸入):低電平有效,可作微處理的中斷輸入。沒有中斷條件滿足時,IRQ處于高阻態(tài)。IRQ線是漏極開路輸入,要求外接上拉電阻。 RESET(復位輸出):若要保證DS12887有效復位,必須讓該腳保持低電平時間大于200ms。3.8溫度測量電路圖3.10溫度模塊電路溫度傳感器DS18B20的接法很簡單,它的DQ引腳與STC89C52芯片的P1.7引腳相連接。這里只用到一個溫度傳感器,若要使用多個則只需將所有的DS18B20的I/O口接在一起即可,在具體操作時,通過讀取每個芯片的內部序列號來識別。3.9蜂鳴器電路蜂鳴器報

35、警電路的作用:當定時鬧鐘時間到時,P3.5引腳會發(fā)送一個高電平,蜂鳴器發(fā)出預設的聲音,而發(fā)光二極管則會隨著音樂閃爍。本電路采用PNP三極管為蜂鳴器圖3.11蜂鳴器電路放大電流,基極通過4.7k電阻與單片機STC89C52的閑置引腳P3.5相連接,集電極直接接地,發(fā)射極接發(fā)光二極管和蜂鳴器。3.10原理圖的繪制及PCB的布線在分析完各種模塊電路之后,接下來將用Altium Designer繪制原理圖。打開Altium Designer軟件新建工程文件,原理圖文件,PCB文件,并分別命名保存在C盤下的新建文件夾下,方便自己在使用時很快自己找到該工程文件。建好以上文件之后就可以在元件庫里面查找本次系

36、統(tǒng)所能使用到的元件(像單片機. DS1820. DS12C887. 電阻.電容等等).把所有的元器件找到并放到Schematic里在使用工具欄里的放置線功能,按之前分析論證后的模塊間連接方式連線??梢园褑蝹€模塊單獨放在一塊,而模塊與模塊之間則用網絡標號的方式進行連接。這樣模塊之內連接與模塊之間連接就比較清晰可辯。畫好原理圖使用【Tools】/【Annotate Schematics.】自動標號,之后檢查是否有漏的元器件,錯誤和漏畫線及虛畫線的地方并及時更正。檢查原理圖沒有錯誤后,保存原理圖。再生成PCB板之前應檢查各個元器件是否都有封裝及封裝是否正確等,檢查并改正確認沒有錯誤后保存原理圖。在原

37、理圖編輯器中,選擇菜單命令【Design】/【Import Changes From danpianji.prjpcb】單擊【Validate Changes】在沒有錯誤后,單擊【Execute Changes】執(zhí)行按鈕,系統(tǒng)開始執(zhí)行將所有的元器件信息和網絡信息的傳送,完成后若無錯誤,勾選Done狀態(tài)并關閉。這是把元器件按模塊在PCB板上擺放整齊緊湊,接著自動和手動結合布線,并調整線的寬度(這里線寬用25mil)焊盤孔徑為30mil外直徑為60mil的圓形焊盤。通過不斷的調整元器件的擺放的位置盡可能的減少跳線的使用。布好線后一檢查是否有錯誤布線的地方并及時更正。二要檢查布線是否合理,把線線距離

38、靠得太近的地方改變線的寬度為了制版時能分離開來不會連到一塊造成短路的情況。檢查沒有錯誤后保存。接著裁板,板要盡可能小點。裁好板保存就完成了PCB的制作。4. 系統(tǒng)調試4.1 PCB板的安裝完成打孔后將各個匹配的元器件從銅板的背面將兩個或多個引腳引入,然后利用焊接工具將元器件焊接到銅板上。焊接工作完成后,對整個電路板進行全面的測試工作,如果在測試過程中出現問題,就需要通過第一步設計的原理圖來確定問題的位置,然后重新進行焊接或者更換元器件。當測試順利通過后,整個電路板就制作完成了。任何組裝好的電子PCB電路,在通電調試之前,必須認真檢查PCB電路連線是否有錯誤。對照PCB電路圖,按一定的順序逐級對

39、應檢查。特別要注意檢查電源是否接錯,電源與地是否有短路,二極管方向和電解電容的極性是否接反,集成PCB電路和晶體管的引腳是否接錯,輕輕拔一拔元器件,觀察焊點是否牢固,等等。4.2 最小系統(tǒng)的調試使用Altium Designer設計完電路圖后,首先在電路板上焊制了單片機最小系統(tǒng),通過向芯片中寫入讓每個引腳持續(xù)規(guī)律地在1和0電位轉換的程序,將引腳接到發(fā)光二極管之后,發(fā)光二極管可以規(guī)律地亮或者滅,這說明實現了最小系統(tǒng)的測試。這樣可以繼續(xù)焊制后面的模塊。4.3 液晶顯示模塊和蜂鳴器報警模塊的調試液晶模塊的顯示是通過普中科技單片機箱來調試的,由于該試驗箱中同樣有STC1602芯片,所以向此芯片中寫入簡

40、單的顯示0,1,2的小程序,可以正常顯示。蜂鳴器報警模塊的調試同樣是通過最小系統(tǒng)的那個小程序,寫入之后,報警模塊的蜂鳴器規(guī)律的響,同時發(fā)光二極管隨著規(guī)律的亮滅。4.4 整體調試進行整體調試的時候發(fā)現,液晶顯示無法定格在一個畫面,而是一直跳動。經過仔細檢查焊點,并重新接線之后問題仍然存在。所以判斷是按鍵模塊出了問題,比如虛焊或者某個按鍵接錯了變成長導通的狀態(tài)。但是將按鍵模塊剔除出系統(tǒng)后,發(fā)現問題仍然存在。然后判斷是時鐘模塊出現問題,但是將時鐘芯片拔除后發(fā)現問題仍然存在。最后判斷應該是最小系統(tǒng)及周邊電路出現問題。所以我重新焊制了一個最小系統(tǒng),重新接線后,畫面可以定格,日歷和溫度信息正常顯示。至此,

41、系統(tǒng)調試成功。5. 軟件設計5.1 軟件設計總體說明本系統(tǒng)的程序采用C語言編寫,為了便于修改和調試,系統(tǒng)軟件采用模塊化設計,程序的編寫編譯在keil uVision4軟件中完成。首先對STC89C52、DS12887、LCD1602、DS18B20進行初始化,日歷和溫度信息通過LCD1602顯示出來,當當前時間與設定的鬧鐘時間相同后,LCD1602上顯示的時間停止,但,實際上芯片內部的時間仍然在走。時鐘芯片向單片機發(fā)出中斷請求,單片機通過報警模塊進行警報,此時,若按下四個按鍵中的任意一個,報警停止,LCD1602顯示的時間繼續(xù)精確顯示。系統(tǒng)中有四個按鍵,即:設置鍵S1、切換鍵S2、上調鍵S3、

42、下調鍵S4。(1)按下S1鍵,系統(tǒng)進入設置狀態(tài),再按下S2鍵可在除了溫度外的項目,如年、月、日、時、分、秒、星期、鬧鐘上停留,此時再按下上調鍵S3即可進行加一操作,按下下調鍵S4即可進行減一的操作。(2)同時按下S1鍵和S2鍵會將當前的時間恢復到程序中設定的默認時間。(3)同時按下S3鍵和S4鍵可對鬧鐘進行開啟和關閉的操作。5.2主程序流程圖圖5.1 主程序流程圖5.3主程序代碼void main()lcd_init(); /LCD初始化Start_calendar (); /日歷開啟initial_irq (); /中斷開啟enable_set = F; /設置禁止while(1)if (

43、enable_play_song ) /鈴聲使能play_song(); /播放鈴聲enable_play_song = F; /禁止鈴聲update_display_data (); /更新顯示數據display_calender_and_temp (); /顯示日歷及溫度if (enable_set) /設置使能delay (100); /延時100msupdate_set_display (cur_set_pos); /更新設置的信息display_calender_and_temp (); /顯示日歷及溫度信息delay (100); /延時100msdate_timeTIME_SIG

44、N_POS = :; /時間的時和分之間顯示:continue; /繼續(xù)循環(huán)delay (200); /延時200msflash_time_sign (); /:閃爍 6.結果與結論1.本次選擇電子時鐘為的設計完成了我們預期的結果,系統(tǒng)具有時時溫度顯示,定時提醒功能。把元器件焊接到各個功能電路的模塊上,并結合程序進行調試。(1)顯示年、月、日、星期等日歷相關信息。通過按鍵設置年月日和星期,以及定時鬧鐘。(2)掉電后時鐘芯片正常運行,重新上電后不用校正時鐘。(3)定時時間到達時,蜂鳴器報警;手動按任意鍵報警停止;如無人工按鍵,報警在1.5min后停止。(4) 時時溫度顯示。2.在為期兩周的課程設

45、計過程中我們小組選擇電子時鐘課題是經過大家一致的意見。雖然在本次的項目制作的過程中我們也遇到了不少問題,一部分是自身專業(yè)知識不足而導致的錯誤,如軟件的設計過程中未能設計完整的程序致使定時器不能正常的工作。在段老師的悉心指導下成功解決程序循壞定時的問題。另一部分問題是可以避免的馬虎,例如在畫原理圖時不小心漏掉一個部件導致仿真時出錯,后來發(fā)現問題解決了。還有就是在PCB布線時沒有合理得控制布局導致設置的不合理從新布線所以在以后的工作中要養(yǎng)成細心的習慣。通過這次的課程設計這個項目的學習我時刻認識到了這一點,在以后的項目制作中我會努力做好這一點,將自己的不足加以改正。3.通過本次的單片機課程設計,不僅

46、豐富了我的理論知識,而且在實踐過程中更令我學會了堅持、耐心和努力。此次單片機課程設計需要運用到許多之前所學過的知識,令我認識到自己以前學習的一些不足之處,例如對以前所學知識的理解不夠深刻,掌握得不夠牢固,運用不夠靈活。這讓我懂得了認真學習的重要性,以及要孜孜不倦地鉆研所學過的知識,做得融會貫通,不能一覽而過,不求甚解。在邊學習邊動手的過程中,我對AT89S52單片機的構造以及原理有了進一步的了解,同時也加深和鞏固了我對單片機匯編語言的認識。除此之外,由于是第一次做單片機,因此在此次課程設計的過程中,無論是電路繪制還是匯編語言編寫都難免遇到了不少困難和障礙,例如匯編語言編寫出錯、電路元件無從入手

47、等。在面對困難和障礙時,我慶幸自己沒有選擇退縮和逃避,而是通過各種方法,迎難而上,以堅持、耐心和努力勇敢無畏地面對困難,克服困難,解決困難。讓我發(fā)現問題、分析問題、解決問題以及動手實踐的能力都有了很大的提高,并了解到理論知識與實踐相結合的重要意義。7. 致 謝首先感謝我們的段老師耐心的指導,本組同學的互相幫助是能順利的做好這個課程設計項目,通過這次的課程設計很好的讓我們所學的知識學會融匯貫通,以及很好的培養(yǎng)了同學之間團結協作。單片機是我所學專業(yè)的主要課程之一,不僅培養(yǎng)了我綜合運用所學知識,發(fā)現,提出,分析和解決實際問題的能力,而且提高了我實際動手操作能力.現實生活中,單片機在應用可以說得是無處

48、不在。因此在大學中說掌握單片機的實用技術是十分重要的,也是十分必要的。其次本課題的研究和論文的完成是在段老師的悉心指導和熱情關懷下完成的。段老師嚴謹的治學態(tài)度、豐富的實踐經驗、兢兢業(yè)業(yè)的工作精神使我受益匪淺。段老師豁達的胸懷對我樹立正確的人生觀和價值觀產生了積極的影響。在段老師的指導和幫助下,我的專業(yè)知識水平和學習能力都得到了很大的提高。我在大學學習道路上的每一個腳印都凝聚著老師的心血。跟隨段老師學習這學年所獲得的知識將是我一生中最寶貴的財富。在此謹向段老師表示崇高的敬意和衷心的感謝。 最后感謝我的同學一直以來對我的無私幫助和默默關懷從這次的課程設計中,我才真正明白理論結合實際的道理,在以后的

49、學習中,更要把理論聯系實際,把我們所學的理論知識用到實際當中,學習單機片機即是如此,出色的程序最終用實際操作來實現才是完美。十分慶幸擁有這次課程設計,讓我受益匪淺。8.參考文獻1微機原理與應用M.陳繼紅,徐晨,王春明,徐慧北京:高等教育出版社,2014. 2單片機原理與應用王艷編著北京航空航天大學出版社2009.5.3單片機原理與實踐高衛(wèi)東、辛友順、韓彥征編著北京航空航天大學出版社2008.1.4 張毅剛,彭喜元,彭宇.單片機原理及應用M.北京:高等教育出版社,2013.5 谷樹忠.Altium Designer教程-原理圖、PCB設計與仿真M.北京:電子工業(yè)出社,2010.6 周佩玲.16位微型計算機原理接口及其應用M.北京:中國科學技術大學出版社,2009. 附件附件I電路原理圖附件II PCB布線圖附件III實物圖附件IV元器件清單元器件名稱型號規(guī)格數量備注單片機AT89S521底座40腳底座1晶振12MHZ1電容104130pf333pf210uf61000pf1100uf7電阻10k11k114.7k81k1滑動變阻器顯示器160

溫馨提示

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

評論

0/150

提交評論