萬年歷設(shè)計制作【畢業(yè)論文】_第1頁
已閱讀1頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  本科畢業(yè)設(shè)計(論文)</p><p><b>  ( 屆)</b></p><p>  論文題目 萬年歷設(shè)計制作 </p><p>  (英文) calendar design </p><p>  所在學院 電子信息學院 </p>&l

2、t;p>  專業(yè)班級 電子信息工程 </p><p>  學生姓名 學號 </p><p>  指導教師 職稱 </p><p>  完成日期 年 月 日</p><p><b&

3、gt;  摘 要</b></p><p>  在英文中稱為電波鐘的,是一種通過接收國家授時中心的無線信號以確保時間準確性的計時工具。它通過鐘表內(nèi)置的電波接收器和天線來實現(xiàn),接收發(fā)射塔發(fā)出的“標準時間”電波,獲取時刻和日歷等數(shù)據(jù),自動校正手表的時間和日期。以單片機為核心處理,其技術(shù)較GPS相對簡易,價格低廉,授時精度高,在諸多領(lǐng)域中漸漸體現(xiàn)出優(yōu)越性,電波授時技術(shù)的發(fā)展是未來計時產(chǎn)品的主流,在軍事和科學

4、實驗以及人們?nèi)粘I钪卸加袕V泛的應用前景,還可應用于通訊、交通、郵電、計算機、工業(yè)控制等領(lǐng)域。</p><p>  本系統(tǒng)需要從硬件和軟件兩個方面進行制作與調(diào)試。在硬件上,主要分為頻帶處理部分和基帶處理部分。在軟件上,主要完成對JJY信號的接收解碼功能和電子時鐘的功能。這個萬年歷除顯示時間外,溫度信息也是一個較為實用的裝置。硬件的主要內(nèi)容為: 接收天線、接收解調(diào)電路、基帶處理電路、電源電路。最后再通過液晶顯示屏幕

5、顯示日期時間以及溫度。</p><p>  關(guān)鍵詞:電波,無線,接收,誤差,時碼,精準</p><p><b>  Abstract</b></p><p>  It is called Radio Controlled Clock in english.It is a kind of timing tool through the cente

6、r of the GPS Clock Radio signal of receiving countries to ensure the accuracy of the time.It is realized through the radio receiver and antenna which bulit-in clock and watch.To receive a tower "standard time"

7、waves, get time and a calendar and other data,correct the time and date of the watch automatically.With the single chip processor as the core processing,its technology is simpler than GPS, the pric</p><p> 

8、 This system need made and debuged from two aspects of hardware and software.In the hardware,mainly divides into band processing and baseband processing.In software,mainly to complete the function of JJY signals decoding

9、 and also the function of electronic clock.The calendar shows the time except the temperature information is also a more practical device. The main content of the hardware for: receiving antenna, receiving demodulation c

10、ircuit, baseband processing circuit, the power supply circuit</p><p>  Key Words:Waves, wireless, receiving, error, code, accurating</p><p><b>  目 錄</b></p><p><b>

11、;  1 引言1</b></p><p><b>  2 總體設(shè)計2</b></p><p><b>  3 硬件設(shè)計5</b></p><p>  3.1接收信號系統(tǒng)5</p><p>  3.2單片機最小系統(tǒng)5</p><p>  3.2.1 時鐘電

12、路6</p><p>  3.2.2 復位電路6</p><p>  3.2.3單片機7</p><p>  3.3 鍵盤和顯示模塊7</p><p>  3.3.1 鍵盤7</p><p>  3.3.2 液晶顯示模塊8</p><p>  3.4 溫度采集模塊9</p&g

13、t;<p>  3.4.1 溫度傳感器選擇9</p><p>  3.4.2 溫度采集電路10</p><p>  3.5電源管理模塊10</p><p>  3.6 整形模塊11</p><p><b>  4 軟件設(shè)計12</b></p><p>  4.1 總體程序流

14、程圖12</p><p>  4.1.1主程序13</p><p>  4.2 JJY接收信號模塊14</p><p>  4.2.1 JJY編碼技術(shù)與格式14</p><p>  4.2.2編碼技術(shù)的程序15</p><p>  4.2.3JJY接收程序流程圖17</p><p>

15、  4.2.4 JJY信號解碼程序19</p><p>  4.3 電子日歷20</p><p>  4.3.1 電子日歷程序20</p><p><b>  4.4 鍵盤21</b></p><p>  4.4.1 如下圖鍵盤程序流程圖21</p><p>  4.4.2 鍵盤功能實

16、現(xiàn)程序21</p><p>  4.5液晶顯示22</p><p>  4.5.1液晶顯示流程圖22</p><p>  4.5.2 液晶顯示程序23</p><p>  4.6溫度采集23</p><p>  4.6.1溫度讀寫操作23</p><p>  4.6.2溫度轉(zhuǎn)換26

17、</p><p>  5 制作和調(diào)試28</p><p>  5.1 硬件電路的布局與焊接28</p><p>  5.1.1 電路組成28</p><p>  5.1.2 系統(tǒng)制作28</p><p>  5.1.3軟件調(diào)試28</p><p><b>  6 結(jié)論29&

18、lt;/b></p><p><b>  致 謝30</b></p><p><b>  參考文獻31</b></p><p>  附錄1 系統(tǒng)實物圖錯誤!未定義書簽。</p><p>  附錄2 實驗原理圖錯誤!未定義書簽。</p><p>  附錄3

19、 實驗原理圖PCB板錯誤!未定義書簽。</p><p>  附錄4 畢業(yè)設(shè)計作品說明書錯誤!未定義書簽。</p><p><b>  1 引言</b></p><p>  電波鐘是新興的準確計時產(chǎn)品,是把原子振動的頻率引出來作為計時基準. 設(shè)計以單片機為核心,由接收單元,中央處理顯示單元和電源單元三個主要部分構(gòu)成,用于接收原子發(fā)射臺以超長

