基于單片機的時鐘系統(tǒng)設(shè)計.doc

上傳人:good****022 文檔編號:116653538 上傳時間:2022-07-06 格式:DOC 頁數(shù):59 大小:1.27MB
收藏 版權(quán)申訴 舉報 下載
基于單片機的時鐘系統(tǒng)設(shè)計.doc_第1頁
第1頁 / 共59頁
基于單片機的時鐘系統(tǒng)設(shè)計.doc_第2頁
第2頁 / 共59頁
基于單片機的時鐘系統(tǒng)設(shè)計.doc_第3頁
第3頁 / 共59頁

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《基于單片機的時鐘系統(tǒng)設(shè)計.doc》由會員分享,可在線閱讀,更多相關(guān)《基于單片機的時鐘系統(tǒng)設(shè)計.doc(59頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、 班 級 09521 學 號 09521033 本科畢業(yè)設(shè)計論文 題 目 基于單片機的時鐘系統(tǒng)設(shè)計 學 院 xxxxxxxx 專 業(yè) xxxxxxxxx 學生姓名 xx 導師姓名 何聯(lián)會 畢業(yè)設(shè)計(論文)誠信聲明書本人聲明:本人所提交的畢業(yè)論文基于單片機的時鐘系統(tǒng)設(shè)計 是本人在指導教師指導下獨立研究、寫作的成果,論文中所引用他人的無論以何種方式發(fā)布的文字、研究成果,均在論文中加以說明;有關(guān)教師、同學和其他人員對本文的寫作、修訂提出過并為我在論文中加以采納的意見、建議,均已在我的致謝辭中加以說明并深致謝意。本論文和資料若有不實之處,本人承擔一切相關(guān)責任。 論文作者: (簽字) 時間: 年 月 日

2、指導教師已閱: (簽字) 時間: 年 月 日西 安 電 子 科 技 大 學 長 安 學 院 畢業(yè)設(shè)計(論文)工作計劃學生姓名 馬江 學號 09521033 指導教師 何聯(lián)會 職稱 講師 學院 長安學院 專業(yè) 電子科學與技術(shù) 題目名稱 基于單片機的時鐘系統(tǒng)設(shè)計 一、畢業(yè)設(shè)計(論文)進度起 止 時 間 工 作 內(nèi) 容1.10 3.5 檢索、閱讀相關(guān)技術(shù)資料3.5 3.18 檢索、閱讀相關(guān)技術(shù)資料,方案研究3.18 4.1 方案研究、熟悉開發(fā)系統(tǒng)硬件電路4.1 4.15 設(shè)計電路圖4.15 4.29 模塊電路試驗4.29 5.12 電路原理圖和PCB設(shè)計,軟件設(shè)計 電路調(diào)試,硬件調(diào)試,軟件調(diào)試5.1

3、2 5.24 撰寫論文、論文答辯二、主要參考書目(資料)1、蔣建文等,CAN總線通信協(xié)議分析和實現(xiàn),計算機工程,2002年02期2、陽憲惠,現(xiàn)場總線技術(shù)及其應(yīng)用(第2版),清華大學出版社,2008.103、馬忠梅等,單片機的C語言應(yīng)用程序設(shè)計,北京航空航天大學出版社,2004年3月4、楊文龍,單片機技術(shù)及應(yīng)用,電子工業(yè)出版社,2008年2月5、孫肖子,電子設(shè)計指南,高等教育出版社,2006年1月6、鄔寬明,CAN總線原理和應(yīng)用系統(tǒng)設(shè)計北京舫空航天大學出版社,1996三、主要儀器設(shè)備及材料硬件電路實驗板、集成電路、萬用表、單片機、計算機四、教師的指導安排情況(場地安排、指導方式等)檢索、閱讀資料

4、期間,可以在圖書館、自習教室進行;設(shè)計、實驗階段場地在F313每周老師和每個畢業(yè)設(shè)計同學至少討論一次五、對計劃的說明注:本計劃一式兩份,一份交學院,一份學生自己保存(計劃書雙面打?。┪?安 電 子 科 技 大 學 長 安 學 院畢業(yè)設(shè)計(論文)任務(wù)書學生姓名 馬江 學號 09521033 指導教師 何聯(lián)會 職稱 講師 學院 長安學院 專業(yè) 電子科學與技術(shù) 題目名稱 基于單片機的時鐘設(shè)計 任務(wù)與要求任務(wù):利用單片機和鐘芯片實現(xiàn)數(shù)字時鐘,并且具有調(diào)節(jié)時間的功能。要求;(1)查閱相關(guān)文獻,熟悉課題背景、任務(wù);(2)深入學習51系列單片機原理及C語言并且會用Keil軟件進行編程;(3)學習時鐘芯片和L

5、ED的工作原理;(4)學會利用protel進行原理圖繪制,并且能夠利用protues對其進行仿真;要求:1、了解各種通信協(xié)議,設(shè)計現(xiàn)場總線適配器方案; 2、根據(jù)系統(tǒng)方案,設(shè)計電路原理圖和pcb; 3、調(diào)試電路,確定電路參數(shù); 4、設(shè)計相應(yīng)軟件,并進行調(diào)試。開始日期 2013年1月10日 完成日期 2013年5月24日 院長(簽字) 2013年 月 日注:本任務(wù)書一式兩份,一份交學院,一份學生自己保存。西 安 電 子 科 技 大 學 長 安 學 院畢業(yè)設(shè)計(論文)中期檢查表學 院 長安學院專 業(yè)電子科學與技術(shù)學生姓名馬江學 號09521033班 級09521導師姓名何聯(lián)會職 稱講師單 位理學院題

6、目名稱基于單片機的時鐘系統(tǒng)設(shè)計檢 查 內(nèi) 容檢 查 結(jié) 果題目是否更換及更換原因否學生出勤情況出勤正常進 度 評 價(完成總工作量的百分比)65%質(zhì)量評價、進度描述方案已完善,正在制作PCB,正在完善數(shù)據(jù)采集模塊功能,初步完成硬件調(diào)試;初步完成軟件功能模塊總 體 評 價(按優(yōu)、良、中、及格、不及格五擋評價)良存在的問題與建議進一步完善軟、硬件設(shè)計,抓緊時間撰寫論文。學 院 審 核(蓋章)注:此表由指導教師填寫,5月15日前交學院辦公室,中期檢查成績將作為畢業(yè)設(shè)計總成績的一部分;此表裝訂入畢業(yè)設(shè)計(論文)中。西 安 電 子 科 技 大 學 長 安 學 院畢業(yè)設(shè)計(論文)成績登記表學 院長 安 學

7、 院專 業(yè)電子科學與技術(shù)姓 名馬江學 號09521033成 績題目名稱基于單片機的時鐘系統(tǒng)設(shè)計指導教師何聯(lián)會職 稱講師指導教師評語及對成績的評定意見你在論文撰寫的過程當中態(tài)度認真,能夠充分利用時間查找資料。每次導師見面你都能及時參加,并通過電話、郵件等方式積極主動與指導老師聯(lián)系,匯報論文進度。對于指導老師提出的問題和不足之處,能夠及時修改和完善。作者利用計算機以及相關(guān)資料文獻等工具,結(jié)合Visual C+、Keil、Protel 99、STC-ISP等軟件對畢業(yè)論文進行了全面的設(shè)計,并實現(xiàn)了各項功能。論文內(nèi)容豐富,設(shè)計新穎,布局合理。整個軟件與硬件的設(shè)計表現(xiàn)出作者較扎實的專業(yè)知識和語言功底。論

8、文格式符合規(guī)范化要求。建議論文成績?yōu)椤?”。:簽名 年 月 日評閱人評語及成績評定意見 簽名 年 月 日答辯小組意見簽名 年 月 日學院答辯委員會意見答辯委員會主任簽名 (學院蓋章) 年 月 日注:學院、專業(yè)名均寫全稱;成績登記表雙面打印ABSTRACT摘要隨時代的發(fā)展,生活節(jié)奏的加快,人們的時間觀念愈來愈強;隨自動化、智能化技術(shù)的發(fā)展,機電產(chǎn)品的智能度愈來愈高,用到時間提示、定時控制的地方也會愈來愈多,因此,設(shè)計開發(fā)數(shù)字時鐘具有良好的應(yīng)用前景。由于單片機價格的低成本、高性能,在自動控制產(chǎn)品中得到了廣泛的應(yīng)用。本設(shè)計利用Atmel公司的AT89S52單片機對電子時鐘進行開發(fā),設(shè)計了實現(xiàn)所需功能

9、的硬件電路,應(yīng)用匯編語言進行軟件編程,并用實驗板進行演示、驗證。在介紹本單片機的發(fā)展情況基礎(chǔ)上,說明了本設(shè)計實現(xiàn)的功能,以及實驗板硬件情況,并對各功能電路進行了分析。主要工作放在軟件編程上,用實驗板實現(xiàn)時間、日期、定時及它們的設(shè)定功能,詳細對軟件編程流程以及調(diào)試進行了說明,并對計時誤差進行了分析及校正,提出了定時音與顯示相沖突問題及解決方案。實驗證明效果良好,可以投入使用。關(guān)鍵詞:單片機 AT89C52 電子時鐘 ABSTRACTTraditional digital electronic clock with a greater amount of discrete components,

10、not only takes up a lot of space and utilization than low, as the system design complexity continues to improve, the clock system design using traditional methods are difficult to meet the design requirements . Microcontroller is a CPU, RAM, ROM, timer / counter and a variety of interfaces in one of

11、 the micro-controller. Its small size, low cost, powerful, widely used in smart products and industrial automation. And 51 of the microcontroller MCU is the most typical and most representative one. This design is based on 51 single-chip electronic clock, using both assembly language for the program

12、ming language, to overcome the drawbacks of conventional electronic clock. The design of the basic functions to be achieved for the microcontroller timer display. SCM can reflect the scalability advantages of electronic clock, add time to adjust, the use of buttons, adjust the date and time of year,

13、 month; to join the lunar calendar display. Keywords: microcontroller, electronic clock目 錄i目 錄第一章 緒論11.1 課題背景11.2 設(shè)計任務(wù)11.3 課題意義11.4 本章小節(jié)2第二章 總體方案32.1 系統(tǒng)的設(shè)計思路32.2 系統(tǒng)硬件描述32.3 系統(tǒng)軟件描述32.4 設(shè)計流程和預(yù)期成果4第三章 系統(tǒng)硬件設(shè)計63.1 芯片的選擇63.2 實驗板電路原理圖93.3 功能電路分析93.3.1 時鐘電路93.3.2 復(fù)位電路103.3.3 鍵盤電路113.3.4 液晶顯示屏LCD1602113.4 本章

14、小節(jié)14第四章 軟件設(shè)計154.1 軟件設(shè)計總體說明154.2 主程序軟件實現(xiàn)164.2.1主程序流程圖164.2.2主程序代碼174.4 LCD1602模塊軟件實現(xiàn)194.4.1 LCD1602液晶顯示模塊子程序流程圖194.4.2 LCD1602液晶顯示模塊子程序代碼194.5 DS12887模塊軟件實現(xiàn)214.5.1 DS12887模塊子程序流程圖214.5.2 DS12887模塊子程序代碼22第五章 系統(tǒng)調(diào)試315.1 最小系統(tǒng)的調(diào)試315.2 液晶顯示模塊調(diào)試315.3 整體調(diào)試31結(jié)束語32致謝34參考文獻36參考文獻41第一章 緒論1.1 課題背景單片機自1976年由Intel公

15、司推出MCS-48開始,迄今已有二十多年了。由于單片機集成度高、功能強、可靠性高、體積小、功耗低、使用方便、價格低廉等一系列優(yōu)點,目前已經(jīng)滲入到人們工作和生活的方方面面,單片機的應(yīng)用領(lǐng)域已從面向工業(yè)控制、通訊、交通、智能儀表等迅速發(fā)展到家用消費產(chǎn)品、辦公自動化、汽車電子、PC機外圍以及網(wǎng)絡(luò)通訊等廣大領(lǐng)域。單片機有兩種基本結(jié)構(gòu):一種是在通用微型計算機中廣泛采用的,程序存儲器和數(shù)據(jù)存儲器共用一個存儲器空間的結(jié)構(gòu),稱為“馮諾依曼”(Von Neumann)結(jié)構(gòu)。另一種是將程序存儲器和數(shù)據(jù)存儲器截然分開,分別尋址的結(jié)構(gòu),稱為“哈佛”(Harvard)結(jié)構(gòu),目前的單片機采用此種結(jié)構(gòu)為多。本文討論的單片機

16、多功能時鐘系統(tǒng)的核心是目前應(yīng)用極為廣泛的51系列單片機,配置了外圍設(shè)備,構(gòu)成了一個可編程的計時定時系統(tǒng),具有體積小,可靠性高,功能多等特點。不僅能滿足所需要求而且還有很多功能可供擴展,有著廣泛的應(yīng)用領(lǐng)域。1.2 設(shè)計任務(wù)熟練掌握相關(guān)知識內(nèi)容。1.3 課題意義在日常生活和工作中,我們常常用到定時控制,如擴印過程中的曝光定時等。早期常用的一些時間控制單元都使用模擬電路設(shè)計制作的,其定時準確性和重復(fù)精度都不是很理想,現(xiàn)在基本上都是基于數(shù)字技術(shù)的新一代產(chǎn)品,隨著單片機性價比的不斷提高,新一代產(chǎn)品的應(yīng)用也越來越廣泛。大則可以構(gòu)成復(fù)雜的工業(yè)過程控制系統(tǒng),完成復(fù)雜的控制功能;小則可以用于家電控制,甚至可以用

17、于兒童電子玩具。它功能強大、體積小、質(zhì)量輕、靈活好用,配以適當?shù)慕涌谛酒?,可以?gòu)成各種各樣、功能各異的微電子產(chǎn)品。隨著電子技術(shù)的飛速發(fā)展,家用電器和辦公電子設(shè)備逐漸增多,不同的設(shè)備都有自己的控制器,使用起來很不方便。這些具有人們所需要的智能化特性的產(chǎn)品減輕了人的勞動,擴大了數(shù)字化的范圍,為家庭數(shù)字化提供了可能。根據(jù)這種實際情況,設(shè)計了一個單片機多功能時鐘系統(tǒng),它有基本的時間功能,還有定時功能,既可作為鬧鈴,也可擴展為定時對家電等電氣產(chǎn)品的自動控制,可以避免多種控制器的混淆,利用一個控制器對多路電器進行控制;可增加溫度傳感器,進行實時溫度顯示,進一步擴展為利用不同的溫度某些電氣產(chǎn)品進行自動控制;

