1功能概述
鬧鐘是一種既能顯示時(shí)間运褪,又能根據(jù)人們?cè)O(shè)定的時(shí)間,發(fā)出鈴聲玖瘸、樂(lè)曲等提醒信號(hào)的計(jì)時(shí)工具〗斩铮現(xiàn)在,鬧鐘幾乎已經(jīng)是上學(xué)雅倒、上班族必不可少的一個(gè)工具璃诀,主要應(yīng)用在電腦、手機(jī)蔑匣、電子表等方面劣欢。在20小節(jié)數(shù)字時(shí)鐘里我們介紹過(guò),與傳統(tǒng)機(jī)械式計(jì)時(shí)工具相比殖演,數(shù)字計(jì)時(shí)系統(tǒng)具備體積小氧秘、重量輕、抗干擾能力強(qiáng)趴久、對(duì)環(huán)境要求高丸相、高精確性、容易開(kāi)發(fā)等特征彼棍。數(shù)字計(jì)時(shí)間高精度的特征灭忠,在鬧鐘功能上的應(yīng)用優(yōu)勢(shì)更為突出。
科學(xué)地劃分模塊座硕,充分理順模塊間的相互關(guān)系對(duì)于FPGA設(shè)計(jì)來(lái)說(shuō)非常重要弛作。以鬧鐘設(shè)計(jì)為例,我們通過(guò)建立四個(gè)清晰直觀的模塊(數(shù)碼管顯示模塊华匾,矩陣鍵盤掃描模塊映琳,時(shí)鐘計(jì)數(shù)模塊,鬧鐘設(shè)定模塊),以及建立完善的信號(hào)列表和運(yùn)用verilog語(yǔ)言編寫簡(jiǎn)潔流暢的代碼萨西,實(shí)現(xiàn)電子鬧鐘時(shí)有鹿、分、秒計(jì)時(shí)以及設(shè)置谎脯、修改葱跋、重置等功能。
具體功能要求如下:
本工程包括矩陣鍵盤和數(shù)碼管顯示模塊源梭,共同實(shí)現(xiàn)一個(gè)帶有鬧鐘功能娱俺、可設(shè)置時(shí)間的數(shù)字時(shí)鐘。具體功能如下:
1.數(shù)碼管可以顯示時(shí)十位废麻、時(shí)個(gè)位荠卷、分十位、分個(gè)位脑溢、秒十位僵朗、秒個(gè)位。
2.上電后屑彻,數(shù)碼管顯示000000验庙,并開(kāi)始每秒計(jì)時(shí)。
3.按下按鍵1進(jìn)入時(shí)間設(shè)置狀態(tài)社牲。再按下按鍵1退出時(shí)間設(shè)置狀態(tài)粪薛,繼續(xù)計(jì)時(shí)。
4.在時(shí)間設(shè)置狀態(tài)搏恤,通過(guò)按鍵2來(lái)選擇設(shè)置的時(shí)間位违寿,在0~5之間循環(huán)選擇。
5.在時(shí)間設(shè)置狀態(tài)熟空,通過(guò)按鍵3來(lái)對(duì)當(dāng)前選擇的時(shí)間位進(jìn)行加1藤巢。
6.在計(jì)時(shí)狀態(tài)下,按下按鍵14息罗,進(jìn)入鬧鐘時(shí)間點(diǎn)設(shè)置狀態(tài)掂咒;再按下按健15,退出鬧鐘設(shè)置狀態(tài)迈喉。
7.在鬧鐘設(shè)置狀態(tài)绍刮,按下按鍵13選擇設(shè)置的時(shí)間位,此時(shí)可以按下所需要的按鍵序號(hào)設(shè)置對(duì)應(yīng)鬧鐘時(shí)間挨摸。
8.當(dāng)前時(shí)間與所設(shè)置的時(shí)間點(diǎn)匹配上了孩革,蜂鳴器響應(yīng)5 s。
2設(shè)計(jì)思路
我們把工程分成四個(gè)模塊得运,分別是數(shù)碼管顯示模塊膝蜈,矩陣鍵盤掃描模塊锅移,時(shí)鐘計(jì)數(shù)模塊,鬧鐘設(shè)定模塊彬檀。模塊劃分以及頂層模塊信號(hào)列表如下圖: