電子類畢業(yè)設計_第1頁
電子類畢業(yè)設計_第2頁
電子類畢業(yè)設計_第3頁
電子類畢業(yè)設計_第4頁
電子類畢業(yè)設計_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

緒論20世紀末,電子技術得到了極速的發(fā)展,毫無疑問,在其推進下,現(xiàn)代電子產品以及多種高科技產品幾乎滲透到了社會的各個領域,這有力地推進了社會生產力的發(fā)展和社會信息化程度以及綜合科技水平的提高,但產品更新?lián)Q代的頻率也越來越快。伴隨科技的發(fā)展社會的進步和全球化競爭的日益劇烈,人們對數(shù)字鐘的規(guī)定也越來越高,老式的時鐘已不能滿足人們的需求。多功能電子鐘不管在性能還是在樣式亦或是用途上都發(fā)生了重大的變化,許多電子鐘都已具有電子鬧鐘、電子秒表、溫度檢測等功能。同步單片機在多功能數(shù)字鐘中的應用已是非常普遍的[1]。多功能電子時鐘除了具有時鐘的功能外還可以包括對環(huán)境溫度檢測的功能。溫度是一種最基本的環(huán)境參數(shù)。在各個行業(yè)生產及平常生活中,對溫度的測量及控制一直占據(jù)著非常重要的地位。目前,經典的溫度檢測控制系統(tǒng)由模擬式溫度傳感器、A/D轉換電路和多種單片機構成。由于模擬式溫度傳感器輸出的模擬信號必須通過A/D轉換環(huán)節(jié)轉換為數(shù)字信號后才能與單片機等微處理器接口進行讀寫的操作,因此硬件電路會比較復雜,成本較高。而以DS18B20為代表的新型單線總線數(shù)字式溫度傳感器集溫度測量和A/D轉換于一體,此類傳感器可以直接輸出數(shù)字量,同步與單片機接口電路構造非常簡樸,可以廣泛用于距離遠、節(jié)點分布多的場所,具有較強推廣應用價值。[2]數(shù)字電子時鐘是采用數(shù)字電路實現(xiàn)對時,分,秒數(shù)字顯示的裝置,廣泛用于個人家庭,車站,碼頭辦公室等公共場所,成為人們平常生活中不可或缺的必需品,由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應用,數(shù)字時鐘的精度遠遠超過老式鐘表,鐘表的數(shù)字化給人們生產生活帶來了極大的以便,并且大大地擴展了鐘表原先的報時功能。例如定期自動報警、準時自動打鈴、時間程序自動控制、定期廣播、自動啟閉路燈、定期開關烘箱、通斷動力設備、甚至多種定期電器的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎的。因此,研究數(shù)字時鐘及擴大其應用,有著非?,F(xiàn)實的意義。計算機尤其是以微細加工技術支持的微型計算機技術飛速發(fā)展,其應用滲透到了各行各業(yè)。以單片機、嵌入式處理器、數(shù)字信號處理器(DSP)為關鍵的計算機系統(tǒng),以其軟硬件可裁剪、高度的實時性、高度的可靠性、功能齊全、低功耗、適應面廣等諸多長處而得到極為廣泛的應用。目前計算機硬件技術向巨型化、微型化和單片機化三個方向高速發(fā)展。自1975年美國德州儀器企業(yè)(TexasInstruments)第一塊微型計算機芯片TMS-1000問世以來,在短短的間,單片機技術已發(fā)展成為計算機領域一種非常有前途的分子,它有自己的技術特性、規(guī)范和應用領域。單片機是自動控制系統(tǒng)的關鍵部件,重要用于工業(yè)控制、智能化儀器儀表、家用電器中。它具有體積小、性能突出可靠性高(某些方面的性能指標大大優(yōu)于通用微機中央處理器)、價格低廉等一系列長處,應用領域不停擴大,除了工業(yè)控制、智能化儀表、通信和家用電器外,在智能化高檔電子玩具產品中也大量采用單片機芯片作為關鍵控制部件,已經滲透到人們工作和生活的各個角落,有力地推進了各行業(yè)的技術改造和產品的更新?lián)Q代,前景廣闊。數(shù)字鐘具有單片機最小系統(tǒng)的基本構成,對于我們理解單片機有很大的協(xié)助。本設計通過用對一種能實現(xiàn)可調的實時時鐘顯示功能的時間系統(tǒng)的設計學習,詳細簡介了51單片機應用中的數(shù)據(jù)轉換顯示,數(shù)碼管顯示原理,靜態(tài)掃描顯示原理,單片機的定期中斷原理等,從而到達學習、理解單片機有關指令在各方面的應用。對于單片機學習者而言,這個程序基本上是一道門檻,掌握了電子時鐘程序,基本上就可以說掌握了51單片機。1數(shù)字鐘的功能實現(xiàn)與設計方案1.1數(shù)字鐘的實現(xiàn)形式數(shù)字鐘既可以通過純硬件實現(xiàn),也可以通過軟硬件結合實現(xiàn),根據(jù)電子時鐘的關鍵部件——秒信號的產生原理,一般有三鐘形式:(1)用NE555時基電路的形式采用NE555時基電路或其他震蕩電路產生秒脈沖信號,作為秒加法電路的時鐘信號或微處理器的外部中斷輸入信號,可構成電子時鐘。由NE555構成的秒脈沖發(fā)生器電路如圖1-1所示。輸出的脈沖信號V0的頻率F=1.443/(RA+2RB)×C,可通過調整這3個參數(shù),使輸V0的頻率為精確的1Hz。圖1-1基于555的秒脈沖發(fā)生器(2)采用石英鐘專用芯片的實現(xiàn)形式采用石英鐘專用計時芯片實現(xiàn)的電子鐘,具有實現(xiàn)簡樸、計時精度高的特點。石英計時芯片(簡稱“機芯”)比較多,常見的有STP5512F、SM5546A和D60400等?,F(xiàn)基于5512F的2秒輸出信號作為秒加法電路的計時脈沖,可實現(xiàn)電子時鐘。5512F的引腳如圖1-2所示。112348765V+SCAKSC1M0BPM1GND圖1-25512F引腳圖其中,引腳7、8為外接晶振及振蕩電路,引腳1接電源正極,電源為1.5伏,引腳3、4原為指針用步進電機線圈的輸出驅動端,這里可用3腳作為脈沖輸出,頻率決定于外接晶振的頻率。(3)采用基于單片機的實現(xiàn)形式運用單片機的智能性,可以便的實現(xiàn)具有智能數(shù)字鐘的設計。并且,微處理系統(tǒng)具有時鐘振蕩系統(tǒng),運用系統(tǒng)時鐘并借助微處理器的定期/計數(shù)器功能可以實現(xiàn)數(shù)字鐘的功能。本設計采用AT89S51單片機設計。1.2方案確實定可以從如下幾種方面來確定電子時鐘的設計方案。1.2.1微處理器采用ATMEL的AT89S51微處理器,是基于如下幾種原因:(1)內含F(xiàn)lash存儲器,這在系統(tǒng)的開發(fā)過程中,可隨意進行程序修改,既便錯誤編程之后仍可以重新編程,故不存在廢品且大大縮短了程序的開發(fā)周期;同步在系統(tǒng)工作過程中能有效地保留數(shù)據(jù)信息。(2)采用靜態(tài)時鐘方式,節(jié)省電能,這對于減少便攜式產品的功耗十分有利。(3)由于它是以8031核構成的,因此它與MCS251系列單片機是兼容的(4)AT89S51為51內核,仿真調試軟硬件資源豐富;(5)性價比高,貨源充足;(6)DIP-40封裝,體積較大,但更以便編程及定義管腳;(7)為E2PROM程序存儲介質,1000次以上擦/寫周期,便于變成調試;(8)具有低功耗工作模式,便于進行低功耗設計;(9)工作電壓范圍較寬,便于交直流供電。1.2.2顯示電路就時鐘而言,一般可采用液晶顯示或數(shù)碼管顯示。對于一般的段式液晶屏,需要專門的驅動電路,并且液晶顯示作為一種被動顯示,可視性相對較差;對于具有驅動電路和微處理器接口的液晶顯示模塊(字符或點陣),一般多采用并行機接口,對于微處理器的接口規(guī)定較高,占用資源多。此外,89S51自身沒有專門的液晶驅動接口,因此,本時鐘設計采用了數(shù)碼管顯示方式。數(shù)碼管作為一種積極顯示屏件,具有亮度高、價格廉價等長處,并且市場上也有專門的時鐘顯示組合數(shù)碼管。1.2.3按鍵電路考慮到對時鐘以及在有限個數(shù)碼管內實現(xiàn)兩組顯示數(shù)據(jù)的切換。本時鐘系統(tǒng)設五個按鍵:(1)SET鍵,重要用于啟動和關閉設定參數(shù)狀態(tài)兩個功能:①在復位后的時鐘(或日期)顯示狀態(tài)下,用于啟動設定期間(或日期)參數(shù);②在設定對的狀態(tài)后,用于結束設定參數(shù)狀態(tài)。(2)+1鍵,在SET狀態(tài)下,用于對目前設定位(編輯位)進行加1操作,根據(jù)正在編輯的目前位的含義(時位、分位、秒位或星期、月份、日期)自動進行數(shù)據(jù)的上限和下限判斷。例如,對12小時制,當小時的兩位顯示為12時,再按此鍵,則自動變?yōu)轱@示為“01”。(3)-1鍵,在SET狀態(tài)下,用于對目前設定位(編輯位)進行減1操作,根據(jù)正在編輯的目前位的含義(時位、分位、秒位或星期、月份、日期)自動進行數(shù)據(jù)的上限和下限判斷。例如,對12小時制,當小時的兩位顯示為01時,再按此鍵,則自動變?yōu)轱@示為12.(4)左移鍵/顯示狀態(tài)切換鍵,在SET狀態(tài)下,用于對目前設定位(編輯位)進行左移位操作,每次移動一種變量(即兩個數(shù)碼管);在待機狀態(tài)下,用于顯示(時、分、秒和星期、月、日)的轉換。(5)右移鍵,用于對目前設定位(編輯位)進行右移位操作,每次移動一種變量(即兩個數(shù)碼管)。2數(shù)字鐘的硬件系統(tǒng)設計數(shù)字時鐘硬件部分的設計應包括秒信號發(fā)生器、時間顯示電路、按鍵電路、供電電路等幾部分。2.1數(shù)字時鐘的硬件系統(tǒng)框架電子時鐘的系統(tǒng)框架入圖2-1所示。CPUCPU按鍵電路復位等輔助電路電源系統(tǒng)數(shù)碼管顯示電路校時電路圖2-1數(shù)字鐘的系統(tǒng)框架2.2數(shù)字時鐘的主機電路設計數(shù)字時鐘的主電路指的是圖1中框內部分,重要波及到微處理器電路和按鍵、按鈕電路。主機的設計詳細地說有:1、系統(tǒng)控制芯片的選擇2、系統(tǒng)時鐘電路設計;3、系統(tǒng)復位電路設計;4、按鍵與按鈕電路設計。2.2.1系統(tǒng)控制芯片CPU(AT89S51)的選擇AT89C系列單片機是Atmel企業(yè)1993年開始研制生產的,優(yōu)越的性能價格比使其成為頗受歡迎的8位單片機。AT89C系列與MCS-51系列單片機相比有兩大優(yōu)勢:第一,片內程序存儲器采用閃速存儲器,使程序的寫入愈加以便;第二,功能愈加強大,使其在應用中更廣泛[6]。(1)AT89S51重要性能:AT89S51是Atmel企業(yè)生產的帶4KB閃速可編程可擦除只讀存儲器的8位單片機,它具有如下重要特性:eq\o\ac(○,1)AT89S51為51內核;eq\o\ac(○,2)內部帶4KB可編程閃速存儲器(E2PROM),壽命為1000次擦/寫循環(huán),數(shù)據(jù)保留時間為;eq\o\ac(○,3)DIP40封裝,I/O口較多eq\o\ac(○,4)工作電壓范圍為4.5~5.5V;eq\o\ac(○,5)全靜態(tài)工作頻率為0Hz~33MHz;eq\o\ac(○,6)三極程序存儲器保密鎖定;eq\o\ac(○,7)128bytes內部RAM;eq\o\ac(○,8)32個外部雙向輸入/輸出可編程I/O線;、eq\o\ac(○,9)2個16位定期器/計數(shù)器;eq\o\ac(○,10)6個中斷源;eq\o\ac(○,11)兩個全又工串行通信口;eq\o\ac(○,12)看門狗(WDT電路);eq\o\ac(○,13)可編程串行通道;eq\o\ac(○,14)片內振蕩器和時鐘電路;eq\o\ac(○,15)低功耗的閑置和掉電模式;(2)AT89S51內部構造及引腳描述AT89S51單片機的內部與8051單片機的內部構造完全一致,區(qū)別只是將存儲器改為Flash存儲。其引腳配置如圖2-2所示。 圖2-2AT89S51引腳配置它是一種有40個引腳排列直插式的芯片,其引腳描述如下:VCC:供電電壓。GND:接地。P0口:P0口為一種8位漏級開路雙向I/O口,每腳可吸取8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0可以用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。

