電氣自動化畢業(yè)論文_第1頁
電氣自動化畢業(yè)論文_第2頁
電氣自動化畢業(yè)論文_第3頁
電氣自動化畢業(yè)論文_第4頁
電氣自動化畢業(yè)論文_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、江 西 理 工 大 學畢 業(yè) 論 文 (設 計)題目 可編程作息時間控制器設計與制作信息工程系電氣自動化專業(yè)2班2010 年 4 月 10 日 可 編 程 作 息 時 間 控 制 器 設 計 與 制作 摘 要:本文介紹了一款基于AT89S52單片機數字鐘的設計,通過多功能數字鐘的設計思路,詳細敘述了系統(tǒng)硬件、軟件的具體實現過程。論文重點闡述了數字鐘硬件中主控制模塊、時鐘模塊、顯示模塊和相關控制模塊等的模塊化設計與制作;軟件同樣采用模塊化的設計, 本設計實現了時間與鬧鐘的修改功能、語音播報功能、年、月、日和星期等的顯示功能。并且通過對比實際的時鐘,查找出了誤差的來源,確定了調整誤差的方法,盡可能

2、的減少誤差,使得系統(tǒng)可以達到實際數字鐘的允許誤差范圍內。本次設計過程在硬件與軟件方面是進行同步設計。硬件部分主要由AT89C52單片機,LED顯示電路,以及調時按鍵電路等組成。在單片機的選擇上本人使用了AT89C52單片機,該單片機適合于許多較為復雜控制應用場合。顯示器使用2片7SEG-MPX8-CA和一片7SEG-MPX4-CA。7SEG-MPX8-CA是一種八個共陽二極管顯示器,7SEG-MPX4-CA是一種四個共陽二極管顯示器。為了能更輕松的控制這三片顯示器,本人使用了3片74HC164來驅動。74HC164 是 8 位邊沿觸發(fā)式移位寄存器,串行輸入數據,然后并行輸出。軟件方面主要包括日

3、歷程序、時間調整程序,公歷轉陰歷程序,顯示程序等。程序采用匯編語言編寫,以便更簡單地實現調整時間及陰歷顯示功能。 關鍵詞:時鐘電鐘;DS1302;DS18B20;動態(tài)掃描;單片機 ABSTRACTThis article describes an AT89S52 microcontroller based digital clock design, through multi-functional digital clock design ideas, detailed description of the system hardware and software realization pr

4、ocess. Paper focuses on the digital clock in the main control module hardware, the clock modules, display modules and associated control modules, modular design and production; software as modular design, the design and implementation of the changes of time and alarm functions, voice broadcast funct

5、ion, year, month, day and week, etc. display. And by comparing the actual clock, find out the source of the error, the error of the method of determining the adjustment, as much as possible to reduce errorsEnable the system to achieve a practical digital clock within allowable error.Hardware mainly

6、by the AT89C52 microcontroller, LED display circuit, and the tune composed of the circuit when the button. In the SCM choice I used the AT89C52 microcontroller, which is suitable for many of the more complex control applications. Monitor the use of two 7SEG-MPX8-CA and a 7SEG-MPX4-CA. 7SEG-MPX8-CA i

7、s a total of eight-yang display 7SEG-MPX4-CA is a total of four-yang diode display. In order to more easily control the three monitors, I use three 74HC164 to drive.74HC164 is an 8-bit edge-triggered shift register, serial input data, and parallel output. The software includes calendar program, time

8、 to adjust procedures, turn the lunar calendar programs display programs. Programs written in assembly language used in order to more easily adjust the time and the realization of the lunar calendar display. All programming is complete, the wave software debugging, Key words: Clock electric clock:DS

9、1302;DS18B20:DYNAMIC ;SCANSCM 目 錄摘要6ABSTRACT7前言10一 設計要求與方案探討 111.1 設計目的與意義 101.2 設計要求 111.3 系統(tǒng)基本方案選擇探討 111.3.1主控制芯片的選擇方案探討 11 時鐘芯片的選擇方案探討 121.3. 3 LED顯示系統(tǒng)選擇方案探討 13二.硬件設計1421系統(tǒng)電路設計框圖 142.2 系統(tǒng)硬件設計概述 1423系統(tǒng)主要基本單元電路的設計14主控制系統(tǒng)電路的設計 14時鐘電路的設計 162.3.3 LED顯示電路的設計 17 2. 4 系統(tǒng)電路原理說明 18三、軟件設計 223.1程序流程框圖 223.2

