8.5 典型實例15:基于NIOSII處理器的數(shù)字鐘設(shè)計
8.5.1 實例的內(nèi)容及目標(biāo)
1.實例的主要內(nèi)容
本節(jié)旨在通過給定的工程實例——“數(shù)字鐘”來熟悉Altera軟嵌入式系統(tǒng)的軟硬件設(shè)計方法。同時使用基于Altera FPGA的開發(fā)板將該實例進行下載驗證,完成工程設(shè)計的硬件實現(xiàn)。在本節(jié)中,將主要講解以下知識點。
· NIOSII IDE軟件開發(fā)流程。
讀者可以迅速掌握Altera軟嵌入式軟硬件設(shè)計方法。
2.實例目標(biāo)
通過詳細(xì)的流程講解,讀者應(yīng)達(dá)到下面的目標(biāo),
· 熟悉NIOSII IDE軟件設(shè)計方法。
8.5.2 軟件規(guī)劃
電子鐘的軟件部分主要包括:顯示、設(shè)置和時間算法3部分。
顯示部分要求能夠顯示年、月、日、小時、分鐘、秒,并提示時間顯示狀態(tài)(如設(shè)置日期、設(shè)置小時、設(shè)置分鐘等)。
設(shè)置部分要求能夠?qū)﹄娮隅?a class="article-link" target="_blank" href="/baike/488773.html">顯示器上面的年、月、日、小時、分鐘、秒進行修改,并退出設(shè)置狀態(tài)。要實現(xiàn)這些功能就要通過實驗板上面的4個按鍵,下面是一種推薦的按鍵功能分配方法。
主菜單。
· SW0:設(shè)置選擇按鍵,依次可以選擇設(shè)置年、月、日、小時、分鐘、秒。
· SW1:顯示日期按鍵。
· SW2:顯示時間按鍵。
子菜單。
· SW0:選項數(shù)值增加1。
· SW1:選項數(shù)值減少1。
· SW2:推出設(shè)置狀態(tài),返回主菜單。
時間算法部分比較簡單,主要是要按照時間累加的原則,并設(shè)置好時間的進位要求(主要是每個月是有多少天組成的)。
8.5.3 實例步驟
(1)首先驗證8.4節(jié)編寫的硬件系統(tǒng)是否適合本實驗硬件要求。
(2)設(shè)計軟件流程圖。
(3)編寫、修改軟件程序,下載調(diào)試。
具體的操作方式在此不再詳述,相關(guān)的工程文件及代碼參見本書實例代碼的“典型實例15”文件夾。
8.5.4 小結(jié)
本訓(xùn)練要求在實驗板上面實現(xiàn)一個功能比較全面的電子鐘。要求能夠顯示較為全面的時間,如:年、月、日、小時、分鐘、秒并提示時間顯示狀態(tài),另外還要求能夠按照需要設(shè)置時間。要實現(xiàn)電子鐘的功能重點在于軟件方面的設(shè)計和優(yōu)化,所以通過本實例要求用戶熟練掌握軟件系統(tǒng)的規(guī)劃。