20、波間歇性發(fā)射的信號,以獲得更加準確的時間。</p><p>  他是繼石英電子鐘表之后的新一代的高科技產(chǎn)品,它的出現(xiàn)開拓了時間計量的新里程,使精密時間的簡便自動接收、并進入尋常百姓家成為可能,從而將對世界經(jīng)濟的發(fā)展產(chǎn)生重大的影響。世界各國對電波鐘表極為重視,紛紛采取措施,電波授時作為現(xiàn)時新興技術(shù),各方面參數(shù)均遠遠超出現(xiàn)有石英鐘表計時,其技術(shù)較GPS相對簡易,價格低廉,授時精度高,在諸多領(lǐng)域中漸漸體現(xiàn)出優(yōu)越性,符合

21、未來計時發(fā)展趨勢以及國情需要,并從其他世界發(fā)達國家(美、日、英、德)對電波授時技術(shù)的應用和普及得以證實,電波授時技術(shù)的發(fā)展是未來計時產(chǎn)品的主流,在軍事和科學實驗以及人們?nèi)粘I钪卸加袕V泛的應用前景,還可廣泛應用于通訊、交通、郵電、計算機、工業(yè)控制、社會生活等領(lǐng)域。電波計時科技的確是一個劃時代發(fā)明,雖然整體技術(shù)并不是太復雜,但卻徹底把手表時鐘精確推進到跟天文臺相同檔次。而且所需要花費并不是太高。</p><p> 

22、 標準時間是現(xiàn)代社會重要技術(shù)支撐,可以在電波鐘表產(chǎn)品基礎(chǔ)上形成一個提供的應用標準時間的產(chǎn)業(yè)——時間技術(shù)產(chǎn)業(yè)。通過此技術(shù)人們可以十分經(jīng)濟和方便地獲取高精度的標準時間,滿足人們對標準時間的需求。</p><p>  由于電波鐘表綜合應用了時頻技術(shù)、微電子技術(shù)、通訊技術(shù)計算機技術(shù)與傳統(tǒng)鐘表技術(shù)。它的出現(xiàn)是鐘表業(yè)的一次革命。</p><p>  信息時代的到來,使得標準時間的獲取越發(fā)顯得必要。低頻

23、時碼授時技術(shù)的出現(xiàn)極大的方便了人們使用標準時間。它通過接收授時中心以無線電長波傳送的標準時間信號,經(jīng)過自動校準時鐘走時,使它與國家標準地間自動保持同步。由于授時中心的發(fā)射功率是一定的,只有盡量提高接收系統(tǒng)的接收靈敏度,才能使接收范圍最大化,因此高靈敏度的接收系統(tǒng)對授時技術(shù)的廣泛應用與推廣具有重要而深遠的意義。</p><p><b>  2 總體設(shè)計</b></p><p

24、>  由于目前我國BPC低頻時碼尚未公開,我們只能制作接收日本JJY60信號的電波鐘表。日本JJ60發(fā)射臺位于日本福岡發(fā)射頻率60kHz,發(fā)射功率50KM,有效覆蓋半徑1500KM。東京時間早北京時間1小時,所以轉(zhuǎn)換時間需要減去一小時。</p><p>  授時系統(tǒng)的基本原理:在授時中心,由原子鐘產(chǎn)生精確的標準時間,然后對時間信息進行編碼,編碼后的時間信號通過調(diào)制器調(diào)制到低頻載波上,以無線電長波發(fā)射出去,見

25、圖2-1 </p><p>  圖 2-1 發(fā)射臺原理圖 </p><p>  為了實現(xiàn)高靈敏度JJY信號接收系統(tǒng),根據(jù)設(shè)計方案原理,需要從硬件和軟件兩個方面進行制作與調(diào)試。</p><p>  在硬件上,主要分為頻帶處理部分和基帶處理部分。在此裝置中還添加了一個溫度傳感器用來檢測溫度信息。</p><p>  在軟件上,主要完成對JJ

26、Y信號的接收解碼功能和電子時鐘的功能。這個萬年歷除顯示時間外,溫度信息也是一個較為實用的裝置。</p><p>  采用授時信號專用高靈敏度接收解調(diào)芯片,使得電路盡可能簡單穩(wěn)定;選用合適的處理器作為信息處理的核心,通過軟件程序的算法進一步提高接收性能。由此確定設(shè)計思想為:用磁棒天線接收JJY60授時信號,然后通過JJY接收集成芯片進行解調(diào),最后將解調(diào)后的編碼信號送入處理器分析處理,實現(xiàn)標準時間的顯示和一些擴展的功

27、能。</p><p>  系統(tǒng)的核心處理器有很多種,下面列舉了常用的三個方案。根據(jù)其優(yōu)點選擇最合適的處理器。</p><p>  方案一:基于單片機的電波鐘系統(tǒng),利用單片機系統(tǒng)實現(xiàn)時間的解碼控制,其系統(tǒng)總體結(jié)構(gòu)圖如圖2-2所示。</p><p>  圖2-2運用單片機的系統(tǒng)總體結(jié)構(gòu)框圖</p><p>  方案二 基于FPGA的電波鐘系統(tǒng),利

28、用FPGA系統(tǒng)實現(xiàn)時間的解碼控制,其系統(tǒng)總體結(jié)構(gòu)圖如圖2-3所示。</p><p>  圖2-3運用FPGA的系統(tǒng)總體結(jié)構(gòu)框圖</p><p>  FPGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。</p><p>  方案三 基于DSP的電波鐘系統(tǒng),利用DSP系統(tǒng)實現(xiàn)時間的解碼控制,其系統(tǒng)總體結(jié)構(gòu)圖如圖2-4所示。</p><p&g