P1口:P1口是一種內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接受輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接受。P2口:P2口為一種內部上拉電阻的8位雙向I/O口,P2口緩沖器可接受,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它運用內部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接受高八位地址信號和控制信號。P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接受輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口除了作為一般I/O口,尚有第二功能:P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INT0(外部中斷0)P3.3/INT1(外部中斷1)P3.4T0(記時器0外部輸入)P3.5T1(記時器1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲器寫選通)P3.7/RD(外部數(shù)據(jù)存儲器讀選通)P3口同步為閃爍編程和編程校驗接受某些控制信號。I/O口作為輸入口時有兩種工作方式,即所謂的讀端口與讀引腳。讀端口時實際上并不從外部讀入數(shù)據(jù),而是把端口鎖存器的內容讀入到內部總線,通過某種運算或變換后再寫回到端口鎖存器。只有讀端口時才真正地把外部的數(shù)據(jù)讀入到內部總線。89C51的P0、P1、P2、P3口作為輸入時都是準雙向口。除了P1口外P0、P2、P3口都尚有其他的功能。RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當訪問外部存儲器時,地址鎖存容許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定期目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一種ALE脈沖。如想嚴禁ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。此外,該引腳被略微拉高。假如微處理器在外部執(zhí)行狀態(tài)ALE嚴禁,置位無效。PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管與否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。從上述引腳闡明看出,AT89S51提供了外部擴展存儲器與I/O設備所需的地址、數(shù)據(jù)、控制信號,因此運用AT89S51構成的單片及應用系統(tǒng)可以在AT89S51之外擴展存儲器或I/O設備,不過其自身所具有的的各項功能及模塊也闡明,AT89S51自身也構成了最小的單片機系統(tǒng)。(3)振蕩器振蕩器特性:XTAL1和XTAL2分別構成片內振蕩器的反相放大器的輸入和輸出端,如圖2-3所示??刹捎檬⒕w或陶瓷振蕩器構成振蕩器。要從外部時鐘源驅動AT89S51,則XTAL2應懸空,而XTAL1的驅動如圖2-4所示。由于輸入到內部時鐘電路通過一種二分頻觸發(fā)器,故不需要對外部時鐘信號的工作周期提出特殊規(guī)定,但它必須遵守最小和最大電壓高下電平的時間規(guī)范。圖2-3振蕩的外部連接措施圖2-4外部時鐘驅動構造(4)特殊功能寄存器SFR與8051單片機特殊功能寄存器相對應,AT89S51片內設置了19個特殊功能寄存器,統(tǒng)稱為特殊功能寄存器塊SFR,它們的地址散布在80H~0F0H區(qū)域內。(5)低功耗工作模式AT89S51優(yōu)良中低功耗工作模式:待機方式與掉電方式。eq\o\ac(○,1)待機方式(休眠方式)當運用軟件使待機方式位ADL(PCON.0)=0時,單片機進入空閑方式。此時,CPU處在休眠狀態(tài),而片內所有其他外圍設備都保持工作狀態(tài),片內RAM和所有特殊功能寄存器內容保持不變。在待機方式下,當晶振fosc=12MHz,電源電壓VCC=6V時,電源電流ICC從20Ma降至5Ma;而VCC由5.5mA降至1mA。中斷或硬件復位可以終止待機方式。當待機方式由硬件復為終止時,CPU要從休眠處恢復程序的執(zhí)行,執(zhí)行2的周期后,內部復位電路才起作用。此時,硬件嚴禁訪問內部RAM,但容許訪問端口引腳。為了防止休眠被復位終止時對端口以外寫入的也許性,在生成待機方式的指令后不應緊跟對端口引腳的寫指令。假如不采用外部上拉,P1.0和P1.1應置“1”。eq\o\ac(○,2)掉電方式掉電方式由掉電方式位PD(PCON.1)=1設置。此時振蕩器停止工作,設置掉電方式的指令成為最終執(zhí)行的一條指令,片內RAM和特殊功能寄存器內容保持不變。在掉電模式下,VCcmin=2V。當VCC=6V時,ICCmax=100μA;當VCC=3時,ICcmax=20μA。退出掉電方式的唯一方式是硬件復位。硬件復位將重新定義特殊功能寄存器,但不影響片內RAM。復位的保持時間應足夠長,以便振蕩器能重新開始工作并穩(wěn)定下來。在VCC沒有恢復得到正常工作電壓之前,不應進行復位。假如不采用外部上拉,P1.0和P1.1應置“0”,否則置“1”。(6)閃速存儲器的編程AT89S51單片機內部有4KB的閃速存儲器陣列,一片新的AT89S51,其存儲陣列處在擦除狀態(tài)(FFH),此時可對其編程,存儲陣列一次編程1字節(jié),若編程任何非空字節(jié)時,需對整個存儲陣列進行片擦除[7]。編程時,AT89S51運用內部存儲器地址計數(shù)器提供尋址存儲器的地址信號,RST上升沿將該地址計數(shù)器復位至000H,引腳XTAL1所施加的正向脈沖使地址計數(shù)器不停加1。[8]RST上出現(xiàn)12V(編程電源VPP)高壓時,預示著1字節(jié)的編程操作開始,這時P3口提供編程所需的控制與狀態(tài)信號,P1口為數(shù)據(jù)通道。(7)在線編程AT89S51編程時需要運用RST、XTAL1、P1口、P2口、P3口提供控制信號與加載編程數(shù)據(jù),而這一規(guī)定又常與顧客系統(tǒng)對這些引腳的規(guī)定或操作沖突。因此,在線編程不能直接在顧客工作電路中進行,而要通過特殊電路處理才能實現(xiàn)。例如圖2-5所示為在線編程的示例,其采用2選1的措施實現(xiàn)連接線路的切換,達到在線編程的目的。運用微動開關SW來選擇XTAL1的加載,產生選擇控制信號Select,其他線路的切換用2選1器件74LS157與三態(tài)緩沖器74LS244實現(xiàn)。當AT89S51正常工作時,選擇控制信號(Selecg=0)控制所有的74LS157輸入A端與輸出Y接通,且74LS244-1輸出有效,74LS244-2三態(tài)輸出,使得AT89S51可以對顧客電路進行控制操作;當AT89S51需要編程時,選擇控制信號(Select=1)控制所有的74LS157輸入B端與輸出Y端接通,且74LS244-1三態(tài)輸出,74LS244-2輸出有效,使得AT89S51可以接受編程電路的控制,實現(xiàn)編程操作。圖2-5在線編程示圖2.2.2時鐘芯片DS1302DS1302是DALLAS企業(yè)推出的涓流充電時鐘芯片,內具有一種實時時鐘/日歷和31字節(jié)靜態(tài)RAM,通過簡樸的串行接口與單片機進行通信實時時鐘/日歷電路。提供秒、分、時、日、日期、月、年的信息,每月的天數(shù)和閏年的天數(shù)可自動調整時鐘操作可通過AM/PM指示決定采用24或12小時格式。DS1302與單片機之間能簡樸地采用同步串行的方式進行通信,僅需用到三個口線:①RES復位;②I/O數(shù)據(jù)線;③SCLK串行時鐘.時鐘/RAM的讀/寫數(shù)據(jù)以一種字節(jié)或多達31個字節(jié)的字符組方式通信.DS1302工作時功耗很低,保持數(shù)據(jù)和時鐘信息時功率不不小于1mW。DS1302是由DS1202改善而來,增長了如下的特性.雙電源管腳用于主電源和備份電源供應Vcc1,為可編程涓流充電電源附加七個字節(jié)存儲器。它廣泛應用于電話傳真便攜式儀器以及電池供電的儀器儀表等產品領域。(1)重要的性能指標:eq\o\ac(○,1)實時時鐘具有能計算2100年之前的秒、分、時、日、月、星期、年的能力,尚有閏年調整的能力;eq\o\ac(○,2)318位暫存數(shù)據(jù)存儲RAM;eq\o\ac(○,3)串行I/O口方式使得管腳數(shù)量至少;eq\o\ac(○,4)寬范圍工作電壓2.0V---5.5V;eq\o\ac(○,5)工作電流2.0V時,不不小于300nA;eq\o\ac(○,6)讀/寫時鐘或RAM數(shù)據(jù)時有兩種傳送方式單字節(jié)傳送和多字節(jié)傳送字符組方式;eq\o\ac(○,7)8腳DIP封裝或可選的8腳SOIC封裝根據(jù)表面裝配;eq\o\ac(○,8)簡樸3線接口;eq\o\ac(○,9)與TTL兼容Vcc=5V;eq\o\ac(○,10)可選工業(yè)級溫度范圍-40+85;eq\o\ac(○,11)與DS1202兼容;eq\o\ac(○,12)在DS1202基礎上增長的特性;eq\o\ac(○,13)對Vcc1有可選的涓流充電能力;eq\o\ac(○,14)雙電源管用于主電源和備份電源供應;eq\o\ac(○,15)備份電源管腳可由電池或大容量電容輸入;(2)DS1302的基本構成和工作原理DS1302的引腳功能排列及描述如圖2-6所示.圖2-6DS1302引腳圖管腳描述:

