




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于51單片機的數字電子鐘設計 摘 要20世紀末,電子技術獲得了飛速的開展,在其推動下,現代電子產品幾乎滲透了社會的各個領域,有力地推動了社會生產力的開展和社會信息化程度的提高,同時也使現代電子產品性能進一步提高,產品更新換代的節奏也越來越快?,F代生活的人們越來越重視起了時間觀念,可以說是時間和金錢劃上了等號。對于那些對時間把握非常嚴格和準確的人或事來說,時間的不準確會帶來非常大的麻煩,所以以數碼管為顯示器的時鐘比指針式的時鐘表現出了很大的優勢。數碼管顯示的時間簡單明了而且讀數快、時間準確顯示到秒。而機械式的依賴于晶體震蕩器,可能會導致誤差。數字鐘是采用數字電路實現對“時、“分、“秒數字顯示的
2、計時裝置。數字鐘的精度、穩定度遠遠超過老式機械鐘。在這次設計中,我們采用LED數碼管顯示時、分、秒,以24小時計時方式,根據數碼管動態顯示原理來進行顯示,用12MHz的晶振產生振蕩脈沖,定時器計數。在此次設計中,電路具有顯示時間的其本功能,還可以實現對時間的調整。數字鐘是其小巧,價格低廉,走時精度高,使用方便,功能多,便于集成化而受廣闊消費的喜愛,因此得到了廣泛的使用。目 錄 第一章 緒論 1.1 單片機的背景 1.2 單片機的意義 1.3 單片機的應用 第二章 整體設計方案2.1 單片機的選擇2.2 單片機的根本結構 第三章 數字鐘的硬件設計3.1 最小系統設計 3.2 LED顯示電路 3.
3、3 鍵盤控制電路 第四章 數字鐘的軟件設計4.1 系統軟件設計流程圖 4.2 數字電子鐘的原理圖 4.3 主程序 第五章 系統仿真5.1 PROTUES軟件介紹 第六章 調試與功能說明6.2 系統性能測試與功能說明 6.3 系統時鐘誤差分析 硬盤調試 6.4 軟件調試問題及解決 結束語.參考文獻第一章 緒論數字電子鐘的背景 20世紀末,電子技術獲得了飛速的開展,在其推動下,現代電子產品幾乎滲透了社會的各個領域,有力地推動了社會生產力的開展和社會信息化程度的提高,同時也使現代電子產品性能進一步提高,產品更新換代的節奏也越來越快。 時間對人們來說總是那么珍貴,工作的忙碌性和繁雜性容易使人忘記當前的
4、時間。忘記了要做的事情,當事情不是很重要的時候,這種遺忘無傷大雅。但是,一旦重要事情,一時的耽誤可能釀成大禍。目前,單片機正朝著高性能和多品種方向開展趨勢將是進一步向著CMOS化、低功耗、小體積、大容量、高性能、低價格和外圍電路內裝化等幾個方面開展。下面是單片機的主要開展趨勢。單片機應用的重要意義還在于,它從根本上改變了傳統的控制系統設計思想和設計方法。從前必須由模擬電路或數字電路實現的大局部功能,現在已能用單片機通過軟件方法來實現了。這種軟件代替硬件的控制技術也稱為微控制技術,是傳統控制技術的一次革命。單片機模塊中最常見的是數字鐘,數字鐘是一種用數字電路技術實現時、分、秒計時的裝置,與機械式
5、時鐘相比具有更高的準確性和直觀性,且無機械裝置,具有更更長的使用壽命,因此得到了廣泛的使用。數字鐘是采用數字電路實現對.時,分,秒.數字顯示的計時裝置,廣泛用于個人家庭,車站, 碼頭辦公室等公共場所,成為人們日常生活中不可少的必需品,由于數字集成電路的開展和石英晶體振蕩器的廣泛應用,使得數字鐘的精度,遠遠超過老式鐘表, 鐘表的數字化給人們生產生活帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時播送、自動起閉路燈、定時開關烘箱、通斷動力設備、甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數字化為根底的。因此,研究數字鐘及擴大其應用,
6、有著非常現實的意義。1.3數字電子鐘的應用 數字鐘已成為人們日常生活中:必不可少的必需品,廣泛用于個人家庭以及車站、碼頭、劇場、辦公室等公共場所,給人們的生活、學習、工作、娛樂帶來極大的方便。由于數字集成電路技術的開展和采用了先進的石英技術,使數字鐘具有走時準確、性能穩定、攜帶方便等優點,它還用于計時、自動報時及自動控制等各個領域。 第二章 整體設計方案2.1 單片機的選擇 單片機微型計算機是微型計算機的一個重要分支,也是頗具生命力的機種。單片機微型計算機簡稱單片機,特別適用于控制領域,故又稱為微控制器。 通常,單片機由單塊集成電路芯片構成,內部包含有計算機的根本功能部件:中央處理器、存儲器和
7、I/O接口電路等。因此,單片機只需要和適當的軟件及外部設備相結合,便可成為一個單片機控制系統。 單片機經過1、2、3、3代的開展,正朝著多功能、高性能、低電壓、低功耗、低價格、大存儲容量、強I/O功能及較好的結構兼容性方向開展。其開展趨勢不外乎以下幾個方面:1、多功能 單片機中盡可能地把所需要的存儲器和I/O口都集成在一塊芯片上,使得單片機可以實現更多的功能。比方A/D、PWM、PCA可編程計數器陣列、WDT監視定時器-看家狗、高速I/O口及計數器的捕獲/比擬邏輯等。 有的單片機針對某一個應用領域,集成了相關的控制設備,以減少應用系統的芯片數量。例如,有的芯片以51內核為核心,集成了USB控制
8、器、SMART CARD接口、MP3解碼器、CAN或者I*I*C總線控制器等,LED、LCD或VFD顯示驅動器也開始集成在8位單片機中。2、高效率和高性能 為了提高執行速度和執行效率,單片機開始使用RISC、流水線和DSP的設計技術,使單片機的性能有了明顯的提高,表現為:單片機的時鐘頻率得到提高;同樣頻率的單片機運行效率也有了很大的提升;由于集成度的提高,單片機的尋址能力、片內ROMFLASH和RAM的容量都突破了以往的數量和限制。 由于系統資源和系統復雜程度的增加,開始使用高級語言如C語言來開發單片機的程序。使用高級語言可以降低開發 難度,縮短開發周期,增強軟件的可讀性和可移植性,便于改良和
9、擴充功能。3、低電壓和低功耗 單片機的嵌入式應用決定了低電壓和低功耗的特性十分重要。由于CMOS等工藝的大量采用,很多單片機可以在更低的電壓下工作1.2V或0.9V,功耗已經降低到uA級。這些特性使得單片機系統可以在更小電源的支持下工作更長的時間。4、低價格 單片機應用面廣,使用數量大,帶來的直接好處就是本錢的降低。目前世界各大公司為了提高競爭力,在提高單片機性能的同時,十分注意降低其產品的價格。下面大致介紹一下單片機的主要應用領域和特點。1家用電器領域 用單片機控制系統取代傳統的模擬和數字控制電路,使家用電器如洗衣機、空調、冰箱、微波爐、和電視機等功能更完善,更加智能化和易于使用。2辦公自動
10、化領域 單片機作為嵌入式系統廣泛應用于現代辦公設備,如計算機的鍵盤、磁盤驅動、打印機、復印機、 機和 機等。3商業應用領域 商業應用系統局部與家用和辦公應用系統相似,但更加注重設備的穩定性、可靠性和平安性。商用系統中廣泛使用的電子計量儀器、收款機、條形碼閱讀器、平安監測系統、空氣調節系統和冷凍保鮮系統等,都采用了單片機構成的專用系統。與通用計算機相比,這些系統由于比擬封閉,可以更有效地防止病毒和電磁干擾等,可靠性更高。4工業自動化 在工業控制和機電一體化控制系統中,除了采用工控計算機外,很多都是以單片機為核心的單片機和多機系統。5智能儀表與集成智能傳感器 目前在各種電氣測量儀表中普遍采用了單片
11、機應用系統來代替傳統的測量系統,使得測量系統具有存儲、數據處理、查詢及聯網等智能功能。將單片機和傳感器相結合,可以構成新一代的智能傳感器。它將傳感器變換后的物理量作進一步的變化和處理,使其成為數字信號,可以遠距離傳輸并與計算機接口。6現代交通與航空航天領域 通常應用于電子綜合顯示系統、動力監控系統、自動駕駛系統、通信系統以及運行監視系統等。這些領域對體積、功耗、穩定性和實時性的要求往往比商用系統還要高,因此采用單片機系統更加重要。目前,我國生產很多型號的單片機,在此,我們采用型號為AT89C51的單片機。因為:AT89C51是一種帶4K字節閃爍可編程可擦除只讀存儲器FPEROMFalsh Pr
12、ogrammable and Erasable Read Only Memory的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業標準的MCS-51 ? 指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。 1主要特性:與MCS-51 兼容4K字節可編程閃爍存儲器 壽命:1000寫/擦循環數據保存時間:10年 全靜態工作:0Hz-24Hz三級程序存儲器鎖定128*8位內部RAM32可編程I/O線 兩個16位定時器/計
13、數器5個中斷源可編程串行通道 低功耗的閑置和掉電模式片內振蕩器和時鐘電路 2管腳說明:VCC:供電電壓。GND:接地。 P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。 P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由
14、于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能存放器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。 P3口:P3口管腳是8個帶內部上拉電阻
15、的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流ILL這是由于上拉的緣故。 P3口也可作為AT89C51的一些特殊功能口,如下表所示:口管腳 備選功能P3.0 RXD串行輸入口P3.1 TXD串行輸出口P3.2 /INT0外部中斷0P3.3 /INT1外部中斷1 P3.4 T0記時器0外部輸入P3.5 T1記時器1外部輸入P3.6 /WR外部數據存儲器寫選通 P3.7 /RD外部數據存儲器讀選通P3口同時為閃爍編程和編程校驗接收一些控制信號。RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩
16、個機器周期的高電平時間。 ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態ALE禁止,置位無效。 /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器
17、周期兩次/PSEN有效。但在訪問外部數據存儲器時,這兩次有效的/PSEN信號將不出現。/EA/VPP:當/EA保持低電平時,那么在此期間外部程序存儲器0000H-FFFFH,不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源VPP。 XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。3振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅動器件,
18、XTAL2應不接。有余輸入至內部時鐘信號要通過一個二分頻觸發器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的上下電平要求的寬度。4芯片擦除:整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1且在任何非空存儲字節被重復編程以前,該操作必須被執行。 此外,AT89C51設有穩態邏輯,可以在低到零頻率的條件下靜態邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數器,串口和中斷系統仍在工作。在掉電模式下,保存RAM的內容并且凍結振蕩器,禁止所用其他芯片功能,直到下一個
19、硬件復位為止。 HYPERLINK :/ zymcu /datasheet/atmel/at89c51.pdf t _blank 第三章 數字鐘的硬件設計3.1 最小系統設計圖3-1 單片機最小系統的結構圖 單片機的最小系統是由電源、復位、晶振、/EA=1組成,下面介紹一下每一個組成局部。1.電源引腳 Vcc40電源端GND20接地端工作電壓為5V,另有AT89LV51工作電壓那么是2.7-6V, 引腳功能一樣。 圖3-2 晶振連接的內部、外部方式圖 XTAL1是片內振蕩器的反相放大器輸入端,XTAL2那么是輸出端,使用外部振蕩器時,外部振蕩信號應直接加到XTAL1,而XTAL2懸空。內部方式
20、時,時鐘發生器對振蕩脈沖二分頻,如晶振為12MHz,時鐘頻率就為6MHz。晶振的頻率可以在1MHz-24MHz內選擇。電容取30PF左右。系統的時鐘電路設計是采用的內部方式,即利用芯片內部的振蕩電路。AT89單片機內部有一個用于構成振蕩器的高增益反相放大器。引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。這個放大器與作為反應元件的片外晶體諧振器一起構成一個自激振蕩器。外接晶體諧振器以及電容C1和C2構成并聯諧振電路,接在放大器的反應回路中。對外接電容的值雖然沒有嚴格的要求,但電容的大小會影響震蕩器頻率的上下、震蕩器的穩定性、起振的快速性和溫度的穩定性。因此,此系統電路的晶體振蕩器的值
21、為12MHz,電容應盡可能的選擇陶瓷電容,電容值約為22F。在焊接刷電路板時,晶體振蕩器和電容應盡可能安裝得與單片機芯片靠近,以減少寄生電容,更好地保證震蕩器穩定和可靠地工作。3. 復位RST9在振蕩器運行時,有兩個機器周期24個振蕩周期以上的高電平出現在此引腿時,將使單片機復位,只要這個腳保持高電平,51芯片便循環復位。復位后P0P3口均置1引腳表現為高電平,程序計數器和特殊功能存放器SFR全部清零。當復位腳由高電平變為低電平時,芯片為ROM的00H處開始運行程序。復位是由外部的復位電路來實現的。片內復位電路是復位引腳RST通過一個斯密特觸發器與復位電路相連,斯密特觸發器用來抑制噪聲,它的輸
22、出在每個機器周期的S5P2,由復位電路采樣一次。復位電路通常采用上電自動復位和按鈕復位兩種方式,此電路系統采用的是上電與按鈕復位電路。當時鐘頻率選用6MHz時,C取22F,Rs約為200,Rk約為1K。復位操作不會對內部RAM有所影響。常用的復位電路如以下圖所示:圖3-3 常用復位電路圖(1) P0端口P0.0-P0.7 P0是一個8位漏極開路型雙向I/O端口,端口置1對端口寫1時作高阻抗輸入端。作為輸出口時能驅動8個TTL。對內部Flash程序存儲器編程時,接收指令字節;校驗程序時輸出指令字節,要求外接上拉電阻。在訪問外部程序和外部數據存儲器時,P0口是分時轉換的地址(低8位)/數據總線,訪
23、問期間內部的上拉電阻起作用。(2) P1端口P1.0P1.7 P1是一個帶有內部上拉電阻的8位雙向I/0端口。輸出時可驅動4個TTL。端口置1時,內部上拉電阻將端口拉到高電平,作輸入用。對內部Flash程序存儲器編程時,接收低8位地址信息。(3) P2端口P2.0P2.7 P2是一個帶有內部上拉電阻的8位雙向I/0端口。輸出時可驅動4個TTL。端口置1時,內部上拉電阻將端口拉到高電平,作輸入用。對內部Flash程序存儲器編程時,接收高8位地址和控制信息。在訪問外部程序和16位外部數據存儲器時,P2口送出高8位地址。而在訪問8位地址的外部數據存儲器時其引腳上的內容在此期間不會改變。(4) P3端
24、口P3.0P3.7 P2是一個帶有內部上拉電阻的8位雙向I/0端口。輸出時可驅動4個TTL。端口置1時,內部上拉電阻將端口拉到高電平,作輸入用。對內部Flash程序存儲器編程時,接控制信息。除此之外P3端口還用于一些專門功能,具體請看下表。P3引腳兼用功能串行通訊輸入RXD串行通訊輸出TXD外部中斷0 INT0外部中斷1INT1定時器0輸入(T0)定時器1輸入(T1)外部數據存儲器寫選通WR外部數據存儲器寫選通RD表3-1P3端口引腳兼用功能表3.2 LED顯示電路顯示器普遍地用于直觀地顯示數字系統的運行狀態和工作數據,按照材料及產品工藝,單片機應用系統中常用的顯示器有: 發光二極管LED顯示
25、器、液晶LCD顯示器、CRT顯示器等。LED顯示器是現在最常用的顯示器之一,如以下圖所示。圖3-4 LED顯示器的符號圖發光二極管LED由特殊的半導體材料砷化鎵、磷砷化鎵等制成,可以單獨使用,也可以組裝成分段式或點陣式LED顯示器件半導體顯示器。分段式顯示器LED數碼管由7條線段圍成8字型,每一段包含一個發光二極管。外加正向電壓時二極管導通,發出清晰的光。只要按規律控制各發光段亮、滅,就可以顯示各種字形或符號。LED數碼管有共陽、共陰之分。圖是共陽式、共陰式LED數碼管的原理圖和符號.圖3-5 共陽式、共陰式LED數碼管的原理圖和數碼管的符號圖顯示電路顯示模塊需要實時顯示當前的時間,即時、分、
26、秒,因此需要6個數碼管,另需兩個數碼管來顯示橫。采用動態顯示方式顯示時間,硬件連接如以下圖所示,時的十位和個位分別顯示在第一個和第二個數碼管,分的十位和個位分別顯示在第四個和第五個數碼管,秒的十位和個位分別顯示在第七個和第八個數碼管,其余數碼管顯示橫線。LED顯示器的顯示控制方式按驅動方式可分成靜態顯示方式和動態顯示方式兩種。對于多位LED顯示器,通常都是采用動態掃描的方法進行顯示,其硬件連接方式如以下圖所示。圖3-6 數碼管的硬件連接示意圖數碼管使用條件:a、段及小數點上加限流電阻 b、使用電壓:段:根據發光顏色決定; 小數點:根據發光顏色決定c、使用電流:靜態:總電流 80mA每段 10m
27、A;動態:平均電流 4-5mA 峰值電流 100mA數碼管使用考前須知說明:數碼管外表不要用手觸摸,不要用手去弄引角;焊接溫度:度;焊接時間:外表有保護膜的產品,可以在使用前撕下來。3.3 鍵盤控制電路該設計需要校對時間,所以用三個按鍵來實現。按khour來調節小時的時間,按 kmin來調節分針的時間,按 ksec來調節秒的時間。以下圖是按鍵硬件連接圖。圖3-7 按鍵控制電路的硬件連接圖當用手按下一個鍵時,如圖3-8所示,往往按鍵在閉合位置和斷開位置之間跳幾下才穩定到閉合狀態的情況;在釋放一個鍵時,也回會出現類似的情況。這就是抖動。抖動的持續時間隨鍵盤材料和操作員而異,不過通??偸遣淮笥?0m
28、s。很容易想到,抖動問題不解決就會引起對閉合鍵的識別。用軟件方法可以很容易地解決抖動問題,這就是通過延遲10ms來等待抖動消失,這之后,在讀入鍵盤碼。鍵按下前沿抖動后沿抖動閉合穩定圖3-8 按鍵抖動信號波形數字鐘的軟件設計系統的軟件設計也是工具系統功能的設計。單片機軟件的設計主要包括執行軟件完成各種實質性功能的設計和監控軟件的設計。單片機的軟件設計通常要考慮以下幾個方面的問題:1根據軟件功能要求,將系統軟件劃分為假設干個相對獨立的局部,設計出合理的總體結構,使軟件開發清晰、簡潔和流程合理;2培養良好的編程風格,如考慮結構化程序設計、實行模塊化、子程序化。既便于調試、鏈接,又便于移植和修改;3建
29、立正確的數學模型,通過仿真提高系統的性能,并選取適宜的參數;4繪制程序流程圖;5合理分配系統資源;6為程序參加注釋,提高可讀性,實施軟件工程;7注意軟件的抗干擾設計,提高系統的可靠性。4.1 系統軟件設計流程圖 這次的數字電子鐘設計用到很多子程序,它們的流程圖如下所示。開始啟動定時器按鍵檢測時間顯示主程序是先開始,然后啟動定時器,定時器啟動后在進行按鍵檢測,檢測完后,就可以顯示時間。圖4-1 主程序流程圖按鍵處理是先檢測秒按鍵是否按下,秒按鍵如果按下,秒就加1;如果沒有按下,就檢測分按鍵是否按下,分按鍵如果按下,分就加1;如果沒有按下,就檢測時按鍵是否按下,時按鍵如果按下,時就加1;如果沒有按
30、下,就把時間顯示出來。 NYNYNY時加1顯示時間結束開始秒按鍵按下?秒加1分按鍵按下?分加1時按鍵按下?圖4-2 按鍵處理流程圖定時器中斷時是先檢測1秒是否到,1秒如果到,秒單元就加1;如果沒到,就檢測1分鐘是否到,1分鐘如果到,分單元就加1;如果沒到,就檢測1小時是否到,1小時如果到,時單元就加1,如果沒到,就顯示時間。N24小時到?分單元清零,時單元加1NNNYY時單元清零時間顯示中斷返回開始一秒時間到?60秒時間到?60分鐘到?秒單元加1秒單元清零,分單元加1YY 圖4-3 定時器中斷流程圖時間顯示是先秒個位計算顯示,然后是秒十位計算顯示,再是分個位計算顯示,再然后是分十位顯示,再就是
31、時個位計算顯示,最后是時十位顯示。時十位計算顯示結束開始秒個位計算顯示秒十位計算顯示分個位計算顯示分十位計算顯示時個位計算顯示 圖4-4 時間顯示流程圖4.2 數字鐘的原理圖用PROTUES軟件,根據要求畫出數字電子鐘的原理圖如下所示。圖4-5 數字鐘的原理圖 數字時鐘的PCB圖在此有必要介紹一下數字電子鐘的工作原理。工作原理 : 數字電子鐘是一個將“ 時,“分,“秒顯示于人的視覺器官的計時裝置。它的計時周期為24小時,顯示滿刻度為23時59分59秒,另外還有校時功能。因此,一個根本的數字鐘電路主要由顯示器“時,“分,“秒和單片機,還有校時電路組成。8個數碼管的段選接到單片機的P0口,位選接到
32、單片機的P2口。數碼管按照數碼管動態顯示的工作原理工作,將標準秒信號送入“秒單元,“秒單元采用60進制計數器,每累計60秒發出一個“分脈沖信號,該信號將作為“分單元的時鐘脈沖。“分單元也采用60進制計數器,每累計60分鐘,發出一個“時脈沖信號,該信號將被送到“時單元?!皶r單元采用24進制計時器,可實現對一天24小時的累計。顯示電路將“時、“分、“秒通過七段顯示器顯示出來。校時電路時用來對“時、“分、“秒顯示數字進行校對調整,按一下ksec,秒單元就加1 ,按一下kmin,分就加1,按一下khour,時就加1。4.3 程序函數:#include #define unchar unsigned c
33、har#define unint unsigned intvoid display(unint shi,unint fen,unint miao); void keyscan();volatile status = 0;sbit key1=P10;sbit key2=P11;sbit key3=P12;sbit key4=P13;unint shi,fen,miao,num;void delay(float z);unchar table=0 x3f,0 x06,0 x5b,0 x4f, 0 x66,0 x6d,0 x7d,0 x07, 0 x7f,0 x6f ;/數碼管字形表,0-9 voi
34、d main() TMOD=0 x01; /工作方式1 TH0=(65536-50000)/256;/50ms一次中斷 TL0=(65536-50000)%256; EA=1; /開總中斷 ET0=1;/開定時器0中斷 TR0=!TR0; while(1) keyscan(); display(shi,fen,miao); void display(unint shi,unint fen,unint miao) P2=0 x7f; P0=tablemiao%10; delay(1); P2=0 xbf; P0=tablemiao/10; delay(1); /秒位完畢 P2=0 xdf; P0
35、=0 x40;/秒與分之間的杠 delay(1); P2=0 xef; P0=tablefen%10; delay(1); P2=0 xf7; P0=tablefen/10; delay(1);/分位完畢 P2=0 xfb; P0=0 x40;/分與時之間的杠 delay(1); P2=0 xfd; P0=tableshi%10; delay(1); P2=0 xfe; P0=tableshi/10; delay(1);/時位完畢 /* */void inter0()interrupt 1 TH0=(65536-50000)/256; TH1=(65536-50000)%256; num+;
36、if(num=20) num=0; miao+; if(miao=60) miao=0; fen+; if(fen=60) fen=0; shi+; if(shi=24) shi=0; void delay(float z) int y; for (;z0;z-) for(y=110;y0;y-);void keyscan()/處理key4if(key4=0)delay(10);while(!key4);TR0=!TR0;/啟動或關閉定時器0/處理key1if(key1=0) /按一次調節時delay(10); /延時去抖if(key1=0)/再次確認key1status+;if(status
37、3)status = 0;if(key2=0)delay(10);if(key2=0)if(status=1)shi+;if(shi=24)shi=0;else if(status=2)fen+;if(fen59)fen = 0;else if(status=3)miao+;if(miao59)miao=0;while(!key2);if(key3=0) delay(10);if(key3=0)if(status=1)if(shi=0)shi=24;shi-;else if(status=2)if(fen=0)fen = 60;fen-;else if(status=3)if(miao=0)m
38、iao=60;miao-;while(!key2);在這里,我們有必要介紹一下單片機的中斷系統,以利于我們的學習。中斷技術在單片系統中有著十分重要的作用,它不僅可以提高單片機CPU的效率,也可以對突發事件處理。所謂中斷就是當CPU正在執行程序A時,發生了另一個急需處理的事件B,這是CPU暫停當前執行的程序A,立即轉去執行處理事件B的程序,處理完事件B后,再返回到程序A繼續執行,這個過程被叫做中斷。關于中斷的概念有以下幾個名詞:1程序A稱為主程序,2處理事件B的程序稱為中斷效勞程序,3主程序中轉向中斷效勞程序的地方稱為斷點,4引起中斷的原因即事件B稱為中斷源,5轉去執行中斷效勞程序稱為中斷響應。
39、關于中斷的概念可以打個如下的比喻。領導CPU在自己的房間辦公執行主程序,下屬外設有問題打 來請示中斷源,領導停下正在進行的工作,通過 給下屬做指示執行中斷效勞程序,指示完后,領導掛斷 ,繼續做自己的工作返回主程序繼續執行。中斷是一個過程,當中央處理器CPU在處理某件事情時,外部又發生了另一緊急事件,請求CPU暫停當前的工作而去迅速處理該緊急事件。處理結束后,再回到原來被中斷的地方,繼續原來的工作。引起中斷的原因或發出中斷請求的來源,稱為中斷源。單片機一般允許有多個中斷源,當幾個中斷源同時向CPU請求中斷時,就存在CPU優先響應哪一個中斷請求源的問題優先級問題,一般根據中斷源的輕重緩急排隊,優先
40、處理最緊急事件的中斷請求,于是便規定每一個中斷源都有一個中斷優先級別,并且CPU總是響應級別最高的中斷請求。當CPU正在處理一個中斷源請求的時候,又發生了另一個優先級比它高的中斷源請求,如果CPU能夠暫時中止對原來中斷處理程序的執行,轉而去處理優先級更高的中斷源請求,待處理完以后,再繼續執行原來的低級中斷處理程序,這樣的過程稱為中斷嵌套。第五章 系統仿真5.1 PROTUES軟件介紹Proteus軟件是Labcenter Electronics公司的一款電路設計與仿真軟件,它包括ISIS、ARES等軟件模塊,ARES模塊主要用來完成PCB的設計,而ISIS模塊用來完成電路原理圖的布圖與仿真。P
41、roteus的軟件仿真基于VSM技術,它與其他軟件最大的不同也是最大的優勢就在于它能仿真大量的單片機芯片,比方MCS-51系列、PIC系列等等,以及單片機外圍電路,比方鍵盤、LED、LCD等等。通過Proteus軟件的使用我們能夠輕易地獲得一個功能齊全、實用方便的單片機實驗室。調試與功能說明單片機應用系統的調試包括硬件和軟件兩局部,但是他們并不能完全分開。一般的方法是排除明顯的硬件故障,再進行綜合調試,排除可能的軟/硬件故障。6.1 硬盤調試拿到電路板后,首先要檢查加工質量,并確保沒有任何方面的錯誤,如短路和斷路,尤其要防止電源短路;元器件在安裝前要逐一檢查,用萬用表測其數值,看是否與所用相同;完成焊接后,應先空載上電芯片座上不插芯片,并檢查各引腳的電位是否正確。假設一切正常,方可在斷電的情況下將芯片插入,再次檢查各引腳的電位及其邏輯關系。將萬用表的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 希沃培訓課件答案
- 電氣考研數學試卷
- 2025年04月北京首都醫科大學附屬北京同仁醫院派遣制司機招聘1人(四)筆試歷年專業考點(難、易錯點)附帶答案詳解
- 試驗安全培訓課件模板
- 牡丹江市辦公室選調工作人員考試真題2024
- 高血糖引起的急性并發癥與護理
- 高三衡水數學試卷
- 高新高考數學試卷
- 廣東調研數學試卷
- 固始縣考編數學試卷
- 改變觀念提高效率課件
- 立責于心履責于行全面落實企業安全生產主體責任課件
- 建筑工程模板施工工藝技術要點講義豐富課件
- 醫療垃圾廢物處理課件
- 位置度公差以及其計算
- 氯化銨危險化學品安全周知卡
- 《煤的發熱量測定方法》ppt課件
- 三寶、四口、五臨邊安全培訓PPT課件
- 護理崗位管理與績效考核-PPT課件
- 李墨林按摩療法(李墨林)237頁
- 幕墻施工安全技術交底
評論
0/150
提交評論