29、t;  圖2-4運用DSP的系統(tǒng)總體結(jié)構(gòu)框圖</p><p>  DSP片內(nèi)具有快速RAM,通??赏ㄟ^獨立的數(shù)據(jù)總線在兩塊中同時訪問;具有低開銷或無開銷循環(huán)及跳轉(zhuǎn)的硬件支持;快速的中斷處理和硬件I/O支持</p><p>  對于此次系統(tǒng)的要求,單片機就足夠可以運行,所以選擇方案一單片機。采用STC89C53單片機,其運算處理能力可以滿足對JJY編碼信號的解碼和其它—些基本處理控制功能;再

30、加上液晶和按鍵,便可顯示標準時間以及進行一些控制設(shè)置。同時預留一些控制輸出接口,便于增加擴展功能。接收系統(tǒng)通過磁棒天線接收低頻時碼信號,再進行時碼信號的解調(diào),再將此信號送入處理器STC89C53RC進行解碼等處理,得到標準時間信息,消除計時器的時間積累誤差,使接收系統(tǒng)的時間與標準時間保持高度同步,并且還有一個數(shù)字溫度計DS18B20來組成一個測溫系統(tǒng),當完成了接收、放大和解調(diào)的全部工作后,再由LCM12864漢字液晶模組顯示時間和溫度信

31、息。系統(tǒng)運行過程中由液晶實時顯示各種狀態(tài)參量。</p><p><b>  3 硬件設(shè)計</b></p><p>  本系統(tǒng)硬件主要有五大模塊組成:最小單片機系統(tǒng)、溫度采集模塊、鍵盤液晶顯示模塊、整形電路模塊和電源整理模塊。</p><p><b>  3.1接收信號系統(tǒng)</b></p><p> 

32、 接收天線是接收系統(tǒng)的最前端,直接影響著接收機的接收靈敏度和后端的解調(diào)處理,它的制作至關(guān)重要。接收系統(tǒng)將收到的信號轉(zhuǎn)化成鐘表的時間脈沖信號。 </p><p>  3.1.1接收解調(diào)電路</p><p>  天線接收信號后,由IC電路解調(diào)解碼,接收解調(diào)電路如下圖3-1所示。電波鐘表模塊收到的時碼信號,經(jīng)整形電路送單片機處理</p><p>  圖

33、3-1 接收解調(diào)電路</p><p>  3.2單片機最小系統(tǒng)</p><p>  本系統(tǒng)的核心處理器采用STC89C53RC芯片,是STC89系列單片機的其中一種,其RAM大小為512,程序空間大小為15K。同STC89C52RC相比,STC89C53RC有更大的內(nèi)存供程序運行。 因為液晶模塊所用到的字庫需要的內(nèi)存比較大,無法用STC89C52RC,所以選用內(nèi)存比較大的STC89C53

34、RC。</p><p>  3.2.1 時鐘電路</p><p>  單片機時鐘電路是用來配合外部晶體實現(xiàn)振蕩的電路,這樣可以為單片機提供運行時鐘,如果運行時鐘為0 的話,單片機就不工作,當然超出單片機的工作頻率的時鐘也會導致單片機不工作,如圖3-2是單片機時鐘電路, 單片機內(nèi)部有一個高增益反相放大器,為單片機提供時鐘控制信號。輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。在芯片外部

35、XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,成為了一個穩(wěn)定的自激振蕩器。本系統(tǒng)中使用振蕩頻率為12MHz的石英晶體。如圖3-2 單片機的外圍時鐘電路所示。為了讓晶振可以方便快速的起振,在晶振兩端加了2個30pF的起振電容C1、C2。</p><p>  圖3-2 單片機外圍時鐘電路</p><p>  3.2.2 復位電路</p><p>  復位是單片機

36、的初始化操作,其作用是系統(tǒng)中部件都處于一個確定的初始化狀態(tài),單片機所有工作都從初始狀態(tài)開始。本設(shè)計采用按鍵電平復位,電平復位是通過RST端經(jīng)電阻與VCC接通而實現(xiàn)的。其電路圖如圖3-3復位電路所示</p><p>  圖3-3 復位電路</p><p>  單片機復位電路是具有可靠性的設(shè)計,其基本功能是系統(tǒng)上電時提供復位信號直至系統(tǒng)電源穩(wěn)定后撤銷復位信號,為可靠起見電源穩(wěn)定后還要經(jīng)一定的

37、延時才撤銷復位信號以防電源開關(guān)或電源插頭分合過程中引起的抖動而影響復位。如果復位電路中R、C的值選擇不當,使的復位時間過長,單片機將處于循環(huán)復位狀態(tài)。RESET引腳是復位信號的輸入端,復位信號是高電平有效。</p><p><b>  3.2.3單片機</b></p><p>  這次采用的單片機是STC89C53RC基帶信號處理以STC89C53單片機作為處理核心,

38、需要實現(xiàn)以下功能:基本的電子時鐘功能,在沒有接收到授時信號時可正確走時;接收解碼授時信號的功能;顯示時間信息的功能;按鍵設(shè)置功能和一些擴展控制功能。根據(jù)其功能,外圍電路設(shè)計為液晶顯示部分和按鍵設(shè)置部分,并且預留出一些控制端口。</p><p>  3.3 鍵盤和顯示模塊</p><p><b>  3.3.1 鍵盤</b></p><p>  

39、鍵盤是各種電子儀器不可缺少的最常用的、最基本的輸入工具,通過它可以輸入程序和數(shù)據(jù);鍵盤的研制也已經(jīng)達到相當高的水準。此次由于在調(diào)整日期或時間的時候需要運用按鍵來操作,因為比較簡單,就只要運用4個獨立的按鍵就可以完成一些信息的輸入。如下圖3-4按鍵電路</p><p>  圖3-4 按鍵電路</p><p>  4個按鍵分別與單片機的P10-P13口相連,在中間還會各并聯(lián)一個電阻,來保護單