18、也可增加濕度傳感器,進行實時濕度顯示,以便對濕度進行控制,方便人們的生活。1.4 本章小節(jié)本章主要介紹了課題背景、設(shè)計任務(wù)和課題意義,對單片機的優(yōu)點及結(jié)構(gòu)作了簡要敘述,也對本系統(tǒng)的應(yīng)用及概況進行了說明。第二章 總體方案2.1 系統(tǒng)的設(shè)計思路本次設(shè)計完成電子時鐘年、月、日、時、分、秒的顯示功能。由于DS12887時鐘芯片內(nèi)含一個鋰電池,所以斷電情況可以運行十年以上不丟失數(shù)據(jù),重新上電后不用校正時鐘。硬件電路包括單片機最小系統(tǒng)電路、DS12887實時時鐘芯片電路模塊、LCD1602液晶顯示模塊、按鍵模塊;軟件部分主要通過c程序的編程實現(xiàn)對時鐘芯片進行時間數(shù)據(jù)的讀和寫,然后通過液晶顯示程序?qū)r間顯示

19、出來,通過按鍵操作實現(xiàn)功能的轉(zhuǎn)換和屏幕的切換。設(shè)計中結(jié)合硬件、軟件的分步調(diào)試,達到要求的控制效果。2.2 系統(tǒng)硬件描述基于單片機系統(tǒng)的電子時鐘基本結(jié)構(gòu)框圖如圖2.1所示:圖2.1 系統(tǒng)基本結(jié)構(gòu)框圖該系統(tǒng)所需要的器件包括單片機STC89C52芯片一塊,實時時鐘芯片DS12887一塊,液晶顯示屏LCD1602一塊, 12mHZ的晶振一個,排針排線若干組,電容電阻若干,導線若干,發(fā)光二級管一個,三極管一個,按鈕4個。2.3 系統(tǒng)軟件描述系統(tǒng)程序?qū)崿F(xiàn)三部分功能:時鐘部分實現(xiàn)年、月、日、時、分、秒、星期顯示和設(shè)置功能;鍵盤部分主要為時鐘設(shè)置;功能整體程序流程框圖如圖2.2所示。單 片 機時鐘日期退出模式