10、子程序的設計 24 讀、寫DS1302子程序 25四、硬件與軟件調試241硬件調試 254.2軟件調試274.3調試結果分析與結論294.3.1 調試結果分析294.3.2 調試結論29五、論文總結 30參考文獻30附錄一:系統(tǒng)電路圖31附錄二:系統(tǒng)程序清單 32致謝 50前言隨著人們生活水平的提高和生活節(jié)奏的加快,對時間的要求越來越高,精準數字計時的消費需求也是越來越多。二十一世紀的今天,最具代表性的計時產品就是電子數字鐘電子萬年歷,它是近代世界鐘表業(yè)界的第三次革命。第一次是擺和擺輪游絲的發(fā)明,相對穩(wěn)定的機械振蕩頻率源使鐘表的走時差從分級縮小到秒級,代表性的產品就是帶有擺或擺輪游絲的機械鐘或

11、表。第二次革命是石英晶體振蕩器的應用,發(fā)明了走時精度更高的石英電子鐘表,使鐘表的走時月差從分級縮小到秒級。第三次革命就是單片機數碼計時技術的應用(電子萬年歷),使計時產品的走時日差從分級縮小到1/600萬秒,從原有傳統(tǒng)指針計時的方式發(fā)展為人們日常更為熟悉的夜光數字顯示方式,直觀明了,并增加了全自動日期、星期、溫度以及其他日常附屬信息的顯示功能,它更符合消費者的生活需求!因此,這種數字鐘的出現帶來了鐘表計時業(yè)界跨躍性的進步 。 本文通過對一個能實現按鍵開關可調整年、月、日、周、時、分、秒,且具有測溫功能、定點報時的24小時制的時間系統(tǒng)的設計學習,詳細介紹了單片機應用中的定時中斷原理、數碼管顯示原

12、理、動態(tài)掃描顯示原理等,進一步學習、應用單片機匯編語言系統(tǒng)的實現了各種功能。從而使自身明白使用單片機匯編語言和C語言之間的效率、整體性問題。系統(tǒng)由單片機、獨立式按鍵、時鐘芯片、LED數碼管、蜂鳴器等部分構成,能實現24小時制年、月、日、周、時、分、秒等時鐘顯示。同時也可進行年、月、日、周、時、分、秒的校準、定點報時和LED數碼管顯示。一、設計要求與方案論證1.1設計目的與意義(1)在學習了數字電子技術和單片機原理及接口技術課程后,為了加深對理論知識的理解,學習理論知識在實際中的運用,培養(yǎng)動手能力和解決實際問題的經驗讓學生接觸專用時鐘芯片DS1302,并會用DS1302芯片開發(fā)時鐘系統(tǒng),應用到其

13、他系統(tǒng)中去。熟悉WAVE軟件調試程序和仿真. (2)、通過實驗提高對單片機的認識;(3)通過實驗提高焊接、布局、電路檢查能力;(4)、通過實驗提高軟件調試能力;(5) 進一步熟悉和掌握單片機的結構及工作原理。(6) 通過課程設計,掌握以單片機核心的電路設計的基本方法和技術,了解表關電路參數的計算方法。(7)通過實際程序設計和調試,逐步掌握系統(tǒng)化程序設計方法和調試技術。(8) 通過完成一個包括電路設計和程序開發(fā)的完整過程,使學生了解開發(fā)一單片機應用系統(tǒng)的全過程,為今后從事相應打下基礎。1.2設計要求: 具有年、月、日、星期、時、分、秒等功能; 時間與陰、陽歷能夠自動關聯; 具備年、月、日、星期、

14、時、分、秒校準功能; 1.3 系統(tǒng)基本方案探討 主控制芯片的選擇方案探討:方案一: 采用89C51芯片作為硬件核心,采用Flash ROM,內部具有4KB ROM 存儲空間,能于3V的超低壓工作, 與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,但是運用于電路設計中時由于不具備ISP在線編程技術, 當在對電路進行硬件與軟件調試時,由于對程序的錯誤修改或對程序的新增功能需要燒入程序時,調試麻煩,并且這樣對芯片的多次拔插會對芯片造成一定的損壞。方案二: 采用AT89S52,片內ROM全都采用Flash