40、片機。</p><p>  按鍵S1:刷新按鍵,按下后,先會出現(xiàn)一些文字,例如“welcome”等等。幾秒延時后,便會回到刷新后的時間和溫度等一些信息的界面。以及調(diào)整完后確定數(shù)據(jù)。</p><p>  按鍵S2:調(diào)節(jié)按鍵。按下該鍵,光標在各數(shù)據(jù)之間移動,可以按S3和S4進行加減更改數(shù)據(jù)。</p><p>  按鍵S3:在更改數(shù)據(jù)模式下,對數(shù)據(jù)進行+操作。</

41、p><p>  按鍵S4:在更改數(shù)據(jù)模式下,對數(shù)據(jù)進行-操作。</p><p>  3.3.2 液晶顯示模塊</p><p>  本次設(shè)計采用的液晶顯示模塊是MzL05-12864 ,他是一塊小型的128X64 點陣的LCD 顯示模組,模組上的 LCM 采用COG 技術(shù)將控制(包括顯存)、驅(qū)動器集成在LCM 的玻璃上,接口簡單、操作方便。</p><

42、p>  在LCM 的基礎(chǔ)上設(shè)計了MzL05-12864 模組,將模組所必需的外圍電容電阻集成到模組上。MzL05-12864 模組與各種MCU 均可進行方便簡單的接口操作。</p><p>  其特點為:1. 128 x 64 點陣FSTN;2. 1/64 占空比1/9 偏壓比;3. 單電源供電對比度編程可調(diào);4. 3.3V 的白色LED 背光,美觀大方。</p><p>  用戶如

43、要點亮 LCD 屏上的某一個點時,實際上就是對該點所對應的顯示RAM 區(qū)中的某一個位進行置1操作;所以就要確定該點所處的行地址、列地址。</p><p>  圖 3-5液晶電路圖</p><p>  表3-6說明模塊引腳為圖3-5的各引腳說明</p><p>  表3-6 說明模塊引腳</p><p>  3.4 溫度采集模塊</p&

44、gt;<p>  3.4.1 溫度傳感器選擇</p><p>  傳統(tǒng)的溫度采集方式采用熱電偶或熱敏電阻,熱電偶一般用于工業(yè)生產(chǎn),但精度低,需冷端補償,電路設(shè)計復雜;熱敏電阻雖然精度較高,但需要標準穩(wěn)定電阻匹配才能使用,而且重復性、可靠性都比較差。采用數(shù)字溫度傳感器DS18B20可以直接輸出數(shù)字溫度信號,與單片機接口,結(jié)構(gòu)簡潔且制作成本較低。因此本系統(tǒng)采用高精度數(shù)字溫度傳感器DS18B20。這種數(shù)字

45、溫度傳感器是DALLAS公司生產(chǎn)的單總線,結(jié)構(gòu)簡單,不需外接電路,具有獨特的單總線接口方式,僅需使用1個端口就能實現(xiàn)與單片機的雙向通訊。</p><p>  3.4.2 溫度采集電路</p><p>  DALLAS半導體公司的數(shù)字化溫度傳感器DS18B20是支持“一線總線”接口的數(shù)字溫度傳感器。測量溫度范圍為-55℃~+125℃,在-10~+85℃范圍內(nèi),精度為±0.5℃,可由

46、程序設(shè)定9~12位的分辨率。它共有三個引腳:一個VCC電源引腳,一個數(shù)據(jù)總線,一個地引腳,可采用外部電源供電,也可采用總線供電方式。DS18B20的內(nèi)部結(jié)構(gòu)主要由64位ROM、溫度傳感器及高速緩存器配置寄存器等部分組成。</p><p>  溫度采集電路模塊如圖3-7所示。DS18B20的2腳接系統(tǒng)中單片機的P1.7口線,用于將采集到的溫度送入單片機中處理,由于DS18B20的DQ端是單線雙向通訊的,其內(nèi)部結(jié)構(gòu)是

47、開漏,因此在1腳和2腳之間接一個5.6K上拉電阻,即完成溫度采集部分硬件電路。其中DQ為數(shù)字信號輸入/輸出端;GND為電源地;VDD為電源輸入端。本設(shè)計采用外部電源供電方式。</p><p>  3-7溫度采集電路模塊如圖</p><p><b>  3.5電源管理模塊</b></p><p>  電波鐘模塊供電需要3V,整機供電為5V,他們之

48、間的需要的電平變換需要一個電源管理模塊。如下圖3-8電源管理模塊所示,5V電源經(jīng)過一個濾波電容給單片機,給單片機輸入5V的電源,但是由于JJY60需要3V的電源供電,所以5V的電源經(jīng)過一個ASM1117芯片 將電壓變成3.3V供給JJY模塊使用。</p><p>  圖3-8 電源管理模塊</p><p><b>  3.6 整形模塊</b></p>&

49、lt;p>  數(shù)字系統(tǒng)中,由于電壓的不穩(wěn)定,矩形脈沖在傳輸中經(jīng)常發(fā)生波形畸變,出現(xiàn)上升沿和下降沿不理想的情況,可用施密特觸發(fā)器整形后,獲得較理想的矩形脈沖。如下圖3-9 為整形電路模塊</p><p>  圖3-9 整形電路模塊</p><p>  1/2LM358構(gòu)成電壓跟隨器,為電波鐘表模塊提供3V電源.電壓跟隨器并不穩(wěn)壓,(模塊本身可以適應電源電壓的小幅變化)主要起電源濾波作用

50、。另1/2LM358構(gòu)成電壓比較器.完成信號的整形。電阻R3接到+3v.以使+3V電壓波動不致影響比較器工作。R5、C3濾除接收信號的尖峰脈沖。</p><p><b>  4 軟件設(shè)計</b></p><p>  軟件系統(tǒng)主要包括jjy60信號接收解碼模塊、按鍵模塊、電子萬年歷模塊、液晶顯示模塊、溫度采集模塊。系統(tǒng)主程序主要包括初始化和其他一些模塊的運行。初始化的主