X1X232.768KHz晶振管腳

GND地

RST復位腳

I/O數(shù)據(jù)輸入/輸出引腳

SCLK串行時鐘

Vcc1,Vcc2電源供電管腳

DS1302串行時鐘芯片8腳DIP

DS1302S串行時鐘芯片8腳SOIC200mil

DS1302Z串行時鐘芯片8腳SOIC150mil(3)DS1302內部寄存器CH:時鐘停止位

存器2的第7位12/24小時標志

CH=0振蕩器工作容許

bit7=1,12小時模式

CH=1振蕩器停止

bit7=0,24小時模式WP:寫保護位

寄存器2的第5位:AM/PM定義

WP=0寄存器數(shù)據(jù)可以寫入

AP=1下午模式

WP=1寄存器數(shù)據(jù)不能寫入

AP=0上午模式TCS:涓流充電選擇

DS:二極管選擇位

TCS=1010使能涓流充電

DS=01選擇一種二極管

TCS=其他嚴禁涓流充電

DS=10選擇兩個二極管

DS=00或11,雖然TCS=1010,充電功能也被嚴禁2.2.3系統(tǒng)時鐘電路設計系統(tǒng)運用晶體振蕩器作為時鐘電路,根據(jù)晶振的不一樣使用規(guī)定及特點,一般分為如下幾類:一般晶振、溫補晶振、壓控晶振、溫控晶振等。安裝晶振時,應根據(jù)其引腳功能標識與應用電路應連接,防止電源引線與輸出引腳相接輸出。在測試和使用時所供直流電源應沒有足以影響其精確度的紋波含量,交流電壓應無瞬變過程[9]。測試儀器應有足夠的精度,連線合理布置,將測試及外圍電路對晶振指標的影響降至最低。(1)一般晶振(PXO):是一種沒有采用溫度賠償措施的晶體振蕩器,在整個溫度范圍內,晶振的頻率穩(wěn)定度取決于其內部所用晶體的性能,頻率穩(wěn)定度在10-5量級,一般用于一般場所作為本振源或中間信號,是晶振中最廉價的產品。(2)溫補晶振(TCXO):是在晶振內部采用了對晶體頻率溫度特性進行賠償,以到達在寬溫溫度范圍內滿足穩(wěn)定度規(guī)定的晶體振蕩器。(3)恒溫晶振(OCXO):采用精密控溫,使電路元件及晶體工作在晶體的零溫度系數(shù)點的溫度上。中精度產品頻率穩(wěn)定度為10-7~10-8,高精度產品頻率穩(wěn)定度在10-9量級以上。重要用作頻率源或原則信號。(4)壓控晶振(VCXO):是一種可通過調整外加電壓使晶振輸出頻率隨之變化的晶體振蕩器,重要用于鎖相環(huán)路或頻率微調。壓控晶振的頻率控制范圍及線性度重要取決于電路所用變容二極管及晶體參數(shù)兩者的組合。晶體振蕩器選擇參照原則:(1)總頻差:在規(guī)定的時間內,由于規(guī)定的工作和非工作參數(shù)所有組合而引起的晶體振蕩器頻率與給定標稱頻率的最大頻差。(2)溫度穩(wěn)定度:在標稱電源和負載下,工作在規(guī)定溫度范圍內的不帶隱含基準溫度或帶隱含基準溫度的最大容許頻偏。(3)頻率穩(wěn)定預熱時間:以晶體振蕩器穩(wěn)定輸出頻率為基準,從加電到輸出頻率不不小于規(guī)定頻率允差所需要的時間。(4)頻率老化率:在恒定的環(huán)境條件下測量振蕩器頻率時,振蕩器頻率和時間之間的關系。這種長期頻率漂移是由晶體元件和振蕩器電路元件的緩慢變化導致的,可用規(guī)定期限后的最大變化率(如±10ppb/天,加電72小時后),或規(guī)定的時限內最大的總頻率變化(如:±1ppm/(第一年)和±5ppm/(十年))來表達。(5)頻率壓控范圍:將頻率控制電壓從基準電壓調到規(guī)定的終點電壓,晶體振蕩器頻率的最小峰值變化量。(6)頻率壓控線性:與理想(直線)函數(shù)相比的輸出頻率-輸入控制電壓傳播特性的一種量度,它以百分數(shù)表達整個范圍頻偏的可容許非線性度。本系統(tǒng)時鐘電路的設計如圖2-7。對于實踐規(guī)定不是很高的系統(tǒng),圖中電路設計就能使系統(tǒng)可靠起振并穩(wěn)定運行。但由于途中的C1、C2電容起著系統(tǒng)時鐘頻率微調和穩(wěn)定的作用,它對時鐘的正負走時誤差有很大影響。因此,在本系統(tǒng)的實際應用中尤其注意了電容參數(shù)的選擇(),并盡量保證電路的對稱性(盡量匹配),選用正派廠家生產的瓷片或云母電容,條件容許的話溫度系數(shù)要盡量低。圖2-7振蕩電路2.2.4系統(tǒng)復位電路設計智能系統(tǒng)一般應有手動或上電復位電路。復位電路的實現(xiàn)一般有兩種形式:即專用μp監(jiān)控電路和RC復位電路。前者電路實現(xiàn)簡樸,成本低,但復位可靠性相對較低;后者成本較高,但復位可靠性高,尤其是高可靠反復復位。對于復位規(guī)定高,并對電源電壓進行監(jiān)視的場所,大多采用這種方式。(1)專用μP監(jiān)控電路專用μP監(jiān)控電路有稱為電源監(jiān)視電路,具有上電時可靠產生復位信號和電源電壓跌落到“門檻值”時可靠產生復位信號等功能[9]。準時效電平分,有高電平輸出、低電平輸出兩種;按功能分,有簡樸的電源監(jiān)視復位電路、帶看門狗定期器(WATCHDOGTimer,WDT)的監(jiān)控電路和WDT+E2PROM的監(jiān)控電路等多種類型。(2)RC復位電路本系統(tǒng)采用的是RC復位方式。RC復位電路的實質是一階充放電電路,如圖2-8:圖2-8RC復位電路系統(tǒng)上電時該電路提供有效的復位信號RST(高電平)直至系統(tǒng)電源穩(wěn)定后撤銷復位信號(低電平)。從理論上說,51系列單片機復位引腳只要外兩個機器周期的有效信號即可復位,即只要保證t=RC>2M(機器周期)便可。但在實際設計中,一般C1取值為10μF以上,R1一般取值10ΚΩ左右。實踐發(fā)現(xiàn),R1假如取值太小,例如1ΚΩ,則會導致RST信號驅動能力變差而無法使系統(tǒng)可靠復位。此外,從圖2-9所示的復位信號波形圖可以明顯看出,續(xù)流二極管對于改善復位性能,起到了重要作用。它的作用是在電源電壓瞬間下降時使電容迅速放電,因此一定寬度的電源毛刺(如波形中A點)也可令系統(tǒng)可靠復位。圖2-9加二極管前后的復位信號特性對比2.2.5按鍵與按鈕電路設計按鍵與按鈕電路的設計參見系統(tǒng)原理圖中的S1、S2和S3對應部分。按鍵與按鈕電路設計中關鍵要考慮的就是按鍵去抖動問題(簡稱“去抖”),一般由硬件去抖和軟件去抖兩種方式。硬件去抖可以采用分立元件或觸發(fā)器實現(xiàn),目前市場上也有硬件去抖專用接口芯片,例如:MAXIM企業(yè)MAX6816~6818,均為單電源供電,電壓為2.7~5.5V,分別為單輸入、雙輸入和八輸入,輸出端具有欠壓鎖定功能??紤]到系統(tǒng)的硬件簡化和控制成本問題,本次設計采用軟件去抖方式。2.2.6數(shù)字鐘的顯示電路設計(1)LED的選擇單片機I/O的應用最經典的是通過I/O口與7段LED數(shù)碼管構成顯示電路,7段LED數(shù)碼管,在一定形狀的絕緣材料上,運用單只LED組合排列成“8”字型的數(shù)碼管,分別引出它們的電極,點亮對應的點劃來顯示出0-9的數(shù)字。LED數(shù)碼管根據(jù)LED的接法不一樣分為共陰和共陽兩類,理解LED的這些特性,對編程是很重要的,由于不一樣類型的數(shù)碼管,除了它們的硬件電路有差異外,編程措施也是不一樣的。下圖2-10為共陰和共陽極數(shù)碼管的內部電路,它們的發(fā)光原理是同樣的,只是它們的電源極性不一樣而已。圖2-10數(shù)碼管電路將多只LED的陰極連在一起即為共陰式,而將多只LED的陽極連在一起即為共陽式。以共陰式為例,如把陰極接地,在對應段的陽極接上正電源,該段即會發(fā)光。當然,LED的電流一般較小,一般均需在回路中接上限流電阻。假如我們將"b"和"c"段接上正電源,其他端接地或懸空,那么"b"和"c"段發(fā)光,此時,數(shù)碼管顯示將顯示數(shù)字“1”。而將"a"、"b"、"d"、"e"和"g"段都接上正電源,其他引腳懸空,此時數(shù)碼管將顯示“2”。其他字符的顯示原理類同。本設計采用的是共陽極數(shù)碼管。用單片機驅動LED數(shù)碼管有諸多措施,按顯示方式分,有靜態(tài)顯示和動態(tài)(掃描)顯示,按譯碼方式可分硬件譯碼和軟件譯碼之分。靜態(tài)顯示就是顯示驅動電路具有輸出鎖存功能,單片機將所要顯示的數(shù)據(jù)送出后就不再控制LED,直到下一次顯示數(shù)據(jù)需要更新時再傳送一次新數(shù)據(jù),顯示數(shù)據(jù)穩(wěn)定,占用很少的CPU時間;動態(tài)顯示需要CPU時刻對顯示屏件進行數(shù)據(jù)刷新,顯示數(shù)據(jù)有閃爍感,占用的CPU時間多。這兩種顯示方式各有利弊:動態(tài)顯示雖然有閃爍感,占用的CPU時間較多,不過用的硬件少,能節(jié)省線路板的空間。動態(tài)掃描顯示接口是單片機種應用最廣泛的一種顯示方式。其接口電路是把所有的LED顯示屏的8個筆畫段A~G、DP的同名端連在一起,而每一種數(shù)碼管的公共端COM是各自獨立地受I/O線控制。CPU向字段輸出口送出字形碼時,所有顯示屏接受到相似的字形碼,但究竟是哪個顯示屏亮,則取決于COM端,而這一端由I/O控制的,可以自行決定何時顯示哪一位了。而所謂動態(tài)掃描就是指我們采用分時的措施,輪番控制各個顯示屏的COM端,使各個顯示屏輪番點亮。在輪番點亮掃描過程中,每位顯示屏的點亮時間是極為短暫的,約1ms左右,不過由于人的視覺暫留現(xiàn)象及發(fā)光余暉效應,盡管實際上各位顯示屏并非同步點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感。靜態(tài)顯示雖然數(shù)據(jù)穩(wěn)定,占用很少的CPU時間,但每個顯示單元都需要單獨的顯示驅動電路,使用的硬件較多,不過編程相對于動態(tài)顯示比較簡樸,本設計采用的是靜態(tài)顯示方案。(2)LED的驅動和顯示單片機對LED數(shù)碼管的驅動措施可以分為串行和并行兩種,分別合用于不一樣的使用場所,兩者的硬件電路和程序區(qū)別也很大。并行驅動:在一般狀況下,單片機使用并行驅動的方式進行LED的顯示。并行驅動的構造較簡樸,并且非常合用于闡明地址和數(shù)據(jù)總線復用的狀況。LED并行驅動的電路原理圖如圖2-11所示。圖2-11LED并行驅動的電路原理圖中顯示的是使用8155與LED顯示屏的接口,8155的PB0~PB7作為段選碼口,通過7407驅動與LED的段相連;8155的PA0~PA5作為位選碼口,通過7406驅動與LED的位相連。圖中的P2.7反相后作為8155的片選信號,P2.6接8155的IO端。這樣確定8155片內的4個端口地址。(7407:驅動門電路,提供數(shù)碼管顯示的驅動電流)本設計采用的是串行驅動方式,詳細措施如下:在某些狀況下,可供使用的單片機并行I/O口局限性8根,數(shù)據(jù)的并行輸出已不也許此時可以考慮串行輸出措施,圖2-12本設計采用的串行口擴展的四位LED顯示電路。圖2-12本設計采用的串行口擴展的六位LED顯示電路該顯示電路只使用單片機的兩個端口P3.0、P3.1,并配以六片串入并出移位寄存器74LS164(LED驅動)。并配四個二級管來調整LED亮度。其中74LS164的引腳Q0~Q7為8位并行輸出端;引腳A、B為串行輸入端;引腳CLK為時鐘脈沖輸入端,在CLK脈沖的上升沿作用下實現(xiàn)移位,在CLK=0、清除端MR=1時,74LS164保持本來數(shù)據(jù)狀態(tài);MR=0時,74LS164輸出清零。其工作過程如下:①89S51的串行口設定在方式0移位寄存器狀態(tài)下,串行數(shù)據(jù)由P3.0發(fā)送,移位時鐘由P3.1送出②在移位時鐘的作用下,串行口發(fā)送緩沖器的數(shù)據(jù)一位一位地移入74LS164中。③6片74LS164串級擴展為6個8位并行輸出口,分別連接到6個LED顯示屏的段選端作靜態(tài)顯示。顯示采用共陽數(shù)碼管,其目的是為了簡化限流電路的設計和實現(xiàn)亮度可調的規(guī)定。從圖中可以看出,該顯示電路采用了與一般的段電流電阻限流方式不一樣的顯示方式,由此減少了48個限流電阻,簡化了硬件系統(tǒng)。每筆畫段二極管正常發(fā)光時的電流一般為10mA左右(電流大小還取決于數(shù)碼管是普亮、高亮還是超高亮類型的不一樣),其兩端壓降約為2.0V,也就是說,只要數(shù)碼管的公共端(COM)加+2.0以上電壓,即可滿足每筆畫段發(fā)光二極管的發(fā)光規(guī)定,并且合適調整此電壓值即可變化發(fā)光二極管的電流,從而到達調整亮度的目的。此電壓采用的是由4個硅二極管串聯(lián),運用硅二級管兩端電壓降為0.7V,4個二級管產生的電壓降效果為4*0.7=2.8(V),輸入電壓為+5V,由此抵達每個數(shù)碼段上的電壓為2.2V左右,以保證發(fā)光段的正常亮度。移位寄存器74LS164僅有串入左右沒有譯碼作用,因此,在編寫顯示驅動程序之前,首先需要計算列寫出與本程序電路對應的LED段選碼[3],然后由2051的P3.0口送入74LS164的串行輸入端,再并行輸出到LED的段選端。需要指出的是,本電路采用SM110501K型號的共陽極LED數(shù)碼管。這種穩(wěn)定的靜態(tài)顯示方式也省去了CPU的動態(tài)掃描過程,此為本電路的又一特點。2.3校時電路設計目前,世界上應用的校時系統(tǒng)有諸多種。有運用電話網絡進行校時,尚有運用電視信號的校時系統(tǒng)、衛(wèi)星校時系統(tǒng)、低頻(長波)導航、授時信號系統(tǒng)、高頻(短波)時號廣播系統(tǒng)、運用互聯(lián)網絡校時系統(tǒng)等等方式進行自動校時[12]。本設計采用的是手動校時,即由人根據(jù)目前時刻和日期進行校時,從而使時間到達較精確的措施。手動校時重要運用軟件進行,從而減少了在硬件上的多出以及對電路板空間的更大規(guī)定。此措施雖然在時間的精確性上較差,不過其成本最低,也是本設計運用至少材料做出最強功能的初衷。2.4電源設計單片機的供電方式有諸多種,可以采用電池供電,也可以采用外圍其他的電源電路進行供電,多種供電方式也均有各自的優(yōu)缺陷。電池供電:可以節(jié)省很大的PCB空間,供電也為直流,不含任何交流成分,不過此供電方式也許會由于電路比較費電而需要常常得更換電池,這樣也變向得提高了本設計的成本,因此本設計不采用此供電方式。外圍供電電路:此措施可認為電路提供源源不停強勁的電源,不必為電路供電所緊張;不過此供電方式的電壓純度需要根據(jù)外圍電路的設計程度而定,并且假如將此電路設計到PCB上,也會占用很大的空間,違反了本設計簡樸的原則。綜合上面兩種供電方式的優(yōu)缺陷,本設計采用的是運用電腦USB接口進行供電,電腦USB接口供電的最大電流為500mA,并且為穩(wěn)壓輸出,足夠本設計的需求,并且也不會占用PCB的空間,是一種非常不錯的選擇,同步也是本設計的長處。本設計在電源上的另一種長處是考慮到斷電和狀況,從設計總思緒上講,規(guī)定斷電后數(shù)碼管可以不顯示,不過時間必須照常進行??紤]到這一點,配合時鐘芯片DS1302的雙電源防斷電的特點,將時鐘芯片的另一種電源端用5V的紐扣電池進行供電,這樣時間就不會由于斷電而重新初始化了。3程序設計軟件設計的重點在于秒信號的產生以及CPU與時鐘芯片之間的通信,顯示的實現(xiàn)及按鍵的處理等方面?;谲浖拿朊}沖信號一般有延時法和定期中斷法。延時法一般采用查詢方式,在延時子程序前后必然需要查詢和處理的程序,導致誤差的產生,因此其秒脈沖的產生,因此秒脈沖的精度不高。中斷法的原理是運用單片機內部的定期器溢出中斷來實現(xiàn)。例如,設定某定期器每100ms中斷1次,這10次的周期為1s,這種實現(xiàn)法的特點是精度高,秒脈沖的發(fā)生和其他處理可以并行進行。[7]本系統(tǒng)即采用這種方式,實現(xiàn)的關鍵是定期器的工作方式的選擇和定期參數(shù)的計算確定。此外就是借助時鐘芯片,對于調時后的數(shù)據(jù)送給時鐘芯片并且及時從其中讀出更新后的數(shù)據(jù),然后送顯示。詳細內容將在原程序中給于闡明。本系統(tǒng)設計中使用的晶振頻率為12MHz。3.1主控模塊設計NYCPU系統(tǒng)初始化開始切換顯示周月日顯示刷新顯示切換?啟動走時主模塊是系統(tǒng)軟件的主框架。構造化程序設計一般有“自上而下”和“自下而上”NYCPU系統(tǒng)初始化開始切換顯示周月日顯示刷新顯示切換?啟動走時圖3-1主模塊的程序框圖3.2基本現(xiàn)實模塊設計基本現(xiàn)實模塊設計的重點是有顯示代碼獲得對應的段碼,顯示段碼數(shù)據(jù)的串行發(fā)送,其程序流程如圖3-2所示。其中,時個位、分個位、秒個位的段碼必須加上小數(shù)點,即帶小數(shù)點顯示時各位、分個位、秒個位,目的是以小數(shù)點符號替代時間分割符“:”,(一般的數(shù)碼管無法顯示字符“:”)。關顯示,以免顯示抖動通過串口將時十位段碼送入對應的74LS164將十個位段碼送入對應的74LS164(以小數(shù)點替代:)將分十位和個位段碼送入對應的74LS164將百分秒十位和個位段碼送入對應的74LS164打開顯示圖3-2基本顯示模塊的程序流程圖開始3.3目前編輯位閃爍功能的實現(xiàn)關顯示,以免顯示抖動通過串口將時十位段碼送入對應的74LS164將十個位段碼送入對應的74LS164(以小數(shù)點替代:)將分十位和個位段碼送入對應的74LS164將百分秒十位和個位段碼送入對應的74LS164打開顯示圖3-2基本顯示模塊的程序流程圖開始閃爍標志為真將顯示全滅段碼送顯示緩沖區(qū)閃爍標志為真將顯示全滅段碼送顯示緩沖區(qū)將目前設定的時間參數(shù)送顯示調用基本顯示程序模塊圖3-3目前編輯位閃爍功能實現(xiàn)的程序流程圖3.4時間設定模塊設計時間設定模塊的設計要點是按鍵的去抖處理。軟件發(fā)去抖動的實質是軟件延時,即檢測到某一鍵狀態(tài)變化后延時一段時間,再檢測該按鍵的狀態(tài)與否還保持著,假如是,則作為按鍵處理,否則,視為抖動,不予理會。去抖的延時時間一般應不小于20ms,否則會導致按一次鍵做多次處理,影響程序正常執(zhí)行。YYYYNYN設置模塊初始化將在編參數(shù)送顯示緩沖區(qū)將目前位的顯示代碼置暗代碼調基本顯示模塊刷新顯示目前編輯位左(右)移一位結束設定根據(jù)目前位的性質分別進行+1/-1/處理(含上下限判斷)NYN返回N圖3-4時間設定模塊流程圖閃爍標志為真?嗎?+1/-1鍵嗎?設置鍵?目前的編輯是時(周)個位嗎設置鍵3.5CPU與時鐘芯片的通信在系統(tǒng)剛剛通電后,CPU將片內初始的數(shù)據(jù)送給時鐘芯片即2月11日周六11點59分40秒,給時鐘芯片一種初始狀態(tài),然后時鐘芯片按照初始狀態(tài)開始進行,再把數(shù)據(jù)送給CPU然后進行顯示。當調整時間后,CPU將調整后的時刻數(shù)據(jù)數(shù)給時鐘芯片以再次將時鐘芯片初始化,然后時鐘芯片再將從此時刻開始進行計時,并把數(shù)據(jù)送給CPU進行送顯示。其流程圖如圖3-5CPUCPUDS1302系統(tǒng)復位送初值調整后送值讀取數(shù)據(jù)DS1302圖3-5CPU與時鐘芯片通信3.6系統(tǒng)調試方式3.6.1系統(tǒng)調試環(huán)境本系統(tǒng)所有的電路都設計在一塊電路板上,整個電路板構造緊湊、分布合理,便于加工和調試,并且減少了互相間以及監(jiān)控器與其他儀器間的干擾。電路焊接好過后進行簡樸的調試、定標過后,系統(tǒng)便能對的、可靠的運行。3.6.2軟件調試 本設計的軟件部分,所有采用C語言編寫,軟件模塊較多,程序代碼較長,因此采用分塊調試的措施來調試程序。首先用單片機匯編程序編譯器(keiluVision2)調試,無誤后,再通過編程器燒到單片機用裝置試驗調試,采用了自下到上的調試措施,即先單獨調試好每一項功能,然后再連接成一種完整的系統(tǒng)調試。根據(jù)試驗成果和指標對照,若有不符,再修改,直到程序完全對的為止。這樣保證了軟件編寫的對的性和可行性。3.6.3硬件調試將程序燒入AT89S51中,并將其安裝在硬件電路中,然后通電。先調整看按鍵工作與否正常,數(shù)碼管與否能正常顯示。在正常待機顯示狀態(tài)下,按動顯示狀態(tài)切換鍵,看能否進行(時、分、秒和周、月、日之間的)切換,并在兩種顯示示狀態(tài)下擦去SET鍵,看能否啟動和關閉校時狀態(tài),最佳在校時狀態(tài)按動左移、右移、加鍵和減鍵,驗證其功能與否完善。在調試過程中碰到了諸多的問題:(1)LED不顯示。由于沒有買到PCB板中那種封裝的LED,因此在焊接的時候采用此外一種封裝的LED來替代,采用將從PCB板上的每個管腳連線出來與此外一塊板子上的LED管腳對應相連,由于連線過多,有某些線連錯或者虛焊,在檢查出錯誤后改正。(2)按下按鍵無動作。檢查后發(fā)目前焊接過程中輕觸按鍵的內部構造被破壞,不能正常的起到左右,后將其換掉。3.6.4調試成果基本實現(xiàn)了設計的規(guī)定,長時間運行輕易有誤差,在穩(wěn)定性方面尚有待改善。