15、 ROM;能以3V的超底壓工作;同時也與MCS-51系列單片機完全該芯片內部存儲器為8KB ROM 存儲空間,具有3個16位定時器/計數器,8個中斷源,同樣具有AT89C51的功能,且具有ISP在線編程可擦除技術,當在對電路進行調試時,由于程序的錯誤修改或對程序的新增功能需要燒入程序時,不需要對芯片多次拔插,所以不會對芯片造成損壞。使得AT89S52為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。可見AT89S52更能滿足各方面的設計要求,減少不必要的麻煩,所以選擇采用AT89S52作為主控制系統(tǒng).1.3.2時鐘芯片的選擇方案探討:方案一: 直接采用單片機定時計數器提供秒信號,使用程序實

16、現年、月、日、星期、時、分、秒計數。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實現的時間誤差較大。設計的數字鐘誤差不能太大,所以不采用此方案。方案二:可以采用DS1302時鐘芯片, DS1302 是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,而且精度高 工作電壓為2.5V5.5V。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數據。DS1302內部有一個31×8的用于臨時性存放數據的RAM寄存器。 但增加了主電源/后背電源雙電源引腳,同時提供了對后背電

17、源進行涓細電流充電的能力。 所以采用DS1302時鐘芯片,更加可靠,穩(wěn)定。1.3.3顯示系統(tǒng)選擇方案探討:方案一: 采用LED液晶顯示屏,液晶顯示屏的顯示功能強大, 需要專門的驅動電路,而且液晶顯示作為一種被動顯示,可視性相對較差;對于具有驅動電路和微處理器接口的液晶顯示系統(tǒng)(字符或點陣),可顯示大量文字,圖形,顯示多樣,清晰可見,但是這次設計顯示主要是數字,沒有大量文字,圖形顯示,并且價格昂貴,需要的接口線多,所以在此設計中不會采用LED液晶顯示屏.方案二:采用LED數碼管動態(tài)掃描,LED數碼管價格適中,對于顯示數字最合適,而且采用動態(tài)掃描法與單片機連接時,占用的單片機口線少。綜上所述,所以

18、采用了LED數碼管作為顯示。1.3 電路設計最終方案決定綜上各方案所述,對此次畢業(yè)設計的方案選定: 采用AT89S52作為主控制系統(tǒng); DS1302提供時鐘;數字式溫度傳感器DS18B20作為溫度傳感器;LED數碼管動態(tài)掃描作為顯示。二.硬件設計2.1 電路設計方案圖LED數碼管動態(tài)掃描顯示系統(tǒng)AT89S52主控制模 塊鍵盤系統(tǒng) DS1302時鐘系統(tǒng)溫度采集系統(tǒng)2.2 系統(tǒng)硬件設計概述本電路是由AT89S52單片機為控制核心,具有在線編程功能,低功耗,能在3V超低壓工作;時鐘電路由時鐘芯片DS1302提供,它是一種高性能、低功耗、可靠穩(wěn)定,帶RAM的實時時鐘電路,它可以對年、月、日、周日、時、

19、分、秒進行計時,具有閏年補償功能,工作電壓為2.5V5.5V。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數據。DS1302內部有一個31*8的用于臨時性存放數據的RAM寄存器??僧a生年、月、日、周日、時、分、秒,具有使用壽命長,精度高和低功耗等特點,同時具有掉電自動保存功能;溫度的采集由DS18B20構成;顯示部份由個數碼管,74ls138、74ls47譯碼器等構成。使用LED數碼管動態(tài)掃描顯示方式對數字的顯示。2.3 系統(tǒng)主要單元電路的設計系統(tǒng)主控制電路的設計At89s52 是一種低功耗、高性能CMOS8位微控制器,是具有40引腳雙列直插芯片,具有

20、8K 在系統(tǒng)可編程Flash 存儲器。與工業(yè)80C51 產品指令和引腳完 全兼容。具有以下標準功能: 8k字節(jié)Flash,256字節(jié)RAM, 32 位I/O 口線,看門狗定時器,2 個數據指針,三個16 位 定時器/計數器,一個6向量2級中斷結構,全雙工串行口通信 。 有四個I/O口P0,P1,P2,P3,功能如下: P0 口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅動8個TTL邏 輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。 當訪問外部程序和數據存儲器時,P0口也被作為低8位地址/數據復用。在這種模式下, P0具有內部上拉電阻。 在flash編程時,P0口也用來接收