51、要功能是初始化STC89C53RC單片機、液晶顯示和接收信號模塊;按鍵模塊的主要功能是用戶通過按鍵選取相應需要執(zhí)行的來修改信息;液晶顯示的主要功能是顯示歡迎界面和一些時間的信息。軟件的編程平臺為Keil uVision3,編程語言為C語言。其主程序流程圖如圖4-1所示。</p><p>  4.1 總體程序流程圖</p><p>  圖4-1 主程序流程圖</p><p

52、>  根據(jù)JJY接收系統(tǒng)的基本電子時鐘功能、接收解碼功能、顯示功能和按鍵設(shè)置功能這4項基本功能,來確定程序設(shè)計的基本思想。主程序的設(shè)計思想為在基本的可設(shè)置、顯示時間的基礎(chǔ)上,融合加入JJY解碼程序,并將解碼后的實時時間信息更新到電子鐘表,然后繼續(xù)走時顯示,利用單片機的定時器定時器 定時器是裝有時段或時刻控制機構(gòu)的開關(guān)裝置。它有一個頻率穩(wěn)定的振蕩源,通過齒輪傳動或集成電路分頻計數(shù),當將時間累加到預置數(shù)值時,或指示到預置的時刻處,定時

53、器即發(fā)送信號控制執(zhí)行機構(gòu)。 [全文]可實現(xiàn)精確的電子時鐘。</p><p><b>  4.1.1主程序</b></p><p>  if(dispSec)//秒標志位為1</p><p><b>  {</b></p><p>  LED=~LED;

54、 // 燈亮</p><p>  dispSec = 0; // 秒標志位清零</p><p>  FontSet(0,0x00); // 設(shè)置漢字字符</p><p>  if (JJY_succeed) {PutChar(85,0,'Y')

55、; //如果信號接收成功顯示Y</p><p>  else {PutChar(85,0,'N');} //接收失敗顯示N </p><p>  ShowNum2(50,1,realTime.sec); //顯示秒時間</p><p>  ShowTemp();

56、 //顯示溫度 </p><p><b>  } </b></p><p>  if(dispMin) //分標志位為1</p><p><b>  { </b></p><p>  dispMin = 0;

57、 //分標志位清零</p><p>  FontSet(0,0x00); //設(shè)置漢字字符</p><p>  PutString(0,0,"20 / / "); //設(shè)置固定的字體“20 / /”</p><p>  ShowNum2(17,0,

58、realTime.year%100);</p><p>  ShowNum2(42,0,realTime.month);</p><p>  ShowNum2(67,0,realTime.day); //顯示兩個數(shù)字的年月日</p><p>  PutString(0,2," : : "); //

59、顯示兩個固定符號“:”</p><p>  ShowNum2(50,1,realTime.sec); //顯示兩個數(shù)字的秒分時</p><p>  LunarYearMonthDay(); //陽歷轉(zhuǎn)換成陰歷</p><p>  if (realTime.year < 100)</p>&

60、lt;p><b>  { </b></p><p>  FontSet(2,0xff); //選擇自定義的漢字字符(realTime.isLunarLeap) PutChar(0,4,3); </p><p>  else PutChar(0,4,4); //顯示瑞年或平年</p&

61、gt;<p>  FontSet(0,0x00); //設(shè)置漢字字符</p><p>  PutString(17,4," / "); //設(shè)置固定的字符“1”</p><p>  ShowNum2(17,2,realTime.lunarMonth); </p&g

62、t;<p>  ShowNum2(41,2,realTime.lunarDay); //顯示陰歷的月和日</p><p><b>  } else</b></p><p><b>  {</b></p><p>  FontSet(0,0x00); </p><p>  

63、PutString(0,4," ??/??"); //信號錯誤的時候</p><p>  FontSet(2,0xFF); //</p><p>  PutChar(0,4,4);//</p><p><b>  }</b></p><p>  4.2 JJY接

64、收信號模塊</p><p>  4.2.1 JJY編碼技術(shù)與格式</p><p>  碼元的判斷:算法實現(xiàn)采用“采樣法”,其基本思想是:在秒同步后,從找到上升沿便每隔10ms對信號讀取采樣—次,一共采樣100次,即對—個碼元采樣100次,然后統(tǒng)計高低電平數(shù)即可判別 1碼、0碼、 P碼。通過設(shè)置計數(shù)門限,便可使抗干擾效果達到最佳。下圖 4-2 碼元的判斷</p><p&g

65、t;  圖4-2 碼元的判斷</p><p>  JJY編碼信號用—幀載荷當前的時間信息,這些信息以BCD碼形式表示。每幀的時間長度為1分鐘,分為60個碼元,每個碼元時間長度為1秒。碼元為脈沖信號,每秒的開始對應于一位脈沖信號的上升沿,這樣可以與標準時間精確同步。不同的脈沖寬度表示不同的碼元。如下圖4-2 JJY編碼技術(shù)與格式</p><p>  圖4-2 JJY編碼技術(shù)與格式</p

66、><p>  4.2.2編碼技術(shù)的程序</p><p>  if (JJY_newValue != 0) //當前碼元不為0</p><p><b>  {</b></p><p>  switch(JJY_sec)</p><p><b>  {</b>&l

67、t;/p><p>  case 23: //日</p><p>  JJY_annualDate = 200;</p><p><b>  break;</b></p><p>  case 24: //日</p><p&g

68、t;  JJY_data = 100;</p><p><b>  break;</b></p><p>  case 26: //日</p><p>  case 42: //年份</p><p>  JJY_data += 80;</p

69、><p><b>  break;</b></p><p>  case 2: //分鐘</p><p>  case 27: //日</p><p>  case 43: //年</p><

70、;p>  JJY_data += 40;</p><p>  JJY_pa = !JJY_pa;</p><p><b>  break;</b></p><p>  case 3: //分鐘</p><p>  case 13: //小時<

71、;/p><p>  case 28: //日</p><p>  case 44: //年</p><p>  JJY_data += 20;</p><p>  JJY_pa = !JJY_pa;</p><p><b>  break; &l

72、t;/b></p><p><b>  ……</b></p><p>  上面程序?qū)氖菆D4-2 JJY編碼技術(shù)格式的說明,例如下圖 4-3接收的時間為42分鐘時 接收到的BCD碼元為10000010</p><p>  圖4-3 舉例42分鐘時的脈沖</p><p>  4.2.3JJY接收程序流程圖<