結論/展望我在這一次數(shù)字電子鐘的設計過程中,很是受益匪淺。通過對自己在大學三年時間里所學的知識的回憶,并充足發(fā)揮對所學知識的理解和對畢業(yè)設計的思索及書面體現(xiàn)能力,最終完畢了。這為自己此后深入深化學習,積累了一定寶貴的經驗。撰寫論文的過程也是專業(yè)知識的學習過程,它使我運用已經有的專業(yè)基礎知識,對其進行設計,分析和處理一種理論問題或實際問題,把知識轉化為能力的實際訓練。培養(yǎng)了我運用所學知識處理實際問題的能力。通過這次課程設計我發(fā)現(xiàn),只有理論水平提高了;才可以將書本知識與實踐相整合,理論知識服務于教學實踐,以增強自己的動手能力。這個試驗十分故意義我獲得很深刻的經驗。通過這次課程設計,我們懂得了理論和實際的距離,也懂得了理論和實際想結合的重要性,,也從中得知了諸多書本上無法得知的知識。我們的學習不僅要立足于書本,以處理理論和實際教學中的實際問題為目的,還要以實踐相結合,理論問題即實踐課題,處理問題即課程研究,學生自己就是一種專家,通過自己的手來處理問題比用腦子處理問題愈加深刻。學習就應當采用理論與實踐結合的方式,理論的問題,也就是實踐性的課題。這種做法既有助于完畢理論知識的鞏固,又有助于帶動實踐,處理實際問題,加強我們的動手能力和處理問題的能力。在試驗過程中,也許會出現(xiàn)這樣或那樣的錯誤,但只要戒躁,安下心來,一步一步檢查電路,多仿真,多嘗試,必要時和同學多討論,所有問題都會得到處理。尤其是在自己嘗試、檢查了多遍,但編譯還錯誤時,更要靜下心來,否則只會使狀況愈加糟糕。只有冷靜的心情,睿智的頭腦才能使自己無堅不摧,完美完畢試驗。本次試驗讓我學到了諸多,不僅在知識上,同步也在人格上,使我自身的綜合素質得到了提高。認識到,光有聰穎的頭腦是不夠的,更為重要的是要具有堅韌的毅力和勇于思索問題的品質,同步,團體合作能力、創(chuàng)新精神也是不可或缺的。但愿能有機會多做這樣的試驗,提高自己的綜合素質,加強自己的實踐能力,豐富自己的頭腦,為后來的學習、工作打下結實的基礎。