20、按鍵操作顯示時間日期輸入輸出圖2.2 功能整體流程框圖2.4 設(shè)計流程和預(yù)期成果該設(shè)計的主要流程如下:首先閱讀大量參考文獻,進行設(shè)計方案的確定,然后在Protel 99SE上進行原理圖的繪制和修改,在電氣檢查無誤的情況下,購買所需要的元器件(元器件應(yīng)考慮裕量)。接著把元器件焊接到各個功能電路的模塊上,并結(jié)合程序進行調(diào)試。最后將各個功能的電路程序組合起來,然后再進行總體調(diào)試直到成功。本設(shè)計能達到以下結(jié)果: 1)顯示年、月、日、星期等日歷相關(guān)信息。通過按鍵設(shè)置年月日和星期,還具有秒表的功能。 2)掉電后時鐘芯片正常運行,重新上電后不用校正時鐘。 第三章 系統(tǒng)硬件設(shè)計3.1 芯片的選擇本設(shè)計選用AT

21、89S52芯片,它是一種低功耗、高性能CMOS 8位微控制器,具有8K(0000H1FFFH)在線系統(tǒng)可編程Flash存儲器。片上Flash允許程序存儲器在線編程,也適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在線系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供靈活、高效的解決方案。AT89S52具有以下標準功能:8K(0000H1FFFH)Flash,256字節(jié)(00HFFH)數(shù)據(jù)存儲器(RAM),64K(0000HFFFFH)程序存儲器(ROM),32位I/O口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口內(nèi)晶振及時

