个(gè)人(rén)感(gǎn)想(xiǎng):
本(běn)文(wén)首先(xiān)分(fēn)析了(le)至(zhì)簡設計(jì)法案(àn)例—4位閃爍燈(dēng),然後(hòu)通(tòng)过(guò)該案(àn)例舉一(yī)反(fǎn)三(sān),实現(xiàn)了(le)一(yī)个(gè)交通(tòng)燈(dēng)的(de)功能(néng)。通(tòng)过(guò)修改最(zuì)重(zhòng)要(yào)的(de)2个(gè)計(jì)數器cnt0、cnt1的(de)代(dài)碼,并且僅修改了(le)1个(gè)數字(zì)和(hé)信(xìn)号(hào)變(biàn)化(huà)条(tiáo)件(jiàn),就(jiù)实現(xiàn)了(le)交通(tòng)燈(dēng)案(àn)例。案(àn)例代(dài)碼的(de)模块(kuài)化(huà)與(yǔ)規範化(huà)为(wèi)代(dài)碼的(de)移植與(yǔ)修改提(tí)供了(le)很大的(de)便利,节(jié)省(shěng)了(le)大量(liàng)的(de)时(shí)間(jiān)。
設計(jì)目标(biāo):
使用(yòng)4个(gè)LED燈(dēng)---LED1~LED4,实現(xiàn)一(yī)个(gè)呼吸燈(dēng)的(de)功能(néng)。这(zhè)4个(gè)燈(dēng)具體(tǐ)的(de)變(biàn)化(huà)情(qíng)況为(wèi):第(dì)一(yī)个(gè)燈(dēng)隔1秒(miǎo),亮(liàng)1秒(miǎo)後(hòu)變(biàn)暗(àn);然後(hòu)第(dì)2个(gè)燈(dēng)隔1秒(miǎo),亮(liàng)2秒(miǎo)後(hòu)變(biàn)暗(àn);然後(hòu)第(dì)3个(gè)燈(dēng)隔1秒(miǎo),亮(liàng)3秒(miǎo)後(hòu)變(biàn)暗(àn);最(zuì)後(hòu)第(dì)4个(gè)燈(dēng)隔1秒(miǎo),亮(liàng)4秒(miǎo)後(hòu)變(biàn)暗(àn)。之後(hòu)循环(huán)往複。
信(xìn)号(hào)設計(jì):
对(duì)于(yú)LED0,複位後(hòu),先(xiān)滅1秒(miǎo),亮(liàng)1秒(miǎo),然後(hòu)再滅12秒(miǎo);对(duì)于(yú)LED1,複位後(hòu),先(xiān)滅3秒(miǎo),亮(liàng)2秒(miǎo),然後(hòu)再滅9秒(miǎo),循环(huán)往複;对(duì)于(yú)LED2,複位後(hòu),先(xiān)滅6秒(miǎo),亮(liàng)3秒(miǎo),然後(hòu)再滅5秒(miǎo),循环(huán)往複;对(duì)于(yú)LED3,先(xiān)滅10秒(miǎo),亮(liàng)4秒(miǎo),循环(huán)往複。(注:設計(jì)目标(biāo)中(zhōng)的(de)LED1~LED4指的(de)是(shì)開(kāi)發(fà)板上(shàng)的(de)4个(gè)LED燈(dēng),信(xìn)号(hào)設計(jì)中(zhōng)的(de)LED0~LED3指的(de)是(shì)設計(jì)輸出(chū)的(de)4个(gè)信(xìn)号(hào)。)

