版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 基于單片機的電子時鐘設計</p><p><b> 摘 要</b></p><p> 20世紀末,電子技術獲得了飛速的發(fā)展,在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的</p><p> 各個領域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高,同時也使現(xiàn)代電子產(chǎn)</p><p> 品性
2、能進一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。</p><p> 現(xiàn)代生活的人們越來越重視起了時間觀念,可以說是時間和金錢劃上了等號。對于那些</p><p> 對時間把握非常嚴格和準確的人或事來說,時間的不準確會帶來非常大的麻煩,所以以數(shù)碼</p><p> 管為顯示器的時鐘比指針式的時鐘表現(xiàn)出了很大的優(yōu)勢。數(shù)碼管顯示的時間簡單明了而且讀</p>
3、<p> 數(shù)快、時間準確顯示到秒。而機械式的依賴于晶體震蕩器,可能會導致誤差。</p><p> 數(shù)字鐘是采用數(shù)字電路實現(xiàn)對“時”、“分”、“秒”數(shù)字顯示的計時裝置。數(shù)字鐘的精度、</p><p> 穩(wěn)定度遠遠超過老式機械鐘。在這次設計中,我們采用LED數(shù)碼管顯示時、分、秒,以24</p><p> 小時計時方式,根據(jù)數(shù)碼管動態(tài)顯示原理來進行顯示
4、,用12MHz的晶振產(chǎn)生振蕩脈沖,定</p><p> 時器計數(shù)。在此次設計中,電路具有顯示時間的其本功能,還可以實現(xiàn)對時間的調(diào)整。數(shù)字</p><p> 鐘是其小巧,價格低廉,走時精度高,使用方便,功能多,便于集成化而受廣大消費的喜愛,</p><p> 因此得到了廣泛的使用。</p><p> 關鍵字:數(shù)字電子鐘 單片機<
5、;/p><p> Abstract The late 20th century, electronic technology has been rapid development in its promotion, penetration of modern electronic products will almost Fields, a strong impetus to the developme
6、nt of social productive forces and social improvement in the level of information, while also further improve the performance of modern electronic products, replacement products have become increasingly fast pace.
7、; Growing emphasis on modern life from the time the concept of time and money can</p><p><b> 目 錄</b></p><p> 第一章 緒論 </p><p> 1.1 數(shù)字電子鐘的背景……………………
8、……………………………………………… 4</p><p> 1.2 數(shù)字電子鐘的意義…………………………………………………………………… 4</p><p> 1.3 數(shù)字電子鐘的應用…………………………………………………………………… 4</p><p> 第二章 整體設計方案</p><p> 2.1 單片機的選擇………
9、…………………………………………………………………… 6</p><p> 2.2 單片機的基本結構……………………………………………………………………… 8</p><p> 第三章 數(shù)字鐘的硬件設計</p><p> 3.1 最小系統(tǒng)設計…………………………………………………………………………… 12</p><p> 3.2
10、LED顯示電路…………………………………………………………………………… 15</p><p> 第四章 數(shù)字鐘的軟件設計</p><p> 4.1 系統(tǒng)軟件設計流程圖…………………………………………………………………… 18</p><p> 4.2 數(shù)字電子鐘的原理圖…………………………………………………………………… 21</p><
11、;p> 4.3 主程序…………………………………………………………………………………… 22</p><p> 4.4 時鐘設置子程序………………………………………………………………………… 21</p><p> 4.5 定時器中斷子程序……………………………………………………………………… 21</p><p> 4.6 LED顯示子程序……………
12、…………………………………………………………… 22</p><p> 4.7 按鍵控制子程序………………………………………………………………………… 24</p><p><b> 第五章 系統(tǒng)仿真</b></p><p> 5.1 PROTUES軟件介紹……………………………………………………………………… 31</p>
13、<p> 5.2 電子鐘系統(tǒng)PROTUES仿真……………………………………………………………… 31</p><p> 第六章 調(diào)試與功能說明</p><p> 6.2 系統(tǒng)性能測試與功能說明……………………………………………………………… 32</p><p> 6.3 系統(tǒng)時鐘誤差分析………………………………………………………………………
14、 32</p><p> 6.1 硬盤調(diào)試………………………………………………………………………………… 32</p><p> 6.4 軟件調(diào)試問題及解決…………………………………………………………………… 32</p><p> 結束語………………………………………………………………………………………….34</p><p> 參
15、考文獻………………………………………………………………………………………35</p><p> 致謝……………………………………………………………………………………………..36</p><p><b> 第一章 緒論</b></p><p> 1.1數(shù)字電子鐘的背景 </p><p> 20世紀末,電子技術
16、獲得了飛速的發(fā)展,在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個領域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高,同時也使現(xiàn)代電子產(chǎn)品性能進一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。 時間對人們來說總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當前的時間。忘記了要做的事情,當事情不是很重要的時候,這種遺忘無傷大雅。但是,一旦重要事情,一時的耽誤可能釀成大禍。</p><p> 目前,單片機正朝著高性能和多品
17、種方向發(fā)展趨勢將是進一步向著CMOS化、低功耗、小體積、大容量、高性能、低價格和外圍電路內(nèi)裝化等幾個方面發(fā)展。下面是單片機的主要發(fā)展趨勢。單片機應用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設計思想和設計方法。從前必須由模擬電路或數(shù)字電路實現(xiàn)的大部分功能,現(xiàn)在已能用單片機通過軟件方法來實現(xiàn)了。這種軟件代替硬件的控制技術也稱為微控制技術,是傳統(tǒng)控制技術的一次革命。</p><p> 單片機模塊中最常見的是數(shù)
18、字鐘,數(shù)字鐘是一種用數(shù)字電路技術實現(xiàn)時、分、秒計時的裝置,與機械式時鐘相比具有更高的準確性和直觀性,且無機械裝置,具有更更長的使用壽命,因此得到了廣泛的使用。</p><p> 1.2數(shù)字電子鐘的意義</p><p> 數(shù)字鐘是采用數(shù)字電路實現(xiàn)對.時,分,秒.數(shù)字顯示的計時裝置,廣泛用于個人家庭,車站, 碼頭辦公室等公共場所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?由于數(shù)字集成電路的發(fā)展和石
19、英晶體振蕩器的廣泛應用,使得數(shù)字鐘的精度,遠遠超過老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、定時開關烘箱、通斷動力設備、甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎的。因此,研究數(shù)字鐘及擴大其應用,有著非常現(xiàn)實的意義。</p><p> 1.3數(shù)字電子鐘的應用 </
20、p><p> 數(shù)字鐘已成為人們?nèi)粘I钪校罕夭豢缮俚谋匦杵罚瑥V泛用于個人家庭以及車站、碼頭、劇場、辦公室等公共場所,給人們的生活、學習、工作、娛樂帶來極大的方便。由于數(shù)字集成電路技術的發(fā)展和采用了先進的石英技術,使數(shù)字鐘具有走時準確、性能穩(wěn)定、攜帶方便等優(yōu)點,它還用于計時、自動報時及自動控制等各個領域。
21、 </p><p> 第二章 整體設計方案</p><p> 2.1 單片機的選擇 </p><p> 單片機微型計算機是微型計算機的一個重要分支,也是頗具生命力的機種。單片機微型計算機簡稱單片機,特別適用于控制領域,故又稱為微控制器。</p><p> 通常,單片機由單塊
22、集成電路芯片構成,內(nèi)部包含有計算機的基本功能部件:中央處理器、存儲器和I/O接口電路等。因此,單片機只需要和適當?shù)能浖巴獠吭O備相結合,便可成為一個單片機控制系統(tǒng)。</p><p> 單片機經(jīng)過1、2、3、3代的發(fā)展,正朝著多功能、高性能、低電壓、低功耗、低價格、大存儲容量、強I/O功能及較好的結構兼容性方向發(fā)展。其發(fā)展趨勢不外乎以下幾個方面:</p><p> 1、多功能 &
23、lt;/p><p> 單片機中盡可能地把所需要的存儲器和I/O口都集成在一塊芯片上,使得單片機可以實現(xiàn)更多的功能。比如A/D、PWM、PCA(可編程計數(shù)器陣列)、WDT(監(jiān)視定時器---看家狗)、高速I/O口及計數(shù)器的捕獲/比較邏輯等。</p><p> 有的單片機針對某一個應用領域,集成了相關的控制設備,以減少應用系統(tǒng)的芯片數(shù)量。例如,有的芯片以51內(nèi)核為核心,集成了USB控制器、SMA
24、RT CARD接口、MP3解碼器、CAN或者I*I*C總線控制器等,LED、LCD或VFD顯示驅(qū)動器也開始集成在8位單片機中。</p><p><b> 2、高效率和高性能</b></p><p> 為了提高執(zhí)行速度和執(zhí)行效率,單片機開始使用RISC、流水線和DSP的設計技術,使單片機的性能有了明顯的提高,表現(xiàn)為:單片機的時鐘頻率得到提高;同樣頻率的單片機運行效率
25、也有了很大的提升;由于集成度的提高,單片機的尋址能力、片內(nèi)ROM(FLASH)和RAM的容量都突破了以往的數(shù)量和限制。</p><p> 由于系統(tǒng)資源和系統(tǒng)復雜程度的增加,開始使用高級語言(如C語言)來開發(fā)單片機的程序。使用高級語言可以降低開發(fā) 難度,縮短開發(fā)周期,增強軟件的可讀性和可移植性,便于改進和擴充功能。</p><p><b> 3、低電壓和低功耗</b>
26、;</p><p> 單片機的嵌入式應用決定了低電壓和低功耗的特性十分重要。由于CMOS等工藝的大量采用,很多單片機可以在更低的電壓下工作(1.2V或0.9V),功耗已經(jīng)降低到uA級。這些特性使得單片機系統(tǒng)可以在更小電源的支持下工作更長的時間。</p><p><b> 4、低價格</b></p><p> 單片機應用面廣,使用數(shù)量大,帶
27、來的直接好處就是成本的降低。目前世界各大公司為了提高競爭力,在提高單片機性能的同時,十分注意降低其產(chǎn)品的價格。</p><p> 下面大致介紹一下單片機的主要應用領域和特點。</p><p><b> ?。?)家用電器領域</b></p><p> 用單片機控制系統(tǒng)取代傳統(tǒng)的模擬和數(shù)字控制電路,使家用電器(如洗衣機、空調(diào)、冰箱、微波爐、和電
28、視機等)功能更完善,更加智能化和易于使用。</p><p> (2)辦公自動化領域</p><p> 單片機作為嵌入式系統(tǒng)廣泛應用于現(xiàn)代辦公設備,如計算機的鍵盤、磁盤驅(qū)動、打印機、復印機、電話機和傳真機等。</p><p><b> ?。?)商業(yè)應用領域</b></p><p> 商業(yè)應用系統(tǒng)部分與家用和辦公應用系
29、統(tǒng)相似,但更加注重設備的穩(wěn)定性、可靠性和安全性。商用系統(tǒng)中廣泛使用的電子計量儀器、收款機、條形碼閱讀器、安全監(jiān)測系統(tǒng)、空氣調(diào)節(jié)系統(tǒng)和冷凍保鮮系統(tǒng)等,都采用了單片機構成的專用系統(tǒng)。與通用計算機相比,這些系統(tǒng)由于比較封閉,可以更有效地防止病毒和電磁干擾等,可靠性更高。</p><p><b> (4)工業(yè)自動化</b></p><p> 在工業(yè)控制和機電一體化控制系統(tǒng)
30、中,除了采用工控計算機外,很多都是以單片機為核心的單片機和多機系統(tǒng)。</p><p> ?。?)智能儀表與集成智能傳感器</p><p> 目前在各種電氣測量儀表中普遍采用了單片機應用系統(tǒng)來代替?zhèn)鹘y(tǒng)的測量系統(tǒng),使得測量系統(tǒng)具有存儲、數(shù)據(jù)處理、查詢及聯(lián)網(wǎng)等智能功能。將單片機和傳感器相結合,可以構成新一代的智能傳感器。它將傳感器變換后的物理量作進一步的變化和處理,使其成為數(shù)字信號,可以遠距離
31、傳輸并與計算機接口。</p><p> ?。?)現(xiàn)代交通與航空航天領域</p><p> 通常應用于電子綜合顯示系統(tǒng)、動力監(jiān)控系統(tǒng)、自動駕駛系統(tǒng)、通信系統(tǒng)以及運行監(jiān)視系統(tǒng)等。這些領域?qū)w積、功耗、穩(wěn)定性和實時性的要求往往比商用系統(tǒng)還要高,因此采用單片機系統(tǒng)更加重要。</p><p> 目前,我國生產(chǎn)很多型號的單片機,在此,我們采用型號為STC89C52的單片機。
32、因為: STC89C52是一個低電壓,高性能CMOS 8位單片機,片內(nèi)含4k bytes的可反復擦寫的Flash只讀程序存儲器和128 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產(chǎn),兼容標準MCS-52指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,內(nèi)置功能強大的微型計算機的AT89C52提供了高性價比的解決方案。</p><p> STC89
33、C52是一個低功耗高性能單片機,40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,STC89C51可以按照常規(guī)方法進行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結合在一起,特別是可反復擦寫的Flash存儲器可有效地降低開發(fā)成本。</p><p> 2.2 單片機的基本結構</p><p> MCS
34、-52單片機內(nèi)部結構</p><p> 8052單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:</p><p><b> 中央處理器:</b></p><p> 中央處理器(CPU)是整個單片機的核心部件
35、,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制數(shù)據(jù)或代碼,CPU負責控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。</p><p> 數(shù)據(jù)存儲器(RAM)</p><p> 8052內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有1
36、28個,可存放讀寫的數(shù)據(jù),運算的中間結果或用戶定義的字型表。</p><p> 圖2-1 單片機8052的內(nèi)部結構</p><p> 程序存儲器(ROM):</p><p> 8052共有4096個8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。</p><p> 定時/計數(shù)器(ROM):</p><p>
37、 8052有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。</p><p> 并行輸入輸出(I/O)口:</p><p> 8052共有4組8位I/O口(P0、 P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。</p><p><b> 全雙工串行口:</b></p><p> 8052內(nèi)置
38、一個全雙工串行通信口,用于與其它設備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當同步移位器使用。</p><p><b> 中斷系統(tǒng):</b></p><p> 8052具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。</p><p><b>
39、 時鐘電路:</b></p><p> 8052內(nèi)置最高頻率達12MHz的時鐘電路,用于產(chǎn)生整個單片機運行的脈沖時序,但8052單片機需外置振蕩電容。</p><p> 單片機的結構有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(Harvard)結構,另一種是采用通用計算機廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結構,即普林斯頓(Princeton)結構。I
40、NTEL的MCS-52系列單片機采用的是哈佛結構的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機則采用普林斯頓結構。</p><p> 下圖是MCS-52系列單片機的內(nèi)部結構示意圖。</p><p> 圖2-2 MCS-52系列單片機的內(nèi)部結構</p><p> MCS-52的引腳說明:</p><p> MCS-52系列單片機中的8
41、031、8051及8751均采用40Pin封裝的雙列直接DIP結構,右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復用?,F(xiàn)在我們對這些引腳的功能加以說明:</p><p> MCS-51的引腳說明:</p><p> MCS-52系列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP
42、結構,右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復用?,F(xiàn)在我們對這些引腳的功能加以說明:</p><p> 圖2-3 單片機的引腳圖</p><p> Pin9:RESET/Vpd復位信號復用腳,當8052通電,時鐘電路開始工作,在RESET引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復位。初始化后
43、,程序計數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),8052的初始態(tài)。</p><p> 8051的復位方式可以是自動復位,也可以是手動復位,見下圖4。此外,RESET/Vpd還是一復用腳,Vcc掉電其間,此腳可接上備用電源,
44、以保證單片機內(nèi)部RAM的數(shù)據(jù)不丟失。</p><p> 圖2-4 上電自動和手動復位電路圖</p><p> 圖2-5 內(nèi)部和外部時鐘方式圖 </p><p> Pin30:ALE/當訪問外部程序器時,ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問內(nèi)部程序存儲器時,ALE端將有一個1/6時鐘頻率的正脈沖信號,這個信號可以用于識別單片機是否工作,也
45、可以當作一個時鐘向外輸出。更有一個特點,當訪問外部程序存儲器,ALE會跳過一個脈沖。 </p><p> 如果單片機是EPROM,在編程其間,將用于輸入編程脈沖。</p><p> Pin29:當訪問外部程序存儲器時,此腳輸出負脈沖選通信號,PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。</p><p&g
46、t; Pin31:EA/Vpp程序存儲器的內(nèi)外部選通線,8051和8751單片機,內(nèi)置有4kB的程序存儲器,當EA為高電平并且程序地址小于4kB時,讀取內(nèi)部程序存儲器指令數(shù)據(jù),而超過4kB地址則讀取外部指令數(shù)據(jù)。如EA為低電平,則不管地址大小,一律讀取外部程序存儲器指令。顯然,對內(nèi)部無程序存儲器的8031,EA端必須接地。</p><p> 第三章 數(shù)字鐘的硬件設計</p><p>
47、 3.1 最小系統(tǒng)設計</p><p> 圖3-1 單片機最小系統(tǒng)的結構圖 </p><p> 單片機的最小系統(tǒng)是由電源、復位、晶振、/EA=1組成,下面介紹一下每一個組成部分。</p><p> 1.電源引腳 </p><p> Vcc 40 電源端</p><p> GND 20 接地端
48、</p><p> 工作電壓為5V,另有AT89LV51工作電壓則是2.7-6V, 引腳功能一樣。 </p><p><b> 2.外接晶體引腳</b></p><p> 圖3-2 晶振連接的內(nèi)部、外部方式圖</p><p><b> XTAL1 19</b></p><
49、p><b> XTAL2 18</b></p><p> XTAL1是片內(nèi)振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時,外部振蕩信號應直接加到XTAL1,而XTAL2懸空。內(nèi)部方式時,時鐘發(fā)生器對振蕩脈沖二分頻,如晶振為12MHz,時鐘頻率就為6MHz。晶振的頻率可以在1MHz-24MHz內(nèi)選擇。電容取30PF左右。系統(tǒng)的時鐘電路設計是采用的內(nèi)部方式,即利用芯片
50、內(nèi)部的振蕩電路。AT89單片機內(nèi)部有一個用于構成振蕩器的高增益反相放大器。引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體諧振器一起構成一個自激振蕩器。外接晶體諧振器以及電容C1和C2構成并聯(lián)諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴格的要求,但電容的大小會影響震蕩器頻率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)電路的晶體振蕩器的值為12MHz,電容應盡可
51、能的選擇陶瓷電容,電容值約為22μF。在焊接刷電路板時,晶體振蕩器和電容應盡可能安裝得與單片機芯片靠近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作。</p><p> 3. 復位 RST 9</p><p> 在振蕩器運行時,有兩個機器周期(24個振蕩周期)以上的高電平出現(xiàn)在此引腿時,將使單片機復位,只要這個腳保持高電平,51芯片便循環(huán)復位。復位后P0-P3口均置1引腳表現(xiàn)為高電
52、平,程序計數(shù)器和特殊功能寄存器SFR全部清零。當復位腳由高電平變?yōu)榈碗娖綍r,芯片為ROM的00H處開始運行程序。復位是由外部的復位電路來實現(xiàn)的。片內(nèi)復位電路是復位引腳RST通過一個斯密特觸發(fā)器與復位電路相連,斯密特觸發(fā)器用來抑制噪聲,它的輸出在每個機器周期的S5P2,由復位電路采樣一次。復位電路通常采用上電自動復位和按鈕復位兩種方式,此電路系統(tǒng)采用的是上電與按鈕復位電路。當時鐘頻率選用6MHz時,C取22μF,Rs約為200Ω,Rk約為
53、1K。復位操作不會對內(nèi)部RAM有所影響。</p><p> 常用的復位電路如下圖所示:</p><p> 圖3-3 常用復位電路圖</p><p><b> 4.輸入輸出引腳</b></p><p> (1) P0端口[P0.0-P0.7] P0是一個8位漏極開路型雙向I/O端口,端口置1(對端口寫1)時作高阻抗
54、輸入端。作為輸出口時能驅(qū)動8個TTL。</p><p> 對內(nèi)部Flash程序存儲器編程時,接收指令字節(jié);校驗程序時輸出指令字節(jié),要求外接上拉電阻。</p><p> 在訪問外部程序和外部數(shù)據(jù)存儲器時,P0口是分時轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,訪問期間內(nèi)部的上拉電阻起作用。</p><p> (2) P1端口[P1.0-P1.7] P1是一個帶有內(nèi)部上拉電阻
55、的8位雙向I/0端口。輸出時可驅(qū)動4個TTL。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。</p><p> 對內(nèi)部Flash程序存儲器編程時,接收低8位地址信息。</p><p> (3) P2端口[P2.0-P2.7] P2是一個帶有內(nèi)部上拉電阻的8位雙向I/0端口。輸出時可驅(qū)動4個TTL。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部Flash程序存儲器編程時
56、,接收高8位地址和控制信息。</p><p> 在訪問外部程序和16位外部數(shù)據(jù)存儲器時,P2口送出高8位地址。而在訪問8位地址的外部數(shù)據(jù)存儲器時其引腳上的內(nèi)容在此期間不會改變。</p><p> (4) P3端口[P3.0-P3.7] P2是一個帶有內(nèi)部上拉電阻的8位雙向I/0端口。輸出時可驅(qū)動4個TTL。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。</p>&l
57、t;p> 對內(nèi)部Flash程序存儲器編程時,接控制信息。除此之外P3端口還用于一些專門功能,具體請看下表。</p><p> 表3-1 P3端口引腳兼用功能表</p><p> 3.2 LED顯示電路</p><p> 顯示器普遍地用于直觀地顯示數(shù)字系統(tǒng)的運行狀態(tài)和工作數(shù)據(jù),按照材料及產(chǎn)品工藝,單片機應用系統(tǒng)中常用的顯示器有: 發(fā)光二極管LED顯示器、
58、液晶LCD顯示器、CRT顯示器等。LED顯示器是現(xiàn)在最常用的顯示器之一,如下圖所示。</p><p> 圖3-4 LED顯示器的符號圖</p><p> 發(fā)光二極管(LED)由特殊的半導體材料砷化鎵、磷砷化鎵等制成,可以單獨使用,也可以組裝成分段式或點陣式LED顯示器件(半導體顯示器)。分段式顯示器(LED數(shù)碼管)由7條線段圍成8字型,每一段包含一個發(fā)光二極管。外加正向電壓時二極管導通
59、,發(fā)出清晰的光。只要按規(guī)律控制各發(fā)光段亮、滅,就可以顯示各種字形或符號。LED數(shù)碼管有共陽、共陰之分。圖是共陽式、共陰式LED數(shù)碼管的原理圖和符號.</p><p> 圖3-5 共陽式、共陰式LED數(shù)碼管的原理圖和數(shù)碼管的符號圖</p><p> 顯示電路顯示模塊需要實時顯示當前的時間,即時、分、秒,因此需要6個數(shù)碼管,另需兩個數(shù)碼管來顯示橫。采用動態(tài)顯示方式顯示時間,硬件連接如下圖所
60、示,時的十位和個位分別顯示在第一個和第二個數(shù)碼管,分的十位和個位分別顯示在第四個和第五個數(shù)碼管,秒的十位和個位分別顯示在第七個和第八個數(shù)碼管,其余數(shù)碼管顯示橫線。LED顯示器的顯示控制方式按驅(qū)動方式可分成靜態(tài)顯示方式和動態(tài)顯示方式兩種。對于多位LED顯示器,通常</p><p> 都是采用動態(tài)掃描的方法進行顯示,其硬件連接方式如下圖所示。</p><p> 圖3-6 數(shù)碼管的硬件連接示
61、意圖</p><p><b> 數(shù)碼管使用條件:</b></p><p> a、段及小數(shù)點上加限流電阻 </p><p> b、使用電壓:段:根據(jù)發(fā)光顏色決定; 小數(shù)點:根據(jù)發(fā)光顏色決定</p><p> c、使用電流:靜態(tài):總電流 80mA(每段 10mA);動態(tài):平均電流 4-5mA 峰值電流 1
62、00mA</p><p> 數(shù)碼管使用注意事項說明:</p><p> ?。ǎ保?shù)碼管表面不要用手觸摸,不要用手去弄引角;</p><p> ?。ǎ玻┖附訙囟龋海玻叮岸龋缓附訒r間:5S</p><p> ?。ǎ常┍砻嬗斜Wo膜的產(chǎn)品,可以在使用前撕下來。</p><p><b> 數(shù)字鐘的軟件設計</
63、b></p><p> 系統(tǒng)的軟件設計也是工具系統(tǒng)功能的設計。單片機軟件的設計主要包括執(zhí)行軟件(完成各種實質(zhì)性功能)的設計和監(jiān)控軟件的設計。單片機的軟件設計通常要考慮以下幾個方面的問題:</p><p> ?。?)根據(jù)軟件功能要求,將系統(tǒng)軟件劃分為若干個相對獨立的部分,設計出合理的總體結構,使軟件開發(fā)清晰、簡潔和流程合理;</p><p> ?。?)培養(yǎng)良好
64、的編程風格,如考慮結構化程序設計、實行模塊化、子程序化。既便于調(diào)試、鏈接,又便于移植和修改;</p><p> ?。?)建立正確的數(shù)學模型,通過仿真提高系統(tǒng)的性能,并選取合適的參數(shù);</p><p> (4)繪制程序流程圖;</p><p> (5)合理分配系統(tǒng)資源;</p><p> ?。?)為程序加入注釋,提高可讀性,實施軟件工程;&
65、lt;/p><p> (7)注意軟件的抗干擾設計,提高系統(tǒng)的可靠性。</p><p> 4.1 系統(tǒng)軟件設計流程圖</p><p> 這次的數(shù)字電子鐘設計用到很多子程序,它們的流程圖如下所示。</p><p> 主程序是先開始,然后啟動定時器,定時器啟動后在進行按鍵檢測,檢測完后,就可以顯示時間。</p><p>
66、 圖4-1 主程序流程圖</p><p> 按鍵處理是先檢測秒按鍵是否按下,秒按鍵如果按下,秒就加1;如果沒有按下,就檢測分按鍵是否按下,分按鍵如果按下,分就加1;如果沒有按下,就檢測時按鍵是否按下,時按鍵如果按下,時就加1;如果沒有按下,就把時間顯示出來。 </p><p> 圖4-2 按鍵處理流程圖</p><p> 定時器中斷時是先檢測1秒是否到,1
67、秒如果到,秒單元就加1;如果沒到,就檢測1分鐘是否到,1分鐘如果到,分單元就加1;如果沒到,就檢測1小時是否到,1小時如果到,時單元就加1,如果沒到,就顯示時間。</p><p> 圖4-3 定時器中斷流程圖</p><p> 時間顯示是先秒個位計算顯示,然后是秒十位計算顯示,再是分個位計算顯示,再然后是分十位顯示,再就是時個位計算顯示,最后是時十位顯示。</p><
68、;p> 圖4-4 時間顯示流程圖</p><p> 4.2 數(shù)字鐘的原理圖</p><p> 用PROTUES軟件,根據(jù)要求畫出數(shù)字電子鐘的原理圖如下所示。</p><p> 圖4-5 數(shù)字鐘的原理圖 </p><p> 在此有必要介紹一下數(shù)字電子鐘的工作原理。</p><p> 工作原理 :
69、 </p><p> 數(shù)字電子鐘是一個將“ 時”,“分”,“秒”顯示于人的視覺器官的計時裝置。它的計時周期為24小時,顯示滿刻度為23時59分59秒,另外還有校時功能。因此,一個基本的數(shù)字鐘電路主要由顯示器“時”,“分”,“秒”和單片機,還有校時電路組成。8個數(shù)碼管的段選接到單片機的P0口,位選接到單片機的P2口。數(shù)碼管按照數(shù)碼管動態(tài)顯示的工作原理工作,將標準秒信號送入“秒單元”,“秒單元”采用60進制計數(shù)
70、器,每累計60秒發(fā)出一個“分脈沖”信號,該信號將作為“分單元”的時鐘脈沖?!胺謫卧币膊捎?0進制計數(shù)器,每累計60分鐘,發(fā)出一個“時脈沖”信號,該信號將被送到“時單元”?!皶r單元”采用24進制計時器,可實現(xiàn)對一天24小時的累計。顯示電路將“時”、“分”、“秒”通過七段顯示器顯示出來。</p><p> 4.3 設計主程序。(本次設計我們采用匯編語言編寫程序簡單明了)</p><p>
71、 ; P0.0-7口 為數(shù)碼管段選,采用共陽顯示管。</p><p> ; P2.1-6為數(shù)碼管位選。</p><p> ; 70-71H 秒計時和顯示單元 </p><p> ; 72-73H 分顯示單元 注意:72H放個位數(shù) 73H放十位數(shù)</p><p> ; 74-75H 小時顯示單元</p&g
72、t;<p> ; 76-77H 分計時單元</p><p> ; 78-79H 小時計時單元</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> ;; 中斷入口程序 ;;</p><p> ;;;;;;
73、;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b> ;</b></p><p> ORG 0000H ;程序執(zhí)行開始地址</p><p> LJMP START ;跳到標號START執(zhí)行</p><p> ORG 0003H ;外中斷0
74、中斷程序入口</p><p> RETI ;外中斷0中斷返回</p><p> ORG 000BH ;定時器T0中斷程序入口</p><p> LJMP INTT0 ;跳至INTTO執(zhí)行</p><p> ORG 0013H ;外中斷1中斷程序入口</p><
75、p> RETI ;外中斷1中斷返回</p><p> ORG 001BH ;定時器T1中斷程序入口</p><p> LJMP INTT1 ;跳至INTT1執(zhí)行</p><p> ORG 0023H ;串行中斷程序入口地址</p><p> RETI
76、 ;串行中斷程序返回</p><p><b> ;</b></p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> ;; 主 程 序 ;;</p><p> ;;;;;;;;;;;;;;;;;;;;
77、;;;;;;;;;;;;;;;;;;;;</p><p><b> ;</b></p><p> START: MOV R0,#70H ;清70H-7AH共11個內(nèi)存單元</p><p> MOV R7,#0BH ;</p><p> CLEARDISP: MOV @R0,#
78、00H ;</p><p> INC R0 ;</p><p> DJNZ R7,CLEARDISP ;</p><p> MOV 20H,#00H ;清20H(標志用)</p><p> MOV 7AH,#0AH ;放入"熄滅符"數(shù)據(jù)&l
79、t;/p><p> MOV TMOD,#11H ;設T0、T1為16位定時器</p><p> ;用11.0592M初值是4C00H;用12M初值是3CB0H</p><p> MOV TL0,#00H ;50MS定時初值(T0計時用)</p><p> MOV TH0,#4cH ;50MS定時初值<
80、;/p><p> MOV TL1,#00H ;50MS定時初值(T1閃爍定時用)</p><p> MOV TH1,#4cH ;50MS定時初值</p><p> SETB EA ;總中斷開放</p><p> SETB ET0 ;允許T0中斷</p>
81、<p> SETB TR0 ;開啟T0定時器</p><p> MOV R4,#14H ;1秒定時用初值(50MS×20)</p><p> START1: LCALL DISPLAY ;調(diào)用顯示子程序</p><p> jnb P1.1,set_h ;此按鍵是小時加1</
82、p><p> jnb P1.2,set_M ;此按鍵是分鐘加1 </p><p> SJMP START1 ;P1.0口為1時跳回START1</p><p> set_h: ljmp set_hh</p><p> set_m: ljmp set_mm</p><p><b> ;
83、</b></p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> ;; 1秒計時程序 ;;</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><
84、;b> ;T0中斷服務程序</b></p><p> INTT0: PUSH ACC ;累加器入棧保護</p><p> PUSH PSW ;狀態(tài)字入棧保護</p><p> CLR ET0 ;關T0中斷允許</p><p> CLR TR0
85、 ;關閉定時器T0</p><p> ;用11.0592M初值是4C00H;用12M初值是3CB0H</p><p> MOV A,#00H ;中斷響應時間同步修正,要精確調(diào)整在這里?。?!</p><p> ADD A,TL0 ;低8位初值修正</p><p> MOV TL0
86、,A ;重裝初值(低8位修正值)</p><p> MOV A,#4CH ;高8位初值修正</p><p> ADDC A,TH0 ;</p><p> MOV TH0,A ;重裝初值(高8位修正值)</p><p> SETB TR0 ;開
87、啟定時器T0</p><p> DJNZ R4, OUTT0 ;20次中斷未到中斷退出</p><p> ADDSS: MOV R4,#014H ;20次中斷到(1秒)重賦初值 14h</p><p> MOV R0,#71H ;指向秒計時單元(70H-71H)</p><p
88、> ACALL ADD1 ;調(diào)用加1程序(加1秒操作)</p><p> MOV A,R3 ;秒數(shù)據(jù)放入A(R3為2位十進制數(shù)組合)</p><p> CLR C ;清進位標志</p><p> CJNE A,#60H,ADDMM ;</p>
89、;<p> ADDMM: JC OUTT0 ;小于60秒時中斷退出</p><p> ACALL CLR0 ;大于或等于60秒時對秒計時單元清0</p><p> MOV R0,#77H ;指向分計時單元(76H-77H)</p><p> ACALL ADD1
90、 ;分計時單元加1分鐘</p><p> MOV A,R3 ;分數(shù)據(jù)放入A</p><p> CLR C ;清進位標志</p><p> CJNE A,#60H,ADDHH ;</p><p> ADDHH: JC OUTT0
91、 ;小于60分時中斷退出</p><p> ACALL CLR0 ;大于或等于60分時分計時單元清0</p><p> MOV R0,#79H ;指向小時計時單元(78H-79H)</p><p> ACALL ADD1 ;小時計時單元加1小時</p>&l
92、t;p> MOV A,R3 ;時數(shù)據(jù)放入A</p><p> CLR C ;清進位標志</p><p> CJNE A,#24H,HOUR ;</p><p> HOUR: JC OUTT0 ;小于24小時中斷退出</p><
93、;p> ACALL CLR0 ;大于或等于24小時小時計時單元清0</p><p> OUTT0: MOV 72H,76H ;中斷退出時將分、時計時單元數(shù)據(jù)移</p><p> MOV 73H,77H ;入對應顯示單元</p><p> MOV 74H,78H
94、 ;</p><p> MOV 75H,79H ;</p><p> POP PSW ;恢復狀態(tài)字(出棧)</p><p> POP ACC ;恢復累加器</p><p> SETB ET0 ;開放T0中斷<
95、/p><p> RETI ;中斷返回</p><p><b> ;</b></p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> ;; 加1子 程 序 ;;</p
96、><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b> ;</b></p><p> ADD1: MOV A,@R0 ;取當前計時單元數(shù)據(jù)到A</p><p> DEC R0 ;指向前一地址</p>&l
97、t;p> SWAP A ;A中數(shù)據(jù)高四位與低四位交換</p><p> ORL A,@R0 ;前一地址中數(shù)據(jù)放入A中低四位</p><p> ADD A,#01H ;A加1操作</p><p> DA A ;十進制調(diào)整</p><p> MOV R3
98、,A ;移入R3寄存器</p><p> ANL A,#0FH ;高四位變0</p><p> MOV @R0,A ;放回前一地址單元</p><p> MOV A,R3 ;取回R3中暫存數(shù)據(jù)</p><p> INC R0 ;指向當前地址單元</p
99、><p> SWAP A ;A中數(shù)據(jù)高四位與低四位交換</p><p> ANL A,#0FH ;高四位變0</p><p> MOV @R0,A ;數(shù)據(jù)放入當削地址單元中</p><p> RET ;子程序返回</p><p>
100、 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> ;; 清零程序 ;;</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b> ;對計時單元復零用</b><
101、;/p><p> CLR0: CLR A ;清累加器</p><p> MOV @R0,A ;清當前地址單元</p><p> DEC R0 ;指向前一地址</p><p> MOV @R0,A ;前一地址單元清0</p><p> R
102、ET ;子程序返回</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> ;; 顯示程序 ;;</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&l
103、t;/p><p> ; 顯示數(shù)據(jù)在70H-75H單元內(nèi),用六位LED共陽數(shù)碼管顯示,P1口輸出段碼數(shù)據(jù),P2口作</p><p> ; 掃描控制,每個LED數(shù)碼管亮1MS時間再逐位循環(huán)。</p><p> DISPLAY: MOV R1,#70H ;指向顯示數(shù)據(jù)首址</p><p> MOV R5,#11011111B
104、 ;掃描控制字初值</p><p> PLAY: MOV a,r5 </p><p> MOV P2,A ;從P2口輸出</p><p> MOV A,@R1 ;取顯示數(shù)據(jù)到A</p><p> MOV DPTR,#TAB ;取段碼表地址</p><
105、;p> MOVC A,@A+DPTR ;查顯示數(shù)據(jù)對應段碼</p><p> CJNE R5,#0FEH,PLAY_1 ;不是秒低位則轉(zhuǎn)移PLAY_1</p><p> ANL A,#7FH ;是,則點亮</p><p> AJMP PLAY_3</p><p> PLAY_1: CJNE R5,#0FBH,PLA
106、Y_2 ;分低位?</p><p> ANL A,#7FH</p><p> AJMP PLAY_3</p><p> PLAY_2: CJNE R5,#0EFH,PLAY_3 ;時低位?</p><p> ANL A,#7FH</p><p> PLAY_3:MOV dptr,#00ffh ;將要顯示的字
107、型碼送74LS273</p><p> MOVX @dptr,a ;段碼放入P0口</p><p> LCALL DL1MS ;顯示1MS</p><p> INC R1 ;指向下一地址</p><p> MOV A,R5 ;掃描控制字放入A</p&g
108、t;<p> JNB ACC.0,ENDOUT ;ACC.5=0時一次顯示結束</p><p> RR A ;A中數(shù)據(jù)循環(huán)左移</p><p> MOV R5,A ;放回R5內(nèi)</p><p> AJMP PLAY ;跳回PLAY循環(huán)</p>
109、<p> ENDOUT: SETB P2.0 ;一次顯示結束,P2口復位</p><p> ;MOV P1,#0FFH ;P1口復位</p><p> RET ;子程序返回</p><p> TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,
110、82H,0F8H,80H,90H,0FFH</p><p> ;共陽段碼表 "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "不亮"&
111、lt;/p><p><b> ;</b></p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> ;; 延時程序 ;;</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
112、;;;;;;;;;;</p><p><b> ;</b></p><p> ;1MS延時程序,LED顯示程序用</p><p> DL1MS: MOV R6,#14H</p><p> DL1: MOV R7,#19H</p><p> DL2: DJNZ R7,DL2&
113、lt;/p><p> DJNZ R6,DL1</p><p><b> RET</b></p><p> ;20MS延時程序,采用調(diào)用顯示子程序以改善LED的顯示閃爍現(xiàn)象</p><p> DS20MS: ACALL DISPLAY</p><p> ACALL DISPLAY<
114、;/p><p> ACALL DISPLAY</p><p><b> RET</b></p><p> ;延時程序,用作按鍵時間的長短判斷</p><p> DL1S: LCALL DL05S</p><p> LCALL DL05S</p><
115、;p><b> RET</b></p><p> DL05S: MOV R3,#20H ;8毫秒*32=0.256秒</p><p> DL05S1: LCALL DISPLAY</p><p> DJNZ R3,DL05S1</p><p><b&
116、gt; RET</b></p><p><b> ;</b></p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> ;; 閃動調(diào)時 程 序 ;;</p><p> ;;;;;;;;;;;;;;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機的電子鐘設計畢業(yè)論文
- 基于單片機的電子鐘設計畢業(yè)論文
- 基于單片機的電子鐘設計畢業(yè)論文
- 基于單片機的電子鐘的設計畢業(yè)論文
- 基于51單片機的電子鐘設計畢業(yè)論文
- 基于單片機的lcd數(shù)字電子鐘畢業(yè)論文
- 【畢業(yè)論文】基于單片機系統(tǒng)的電子鐘設計與仿真
- 【畢業(yè)論文】基于單片機系統(tǒng)的電子鐘設計與仿真
- 單片機數(shù)字電子鐘的設計與研究畢業(yè)論文
- 單片機數(shù)字電子鐘的設計與研究畢業(yè)論文
- 單片機數(shù)字電子鐘的設計與研究畢業(yè)論文
- 電子鐘課程設計--基于單片機的電子鐘設計
- 基于單片機的電子鐘設計
- 畢業(yè)論文-基于單片機的數(shù)字電子鐘【精校排版】
- 畢業(yè)設計----基于單片機的電子鐘設計
- 單片機課程論文設計-電子鐘設計
- 單片機課程論文設計電子鐘設計
- 畢業(yè)設計論文-基于51單片機的數(shù)字電子鐘設計
- 單片機多功能電子鐘畢業(yè)設計論文
- 單片機多功能電子鐘畢業(yè)設計論文
評論
0/150
提交評論