73、/p><p>  JJY接收解碼程序的設(shè)計重點是:對受干擾信號的正確判決接收,通過一定算法實現(xiàn);保證與授時中心的標準時間同步,即較好的實現(xiàn)秒同步和分鐘同步(位同步和幀同步)。如下圖4-4為未受干擾的信號,圖4-5為受到干擾的信號 </p><p>  圖4-4未受干擾的信號</p><p>  圖4-5 受到干擾的信號</p>&

74、lt;p>  下圖4-6 JJY接收程序流程圖</p><p>  圖4-6 JJY接收程序流程圖</p><p>  當完成1幀的正確接收后,每收到1位信息,如果信息沒有錯誤,即可更新秒。使顯示的秒與時碼信號的秒同步。無論分鐘還是秒的修正,是滯后修正,這樣做是為了免受干擾影響。</p><p>  秒起始的范圍,為每秒的第94次中斷至下秒的7次中斷。分鐘開始

75、,連續(xù)收到2個P碼定為1幀的開始,此時秒為1。</p><p>  4.2.4 JJY信號解碼程序</p><p>  由于完成1幀信息的解調(diào)時,實際時間已到下一分鐘。故而,顯示時間慢了1分鐘.程序還要加1分鐘。東京時間早北京時間1小時,所以轉(zhuǎn)換時間需要減1小時。</p><p>  if (JJY_PW>10 && JJY_PW<30)