21、指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗 時,需要外部上拉電阻。 P1 口:P1 口是一個具有內部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅動4 個 TTL 邏輯電平。對P1 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入 口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。 此外,P1.0和P1.2分別作定時器/計數器2的外部計數輸入(P1.0/T2)和時器/計數器2 的觸發(fā)輸入(P1.1/T2EX),具體如下表所示。本設計系統(tǒng)設計如下圖所示,18引腳和19引腳接時鐘電路,XTAL1接外部晶振和微調電容的一端,在片內它是振蕩器倒相放大器

22、的輸入,XTAL2接外部晶振和微調電容的另一端,在片內它是振蕩器倒相放大器的輸出.第9引腳為復位輸入端,接上電容,電阻及開關后夠上電復位電路,20引腳為接地端,40引腳為電源端. 如圖-1 所示 圖-1 主控制系統(tǒng)電路 時鐘電路的設計 為了實現系統(tǒng)報警計時等功能,此設計采用了DS1302實時時鐘芯片 。DS1302 是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5V5.5V。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數據。DS1302內部有一個31&

23、#215;8的用于臨時性存放數據的RAM寄存器。DS1302是DS1202的升級產品,與DS1202兼容,但增加了主電源/后備電源雙電源引腳,同時提供了對后備電源進行涓細電流充電的能力。圖-2示出DS1302的引腳排列,其中Vcc1為后備電源,Vcc2為主電源。在主電源關閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電。當Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.KHz晶振。RST是復位/片選線,通過把RST輸入驅動置高電平來啟動所有的數據傳送。RST輸

24、入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數據的傳送手段。當RST為高電平時,所有的數據傳送被初始化,允許對DS1302進行操作。如果在傳送過程中RSTS置為低電平,則會終止此次數據傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電動行時,在VSS大于等于2.5V之前,RST必須保持低電平。中有在SCLK 為低電平時,才能將RST置為高電平,I/O為串行數據輸入端(雙向)。SCLK始終是輸入端。DS1302與CPU的連接需要三條線,即SCLK(7)、I/O(6)、RST(5)。下圖DS1302與89s52的連接圖,其中,時鐘的顯示用LCD。 圖-

25、2 DS1302與主控制系統(tǒng)連接電路顯示系統(tǒng)電路的設計如圖5所示,采用LED數碼管動態(tài)掃描顯示,由個數碼管,3-8譯碼器74LS138接1K限流電阻,再接8550三極管接到共陽數碼管的輸出端作為選通位碼,每位選擇相應的列。74ls47接240限流電阻,再接共行的LED數碼管的斷碼。 圖-4 LED動態(tài)掃描顯示電路電路2.4 系統(tǒng)電路原理及說明(1)單片機AT89S52的工作原理:11引腳功能及結構 具有8K字節(jié)在系統(tǒng)可編程Flash存儲器、1000次擦寫周期、全靜態(tài)操作:0Hz33Hz 、三級加密程序存儲器 、32個可編程I/O口線 、三個16位定時器/計數器 八個中斷源 、全雙工UART串行

26、通道、 低功耗空閑和掉電模式 、掉電后中斷可喚醒 、看門狗定時器 、雙數據指針 、掉電標識符等結構與功能。 P0 口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅動8個TTL邏 輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。 當訪問外部程序和數據存儲器時,P0口也被作為低8位地址/數據復用。在這種模式下, P0具有內部上拉電阻。 在flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗 時,需要外部上拉電阻。 P1 口:P1 口是一個具有內部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅動4 個 TTL 邏輯電平。對P1 端口寫“1”時,內部

27、上拉電阻把端口拉高,此時可以作為輸入 口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。 此外,P1.0和P1.2分別作定時器/計數器2的外部計數輸入(P1.0/T2)和時器/計數器2 的觸發(fā)輸入(P1.1/T2EX),具體如下表所示。 在flash編程和校驗時,P1口接收低8位地址字節(jié)。 引腳號第二功能 P1.0 T2(定時器/計數器T2的外部計數輸入),時鐘輸出 P1.1 T2EX(定時器/計數器T2的捕捉/重載觸發(fā)信號和方向控制) P1.5 MOSI(在系統(tǒng)編程用) P1.6 MISO(在系統(tǒng)編程用) P1.7 SCK(在系統(tǒng)編程用) P2 口:P2 口是