22、鐘電路。其中,數(shù)據(jù)存儲器(RAM)用于存放各種運算的中間結(jié)果,作緩存和數(shù)據(jù)暫存,以及設(shè)置特征標志等。AT89S52的片內(nèi)數(shù)據(jù)存儲器用位尋址方式,最大尋址范圍為256字節(jié)(00HFFH)。按使用情況不同可分成低128字節(jié)(00H7FH)和高128字節(jié)(80HFFH)。其中低128字節(jié)為真正的RAM存儲器,高128字節(jié)為特殊功能寄存器(SFR)區(qū),如累加器ACC、程序狀態(tài)字PSW、數(shù)據(jù)指針DPTR、程序計數(shù)器PC等。整個片內(nèi)RAM區(qū)分布如圖3.1所示。圖3.1 片內(nèi)RAM區(qū)1.單片機的介紹單片機是指一個集成在一塊芯片上的完整計算機系統(tǒng)。盡管他的大部分功能集成在一塊小芯片上,但是它具有一個完整計算機

23、所需要的大部分部件:CPU、內(nèi)存、內(nèi)部和外部總線系統(tǒng),目前大部分還會具有外存。同時集成諸如通訊接口、定時器,實時時鐘等外圍設(shè)備。而現(xiàn)在最強大的單片機系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入輸出系統(tǒng)集成在一塊芯片上。單片機也被稱為微控制器(Microcontroler),是因為它最早被用在工業(yè)控制領(lǐng)域。單片機由芯片內(nèi)僅有CPU的專用處理器發(fā)展而來。最早的設(shè)計理念是通過將大量外圍設(shè)備和CPU集成在一個芯片中,使計算機系統(tǒng)更小,更容易集成進復(fù)雜的而對提及要求嚴格的控制設(shè)備當中。INTEL的Z80是最早按照這種思想設(shè)計出的處理器,從此以后,單片機和專用處理器的發(fā)展便分道揚鑣。早期的單片機都是8位或4