工程实現(xiàn)思(sī)想(xiǎng):
本(běn)工程需要(yào)2个(gè)計(jì)數器,一(yī)个(gè)cnt0用(yòng)于(yú)計(jì)算1秒(miǎo)鐘(zhōng),一(yī)个(gè)cnt1用(yòng)于(yú)計(jì)算一(yī)个(gè)周期(qī)14秒(miǎo)鐘(zhōng)。計(jì)數器的(de)設計(jì)與(yǔ)本(běn)書(shū)的(de)第(dì)1个(gè)案(àn)例的(de)計(jì)數器設計(jì)相同(tóng),这(zhè)里(lǐ)不(bù)再贅述。輸出(chū)信(xìn)号(hào)LED0,LED1,LED2,LED3根(gēn)據(jù)2个(gè)計(jì)數器計(jì)數的(de)狀态来(lái)判定(dìng)是(shì)變(biàn)0還(huán)是(shì)變(biàn)1。这(zhè)里(lǐ)以(yǐ)led0为(wèi)例,led0有(yǒu)两(liǎng)種(zhǒng)變(biàn)化(huà)點(diǎn):變(biàn)0和(hé)變(biàn)1。變(biàn)0的(de)原因(yīn)都是(shì)計(jì)數到(dào)1秒(miǎo)的(de)时(shí)間(jiān),也(yě)就(jiù)是(shì)add_cnt1&&cnt1==1-1时(shí),led0變(biàn)0.變(biàn)1的(de)原因(yīn),則是(shì)數到(dào)2秒(miǎo)时(shí)間(jiān)时(shí),即add_cnt1&&cnt1==2-1时(shí),led0變(biàn)1。其餘信(xìn)号(hào)變(biàn)換以(yǐ)此(cǐ)類(lèi)推。
案(àn)例擴展(zhǎn):
還(huán)可(kě)以(yǐ)对(duì)本(běn)案(àn)例進(jìn)行擴展(zhǎn),例如(rú)交通(tòng)燈(dēng)。假設一(yī)个(gè)十(shí)字(zì)路(lù)口(kǒu)的(de)交通(tòng)燈(dēng),分(fēn)为(wèi)東(dōng)西(xī)南(nán)北(běi)四(sì)个(gè)方(fāng)向(xiàng)。每个(gè)方(fāng)向(xiàng)紅(hóng)燈(dēng)持(chí)續10秒(miǎo),綠(lǜ)燈(dēng)持(chí)續7秒(miǎo),黃燈(dēng)持(chí)續3秒(miǎo)。这(zhè)里(lǐ)便可(kě)套(tào)用(yòng)本(běn)案(àn)例的(de)思(sī)想(xiǎng)與(yǔ)框架。每个(gè)方(fāng)向(xiàng)的(de)紅(hóng)、綠(lǜ)、黃的(de)三(sān)个(gè)燈(dēng)的(de)變(biàn)化(huà)可(kě)以(yǐ)看(kàn)作一(yī)組3位閃爍燈(dēng)的(de)變(biàn)化(huà)。


个(gè)人(rén)感(gǎn)想(xiǎng):
交通(tòng)燈(dēng)的(de)代(dài)碼基本(běn)繼承于(yú)4位閃爍燈(dēng)的(de)代(dài)碼,其中(zhōng)最(zuì)重(zhòng)要(yào)的(de)2个(gè)計(jì)數器cnt0、cnt1的(de)代(dài)碼也(yě)只(zhī)是(shì)改了(le)1个(gè)數字(zì),其它(tā)也(yě)只(zhī)是(shì)修改了(le)一(yī)下(xià)信(xìn)号(hào)變(biàn)化(huà)的(de)条(tiáo)件(jiàn)。案(àn)例的(de)代(dài)碼的(de)模块(kuài)化(huà)與(yǔ)規範化(huà)为(wèi)代(dài)碼的(de)移植與(yǔ)修改提(tí)供了(le)很大的(de)便利,节(jié)省(shěng)了(le)大量(liàng)的(de)时(shí)間(jiān)。
【至(zhì)簡設計(jì)案(àn)例系(xì)列】波(bō)形相位頻率可(kě)調DDS信(xìn)号(hào)發(fà)生(shēng)器(設計(jì)分(fēn)享)
【至(zhì)簡設計(jì)案(àn)例系(xì)列】基于(yú)FPGA的(de)M序列發(fà)生(shēng)器設計(jì)
【至(zhì)簡設計(jì)案(àn)例系(xì)列】基于(yú)FPGA的(de)漢明(míng)碼編碼解(jiě)碼設計(jì)
【至(zhì)簡設計(jì)案(àn)例系(xì)列】基于(yú)FPGA的(de)SDRAM控制器設計(jì)(一(yī))——初始化(huà)
【至(zhì)簡設計(jì)案(àn)例系(xì)列】基于(yú)FPGA的(de)SDRAM控制器設計(jì)(二(èr))—自(zì)動(dòng)刷新