28、一個具有內部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅動4 個 TTL 邏輯電平。對P2 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入 口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。 在訪問外部程序存儲器或用16位地址讀取外部數據存儲器(例如執(zhí)行MOVX DPTR) 時,P2 口送出高八位地址。在這種應用中,P2 口使用很強的內部上拉發(fā)送1。在使用 8位地址(如MOVX RI)訪問外部數據存儲器時,P2口輸出P2鎖存器的內容。 在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。 P3 口:P3 口是一個具有內部上拉電阻

29、的8 位雙向I/O 口,p2 輸出緩沖器能驅動4 個 TTL 邏輯電平。對P3 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入 口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。 P3口亦作為AT89S52特殊功能(第二功能)使用,如下表所示。 在flash編程和校驗時,P3口也接收一些控制信號。 端口引腳 第二功能P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 INTO(外中斷0)P3.3 INT1(外中斷1)P3.4 TO(定時/計數器0)P3.5 T1(定時/計數器1)P3.6 WR(外部數據存儲器寫選通)P3.7 RD(外

30、部數據存儲器讀選通)此外,P3口還接收一些用于FLASH閃存編程和程序校驗的控制信號。RST復位輸入。當振蕩器工作時,RST引腳出現兩個機器周期以上高電平將是單片機復位。ALE/PROG當訪問外部程序存儲器或數據存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數據存儲器時將跳過一個ALE脈沖。對FLASH存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后

31、,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應設置ALE禁止位無效。PSEN程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當AT89C52由外部程序存儲器取指令(或數據)時,每個機器周期兩次PSEN有效,即輸出兩個脈沖,在此期間,當訪問外部數據存儲器,將跳過兩次PSEN信號。EA/VPP外部訪問允許,欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復位時內部會鎖存EA端狀態(tài)。如EA端為高電平,CPU則執(zhí)行內部程序存儲器的指令。(2) 時鐘芯片DS1

32、302的工作原理:2.1 引腳功能及結構 DS1302的引腳排列,其中Vcc1為后備電源,Vcc2為主電源。在主電源關閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當Vcc2大于Vcc10.2V時,Vcc2給DS1302供電。當Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復位/片選線,通過把RST輸入驅動置高電平來啟動所有的數據傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數據的傳送手段。當RST為高電平時,所有的

33、數據傳送被初始化,允許對DS1302進行操作。如果在傳送過程中RST置為低電平,則會終止此次數據傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在VCC>2.0V之前,RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。I/O為串行數據輸入輸出端(雙向)。SCLK為時鐘輸入端。 下圖為DS1302的引腳功能圖: DS1302封裝圖22 DS1302的控制字節(jié)DS1302的控制字如表-1所示??刂谱止?jié)的高有效位(位7)必須是邏輯1,如果它為0,則不能把數據寫入DS1302中,位6如果0,則表示存取日歷時鐘數據,為1表示存取RAM數據;位5至位1指示操作單元的地址;最低有效位(位

34、0)如為0表示要進行寫操作,為1表示進行讀操作,控制字節(jié)總是從最低位開始輸出 RAM RD 1 A4 A3 A2 A1 A0 / CK /WR 表-1 DS1302的控制字格式2.3 數據輸入輸出(I/O) 在控制指令字輸入后的下一個SCLK時鐘的上升沿時,數據被寫入DS1302,數據輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數據,讀出數據時從低位0位到高位7。 2.4 DS1302的寄存器 DS1302有12個寄存器,其中有7個寄存器與日歷、時鐘相關,存放的數據位為BCD碼形式,其日歷、時間寄存器及其控制字見表1。此外,DS1302 還

35、有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與RAM相關的寄存器等。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內容。 DS1302與RAM相關的寄存器分為兩類:一類是單個RAM單元,共31個,每個單元組態(tài)為一個8位的字節(jié),其命令控制字為C0HFDH,其中奇數為讀操作,偶數為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個字節(jié),命令控制字為FEH(寫)、FFH(讀)。 為了實現系統(tǒng)報警計時等功能,此設計采用了DS1302實時時鐘芯片。DS1302 是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、

36、周日、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5V5.5V。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數據。DS1302內部有一個31×8的用于臨時性存放數據的RAM寄存器。DS1302是DS1202的升級產品,與DS1202兼容,但增加了主電源/后備電源雙電源引腳,同時提供了對后備電源進行涓細電流充電的能力。 2.1 引腳功能及結構 DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源關閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當Vcc2大于Vcc10.2V時,