24、位的。其中最成功的是INTEL的8031,因為簡單可靠而性能不錯獲得了很大的好評。此后在8031上發(fā)展出了MCS51系列單片機系統(tǒng)?;谶@一系統(tǒng)的單片機系統(tǒng)直到現(xiàn)在還在廣泛使用。隨著工業(yè)控制領(lǐng)域要求的提高,開始出現(xiàn)了16位單片機,但因為性價比不理想并未得到很廣泛的應(yīng)用。90年代后隨著消費電子產(chǎn)品大發(fā)展,單片機技術(shù)得到了巨大的提高。隨著INTEL i960系列特別是后來的ARM系列的廣泛應(yīng)用,32位單片機迅速取代16位單片機的高端地位,并且進入主流市場。而傳統(tǒng)的8位單片機的性能也得到了飛速提高,處理能力比起80年代提高了數(shù)百倍。目前,高端的32位單片機主頻已經(jīng)超過300MHz,性能直追90年代中

25、期的專用處理器,而普通的型號出廠價格跌落至1美元,最高端的型號也只有10美元。當代單片機系統(tǒng)已經(jīng)不再只在裸機環(huán)境下開發(fā)和使用,大量專用的嵌入式操作系統(tǒng)被廣泛應(yīng)用在全系列的單片機上。而在作為掌上電腦和手機核心處理的高端單片機甚至可以直接使用專用的Windows和Linux操作系統(tǒng)。單片機比專用處理器更適合應(yīng)用于嵌入式系統(tǒng),因此它得到了最多的應(yīng)用。事實上單片機是世界上數(shù)量最多的計算機?,F(xiàn)代人類生活中所用的幾乎每件電子和機械產(chǎn)品中都會集成有單片機。手機、電話、計算器、家用電器、電子玩具、掌上電腦以及鼠標等電腦配件中都配有1-2部單片機。而個人電腦中也會有為數(shù)不少的單片機在工作。汽車上一般配備40多部

26、單片機,復(fù)雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百臺單片機在同時工作!單片機的數(shù)量不僅遠超過PC機和其他計算的綜合,甚至比人類的數(shù)量還要多。單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。概括的講:一塊芯片就成了一臺計算機。它的體積小、質(zhì)量輕、價格便宜、為學習、應(yīng)用和開發(fā)提供了便利條件。同時,學習使用單片機是了解計算機原理與結(jié)構(gòu)的最佳選擇。單片機內(nèi)部也用和電腦功能類似的模塊,比如CPU,內(nèi)存,并行總線,還有和硬盤作用相同的存儲器件,不同的是它的這些部件性能都相對我們的家用電腦弱很多,不過價錢也是低的,一般不超過10元即可.用它來做一些控制電器一類不是很復(fù)雜

27、的工作足矣了。我們現(xiàn)在用的全自動滾筒洗衣機、排煙罩、VCD等等的家電里面都可以看到它的身影!它主要是作為控制部分的核心部件。2.時鐘電路的介紹時鐘電路工作原理:3.5電源經(jīng)過二極管和電感進入分頻器后,分頻器開始工作,和晶體一起產(chǎn)生振蕩,在晶體的兩腳均可以看到波形。晶體的兩腳之間的阻值在450-700歐之間。在它的兩腳各有1V左右的電壓,由分頻器提供。晶體兩腳常生的頻率總和是14.318M。 總頻(OSC)在分頻器出來后送到PCI槽的B16腳和ISA的B30腳。這兩腳叫OSC測試腳。也有的還送到南橋,目的是使南橋的頻率更加穩(wěn)定。在總頻OSC線上還電容。總頻線的對地阻值在450-700歐之間,總頻

28、時鐘波形幅度一定要大于2V電平。如果開機數(shù)碼卡上的OSC燈不亮,先查晶體兩腳的電壓和波形;有電壓有波形,在總頻線路正常的情況下,為分頻器壞;無電壓無波形,在分頻器電源正常情況下,為分頻器壞;有電壓無波形,為晶體壞。 沒有總頻,南、北橋、CPU、CACHE、I/O、內(nèi)存上就沒有頻率。有了總頻,也不一定有頻率??傤l一定正常,可以說明晶體和分頻器基本上正常,主要是晶體的振蕩電路已經(jīng)完全正常,反之就不正常。當總頻產(chǎn)生后,分頻器開始分頻,R2將分頻器分過來的頻率送到南橋,在南橋處理過后送到PCI槽B8和ISA的B20腳,這兩腳叫系統(tǒng)測試腳,這個測試腳可以反映主板上所有的時鐘是否正常。系統(tǒng)時鐘的波形幅度一

29、定要大于1.5V,這兩腳的阻值在450-700歐之間,由南橋提供。 在主板上RESET和CLK者是南橋處理的,在總頻正常下,如果RESET和CLK都沒有,在南橋電源正常情況下,為南橋壞。主板不開機,RESET不正常,先查總頻。在主板上,時鐘線比AD線要粗一些,并帶有彎曲。3.復(fù)位電路的介紹復(fù)位電路,就是 利用它把電路恢復(fù)到起始狀態(tài)。就像計算器的清零按鈕的作用一樣,當你進行完了一個題目的計算后肯定是要清零的是吧!或者你輸入錯誤,計算失誤時都 要進行清零操作。以便回到原始狀態(tài),重新進行計算。和計算器清零按鈕有所不同的是,復(fù)位電路啟動的手段有所不同。一是在給電路通電時馬上進行復(fù)位操作;二是在必要時可

