我在搞毕业设计,求教单片机设计高手帮忙,需要显示时、分、秒
最佳答案 - 由提问者11个月前选出
^^ {單片機課程設計] 時鐘計時器設計
方案論證︰為了實現LED顯示器的數字顯示,可以采用靜態顯示法和動態顯示法。由于靜態顯示法需要數據鎖存器等硬件,接口復雜一些。考慮時鐘顯示只有六位,且系統沒有其他復雜的處理任務,所以決定采用動態掃描法實現LED的顯示
時鐘計時器設計的應用是相當廣泛的。在一些定時系統中,在一些天氣、環境、水文監測中都會用到這個工程或者這個工程的一部分。
多用IIC等串行輸出的實時鐘而大多MCU無硬件IIC,只能通過IO模擬,如果每秒讀一次佔用MCU也不算少,即使帶硬件IIC(C8051F02X等)采用中斷處理因對IIC狀態標志的判斷散轉也要若干時間。在大部分情況下,可以有個省事的處理方式︰只在復位後讀一次完整時間數據,此後時間更新通過MCU定時器(必須設置為自動重裝方式以獲得與晶體穩定度一致的精確度),如果對讀一次的數據不放心,可以通過判斷包含FF等非法數據來重讀(按我體會,數據錯讀的都是FF,而重讀基本無必要,因為大多是RTC內部數據已被沖壞了),也可用多次讀方式(個人覺得象畫蛇添足,我從未這樣處理)。當使用MCU的定時器來處理時間,花費比IIC要省的多,如果儀器每天都開關,第二天開機獲得的時間是由RTC自己維持運行的數據。如果你要連續工作一個月以上,可能程序上要處理大小月等問題,或是每當MCU計到23時01分重讀一次RTC(最好避免在整24時,因可能涉及日、月、年的更新)。
我們先要安裝好51試驗板上的兩個輕觸按鈕開關我們采用的是獨立式按鈕開關,也就是說將開關直接連接到電源的地和單片機的對應引腳之間,這里K1接到單片機的P3.6引腳,K2接到P3.7。正常情況下單片機的P3.6、P3.7都被程序初始化時置“1” 當有按鍵按下時對應的單片機引腳被按鈕開關下拉為“0”。 因為機械開關開關時有抖動,所以需要在程序中加一個軟件去抖動程序,它的工作原理如下︰當單片機檢測到有按鍵被按下後立即執行一個10毫秒的延時程序,然後再在檢測該引腳是否仍然為閉合狀態。