37、Vcc2給DS1302供電。當Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復位/片選線,通過把RST輸入驅動置高電平來啟動所有的數據傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數據的傳送手段。當RST為高電平時,所有的數據傳送被初始化,允許對DS1302進行操作。如果在傳送過程中RST置為低電平,則會終止此次數據傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc2.5V之前,RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。I/O為串

38、行數據輸入輸出端(雙向)。SCLK始終是輸入端。三、軟件設計310主程序流程框圖開始初始化讀、寫日期、時間分離日期時間顯示值顯示子程序農歷自動更新子程序日期、時間修改子程序閏月子程返回定時鬧鈴子程序 圖-A 主程序流程圖311計算陽歷程序流程圖 圖-B計算陽歷程序流程圖312時間調整程序流程圖 圖-C 時間調整程序流程圖313陰歷程序流程圖 圖-D 陰歷程序流程圖3.2 子程序的設計 讀、寫DS1302子程序寫1302程序WRITE: CLR SCLK NOP SETB RST NOP MOV A, 32H MOV R4, #8WRITE1: RRC A ;送地址給1302 NOP NOP C

39、LR SCLK NOP NOP NOP MOV IO, C NOP NOP NOP SETB SCLK NOP NOP DJNZ R4, WRITE1 CLR SCLK NOP MOV A, 31H MOV R4, #8WRITE2: RRC A NOP ;送數據給1302 CLR SCLK NOP NOP MOV IO, C NOP NOP NOP SETB SCLK NOP NOP DJNZ R4, WRITE2 CLR RST RET;讀1302程序READ: CLR SCLK NOP NOP SETB RST NOP MOV A, 32H MOV R4, #8READ1: RRC A

40、;送地址給1302 NOP MOV IO, C NOP NOP NOP SETB SCLK NOP NOP NOP CLR SCLK NOP NOP DJNZ R4, READ1 MOV R4, #8READ2: CLR SCLK NOP ;從1302中讀出數據 NOP NOP MOV C, IO NOP NOP NOP NOP NOP RRC A NOP NOP NOP NOP SETB SCLK NOP DJNZ R4, READ2 MOV 31H, A CLR RST RET四. 軟件硬件聯調4.1硬件調試 本系統(tǒng)已符合設計基本要求,即可以實現24小時方式;可使用按鍵開關可現時、分調整。

41、除了滿足這些基本要求外,本系統(tǒng)還做了一些創(chuàng)新:通過功能按鍵開關KEY1進入可進入時間校準系統(tǒng)。KEY2控制秒的校準,KEY3控制分的校準,KEY4控制時的校準。每次一有校準按鍵按下時,系統(tǒng)會發(fā)出不同的聲響,以提示用戶目前正在校準的是時、分、秒的哪一種。校準完成后仍然是通過功能按鍵KEY1返回時鐘顯示。通過更改主程序中定時器的定時初值,可實現不同樣式的數字鐘顯示方式。通過實驗測得以下參數如表2所示(程序中定時參數CYCLE在以下簡稱C): C (ms)數碼管顯示方式 靜態(tài) 閃爍 拉幕式最后電子萬年歷的電路系統(tǒng)較大,對整個電路線路檢查一次,逐步去檢查每個線路端點,看接線牢固不牢固,可見對于焊接方面

42、更是不可輕視,龐大的電路系統(tǒng)中只要出于一處的錯誤,則會對檢測造成很大的不便,而且電路的交線較多,對于各種鋒利的引腳要注意處理,否則會刺被帶有包皮的導線,則會對電路造成短路現象。在本成電子萬年歷的設計調試中遇到了很多的問題。回想這些問題只要認真多思考都是可以避免的, 涉及DS1302與CPU的連接時要注意,DS1302與CPU的連接時,在硬件調試程序時可以不加電容器,只加一個32.768kHz 的晶振即可。只是選擇晶振時,不同的晶振,誤差也較大。另外,還可以在上面的電路中加入DS18B20,同時顯示實時溫度。只要占用CPU一個口線即可。具有34線串行接口,可與任何單片機、IC接口。功耗低,顯示狀