30、以由手動操作;三是根據(jù)程序或者電路運行的需要自動地進行。篡位電路都 是比較簡單的大都是只有電阻和電容組合就可以辦到了。再復(fù)雜點就有三極管等等配合程序來進行了。為確保微機系統(tǒng)中電路穩(wěn)定可靠工作,復(fù)位電路是必不可少的一部分,復(fù)位電路的第一功能是上電復(fù)位。一般微機電路正常工作需要供電電源為5V5%,即4.755.25V。由于微機電路是時序數(shù)字電路,它需要穩(wěn)定的時鐘信號,因此在電源上電時,只有當VCC超過4.75V低于5.25V以及晶體振蕩器穩(wěn)定工作時,復(fù)位信號才被撤除,微機電路開始正常工作。3.2 實驗板電路原理圖實驗板電路結(jié)構(gòu)框圖如圖3.2所示圖3.2 實驗板結(jié)構(gòu)框圖3.3 功能電路分析3.3.1

31、 時鐘電路實驗板的時鐘振蕩源電路如圖3.3所示。其中JT 為11.0592MHz 的晶振,改變兩電容CB的值即可對此晶振頻率進行調(diào)節(jié)。該電路提供單片機工作所需的振蕩頻率,計算定時器初值即需此晶振頻率,在通信時也需知道晶振頻率,以對波特率進行計算。圖 3.3 時鐘電路3.3.2 復(fù)位電路如圖3.4所示為實驗板的復(fù)位電路,當RESET 信號為低電平時,實驗板為工作狀態(tài),當RESET信號為高電平時,實驗板為復(fù)位或下載程序狀態(tài)。由于AT89S52具有ISP 的功能,即可以通過并口線直接將程序下載到單片機內(nèi),因此, AT89S52 具有兩種狀態(tài),下載程序狀態(tài)和運行狀態(tài)。該復(fù)位電路能實現(xiàn)上電自動復(fù)位,也能

