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