致謝大學生涯行將結束,不過在那之前我們都必須得完畢畢業(yè)設計的工作,快樂的是我在今天完畢了這項工作,目前,我要對老師,同學,學校,家人體現(xiàn)最真誠的謝意。首先要提到的是我的畢業(yè)設計指導老師楊其鋒老師,這是我大學期間接觸最多的老師,他有著熱情活潑的教學方式并對學生體諒負責對工作認真嚴謹。盡管楊老師平時自己也有教學上的任務,但他對我的畢業(yè)設計一點也沒有省心同學的協(xié)助也是不能忽視的。我是一種比較擅長進行團體工作的人,而畢業(yè)設計這樣的任務其實對我來說是很大的考驗,慶幸在我完畢畢業(yè)設計的過程中,無論是硬件還是軟件上,本組其他同學和班級同學對我提供了很大的協(xié)助,我的能力相對較差,沒有他們耐心的協(xié)助我確實沒有措施完畢設計任務。最終則要感謝母校四年來提供應我的優(yōu)質的教學服務和生活,所有任課老師的認真教學,是你們讓我的專業(yè)知識得到豐富,父母親對我學習生活上的關懷,你們是我永遠的后盾。

參照文獻[1]沈紅衛(wèi)基于單片機的智能系統(tǒng)設計與實現(xiàn)[M].北京.電子工業(yè)出版社,.(70-85)[2]樓然苗51系列單片機設計實例[M].北京.北京航空航天大學出版社,.(23-45)[3]董傳岱數(shù)字電子技術[M].石油大學出版社,.(45-63)[4]吳秀清微機原理與接口技術[M].中國科技大學出版社,.(20-35)[5]何立民單片機應用系統(tǒng)設計[M].北京:北京航空航天大學出版社,1995.(55-67)[6]李華.MCS-51系列單片機實用接口技術[M].北京:北京航空航天大學出版社,1990.(46-56)[7]劉飛等兩種數(shù)字鐘電路設計比較[J]湖北師范學院學報,2(23)(40-43)[8]胥筱門單片機系統(tǒng)的試驗及應用[J]電子制作1999(6)(20-30)[9]鄭惠芳單片機報時時鐘控制系統(tǒng)的一種設計措施[J]福建廣播電視大學學報(6)(63-67)[10]張柱濤等基于單片機的多功能智能鐘的設計[A]山東大學學報,5(23)(20-24)[11]AdelS.sedra&KennetchCSmithMicroelectronicCircuits.CBCCollegeOxfordUniversityPress,1998.(122-126)[12]JacobMillman&ArvinGrabel,Microelectronics.McGraw-HillBookCompany;NewYork,.(231-241)[13]DavidA.HodgsandHoraceGjackson.AnalysisendandDesignofDigitalIntegratedCircuits,NewYork,McGraw-Hill,1999.(1123-1133)