32、手動復(fù)位,一般復(fù)位時RESET應(yīng)保持20毫秒以上高電平,此復(fù)位時間由接地電容控制。圖 3.4 復(fù)位電路3.3.3 鍵盤電路圖3.5如圖3.5所示為陣列按鍵電路,各設(shè)置及轉(zhuǎn)換信號由此電路輸入,實驗板提供了16個按鍵,由P1口經(jīng)SN74F244(驅(qū)動芯片)輸出擴展成44的陣列按鍵,P1.0P1.3為行線,P1.4P1.7為列線。SN74F244有一片選信號線,當此口線為低電平時,A1A4與Y1Y4接通,反之,A1A4與Y1Y4斷開。此鍵盤用掃描工作方式,若有鍵按下,則相應(yīng)位端口被拉低為低電平,由于本系統(tǒng)只用了4個按鍵,所以只需對4個按鍵進行掃描。掃描時,先置P3.3口為高電平,向P1口送0EFH(

33、MOV P1,#0EFH),再置P3.3口為低電平,讀P1口(MOV A,P1),最后判斷P1口低4位哪位是低電平,若某位為低電平,則相應(yīng)按鍵被按下,如P1.0為低電平(ACC.0=0),則K1鍵被按下。3.3.4 液晶顯示屏LCD1602 (一)LCD1602特點說明12 13液晶顯示模塊由于具有低功耗、壽命長、體積小、顯示內(nèi)容豐富、價格低、接口控制方便等優(yōu)點,因此在各類電子產(chǎn)品中被極廣泛地推廣和應(yīng)用。字符型液晶顯示模塊是一類專門用于顯示字母、數(shù)字、符號等點陣式液晶顯示模塊。本系統(tǒng)設(shè)計采用字符型液屏顯示模塊LCD1602 作為顯示器件,這樣不僅簡化了系統(tǒng)的硬件設(shè)計,而且極大地提高了系統(tǒng)的可靠

34、性。字符型液晶顯示模塊LCD1602是單片機應(yīng)用設(shè)計中最常用的信息顯示器件。LCD1602 可以顯示兩行,每行16 個字符,采用5V 電源供電,外圍電路配置簡單,價格便宜,具有很高的性價比14。(二)LCD1602功能介紹 LCD1602各引腳功能如表3.6所示。表3.6 LCD1602管腳功能表(1)基本操作時序:LCD1602 讀寫操作時序總體上來說是比較簡單的,掌握其有兩種方法:一種是直接看時序圖,另外一種方法是直接記憶和總結(jié)讀寫時電平高低和變化。很顯然第二種更簡單、直接,下面就列出典型讀寫的時序要求,以方便編寫程序。讀狀態(tài)-輸入:RS=L,R/W=H,E=H 輸出:D0-D7=狀態(tài)字寫

35、指令-輸入:RS=L,R/W=L,D0-D7=指令碼,E=高脈沖 輸出:無讀數(shù)據(jù)-輸入:RS=H,R/W=H,E=H 輸出:D0-D7=數(shù)據(jù)寫數(shù)據(jù)-輸入:RS=H,R/W=L,D0-D7=數(shù)據(jù),E=高脈沖 輸出:無(2)狀態(tài)字說明: 表3.8 狀態(tài)字表對控制器每次進行讀寫操作之前,都必須進行讀寫檢測,確保STA7為0(3)指令說明: 表3.9 顯示模式設(shè)置表表3.10 顯示開/關(guān)及背光燈設(shè)置表(4)數(shù)據(jù)控制控制器內(nèi)部有一個數(shù)據(jù)地址指針,用戶可通過它們來訪問內(nèi)部的全部80字節(jié)RAM(5)數(shù)據(jù)指針設(shè)置 表3.11 數(shù)據(jù)指針設(shè)置表(6)其他設(shè)置表3.12 其他設(shè)置指令表(三)LCD1602初始化過程

36、(1)延時15ms(2)寫指令38H(不檢測忙信號)(3)延時5ms(4) 寫指令38H(不檢測忙信號)(5)寫指令5ms(6) 寫指令38H(不檢測忙信號)(7)之后每次寫指令、讀/寫數(shù)據(jù)操作之前均需檢測忙信號(8)寫指令38H:顯示模式設(shè)置(9)寫指令08H:顯示關(guān)閉(10) 寫指令01H:顯示清屏幕(11) 寫指令06H:顯示光標移動設(shè)置(12) 寫指令0CH:顯示及光標設(shè)置3.4 本章小節(jié)本章主要對芯片作了介紹,對其內(nèi)存單元作了詳細說明,并對系統(tǒng)硬件(實驗板)的結(jié)構(gòu)框圖和各功能電路作了說明,以及這些電路在本設(shè)計中的用途。 第四章 軟件設(shè)計4.1 軟件設(shè)計總體說明本系統(tǒng)的程序采用C語言編

37、寫,為了便于修改和調(diào)試,系統(tǒng)軟件采用模塊化設(shè)計,程序的編寫編譯在WAVE6000軟件中完成。首先對STC89C52、LCD1602、DS12C887進行初始化,日歷信息通過LCD1602顯示出來,實際上芯片內(nèi)部的時間仍然在走。時鐘芯片向單片機發(fā)出中斷請求,單片機通過報警模塊進行警報,此時,若按下四個按鍵中的任意一個,報警停止,LCD1602顯示的時間繼續(xù)精確顯示。20系統(tǒng)中有四個按鍵,即:設(shè)置鍵k1、切換鍵k2、上調(diào)鍵k3、下調(diào)鍵k4。(1)按下k1鍵,系統(tǒng)進入設(shè)置狀態(tài),再按下k2鍵可在除了溫度外的項目,如年、月、日、時、分、秒、星期、鬧鐘上停留,此時再按下上調(diào)鍵S3即可進行加一操作,按下下調(diào)

38、鍵S4即可進行減一的操作。(2)同時按下k1鍵和k2鍵會將當前的時間恢復(fù)到程序中設(shè)定的默認時間。(3)同時按下k3鍵和k4鍵可對鬧鐘進行開啟和關(guān)閉的操作。4.2 主程序軟件實現(xiàn)4.2.1主程序流程圖圖4.1 主程序流程圖4.2.2主程序代碼void main()lcd_init(); Start_calendar (); initial_irq (); enable_set = F; while(1)if ( enable_play_song ) play_song(); enable_play_song = F; update_display_data (); display_calende

39、r_and_temp (); if (enable_set) delay (100); update_set_display (cur_set_pos); /更新設(shè)置的信息display_calender_and_temp (); delay (100); date_timeTIME_SIGN_POS = :; continue; delay (200); flash_time_sign (); 4.4 LCD1602模塊軟件實現(xiàn)4.4.1 LCD1602液晶顯示模塊子程序流程圖圖4.3 LCD1602子程序流程圖4.4.2 LCD1602液晶顯示模塊子程序代碼#include #includ

40、e #include #include #include typedef.h#include common_funs.h#define LCD_DATA P2 sbit rs = P16;sbit rw = P15;sbit ep = P14;BOOL lcd_bz()BOOL result;rs = 0;rw = 1;ep = 1;_nop_();_nop_();_nop_();_nop_();result = (BOOL)(LCD_DATA & 0 x80);ep = 0;return result;void lcd_wcmd(BYTE cmd)while(lcd_bz();rs = 0;

41、rw = 0;ep = 0;_nop_();_nop_();LCD_DATA = cmd;_nop_();_nop_();_nop_();_nop_();ep = 1;_nop_();_nop_();_nop_();_nop_();ep = 0;void lcd_pos(BYTE pos)lcd_wcmd(pos | 0 x80);void lcd_wdat(BYTE dat)while(lcd_bz();rs = 1;rw = 0;ep = 0;LCD_DATA = dat;_nop_();_nop_();_nop_();_nop_();ep = 1;_nop_();_nop_();_nop

42、_();_nop_();ep = 0;void lcd_write_line(BYTE line, BYTE *line_data) BYTE i = 0;lcd_pos(line * 0 x40);for (i = 0; line_datai != 0; i +)lcd_wdat(line_datai);void lcd_clear_line(BYTE line)BYTE i = 0;lcd_pos(line * 0 x40);for (i = 0; i 16; i +)lcd_wdat ( );void lcd_init()lcd_wcmd(0 x38);delay(1);lcd_wcmd

43、(0 x0c);delay(1);lcd_wcmd(0 x06);delay(1);lcd_wcmd(0 x01);delay(1);lcd_clear_line(0);lcd_clear_line(1); 4.5 DS12887模塊軟件實現(xiàn)4.5.1 DS12887模塊子程序流程圖圖4.4 DS12887時間顯示流程圖4.5.2 DS12887模塊子程序代碼#include #include #include #include #include typedef.h#include common_funs.h sbit key_tab = P10; sbit key_set = P11; sb

44、it key_up = P12; sbit key_down = P13; #define CENTURY_POS 0 #define YEAR_POS 2#define MONTH_POS 5#define DAY_POS 8#define HOUR_POS 11#define TIME_SIGN_POS 13#define MINUTE_POS 14#define WEEK_POS 0#define ALARM_SIGN_POS 4#define ALARM_HOUR_POS 5#define ALARM_MINUTE_POS 8#define clock_second XBYTE0 xf

45、f00 #define clock_second_a XBYTE0 xff01 #define clock_minute XBYTE0 xff02 #define clock_minute_a XBYTE0 xff03 #define clock_hour XBYTE0 xff04 #define clock_hour_a XBYTE0 xff05 #define clock_week XBYTE0 xff06#define clock_day XBYTE0 xff07#define clock_month XBYTE0 xff08#define clock_year XBYTE0 xff09

46、#define clock_a XBYTE0 xff0a#define clock_b XBYTE0 xff0b#define clock_c XBYTE0 xff0c#define clock_century XBYTE0 xff32#define clock_ram_first XBYTE0 xff0e#define clock_ram_second XBYTE0 xff33 BYTE *week7 = SUN,MON, TUE, WED, THU, FRI, SAT; BYTE date_time16 = 2,0,1,1,/,0,5,/,1,7, ,2,0,:,3,5; BYTE wee

47、k_alarm_temperature16 = , , , , , , , , , , , , , , , ;BYTE ALARM_STATE = A; #define SET_MODE_COUNT (7 + 1) void play_song(void);void lcd_init();void lcd_write_line(BYTE line, BYTE *line_data);void lcd_pos(BYTE pos);void lcd_clear_line(BYTE line);BYTE cur_set_pos = 0;BYTE enable_set = 0; BYTE enable

48、_play_song = 0; BYTE inc_bcd_value(BYTE bcd) if (bcd & 0 xF) = 9) return (bcd & 0 xF0) + 0 x10; return bcd + 1;BYTE dec_bcd_value (BYTE bcd) if (bcd & 0 xF) = 0) return (bcd&0 xF0) - 0X10)|0X9; return bcd - 1;void bcd_to_byte_string(uchar bcd, uchar *bcd_str) bcd_str0 = (bcd 4) + 0; bcd_str1 = (bcd

49、& 0 x0F) + 0; return ; void update_display_data() bcd_to_byte_string (dec_bcd_value(clock_century), &date_timeCENTURY_POS);bcd_to_byte_string (clock_year, &date_timeYEAR_POS); bcd_to_byte_string (clock_month, &date_timeMONTH_POS);bcd_to_byte_string (clock_day, &date_timeDAY_POS);bcd_to_byte_string (

50、clock_hour, &date_timeHOUR_POS);bcd_to_byte_string (clock_minute,&date_timeMINUTE_POS);memcpy (&week_alarm_temperatureWEEK_POS, week(clock_week & 0 xF) - 1, 3); week_alarm_temperatureALARM_SIGN_POS = ALARM_STATE; bcd_to_byte_string (clock_hour_a, &week_alarm_temperatureALARM_HOUR_POS);week_alarm_tem

51、peratureALARM_SIGN_POS + 3 = :;bcd_to_byte_string (clock_minute_a, &week_alarm_temperatureALARM_MINUTE_POS); void Start_calendar(void) BYTE i = clock_c;clock_a = 0 x20;clock_b = 0 x22; void Set_calendar (void) clock_a = 0 x70; clock_b = 0 x82 | 0 x20; /bcd,24 hourvoid enable_alarm (void) clock_b = 0

52、 x22;void disable_alarm (void) clock_b = 0 x2;void Set_default_calendar(void) Set_calendar();clock_century = 0 x21; /21 centruyclock_year = 0 x10; clock_month= 0 x08;clock_day = 0 x21;clock_hour = 0 x14;clock_minute = 0 x46;clock_second = 0 x00;clock_week = 07;clock_hour_a = clock_hour;clock_minute_a = inc_bcd_value (clock_minute);clock_second_a = 0 x00; clock_a = 0 x20;/select 32.768kvoid increase_value(BYTE cur_pos) switch (cur_pos) case 0: if ( clock_year = 0 x99) clock_century = inc_bcd_value(clock_century); clock

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!