43、態(tài)時電流為2A (典型值),省電模式時小于1A,工作電壓為2.4V3.3V,顯示清晰。 4.2軟件調試電子成年歷是多功能的數字鐘,可以看當前日期(陰、陽歷),時間,還有溫度的儀器。電子成年歷功能很多,所以對于它的程序也較為復雜,所以在編寫程序和調試時出現了相對較多的問題。最后經過多次的系統(tǒng)子程序的修改,一步一步的完成,最終解決了軟件。一 燒入程序后,看LED數碼管能否穩(wěn)定顯示,而且亮度均勻。再通過按鍵來更改時間是否成功,就是能否修改時間,能就成功。二 修改時間、日期時沒有農歷沒有自動對應上。把不相關的程序暫時屏蔽,地農歷的子程序獨立調試,如發(fā)現在調用農歷自動更新時,對十進制和十六進制處理不好,

44、所以會造成錯亂。最后把相應的十進制進行修改,使得可以與十六進制對應,這樣就行了。 4.3調試結果分析與結論4.3.1 調試結果分析(1)在調試中遇到發(fā)光二極管、LED數碼管為不顯示時,首先使用試測儀對電路進行調試,觀察是否存在漏焊,虛焊,或者元件損壞;或是軟件上有什么問題,有什么錯誤等。(2)LED 數碼管顯示不正常,還有亮度不夠,首先使用試測儀對電路進行調試,觀察電路是否存在短路現象。查看燒寫的程序是否正確無誤,對程序進行認真修改。4.3.2 調試結論在本設計中,為了設計的順利進行,我在實驗箱上進行了部分調試,因為電路太復雜,在實驗箱上不可能整體電路進行調試。調試后,我就自己焊接了一個試驗板

45、進行調試。以確保最后能很好的完成其各部分功能。 最后經過多次的反復調試與分析,可以對電路的原理及功能更加熟悉,同時提高了設計能力與及對電路的分析能力.同時在軟件的編程方面得到更到的提高,對編程能力得到加強.同時對所學的知識得到很大的提高與鞏固. 五、論文總結在整個設計過程中,充分發(fā)揮人的主觀能動性,自主學習,學到了許多沒學到的知識。這次畢業(yè)論文的制作過程是我的一次再學習,再提高的過程。在論文中我充分地運用了大學期間所學到的知識。我從資料的收集中,掌握了很多單片機、LED顯示屏的知識,讓我對我所學過的知識有所鞏固和提高,并且讓我對當今單片機、LED顯示屏的最新發(fā)展技術有所了解。在整個過程中,我學

46、到了新知識,增長了見識。在今后的日子里,我仍然要不斷地充實自己,爭取在所學領域有所作為。腳踏實地,認真嚴謹,實事求是的學習態(tài)度,不怕困難、堅持不懈、吃苦耐勞的精神是我在這次設計中最大的收益。我想這是一次意志的磨練,是對我實際能力的一次提升,也會對我未來的學習和工作有很大的幫助。在此次設計中,知道了做凡事要有一顆平常的心,不要想著走捷徑,一步一腳印。也練就了我們的耐心,做什么事都在有耐心。此次論文中學了很多很多東西,這是最重要的。 參考文獻1劉勇 編 數字電路 電子工業(yè)出版社 20042陳正振 編 電子電路設計與制作 廣西交通職業(yè)技術學院信息工程系 20073楊子文 編 單片機原理及應用 西安電

47、子科技大學出版社 20064王法能 編 單片機原理及應用 科學出版社 20045張友德、趙志英等 編 單片微型機原理、應用與實驗 上海:復旦大學出版 2003第四版6錢曉揭. 16/32位微機原理、匯編語言及接口技術M.機械工程出版社 2005年7吳金. 8051單片機實踐與應用M.清華大學出版社,2002年8謝自美.電子線路設計試驗測試(第二版)M.華中科技出版社 2002年9張疑坤,陳善久,裘雪紅.單片微型計算機原理及應用M.西安電子科技大出版 社2003年10馬忠梅編著單片機的C語言應用程序設計北京航空航天大學出版社,1999年11王幸之編著 單片機應用系統(tǒng)抗干擾技術北京航空航天大學出版社,2000年12趙茂泰.智能儀器原理及應用.電子工業(yè)出版社,2004:100-1562010年4月10日 附錄二:系統(tǒng)電路圖 附錄二:系統(tǒng)程序清單程序如下:CONFIG12 EQU 7FH TEMPH EQU 21H TEMPL EQU 20H RE

溫馨提示

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

評論

0/150

提交評論