附錄附錄A數(shù)字鐘系統(tǒng)設計原理圖附圖A數(shù)字鐘系統(tǒng)原理圖附錄B系統(tǒng)設計程序#include<reg51.h>#defineuintunsignedint#defineucharunsignedcharsbitACC0=ACC^0;sbitACC7=ACC^7;sbitjiak=P2^3;sbityouyik=P2^2;sbitzuoyik=P2^1;sbitjiank=P2^0;sbitint1k=P3^3;sbitCLK=P3^5;//1302時鐘信號線sbitIO=P3^6;//1302的I/O數(shù)據(jù)線sbitRST=P3^7;//1302的RST復位線bitflagb=1,xshi=1;//校準,顯示切換標志位voidInputByte(uchar);//輸入1ByteucharOutputByte(uchar);//輸出1BytevoidW1302(uchar,uchar);ucharR1302(uchar);uchartab[6],tabb[6],tabbb[6];voidkey();voiddisplay();voidinit();voiddisplay1();voidinit1();uchara,c,i,b;//c表達中斷次數(shù)a表達數(shù)碼管移位次數(shù)uinttemp;ucharmiao,fen,shi;ucharri,yue,week;uchartab1[7]={0x40,0x59,0x11,0x11,0x02,0x06,0x06};uchartabb1[7]={0x01,0x01,0x01,0x01,0x01,0x01,0x01};ucharcodetab2[10]={0x88,0Xbe,0Xc4,0X94,0Xb2,0X91,0X81,0Xbc,0X80,0X90};ucharcodetabb2[10]={0x88,0Xbe,0Xc4,0X94,0Xb2,0X91,0X81,0Xbc,0X80,0X90};sbitzy=P2^1;ucharflag,zyflag,yyflag;//延時1msvoiddelay(uintz){ uintx,y; for(x=z;x>0;x--) for(y=110;y>0;y--);}//往1302寫入1Byted為寫入的數(shù)據(jù)入口參數(shù)voidInputByte(uchardate){ uchari; ACC=date; for(i=8;i>0;i--) { IO=ACC0; CLK=1; CLK=0; ACC=ACC>>1; }}//從1302讀取1Byte數(shù)據(jù)返回值ACCucharOutputByte(void){ uchari; for(i=8;i>0;i--) { ACC=ACC>>1; ACC7=IO; CLK=1; CLK=0; } return(ACC);}//往1302寫入數(shù)據(jù)先寫地址后寫數(shù)據(jù)ucADDucDA是入口參數(shù)voidW1302(ucharaddr,uchardate){ RST=0; CLK=0; RST=1; InputByte(addr);//寫地址 InputByte(date);//寫1Byte數(shù)據(jù) CLK=1; RST=0;}//讀取1302某地址的數(shù)據(jù)先寫地址后讀數(shù)據(jù)ucAddr入口地址ucDa是返回值ucharR1302(ucharaddr){ uchardate; RST=0; CLK=0; RST=1; InputByte(addr);//寫地址 date=OutputByte();//讀1Byte數(shù)據(jù) CLK=1; RST=0; return(date);}//初始化設置初始值voidinit(){ uchari1; ucharaddr=0x80; W1302(0x8e,0x00);//控制命令字節(jié)WP=0寫操作 for(i1=0;i1<7;i1++) { W1302(addr,tab1[i1]);//秒分時日月星期年 addr+=2; } W1302(0x90,0xa6); W1302(0x8e,0x80);//控制命令字節(jié)WP=1寫保?}voidinit1(){ uchari1; ucharaddrb=0x86; W1302(0x8e,0x00);//控制命令字節(jié)WP=0寫操作 for(i1=0;i1<7;i1++) { W1302(addrb,tabb1[i1]);//秒分時日月星期年 addrb+=2; } W1302(0x90,0xa6); W1302(0x8e,0x80);//控制命令字節(jié)WP=1寫保?}voiddisplay(){ ucharCurtime[7]; uchari,i2; ucharaddr=0x81; for(i2=0;i2<7;i2++) { Curtime[i2]=R1302(addr);//格式秒分時日月星期年 addr+=2; } miao=Curtime[0]; fen=Curtime[1]; shi=Curtime[2]; tab[5]=miao%16; tab[4]=miao/16; tab[3]=fen%16; tab[2]=fen/16; tab[1]=shi%16; tab[0]=shi/16; for(i=0;i<6;i++) { SBUF=tab2[tab[i]]; while(!TI); TI=0; } delay(20);}voiddisplay1(){ ucharCurtime[7]; uchari,i2; ucharaddrb=0x87; for(i2=0;i2<7;i2++) { Curtime[i2]=R1302(addrb);//格式秒分時日月星期年 addrb+=2; } ri=Curtime[0]; yue=Curtime[1]; week=Curtime[2]; tabb[5]=ri%16; tabb[4]=ri/16; tabb[3]=yue%16; tabb[2]=yue/16; tabb[1]=week%16; tabb[0]=week/16; for(i=0;i<6;i++) { SBUF=tabb2[tabb[i]]; while(!TI); TI=0; } delay(20);}//主函數(shù)voidmain(){ zyflag=1; display(); if(shi==0x00&&fen==0x00&&miao==0x80)init(); if(week==0x00&&yue==0x00&&ri==0x80)init1(); EA=1; EX1=1; IT1=1; while(1) { if(zuoyik==0){while(!zuoyik);xshi=~xshi;flagb=~flagb;} if(xshi==1) { if(c!=1)display();//時分秒 } else { if(c!=1)display1();//星期月日 } }}voidint1()interrupt2{ while(1) { if(int1k==0) //掃描p3 { delay(20); if(int1k==0) { while(!int1k); W1302(0x8e,0x00); a=1; c++; if(c==2)c=0; } } if(c==1) { if(youyik==0)//掃描鍵盤 { delay(20); if(youyik==0) { while(!youyik); a+=2; if(a==7)a=1; } } if(zuoyik==0) { delay(20); if(zuoyik==0) { while(!zuoyik); if(a==1) a=7; a-=2; } } if(flagb==1) for(i=0;i<6;i++) {tabbb[i]=tab[i]; } else for(i=0;i<6;i++){tabbb[i]=tabb[i]; }; for(i=0;i<6;i++) { if(a==i) { b=a; SBUF=0xff; } elseSBUF=tab2[tabbb[i]]; while(!TI); TI=0; } delay(100); if(b==a) { if(jiak==0) { delay(20); if(jiak==0) { while(!jiak); switch(b) { case1: if(flagb==1) {tab[1]++; if(tab[1]==10) { tab[1]=0; tab[0]++; } if(tab[0]==2&&tab[1]==4) { tab[0]=0; tab[1]=0; } shi=tab[0]*10+tab[1]; W1302(0x84,(shi/10)*16+shi%10); break; } else {tabb[1]++; if(tabb[1]==8) { tabb[1]=1; tabb[0]=0; } if(tabb[0]==0&&tabb[1]==8) { tabb[0]=0; tabb[1]=0; } week=tabb[0]*10+tabb[1]; W1302(0x8a,(week/10)*16+week%10); break; } case3: if(flagb==1) {tab[3]++; if(tab[3]==10) { tab[3]=0; tab[2]++; } if(tab[2]==6&&tab[3]==0) { tab[2]=0; tab[3]=0; } fen=tab[2]*10+tab[3]; W1302(0x82,(fen/10)*16+fen%10); break; } else {tabb[3]++; if(tabb[3]==10) { tabb[3]=0; tabb[2]++; } if(tabb[2]==1&&tabb[3]==3) { tabb[2]=0; tabb[3]=1; } yue=tabb[2]*10+tabb[3]; W1302(0x88,(yue/10)*16+yue%10); break; } case5: if(flagb==1) {tab[5]++; if(tab[5]==10) {

溫馨提示

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

評論

0/150

提交評論