76、</p><p><b>  { </b></p><p>  JJY_newValue = Pos; //P 碼</p><p><b>  } </b></p><p><b>  else </b></p><p&

77、gt;<b>  {</b></p><p>  if(JJY_PW>40 && JJY_PW<60) </p><p><b>  { </b></p><p>  JJY_newValue = 1; //1 碼</p><p><

78、;b>  } </b></p><p><b>  else</b></p><p><b>  {</b></p><p>  if(JJY_PW>70 && JJY_PW<90)</p><p><b>  { </b><

79、;/p><p>  JJY_newValue = 0; //0 碼</p><p><b>  } </b></p><p><b>  else </b></p><p><b>  {</b></p><p>  JJ

80、Y_error = 1; // 誤碼</p><p>  JJY_newValue = 0x28;//0x28+0x30='X' //為‘X’</p><p>  JJY_Leapsecdisp = ' ';</p><p>  JJY_Frame =

81、 ' ';</p><p><b>  } </b></p><p><b>  4.3 電子日歷</b></p><p>  由于時碼信號微弱接收時常中斷.為此需要套獨立的時間系統(tǒng).確保收不到信號時顯示時間。當收到完時碼信號時,實時時間被時碼信號修正。主要用單片機的中斷程序設(shè)計出的一種計時器,此設(shè)計還有

82、農(nóng)歷功能,可任意查詢對應日期的農(nóng)歷</p><p>  初始化后首先進入對日期修改,通過鍵盤的控制,可以對年月日時分秒進行設(shè)置;若無操作跳過,完成讀取和寫入時間參數(shù),通過顯示程序顯示。此軟件程序包括閏年和平年之分,還會顯示生肖以及一些重要的節(jié)日等等。</p><p>  4.3.1 電子日歷程序</p><p>  realTime.isLunarLeap = 0;

83、</p><p>  sum = DYearDayCount(realTime.year, realTime.month, realTime.day); </p><p>  //計算距離2000年1月1日多少天</p><p>  realTime.week = (sum + 6) % 7;//2000/1/1 星期六</p><p> 

84、 shiftday = (sum + 0) % 8; // 計算倒班</p><p>  //2000年一月一日至二月5日單獨處理 二月六日春節(jié)</p><p>  if (sum < 6) //農(nóng)歷11月</p><p><b>  {</b></p><p>  realTime.lunarMont

85、h = 11;</p><p>  realTime.lunarDay = sum + 25;//2000/1/1 ->農(nóng)11/25</p><p>  realTime.Animals = 3;</p><p><b>  return ;</b></p><p><b>  }</b

86、></p><p><b>  4.4 鍵盤</b></p><p>  這次采用的鍵盤為獨立的按鍵,用來調(diào)節(jié)液晶的畫面以及一些時間的調(diào)整</p><p>  4.4.1 如下圖鍵盤程序流程圖</p><p>  圖4-7 鍵盤流程圖</p><p>  4.4.2 鍵盤功能實現(xiàn)程序<

87、/p><p>  if (keyup == 0) //鍵盤設(shè)置</p><p><b>  {</b></p><p>  switch(keystau)</p><p><b>  {</b></p><p><b&

88、gt;  case 1:</b></p><p>  if (++realTime.year > 99) realTime.year = 0;</p><p><b>  break;</b></p><p><b>  ........</b></p><p>  if (key

89、down == 0) //鍵盤按下</p><p><b>  {</b></p><p>  switch(keystau)</p><p><b>  {</b></p><p><b>  case 1:</b></p&

90、gt;<p>  if (realTime.year == 0) realTime.year = 99;</p><p>  else realTime.year--;</p><p><b>  break;</b></p><p>  .......... </p><p><b>  4.5

91、液晶顯示</b></p><p>  4.5.1液晶顯示流程圖</p><p>  電波鐘各項時間數(shù)據(jù)以及溫度信息,通過液晶顯示程序顯示。液晶顯示程序流程圖如圖4-7所示。STC89C53RC將信息發(fā)送給液晶顯示模塊,在LCD上顯示時間、價格、單價等各種狀態(tài)量。液晶顯示模塊的流程圖如圖4-8所示。</p><p>  圖4-7 液晶顯示流程圖

92、 </p><p>  4.5.2 液晶顯示程序</p><p>  在x、y為起始坐標處寫入一串標準字符</p><p>  void PutString(unsigned char x,unsigned char y,char *p)</p><p><b>  {</b></p><p&g

93、t;  while(*p!=0)</p><p>  {PutChar(x,y,*p);</p><p>  x += X_Witch;</p><p>  if((x + X_Witch) > Dis_X_MAX)</p><p>  { x = 0;</p><p>  if((Dis_Y_MAX -

94、 y) < Y_Witch) break;</p><p>  else y += Y_Witch;</p><p><b>  }p++;}}</b></p><p><b>  4.6溫度采集</b></p><p>  4.6.1溫度讀寫操作</p><p> 

95、 對軟件的設(shè)計主要根據(jù)其操作時序和操作協(xié)議編寫的。其時序分為初始化操作時序,讀操作時序,寫操作時序。如下圖4-8溫度采集流程圖</p><p>  圖4-8 溫度采集流程圖</p><p>  初始化主要由復位脈沖來實現(xiàn),從屬器件通過發(fā)出同時的存在脈沖作出相應。初始化中先將總線復位置1,拉高數(shù)據(jù)線,稍做延時后將總線置0,將數(shù)據(jù)線拉低,延時保持480μs以上,向DS18B20發(fā)出一持續(xù)48

96、0us的低電平復位脈沖,再將總線置1,釋放數(shù)據(jù)線,延時后判斷總線是否為0,為0則初始化成功。</p><p>  以下是DS18B20的初始化關(guān)鍵代碼:</p><p><b>  bit err;</b></p><p>  DQ=0; //主機復位</p><p>  Delay10uS(60); //延時 4

97、80us~960uS</p><p>  DQ = 1; //拉高總線</p><p>  Delay10uS(10);</p><p>  err = DQ; // err=1 未檢出</p><p>  Delay10uS(20);</p><p>  return err;</p>

98、<p>  其中delay_18B20()是DS18B20延遲子函數(shù),在初始化時發(fā)初始化脈沖,延時后檢測DQ是否為0,若為0則表示輸出了存在脈沖,則當DQ為0時初始化成功。</p><p>  讀操作子程序的主要功能是讀取字節(jié)數(shù)據(jù)。在讀操作流程中,總線應先置0,單片機從DS18B20讀數(shù)據(jù)時,將數(shù)據(jù)線從高拉低即啟動讀時序。讀數(shù)據(jù)后再置1,為單片機檢測DS18B20的輸出電平作準備,在確認循環(huán)8次后結(jié)束

99、讀字節(jié)的操作。</p><p>  讀溫度子程序的主要功能是讀出RAM中的字節(jié),在讀出時需進行CRC校驗,校驗有錯時不進行溫度數(shù)據(jù)的改寫。在DQ置1后,若DQ恒等于1,則將數(shù)據(jù)存入dat。8次循環(huán)讀完,稍作延時后返回讀出的十進制數(shù)據(jù)。</p><p>  DS18B20寫操作流程圖如圖4-9所示。寫操作子程序的主要功能是寫字節(jié)數(shù)據(jù)。其流程與讀操作子程序流程大致相同。</p>

100、<p>  圖4-9寫操作流程圖</p><p>  在寫操作流程中,總線應先置0,單片機從DS18B20讀數(shù)據(jù)時,將數(shù)據(jù)線從高拉低即啟動寫時序。寫數(shù)據(jù)后再置1,釋放數(shù)據(jù)線。在確認循環(huán)8次后結(jié)束寫字節(jié)的操作。</p><p>  以下是DS18B20寫一個字節(jié)的關(guān)鍵代碼:</p><p>  for (i=8;i>0;i--)</p>

101、<p>  { DQ = 0; //給脈沖信號</p><p>  DQ = dat&0x01;</p><p>  delay_18B20(5); //延時</p><p>  DQ = 1; //給脈沖信號</p><p>  dat>&

102、gt;=1; } //右移一位</p><p>  DQ = dat&0x01表示利用與運算取出要寫的某位二進制數(shù)據(jù),并將其送到數(shù)據(jù)線上等待DS18B20采樣。寫操作的主要功能是將溫度數(shù)據(jù)賦予DQ,然后在8次循環(huán)完畢再返回。</p><p><b>  4.6.2溫度轉(zhuǎn)換</b></p><p>  溫度轉(zhuǎn)換采用

103、12位分辨率時的轉(zhuǎn)換時間約為750ms,在本程序設(shè)計中采用1s顯示程序延時法等待轉(zhuǎn)換的完成。溫度轉(zhuǎn)換流程圖如圖4-10所示。</p><p>  圖4-10 溫度轉(zhuǎn)換流程圖</p><p>  溫度轉(zhuǎn)換流程圖中跳過ROM的命令代碼為CCH,啟動溫度轉(zhuǎn)換的命令代碼為44H.,讀取溫度寄存器的命令代碼為BEH。</p><p>  以下是讀取ds18b20當前溫度的關(guān)

104、鍵代碼:</p><p>  a=ReadOneChar(); //讀取溫度值低位</p><p>  b=ReadOneChar(); //讀取溫度值高位</p><p>  temp1=b<<4;</p><p>  temp1+=(a&0xf0)>>4;</p>&l

105、t;p>  temp2=a&0x0f;</p><p>  temp=((b*256+a)>>4); //當前采集溫度值除16得實際溫度值</p><p>  其中ReadOneChar()是DS18B20讀取一個字節(jié)子程序,b、a分別是溫度值的高低位。此程序?qū)囟纫迫刖彺婕拇嫫骱?,分別將高低位賦給臨時值,再進行十六進制與十進制的轉(zhuǎn)換。</p>

106、<p><b>  5 制作和調(diào)試</b></p><p>  5.1 硬件電路的布局與焊接</p><p>  5.1.1 電路組成</p><p>  為了便于焊接與調(diào)試,把電路劃分為五大模塊:</p><p><b>  單片機最小系統(tǒng)模塊</b></p><p

107、><b>  電源模塊 </b></p><p><b>  整形電路模塊</b></p><p><b>  信號接收模塊</b></p><p>  鍵盤模塊 液晶模塊和溫度模塊</p><p>  5.1.2 系統(tǒng)制作</p><p>  根

108、據(jù)系統(tǒng)的設(shè)計方案,本系統(tǒng)的制作主要是硬件的制作,包括三個步驟:畫系統(tǒng)原理圖,PCB電路板的制作,各元器件的焊接和模塊的連接。如果系統(tǒng)電路美觀而且更能保證穩(wěn)定性,最后就可以焊接元器件。</p><p>  其中制作集成PCB電路板過程最為復雜,在學習板的調(diào)試過程完成后根據(jù)已有的電路,將其通過畫圖軟件得到原理圖并進一步轉(zhuǎn)化成PCB圖。在得到PCB電路圖后,通過1:1比例打印到熱轉(zhuǎn)印紙,熱轉(zhuǎn)印紙轉(zhuǎn)印到已經(jīng)截好的覆銅板上

109、,放進腐蝕液中進行腐蝕得到成型電路板,最后根據(jù)板上的焊盤進行鉆孔,完成PCB電路板的制作。</p><p><b>  5.1.3軟件調(diào)試</b></p><p>  焊接好后所有電路之后,將模塊連接起來,對電路進行檢查,主要檢測是否短路和斷路,檢測沒問題后,將對電路進行調(diào)試。調(diào)試的軟件采用Keil uVision3軟件。在調(diào)試過程中會遇到很多問題,如信號接收不理想,

110、想要穩(wěn)定的接收信號,最好能在天氣好的時候在室外接收</p><p><b>  6 結(jié)論</b></p><p>  本設(shè)計按照任務書的要求,基本完成任務。課題以51單片機為控制中心,結(jié)合無線的信號接收模塊基本完成各項指標,能在液晶上穩(wěn)定的顯示時間和溫度信息。 </p><p>  由于時間和條件的不足,沒有將課題做進一步研究。比如,沒有設(shè)置自

111、動播報的功能。比如,在溫度采集的時候沒有提高其精確度。但這些措施勢必要增加系統(tǒng)設(shè)計的難度和成本,由于時間有限所以沒有采用。</p><p>  通過本次課程設(shè)計,又使我學到了許多書本上無法學到的知識,也使也深該體會到單片機技術(shù)應用領(lǐng)域的廣泛,不僅使我對學過的單片機知識有了很多的鞏固,同時也對單片機這一門課程產(chǎn)生了更大的興趣。有待在以后的工作學習。致 謝</p><p>  四年的讀書生活

112、在這個季節(jié)即將劃上一個句號,而于我的人生卻只是一個逗號,我將面對又一次征程的開始。四年的求學生涯在師長、親友的大力支持下,走得辛苦卻也收獲滿囊,在論文即將付梓之際,思緒萬千,心情久久不能平靜。 偉人、名人為我所崇拜,可是我更急切地要把我的敬意和贊美獻給一位平凡的人,我的導師。我不是您最出色的學生,而您卻是我最尊敬的老師。您治學嚴謹,學識淵博,思想深邃,視野雄闊,為我營造了一種良好的精神氛圍。授人以魚不如授人以漁,置身其間,耳濡目染,潛移

113、默化,使我不僅接受了全新的思想觀念,樹立了宏偉的學術(shù)目標,領(lǐng)會了基本的思考方式,從論文題目的選定到論文寫作的指導,經(jīng)由您悉心的點撥,再經(jīng)思考后的領(lǐng)悟,常常讓我有“山重水復疑無路,柳暗花明又一村”。</p><p>  此外還要感謝幫助過我的同學,尤其是在實驗室的時候,當有軟件調(diào)試出問題后,總會有熱情的同學替我找出錯誤,在硬件連接時,也會有同學幫我找到我所缺失的元器件,謝謝你們。</p><p&

114、gt;  愿把我的幸福和快樂都送給關(guān)心和支持過我的人,也愿他們一切如意。 </p><p><b>  參考文獻</b></p><p>  [1]石永海.JJY60電波鐘表萬年歷程序[J].電子制作, 2011,5,15(6):18~20. </p><p>  [2] Green Yue.Performance of UWB ipulse

115、radio in the presence of jamming[J].IWUWBS2003. Oulu,Finland,2003.24(7):12~15.</p><p>  [3]邢群科,溫天江.時鐘驅(qū)動的原理和實現(xiàn)[J].微計算機信息,2005,4,21(7):</p><p><b>  9~12.</b></p><p>  [4]

116、中國科學院國家授時中心,電波鐘[EB/OL],[2011].www.time.ac.cn</p><p>  [5] 劉軍.低頻時碼授時系統(tǒng)中的若干理論與工程設(shè)計實驗研究[D].西安:中國科學院研究生院,2002.</p><p>  [6] 馮平.低頻時碼系統(tǒng)附加擴頻授時研究[D].西安:中國科學院國家授時中心,2008. </p><p>  [8] 郭黎利,

117、莊賢偉, 王百靈.基于51單片機 的JJY 低頻電波授時接收機的設(shè)計[J].自動化技術(shù)與應用,2010,9,29(8): 8~11.</p><p>  [9] 吳承璇, 呂斌, 曲君樂, 王秀芬.以電波鐘為基準的時間控制器[J].山東科學報,2005,5,15[5]: 15~17.</p><p>  [10] 馬忠梅. 單片機的C 語言應用程序設(shè)計[M] . 北京: 北京航空航天大學出

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論