版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢業(yè)設(shè)計(jì)(論文)</b></p><p> 題 目:基于FPGA的通用外設(shè)電路設(shè)計(jì)</p><p> 英文題目:Design of Universal Peripheral Circuit Based on FPGA</p><p><b> 摘 要</b></p>
2、;<p> FPGA器件作為可編程邏輯主流硬件,近年來(lái),應(yīng)用越來(lái)越廣泛,在現(xiàn)代科學(xué)技術(shù)中占有舉足輕重的作用和地位。其外設(shè)電路作為芯片與外界輸入方式之一,是十分具有研究?jī)r(jià)值的。FPGA器件不斷增加新的模塊,功能越來(lái)越強(qiáng)大,基于FPGA的外設(shè)電路也順應(yīng)形勢(shì),不斷升級(jí)。</p><p> 本設(shè)計(jì)綜合行列式鍵盤(pán)、LED顯示器、時(shí)鐘一體,應(yīng)用Verilog HDL語(yǔ)言實(shí)現(xiàn)下述功能:計(jì)時(shí)功能,包括時(shí)分秒的計(jì)
3、時(shí);校時(shí)功能:對(duì)時(shí)分秒手動(dòng)調(diào)整以校準(zhǔn)時(shí)間;鍵盤(pán)功能:應(yīng)用4*4行列式鍵盤(pán),可實(shí)現(xiàn)0-9數(shù)字的直接輸入;LED動(dòng)態(tài)掃描顯示和閃爍,移位,滅零等功能,突出了其作為硬件描述語(yǔ)言的良好的可讀性、可移植性和易理解等優(yōu)點(diǎn),并通過(guò)Altera QuartusⅡ8.0完成綜合、仿真。</p><p> 本設(shè)計(jì)實(shí)現(xiàn)以上FPGA各功能,可作為EDA技術(shù)發(fā)展的價(jià)值體現(xiàn)。此程序通過(guò)下載到FPGA芯片后,可應(yīng)用于實(shí)際的數(shù)字鐘顯示中。&l
4、t;/p><p> 關(guān)鍵字:行列式鍵盤(pán)、LED顯示器、時(shí)鐘、Verilog HDL。</p><p><b> ABSTRACT</b></p><p> FPGA programmable logic devices, as the mainstream of hardware, in recent years, more and more
5、 extensive applications in modern science and technology plays a vital role and status. Its peripheral circuit chip with the outside world as one of input is very valuable in research. FPGA devices are constantly adding
6、new modules, more powerful, FPGA-based response to the peripheral circuit is also the situation escalated.</p><p> The determinant of the design of an integrated keyboard, LED display, integrated clock, app
7、lication Verilog HDL language to achieve the following functions: time functions, including the time when minutes and seconds; school functions: every minute of time to manually adjust the calibration time; keyboard func
8、tions: application of 4 * 4 determinant keyboard, numbers 0-9 can be directly imported; LED dynamic scanning display and blinking, shift, such as anti-zero function, highlights the hardware</p><p> This pro
9、cess by downloading to the FPGA chip can be used in practical digital clock display.</p><p> Keywords: determinant keyboard, LED display, clock, Verilog HDL.</p><p><b> 目 錄</b>&
10、lt;/p><p><b> 引 言1</b></p><p> 第一章 系統(tǒng)硬件及設(shè)計(jì)軟件介紹2</p><p> 1.1 開(kāi)發(fā)板介紹2</p><p> 1.2 設(shè)計(jì)軟件介紹3</p><p> 第二章 系統(tǒng)方案設(shè)計(jì)4</p><p>
11、2.1 總設(shè)計(jì)方案4</p><p> 2.2 分頻器設(shè)計(jì)方案4</p><p> 2.3 行列式鍵盤(pán)設(shè)計(jì)方案5</p><p> 2.4 六位7段LED顯示設(shè)計(jì)方案6</p><p> 2.5 頂層模塊設(shè)計(jì)方案7</p><p> 第三章 系統(tǒng)程序設(shè)計(jì)8</p><
12、;p> 3.1 分頻器程序設(shè)計(jì)8</p><p> 3.2 行列式鍵盤(pán)程序設(shè)計(jì)10</p><p> 3.3 六位7段LED顯示程序設(shè)計(jì)12</p><p> 3.4 頂層模塊程序設(shè)計(jì)13</p><p> 第四章 程序仿真20</p><p> 4.1 分頻器程序仿真20&l
13、t;/p><p> 4.2 行列式鍵盤(pán)程序仿真20</p><p> 4.3 六位7段LED顯示程序仿真21</p><p> 4.4 頂層模塊程序仿真22</p><p><b> 結(jié) 論25</b></p><p><b> 致 謝27</b>&
14、lt;/p><p><b> 參考文獻(xiàn)28</b></p><p> 附錄1 分頻器程序29</p><p> 附錄2 行列式鍵盤(pán)程序31</p><p> 附錄3 六位7段LED顯示程序33</p><p> 附錄4 頂層時(shí)鐘程序35</p><p&g
15、t;<b> 引 言</b></p><p> 計(jì)算機(jī)技術(shù)和微電子工藝的發(fā)展,使得現(xiàn)代數(shù)字系統(tǒng)的設(shè)計(jì)和應(yīng)用進(jìn)入了新的階段。電子設(shè)計(jì)自動(dòng)化(EDA)技術(shù)在數(shù)字系統(tǒng)設(shè)計(jì)中起的作用越來(lái)越重要,新的工具和新的設(shè)計(jì)方案不斷推出,可編程邏輯器件不斷增加新的模塊,功能越來(lái)越強(qiáng),硬件設(shè)計(jì)語(yǔ)言也順應(yīng)形式,推出新的標(biāo)準(zhǔn),更加好用,更加便捷。</p><p> 本設(shè)計(jì)主要以FP
16、GA器件、EDA軟件工具、Verilog HDL硬件描述語(yǔ)言三方面內(nèi)容作為主線(xiàn),綜合行列式鍵盤(pán),LED顯示器件,以及時(shí)鐘模塊于一體,實(shí)現(xiàn)三個(gè)主要模塊的聯(lián)動(dòng),輸入部分為4*4行列式鍵盤(pán),具備0-9十個(gè)數(shù)字鍵、修改/確認(rèn)鍵、左右移動(dòng)鍵,輸出數(shù)據(jù)為6位二進(jìn)制代碼,輸出部分為六位7段LED數(shù)碼管,可實(shí)現(xiàn)時(shí)分秒顯示,時(shí)鐘滅零顯示,修改閃爍以及小數(shù)點(diǎn)秒閃爍功能。而頂層文件時(shí)鐘模塊則將輸入輸出部分聯(lián)結(jié)起來(lái),實(shí)現(xiàn)時(shí)鐘發(fā)生,顯示緩存,數(shù)據(jù)修改,移位,滅零
17、等功能。另時(shí)鐘產(chǎn)生模塊采用FPGA硬件內(nèi)置66MHz分頻,產(chǎn)生250Hz,5Hz,1Hz信號(hào)供時(shí)鐘模塊,輸入輸出模塊使用。</p><p> 本設(shè)計(jì)完全采用Verilog HDL語(yǔ)言完成,此程序通過(guò)下載到FPGA芯片后,可應(yīng)用于實(shí)際的數(shù)字鐘顯示中。</p><p> 第一章 系統(tǒng)硬件及設(shè)計(jì)軟件介紹</p><p> 1.1 開(kāi)發(fā)板介紹</p>
18、<p> 本設(shè)計(jì)需要的硬件資源主要有:</p><p><b> 1、六位七段數(shù)碼管</b></p><p> 2、4*4行列式鍵盤(pán)</p><p> 經(jīng)過(guò)仔細(xì)篩選,最終選定聯(lián)華眾科FPGA開(kāi)發(fā)板FA130。聯(lián)華眾科FPGA開(kāi)發(fā)板FA130核心器件為 Altera Cyclone系列的EP1C3,配置芯片為EPCS1,F(xiàn)A1
19、30上可以運(yùn)行SOPC Builder制作的簡(jiǎn)單的工程。FA130具有豐富的板載資源,由于板載有51單片機(jī),F(xiàn)A130還可以作為51單片機(jī)的學(xué)習(xí)開(kāi)發(fā)板。FA130實(shí)現(xiàn)了3.3V系統(tǒng)與5V系統(tǒng)對(duì)接功能,具體是通過(guò)74LVXC3245(或簡(jiǎn)稱(chēng)3245)實(shí)現(xiàn)的。FA130隨板資料中包括豐富的開(kāi)發(fā)實(shí)例和制作開(kāi)發(fā)實(shí)例的詳細(xì)步驟說(shuō)明,以及Quartus II環(huán)境下的設(shè)計(jì)輸入,綜合,仿真等內(nèi)容,另外還包括SOPC建立和開(kāi)發(fā)方面內(nèi)容,如Nios II的
20、建立和Nios II環(huán)境下C/C++程序開(kāi)發(fā)等。FA130的EDA開(kāi)發(fā)實(shí)例包括VHDL和Verilog兩個(gè)版本,F(xiàn)A130的51單片機(jī)開(kāi)發(fā)實(shí)例包括匯編和C語(yǔ)言?xún)蓚€(gè)版本。同時(shí)FA130還包括詳細(xì)的使用手冊(cè)和豐富的配套資料,非常適合FPGA,VHDL,Verilog開(kāi)發(fā)學(xué)習(xí)者使用。另外FA130隨板DVDROM中還包括VS.NET的開(kāi)發(fā)實(shí)例,在學(xué)習(xí)FPGA開(kāi)發(fā)、51單片機(jī)開(kāi)發(fā)的同時(shí)還可以</p><p> 圖1-1
21、 FA130開(kāi)發(fā)板</p><p> 聯(lián)華眾科FPGA開(kāi)發(fā)板FA130具有豐富的板載資源。</p><p> 核心器件包括FPGA芯片Altera EP1C3T100和PLCC封裝的單片機(jī)STC89LE52。EP1C3可用I/O分4組全部以插針的形式引出,供外部擴(kuò)展時(shí)使用。</p><p> FPGA配置芯片為EPCS1,EPCS1為FLASH類(lèi)型存儲(chǔ)器,存儲(chǔ)
22、空間為1M位(1,046,496bits),EPCS1可以工作在5V或3.3V,在本開(kāi)發(fā)板EPCS1與FPGA的IO相同工作電壓為3.3V。</p><p> 時(shí)鐘資源包括頻率為66M有源晶振和1個(gè)外接有源晶振插座,外接有源晶振插座可直接安裝用戶(hù)自己希望的任何頻率有源晶振。</p><p> 復(fù)位電路由一個(gè)復(fù)位按鍵和一片復(fù)位芯片組成,復(fù)位芯片為IMP812T,IMP812T輸出高電平有
23、效的復(fù)位脈沖,脈沖寬度為140ms。IMP812T的復(fù)位門(mén)限(Reset Threshold)為3.08V,輸出的復(fù)位信號(hào)同時(shí)提供給FPGA芯片和單片機(jī)使用,F(xiàn)A130上EP1C3和51單片機(jī)89LE52均工作在3.3V電源電壓。</p><p> 顯示資源包括6位共陰七段數(shù)碼管,8位LED(綠色),1片1602LCD顯示屏。</p><p> 鍵盤(pán)資源包括4*4按鍵陣列,4個(gè)獨(dú)立按鍵
24、,其中4個(gè)獨(dú)立按鍵可以作為單片機(jī)的中斷源使用。</p><p> 電源部分包括1片LM1085-5.0,1片AS2830-3.3和1片AS2830-1.5,LM1085-5.0提供5V直流電源作為AS2830-3.3,AS2830-1.5輸入電源和LCD1602供電電源。AS2830-3.3提供3.3V直流電源,作為FPGA的IO電源和開(kāi)發(fā)板上其他設(shè)備電源。AS2830-1.5提供1.5V直流電源,作為FPGA
25、的核心供電電源。</p><p> 存儲(chǔ)資源包括1片24C02和1片93C46,24C02連接在I2C總線(xiàn)上,是存儲(chǔ)空間為256字節(jié)串行E2PROM,24C02的設(shè)備地址也可以由板上的3位撥碼開(kāi)關(guān)設(shè)置。93C46為SPI接口的串行E2PROM,93C46存儲(chǔ)空間為128字節(jié)。</p><p> 其他資源還包括8位撥碼開(kāi)關(guān),連接到EP1C3上。</p><p>
26、 1.2 設(shè)計(jì)軟件介紹</p><p> 本設(shè)計(jì)使用Altera公司的Quartus II軟件,版本為8.0。Altera Quartus II設(shè)計(jì)軟件是業(yè)界唯一提供FPGA和固定功能HardCopy器件統(tǒng)一設(shè)計(jì)流程的設(shè)計(jì)工具。工程師使用同樣的低價(jià)位工具對(duì) Stratix FPGA進(jìn)行功能驗(yàn)證和原型設(shè)計(jì),又可以設(shè)計(jì)HardCopy Stratix器件用于批量成品。系統(tǒng)設(shè)計(jì)者現(xiàn)在能夠用Quartus II軟件評(píng)
27、估HardCopy Stratix器件的性能和功耗,相應(yīng)地進(jìn)行最大吞吐量設(shè)計(jì)。</p><p> Altera的Quartus II可編程邏輯軟件屬于第四代PLD開(kāi)發(fā)平臺(tái)。該平臺(tái)支持一個(gè)工作組環(huán)境下的設(shè)計(jì)要求,其中包括支持基于Internet的協(xié)作設(shè)計(jì)。Quartus平臺(tái)與Cadence、ExemplarLogic、 MentorGraphics、Synopsys和Synplicity等EDA供應(yīng)商的開(kāi)發(fā)工具相
28、兼容。改進(jìn)了軟件的LogicLock模塊設(shè)計(jì)功能,增添 了FastFit編譯選項(xiàng),推進(jìn)了網(wǎng)絡(luò)編輯性能,而且提升了調(diào)試能力。</p><p> 第二章 系統(tǒng)方案設(shè)計(jì)</p><p><b> 設(shè)計(jì)要求:</b></p><p> 1、行列式鍵盤(pán)電路包括:時(shí)鐘產(chǎn)生電路,掃描電路、按鍵標(biāo)志產(chǎn)生電路和鍵盤(pán)譯碼器;</p><
29、p> 2、LED顯示電路設(shè)計(jì)包括:時(shí)鐘發(fā)生器、掃描信號(hào)發(fā)生器、顯示緩存器、七段譯碼器、小數(shù)點(diǎn)產(chǎn)生模塊和閃爍模塊;</p><p> 3、鍵盤(pán)與LED顯示電路配合,完成數(shù)據(jù)修改,移位,滅零和小數(shù)點(diǎn)移動(dòng)等功能。</p><p> 2.1 總設(shè)計(jì)方案</p><p> 根據(jù)課題要求,本設(shè)計(jì)主要由三個(gè)模塊完成,</p><p> 輸
30、入:行列式鍵盤(pán),具備0-9十個(gè)數(shù)字鍵及數(shù)據(jù)修改/確認(rèn),左移位鍵,右移位鍵三個(gè)功能鍵。</p><p> 輸出:六位7段數(shù)碼管。</p><p> 主程序:實(shí)現(xiàn)時(shí)鐘產(chǎn)生,鍵位識(shí)別,數(shù)據(jù)修改,移位等功能。</p><p> 應(yīng)以上三個(gè)模塊要求,設(shè)計(jì)分頻模塊,產(chǎn)生符合要求的方波。</p><p><b> 如圖2-1所示:<
31、/b></p><p> 圖2-1 系統(tǒng)設(shè)計(jì)方案圖</p><p> 2.2 分頻器設(shè)計(jì)方案</p><p> 本設(shè)計(jì)采用FPGA硬件設(shè)計(jì),其內(nèi)置時(shí)鐘頻率為66MHz,而三個(gè)模塊需要的是頻率較低的信號(hào),應(yīng)通過(guò)寄存器計(jì)數(shù)來(lái)實(shí)現(xiàn)分頻,考慮到高低頻率差異太大,所以拆分成為兩個(gè)寄存器來(lái)實(shí)現(xiàn),這樣可以得到250Hz信號(hào),然后再使用兩個(gè)寄存器可分別得到5Hz,1H
32、z兩個(gè)信號(hào)。如圖2-2所示。</p><p> 圖2-2 分頻示意圖</p><p> 2.3 行列式鍵盤(pán)設(shè)計(jì)方案</p><p> 行列式鍵盤(pán)的工作方式是讀取行列線(xiàn)的狀態(tài),查看是否有按鍵按下。鍵盤(pán)部分提供一種掃描的工作方式,能對(duì)鍵盤(pán)不斷掃描、自動(dòng)消抖、自動(dòng)識(shí)別按下的鍵,并給出編碼,能對(duì)雙鍵或n個(gè)鍵同時(shí)按下的情況實(shí)行保護(hù)。</p><p&
33、gt; 本設(shè)計(jì)需要實(shí)現(xiàn)數(shù)據(jù)修改,移位,所以除了0-9數(shù)字鍵盤(pán)以外,還至少需要左右移位鍵及修改/確認(rèn)三個(gè)功能鍵,如圖2-3所示。</p><p> 圖2-3 鍵盤(pán)示意圖</p><p> 鍵盤(pán)需要響應(yīng)迅速,所以采用了250Hz信號(hào),輸入由X1,X2,X3,X4;Y1,Y2,Y3,Y4八根縱橫交錯(cuò)的連接線(xiàn)組成,當(dāng)某根X連接線(xiàn)和Y連接線(xiàn)同時(shí)為低電平時(shí)有效,例如當(dāng)X3,Y2為低電平時(shí),識(shí)別為
34、“0”鍵,將輸出相應(yīng)信號(hào)供主程序識(shí)別。</p><p><b> 如圖2-4所示。</b></p><p> 圖2-4 鍵盤(pán)電路原理</p><p> 2.4 六位7段LED顯示設(shè)計(jì)方案</p><p> 在譯碼器設(shè)計(jì)時(shí),常用發(fā)光二極管的狀態(tài)驗(yàn)證設(shè)計(jì)是否滿(mǎn)足要求。這種方式是很直觀的,但在計(jì)數(shù)器設(shè)計(jì)時(shí),這樣的驗(yàn)證
35、方式就顯得很不直觀,尤其當(dāng)計(jì)數(shù)器的位數(shù)增加時(shí)(如百進(jìn)制計(jì)數(shù)),太多的發(fā)光管將使結(jié)果的獨(dú)處非常困難。此時(shí)應(yīng)采用數(shù)碼管顯示,但是當(dāng)用七段數(shù)碼顯示器顯示的位數(shù)較多時(shí)(如顯示8位)BCD碼十進(jìn)制數(shù)),為了節(jié)省硬件開(kāi)支,常用動(dòng)態(tài)顯示方法,即對(duì)各LED數(shù)碼管循環(huán)掃描。分時(shí)使用顯示器驅(qū)動(dòng)電路。</p><p> 驅(qū)動(dòng)方式:直接驅(qū)動(dòng)方式,直接對(duì)數(shù)碼管相應(yīng)的字段給出驅(qū)動(dòng)電平,以顯示字形,其真值表如表2-1所示:</p>
36、;<p> 表2-1 LED真值表</p><p><b> 2)動(dòng)態(tài)掃描顯示</b></p><p> 動(dòng)態(tài)掃描的FPGA實(shí)現(xiàn)可以采用將所有數(shù)碼管的相同字段并聯(lián),由FPGA芯片的輸出信號(hào)a,b,c,d,e,f,g直接驅(qū)動(dòng)相應(yīng)字段,由軟件編程產(chǎn)生片選信號(hào)MS1,MS2,…,MS6循環(huán)選中6個(gè)數(shù)碼管。數(shù)碼管顯示的字形由表2-2決定。</p>
37、;<p><b> 3)相關(guān)知識(shí)</b></p><p> 共陰數(shù)碼管如右圖2-5所示:每一條線(xiàn)分別對(duì)應(yīng)一個(gè)管腳,當(dāng)管腳為‘1’時(shí),這條線(xiàn)為亮,當(dāng)管腳設(shè)置為‘0’時(shí),這條線(xiàn)不亮。例如:設(shè)置a的管腳為‘1’,那么0這條線(xiàn)就會(huì)亮;設(shè)置g的管腳為‘1’,那么6這條線(xiàn)就會(huì)亮。要讓數(shù)碼管顯示數(shù)字0,那么我們可以設(shè)置{a,b,c,d,e,f,g}為“1111110”。</p&g
38、t;<p> 圖2-5 數(shù)碼管示意圖</p><p> 2.5 頂層模塊設(shè)計(jì)方案</p><p> 此模塊為系統(tǒng)核心模塊,大部分的功能都由此模塊完成。</p><p><b> 時(shí)鐘模塊</b></p><p> 設(shè)計(jì)思路:定義一個(gè)長(zhǎng)度為24位的時(shí)鐘顯示緩存寄存器,每4
39、位用BCD碼來(lái)分別顯示時(shí)分秒的個(gè)位,十位,每當(dāng)1秒周期則秒個(gè)位加一,當(dāng)秒個(gè)位為9時(shí)則清零,秒十位加一,當(dāng)秒為59時(shí)清零,分加一,同理當(dāng)分為59,秒為59時(shí),分、秒清零,時(shí)加一,同理當(dāng)時(shí)為23,分為59,秒為59時(shí),時(shí)分秒清零。完成時(shí)鐘的設(shè)計(jì)。</p><p><b> 2)鍵盤(pán)譯碼模塊</b></p><p> 設(shè)計(jì)思路:定義1位寄存器sel,每當(dāng)檢測(cè)到sel信號(hào)
40、則自加1,當(dāng)sel為1時(shí)進(jìn)入修改狀態(tài),為0則為時(shí)鐘狀態(tài)。</p><p><b> 3)數(shù)據(jù)移位模塊</b></p><p> 設(shè)計(jì)思路:定義3位寄存器flag,當(dāng)flag不為0時(shí),每當(dāng)檢測(cè)到“←”信號(hào)時(shí),flag自減1,當(dāng)flag不為5時(shí),每當(dāng)檢測(cè)到“→”信號(hào),flag自加1。</p><p><b> 4)數(shù)據(jù)修改模塊<
41、;/b></p><p> 設(shè)計(jì)思路:當(dāng)sel為1時(shí),進(jìn)入修改狀態(tài),檢測(cè)flag的值,flag的值分別對(duì)應(yīng)各將被修改的數(shù)據(jù),如圖2-6。</p><p> 圖2-6 數(shù)據(jù)修改信號(hào)</p><p> 檢測(cè)鍵盤(pán)輸入信號(hào),若有0-9數(shù)字信號(hào)輸入則將對(duì)應(yīng)數(shù)字賦值給相應(yīng)時(shí)鐘顯示緩存寄存器。</p><p><b> 5)閃爍模塊
42、</b></p><p> 設(shè)計(jì)思路:當(dāng)sel為1時(shí),引入5Hz信號(hào)clkss,當(dāng)clkss為1時(shí),flag所對(duì)應(yīng)數(shù)據(jù)輸出信號(hào)為緩存數(shù)據(jù),為0時(shí)對(duì)應(yīng)數(shù)據(jù)電平將為高阻態(tài)不顯示,這樣可實(shí)現(xiàn)被修改數(shù)據(jù)會(huì)以5Hz的頻率閃爍顯示。</p><p><b> 6)顯示輸出模塊</b></p><p> 設(shè)計(jì)思路:將時(shí)鐘顯示緩存寄存器的數(shù)據(jù)
43、賦值給輸出管腳。</p><p> 第三章 系統(tǒng)程序設(shè)計(jì)</p><p> 3.1 分頻器程序設(shè)計(jì)</p><p> 在現(xiàn)代電子系統(tǒng)中,數(shù)字系統(tǒng)所占的比例越來(lái)越大。系統(tǒng)發(fā)展的趨勢(shì)是數(shù)字化和集成化,而CPLD/FPGA作為可編程ASIC(專(zhuān)用集成電路)器件,它將在數(shù)字邏輯系統(tǒng)中發(fā)揮越來(lái)越重要的作用。</p><p> 在數(shù)字邏輯電路
44、設(shè)計(jì)中,分頻器是一種基本電路。通常用來(lái)對(duì)某個(gè)給定頻率進(jìn)行分頻,以得到所需的頻率。整數(shù)分頻器的實(shí)現(xiàn)非常簡(jiǎn)單,可采用標(biāo)準(zhǔn)的計(jì)數(shù)器,也可以采用可編程邏輯器件設(shè)計(jì)實(shí)現(xiàn)。本設(shè)計(jì)采用標(biāo)準(zhǔn)計(jì)數(shù)器來(lái)實(shí)現(xiàn)。根據(jù)設(shè)計(jì)思路,本模塊將66MHz信號(hào)分頻成為250Hz,5Hz,1Hz三個(gè)輸出信號(hào),流程圖如圖3-1所示。</p><p> 程序每當(dāng)檢測(cè)到內(nèi)置時(shí)鐘上升沿,計(jì)數(shù)寄存器1自加1,如果寄存器1等于999,則寄存器1置0,寄存器2自
45、加1,如果寄存器2等于131,則clksy取反,寄存器3,寄存器4均自加1,寄存器2清零,F(xiàn)s=fx/ns=50M/[(999+1)*(131+1)]=500,可得clksy每秒鐘取反500次,即可得clksy=250Hz, 圖3-1分頻程序流程圖 同理寄存器3和寄存器4每1/500秒自加1。如果寄存器3等于249,則寄存器3清零,clk取反,根據(jù)以上結(jié)果可得clk每秒取反
46、2次,即可得clk=1Hz。 </p><p> 如果寄存器3等于49,則寄存器4清零,clkss取反,根據(jù)以上結(jié)果可得clkss每秒取反10次,即可得clkss=5Hz。</p><p> 根據(jù)以上思路,Verilog HDL程序如下:</p><p> module clkfs(clk,clkss,clksy,clk66MHz); <
47、/p><p> input clk66MHz; output clk,clkss,clksy;</p><p> reg clk,clkss,clksy; reg[9:0] count1;</p><p> reg[6:0] count2; reg[7:0] count3;</p><p> reg[5:0] count4;
48、 reg cin1,cin2;</p><p> always @(posedge clk66MHz)</p><p> if(count1[9:0]==10'd999)</p><p> begin count1[9:0]=10'd0;</p><p> cin1=1'd1;//產(chǎn)生進(jìn)位信號(hào)1<
49、;/p><p><b> end</b></p><p><b> else </b></p><p> begin count1[9:0]=count1[9:0]+10'd1;</p><p> cin1=1'd0;//進(jìn)位信號(hào)1清零</p><p
50、><b> end</b></p><p> always @(posedge clk66MHz)</p><p> if(count2[7:0]==8'd131)</p><p> begin count2[7:0]=8'd0;</p><p> clksy=~clksy; //
51、clksy=250Hz</p><p> cin2=1'd1;//產(chǎn)生進(jìn)位信號(hào)2</p><p><b> end</b></p><p><b> else </b></p><p> begin count2[7:0]=count2[7:0]+cin1;//若進(jìn)位信號(hào)1
52、為1則加1,為0則不變</p><p> cin2=1'd0;//進(jìn)位信號(hào)2清零</p><p><b> end</b></p><p> always @(posedge clk66MHz)</p><p> if(count3[7:0]==8'd249)</p><
53、p> begin count3[7:0]=8'd0;</p><p> clk=~clk; //clk=1Hz</p><p><b> end</b></p><p> else count3[7:0]=count3[7:0]+cin2;//若進(jìn)位信號(hào)2為1則加1,為0則不變</p><p&
54、gt; always @(posedge clk66MHz)</p><p> if(count4[5:0]==6'd49)</p><p> begin count4[5:0]=6'd0;</p><p> clkss=~clkss; //clkss=5Hz</p><p><b> end<
55、;/b></p><p> else count4[5:0]=count4[5:0]+cin2;</p><p> endmodule</p><p> 3.2 行列式鍵盤(pán)程序設(shè)計(jì)</p><p> 相對(duì)if語(yǔ)句只有兩個(gè)分支而言,else語(yǔ)句是一種多分支語(yǔ)句,故case語(yǔ)句多用于條件譯碼電路,本設(shè)計(jì)的行列式鍵盤(pán)模塊采
56、用case語(yǔ)句鍵盤(pán)譯碼。利用250Hz信號(hào)掃描X軸和Y軸電位信號(hào),當(dāng)某根X連接線(xiàn)和Y連接線(xiàn)同時(shí)為低電平時(shí)有效。</p><p> 鍵盤(pán)去抖功能:按鍵在閉合和斷開(kāi)時(shí),觸點(diǎn)會(huì)存在抖動(dòng)現(xiàn)象,本設(shè)計(jì)采用250Hz低頻信號(hào),觸發(fā)判定為clk信號(hào)上升沿和下降沿,也就是在40ms時(shí)間內(nèi)會(huì)有兩次判定,如果兩次判定均為同一鍵位,則輸出鍵值,否則輸出為0,可以消除觸點(diǎn)抖動(dòng)的負(fù)面作用。示意圖如下:</p><p&
57、gt; 圖3-2 去抖示意圖</p><p> 圖示為兩次按鍵,第一次按鍵時(shí)間極短,可視為一次抖動(dòng),第二次為正常按鍵(時(shí)間較長(zhǎng),可以是多個(gè)CLK周期,圖示只列出1個(gè)周期),現(xiàn)分析如下:</p><p> 圖示1處:讀取key1為低;圖示2處:讀取key2為高;結(jié)果:key為0,判定無(wú)按鍵。</p><p> 圖示1處:讀取key1為低;圖示2處:讀取key2
58、為低;結(jié)果:key為對(duì)應(yīng)鍵位值,判定有按鍵。</p><p><b> 程序如下:</b></p><p> module keypad(clksy,x,y,key); //clksy=64hz</p><p> input clksy;</p><p> input[3:0] x,y; //4*4 key ,l
59、ow active</p><p> output[5:0] key;</p><p> reg[5:0] key1,key2;</p><p> always @(posedge clksy) //第一次判定</p><p><b> begin</b></p><p> cas
60、e({~y[3:0],~x[3:0]})</p><p> 8'b00010001:key1[5:0]=6'd1;</p><p> 8'b00010010:key1[5:0]=6'd2;</p><p> 8'b00010100:key1[5:0]=6'd3;</p><p> 8
61、39;b00011000:key1[5:0]=6'd4;</p><p> 8'b00100001:key1[5:0]=6'd5;</p><p> 8'b00100010:key1[5:0]=6'd6;</p><p> 8'b00100100:key1[5:0]=6'd7;</p>&l
62、t;p> 8'b00101000:key1[5:0]=6'd8;</p><p> 8'b01000001:key1[5:0]=6'd9;</p><p> 8'b01000010:key1[5:0]=6'd10;</p><p> 8'b01000100:key1[5:0]=6'd16;
63、</p><p> 8'b01001000:key1[5:0]=6'd32;</p><p> 8'b10001000:key1[5:0]=6'd48;</p><p> default:key1[5:0]=6'd0; //輸出結(jié)果寄存在key1</p><p><b> en
64、dcase</b></p><p><b> end</b></p><p> always @(negedge clksy) //第二次判定</p><p><b> begin</b></p><p> case({~y[3:0],~x[3:0]})</p&g
65、t;<p> 8'b00010001:key2[5:0]=6'd1; //鍵位1</p><p> 8'b00010010:key2[5:0]=6'd2; //鍵位2</p><p> 8'b00010100:key2[5:0]=6'd3; //鍵位3</p><p>
66、8'b00011000:key2[5:0]=6'd4; //鍵位4</p><p> 8'b00100001:key2[5:0]=6'd5; //鍵位5</p><p> 8'b00100010:key2[5:0]=6'd6; //鍵位6</p><p> 8'b00100100:key
67、2[5:0]=6'd7; //鍵位7</p><p> 8'b00101000:key2[5:0]=6'd8; //鍵位8</p><p> 8'b01000001:key2[5:0]=6'd9; //鍵位9</p><p> 8'b01000010:key2[5:0]=6'd10; //鍵
68、位0</p><p> 8'b01000100:key2[5:0]=6'd16; //鍵位←</p><p> 8'b01001000:key2[5:0]=6'd32; //鍵位→</p><p> 8'b10001000:key2[5:0]=6'd48; //鍵位sel</p>
69、<p> default:key2[5:0]=6'd0;//輸出結(jié)果寄存在key2</p><p><b> endcase</b></p><p><b> end</b></p><p> assign key=(key1==key2)?key1:6'd0; //判定 如果兩次
70、結(jié)果相同 則輸出為</p><p> //鍵值 如果不同 則輸出為0</p><p><b> endmodule</b></p><p> 3.3 六位7段LED顯示程序設(shè)計(jì)</p><p> 聯(lián)華眾科FPGA開(kāi)發(fā)板FA130的數(shù)碼顯示為六位7段共陰極數(shù)碼管,其工作特點(diǎn)是,當(dāng)筆段電極接高電平,公共陰
71、極接低電平時(shí),相應(yīng)筆段發(fā)光。本模塊同時(shí)具有片選,七段譯碼,滅零功能。</p><p> 本模塊由250Hz信號(hào)驅(qū)動(dòng),采用動(dòng)態(tài)顯示方法,即對(duì)六個(gè)LED數(shù)碼管循環(huán)掃描。分時(shí)使用顯示器驅(qū)動(dòng)電路??傻妹總€(gè)數(shù)碼管顯示頻率為250/6≈42Hz,人眼視覺(jué)暫留時(shí)間的要求為25幀每秒,可達(dá)到要求。</p><p><b> 程序如下:</b></p><p&g
72、t; module xianshi(clksy,a,b,c,d,e,f,g,D0,D1,D2,D3,D4,D5,num0,num1,num2,num3,num4,num5);</p><p> input clksy;</p><p> input[3:0] num0,num1,num2,num3,num4,num5; //num0-num5為時(shí)分秒6位輸入</p>
73、<p> output a,b,c,d,e,f,g,D0,D1,D2,D3,D4,D5; //a-g為數(shù)碼管7段電平</p><p> reg a,b,c,d,e,f,g,D0,D1,D2,D3,D4,D5; //D0-D5為片選信號(hào)</p><p> reg[3:0] num10,num11,num12,num13,num14,num15;</p>
74、<p> reg[3:0] temp;</p><p> reg[2:0] flag;</p><p> always@(posedge clksy)</p><p><b> begin</b></p><p> {D0,D1,D2,D3,D4,D5}=6'b000000;</p>
75、;<p> if(flag==6) flag=0;</p><p> else flag=flag+1;</p><p> {num10,num11,num12,num13,num14,num15}={num0,num1,num2,num3,num4,num5};</p><p> if(num15==0) //首位滅零</p
76、><p> num15=4'bzzzz;</p><p> case(flag)//片選</p><p> 0:begin temp=num10;D0=1;end</p><p> 1:begin temp=num11;D1=1;end</p><p> 2:begin temp=num12
77、;D2=1;end</p><p> 3:begin temp=num13;D3=1;end</p><p> 4:begin temp=num14;D4=1;end</p><p> 5:begin temp=num15;D5=1;end</p><p> default:temp=0;</p><p>&l
78、t;b> endcase</b></p><p> case(temp) //七段譯碼</p><p> 4'd0:{a,b,c,d,e,f,g}=7'b1111110; //顯示數(shù)字0</p><p> 4'd1:{a,b,c,d,e,f,g}=7'b0110000; //顯示數(shù)字1
79、</p><p> 4'd2:{a,b,c,d,e,f,g}=7'b1101101; //顯示數(shù)字2</p><p> 4'd3:{a,b,c,d,e,f,g}=7'b1111001; //顯示數(shù)字3</p><p> 4'd4:{a,b,c,d,e,f,g}=7'b0110011; //顯示數(shù)字4&
80、lt;/p><p> 4'd5:{a,b,c,d,e,f,g}=7'b1011011; //顯示數(shù)字5</p><p> 4'd6:{a,b,c,d,e,f,g}=7'b1011111; //顯示數(shù)字6</p><p> 4'd7:{a,b,c,d,e,f,g}=7'b1110000; //顯示數(shù)字7&l
81、t;/p><p> 4'd8:{a,b,c,d,e,f,g}=7'b1111111; //顯示數(shù)字8</p><p> 4'd9:{a,b,c,d,e,f,g}=7'b1111011; //顯示數(shù)字9</p><p> default:{a,b,c,d,e,f,g}=7'b0000000; //無(wú)任何顯示<
82、/p><p><b> endcase</b></p><p><b> end</b></p><p><b> endmodule</b></p><p> 3.4 頂層模塊程序設(shè)計(jì)</p><p> 根據(jù)設(shè)計(jì)思路,畫(huà)出流程圖,見(jiàn)3-3。&l
83、t;/p><p> 程序是無(wú)限循環(huán),也就是到了流程圖結(jié)束的地方后又會(huì)回到開(kāi)始,程序首先判定是否有鍵按下,如果有,則判定鍵值:若鍵值為←或→移動(dòng)鍵,則會(huì)修改flag的值,有前文所述,flag的值代表時(shí)分秒的個(gè)、十位;若鍵值為Sel修改鍵,則會(huì)改變sel寄存器的值,設(shè)計(jì)需求是按一次Sel鍵將會(huì)進(jìn)入修改狀態(tài),再按一次將退出修改狀態(tài),方案為設(shè)定sel寄存器為1位。程序接下來(lái)會(huì)判斷sel的值,如果為1則進(jìn)入修改狀態(tài),為零則進(jìn)
84、入計(jì)時(shí)狀態(tài)。 </p><p> 在修改狀態(tài)下,程序再次判定鍵值,若為數(shù)字鍵,則會(huì)將對(duì)應(yīng)數(shù)據(jù)賦值給flag所對(duì)應(yīng)緩存,若為←或→移動(dòng)鍵,則會(huì)修改flag的值,若為Sel修改/確認(rèn)鍵,將退出修改狀態(tài)。</p><p> 圖3-3 頂層模塊設(shè)計(jì)流程圖</p><p> 在計(jì)時(shí)狀態(tài),程序?qū)⒅鹈雽?duì)秒緩存
85、加1,</p><p> 判斷:若秒低位為9,則秒低位清零,秒高位加一;</p><p> 判斷:若秒高位為5,則秒高位清零,分低位加一;</p><p> 判斷:若分低位為9,則分低位清零,分高位加一;</p><p> 判斷:若分高位為5,則分高位清零,時(shí)低位加一;</p><p> 判斷:若時(shí)低位為9,
86、則時(shí)低位清零,時(shí)高位加一;</p><p> 判斷:若時(shí)高低位為23,則時(shí)清零。</p><p> 程序到這里還沒(méi)有結(jié)束,關(guān)于修改位閃爍的方案,我將它和輸出管腳賦值整合在一起,首先判定是否為修改狀態(tài),若是,則將該修改數(shù)據(jù)和5Hz頻率相與再賦值給輸出管腳,當(dāng)5Hz頻率為高電平,輸出緩存數(shù)據(jù),反之則無(wú)輸出信號(hào),這樣可實(shí)現(xiàn)被修改字符出現(xiàn)頻率為5Hz的閃爍。</p><p&
87、gt;<b> 程序如下:</b></p><p> module clock(clkss,key,sec,min,hour);</p><p> input clkss;</p><p> input[5:0] key;</p><p><b> reg sel;</b></p&g
88、t;<p> reg[2:0] flag1,sumsec;</p><p> output[7:0] sec,min,hour;</p><p> wire[7:0] sec,min,hour; </p><p> reg[23:0] sum;</p><p> reg seccin,cinsec,cinmin,ss0
89、,ss1,ss2,ss3,ss4,ss5;</p><p> initial flag1=3'd0;</p><p> always@(posedge clkss)</p><p><b> begin</b></p><p> if(key==6'd48) sel=sel+1'd1;
90、//如果為Sel鍵 將在修改/確認(rèn)間切換</p><p> else if(key==6'd16) //如果為←鍵</p><p> begin if(!flag1) flag1=flag1-3'd1; //如果flag不為0 ,那么flag減1</p><p><b> end&l
91、t;/b></p><p> else if(key==6'd32) //如果為→鍵</p><p> begin if(flag1==5) flag1=3'd5;//如果flag等于5 ,flag值不變</p><p> else flag1=flag1+3'd1;//否則flag加1</p>
92、<p><b> end</b></p><p><b> end</b></p><p> always@(posedge clkss) //這段語(yǔ)句將5Hz信號(hào)分頻成為1Hz時(shí)鐘信號(hào)</p><p><b> begin </b></p>&l
93、t;p> if(sumsec[2:0]==3'd4)</p><p> begin sumsec[2:0]=3'd0;</p><p> seccin<=1;</p><p><b> end</b></p><p><b> else </b></p&g
94、t;<p> begin sumsec[2:0]=sumsec[2:0]+3'd1;</p><p> seccin<=0;</p><p><b> end</b></p><p><b> end</b></p><p> always@(posedge c
95、lkss)</p><p><b> begin </b></p><p> if(sel)//判定是否為修改狀態(tài)</p><p> begin if(flag1==0)</p><p> begin if(key==6'd10) sum[3:0]=4'd0; //零鍵
96、位的識(shí)別</p><p> else sum[3:0]=key[3:0]?key[3:0]:sum[3:0]; //key低四位不為零則賦值</p><p><b> end</b></p><p> else if(flag1==1)</p><p> begin if(key==6'd10) sum[
97、7:4]=4'd0;</p><p> else sum[7:4]<=key[3:0]?key[3:0]:sum[7:4];</p><p><b> end</b></p><p><b> end</b></p><p> else if(seccin)</p>
98、<p><b> begin</b></p><p> if(sum[3:0]==4'd9)</p><p> begin sum[3:0]=4'd0;</p><p> if(sum[7:4]==4'd5)</p><p> begin sum[7:4]<=4
99、9;d0;</p><p> cinsec<=1;</p><p><b> end</b></p><p><b> else </b></p><p> begin sum[7:4]<=sum[7:4]+4'd1;</p><p> cins
100、ec<=0;</p><p><b> end</b></p><p><b> end</b></p><p><b> else </b></p><p> begin sum[3:0]=sum[3:0]+seccin;</p><p>
101、; cinsec<=0;</p><p><b> end</b></p><p><b> end</b></p><p><b> end</b></p><p> always@(posedge clkss)</p><p>&l
102、t;b> begin </b></p><p><b> if(sel)</b></p><p> begin if(flag1==2)</p><p> begin if(key==6'd10) sum[11:8]<=4'd0;</p><p> else sum[11
103、:8]<=key[3:0]?key[3:0]:sum[11:8];</p><p><b> end</b></p><p> else if(flag1==3)</p><p> begin if(key==6'd10) sum[15:12]<=4'd0;</p><p> else
104、 sum[15:12]<=key[3:0]?key[3:0]:sum[15:12];</p><p><b> end</b></p><p><b> end</b></p><p> else if(cinsec)</p><p><b> begin</b>
105、;</p><p> if(sum[11:8]==4'd9)</p><p> begin sum[11:8]<=4'd0;</p><p> if(sum[15:12]==4'd5)</p><p> begin sum[15:12]<=4'd0;</p><p>
106、 cinmin<=1;</p><p><b> end</b></p><p><b> else </b></p><p> begin sum[15:12]<=sum[15:12]+4'd1;</p><p> cinmin<=0;</p>&
107、lt;p><b> end</b></p><p><b> end</b></p><p><b> else </b></p><p> begin sum[11:8]<=sum[11:8]+cinsec;</p><p> cinmin<=0;
108、</p><p><b> end</b></p><p><b> end</b></p><p><b> end</b></p><p> always@(posedge clkss)</p><p><b> begin<
109、;/b></p><p><b> if(sel)</b></p><p> begin if(flag1==4)</p><p> begin if(key==6'd10) sum[19:16]<=4'd0;</p><p> else sum[19:16]<=key[3:0]
110、?key[3:0]:sum[19:16];</p><p><b> end</b></p><p> else if(flag1==5)</p><p> begin if(key==6'd10) sum[23:20]<=4'd0;</p><p> else sum[23:20]<
111、=key[3:0]?key[3:0]:sum[23:20];</p><p><b> end</b></p><p><b> end</b></p><p> else if(cinmin)</p><p><b> begin</b></p>&l
112、t;p> if(sum[23:16]==8'd23) sum[23:16]<=8'd0;</p><p> elseif(sum[19:16]==4'd9)</p><p> begin sum[19:16]<=4'd0;</p><p> sum[23:20]<=sum[23:20]+4'd
113、1;</p><p><b> end</b></p><p><b> else </b></p><p> sum[19:16]<=sum[19:16]+cinmin;</p><p><b> end</b></p><p><
114、b> end</b></p><p> always @(posedge clkss)</p><p><b> begin</b></p><p><b> if(sel)</b></p><p> begin case(flag1)//判定是否為修
115、改狀態(tài)</p><p> 0:{ss0,ss1,ss2,ss3,ss4,ss5}=6'b100000;</p><p> 1:{ss0,ss1,ss2,ss3,ss4,ss5}=6'b010000;</p><p> 2:{ss0,ss1,ss2,ss3,ss4,ss5}=6'b001000;</p><p>
116、 3:{ss0,ss1,ss2,ss3,ss4,ss5}=6'b000100;</p><p> 4:{ss0,ss1,ss2,ss3,ss4,ss5}=6'b000010;</p><p> 5:{ss0,ss1,ss2,ss3,ss4,ss5}=6'b000001;</p><p> default:{ss0,ss1,ss2,ss3
117、,ss4,ss5}=6'd0;</p><p><b> endcase</b></p><p><b> end</b></p><p> else {ss0,ss1,ss2,ss3,ss4,ss5}=6'd0;</p><p><b> end</b>
118、;</p><p> assign sec[3:0]=ss0?(clkss?sum[3:0]:4'bz):sum[3:0]; </p><p> assign sec[7:4]=ss1?(clkss?sum[7:4]:4'bz):sum[7:4];</p><p> assign min[3:0]=ss2?(clkss?sum[11:8]:4
119、'bz):sum[11:8];</p><p> assign min[7:4]=ss3?(clkss?sum[15:12]:4'bz):sum[15:12];</p><p> assign hour[3:0]=ss4?(clkss?sum[19:16]:4'bz):sum[19:16];</p><p> assign hour[7
120、:4]=ss5?(clkss?sum[23:20]:4'bz):sum[23:20]; </p><p> /*括號(hào)內(nèi)的值:clkss高電平sum,低電平為高阻態(tài),</p><p> 輸出管腳的值:該管腳在修改狀態(tài)則為括號(hào)內(nèi)的值</p><p><b> 否則為sum值*/</b></p><p><
121、b> endmodule</b></p><p><b> 第四章 程序仿真</b></p><p> 4.1 分頻器程序仿真</p><p> 因?yàn)榉诸l比例太大,在仿真時(shí)將比例減小。</p><p> 下圖為將寄存器1的分頻比1000:1改為1:1,</p><p&g
122、t; 即:if(count1[9:0]==10'd999)→if(count1[9:0]==10'd0);</p><p> 寄存器2的分頻比132:1改為2:1,</p><p> 即:if(count2[7:0]==8'd131)→if(count2[7:0]==8'd1);</p><p> 將寄存器3的分頻比250:1
123、改為3:1,</p><p> 即:if(count3[7:0]==8'd249)→if(count3[7:0]==8'd2);</p><p> 將寄存器4的分頻比50:1改為6:1,</p><p> 即:if(count4[5:0]==6'd49) →if(count4[5:0]==6'd5);</p>&l
124、t;p> 其他程序部分無(wú)任何改變,圖4-1為修改后的程序仿真結(jié)果。</p><p> 圖4-1 分頻器模擬仿真</p><p> 設(shè)在單位時(shí)間內(nèi):clk50MHz的上升沿的次數(shù)為N,clksy取反次數(shù)為Nsy,計(jì)數(shù)器1的分頻比為p1,計(jì)數(shù)器2的分頻比為p2,計(jì)數(shù)器3的分頻比為p3,計(jì)數(shù)器4的分頻比為p4,則Nsy=N/(p1*p2),代入模擬仿真數(shù)據(jù),得Nsy=N/2,若在4個(gè)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于fpga的樂(lè)曲演奏電路設(shè)計(jì)
- 基于fpga的串口通信電路設(shè)計(jì)
- 基于fpga的簡(jiǎn)單音樂(lè)電路設(shè)計(jì)
- 基于fpga的時(shí)序邏輯電路設(shè)計(jì)
- 基于fpga音樂(lè)硬件演奏電路設(shè)計(jì)
- 基于fpga的ccd時(shí)序電路設(shè)計(jì)
- 基于fpga的樂(lè)曲演奏電路設(shè)計(jì)課程設(shè)計(jì)
- 基于fpga的電子密碼鎖電路設(shè)計(jì)
- 基于fpga的音樂(lè)播放控制電路設(shè)計(jì)
- 基于fpga的pcb測(cè)試機(jī)硬件電路設(shè)計(jì)
- 基于FPGA的GZIP硬件壓縮電路設(shè)計(jì).pdf
- 基于fpga的圖像采集與處理電路設(shè)計(jì)
- 畢業(yè)論文--基于fpga的串口通信電路設(shè)計(jì)
- 基于fpga的交通燈控制電路設(shè)計(jì)
- 基于fpga的qpsk調(diào)制解調(diào)電路設(shè)計(jì)與實(shí)現(xiàn)
- 基于FPGA實(shí)現(xiàn)高速串口通信的電路設(shè)計(jì).pdf
- 基于fpga的交通燈控制電路設(shè)計(jì)設(shè)計(jì)(1)
- 開(kāi)題報(bào)告---基于fpga的tft lcd驅(qū)動(dòng)電路設(shè)計(jì)
- 基于FPGA的短基線(xiàn)定位系統(tǒng)電路設(shè)計(jì).pdf
- 基于FPGA的ADS7817驅(qū)動(dòng)電路設(shè)計(jì).pdf
評(píng)論
0/150
提交評(píng)論