版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 電子課程設(shè)計</b></p><p><b> ——字符串發(fā)生器 </b></p><p> 學(xué)院:電子信息工程學(xué)院</p><p><b> 專業(yè)班級: </b></p><p> 姓名: </p>&l
2、t;p><b> 學(xué)號: </b></p><p> 指導(dǎo)教師: </p><p> 2012年12月25日</p><p><b> 字符串發(fā)生器</b></p><p><b> 設(shè)計任務(wù)與要求</b></p><p>
3、1.設(shè)計任務(wù):設(shè)計一個共陰16*16點(diǎn)陣控制接口,在時鐘信號的控制下,試點(diǎn)陣動態(tài)點(diǎn)亮,利用實驗箱上的16*16點(diǎn)陣,設(shè)計字符發(fā)生器,可以循環(huán)顯示預(yù)置字符“我在雨后科大”這六個字。</p><p> 2設(shè)計要求:(1)利用VHDL語言編寫字符掃描驅(qū)動電路;</p><p> ?。?)設(shè)計一個可以自動循環(huán)顯示六個字的字符電路;</p><p> ?。?)編寫預(yù)置字符的
4、ROM程序生成模塊接入電路。</p><p><b> 二.總體框圖</b></p><p><b> 1.原理框圖</b></p><p><b> 時鐘</b></p><p><b> 2.設(shè)計思路</b></p><p&
5、gt; 該電路由六進(jìn)制計數(shù)器,分頻器,地址內(nèi)存器,ROM內(nèi)存,16*16點(diǎn)陣顯示板五部分組成。</p><p> 在時鐘信號的作用下,地址計數(shù)器開始計數(shù),再通過ROM內(nèi)存相對應(yīng)的代碼輸出通過address1以驅(qū)動列選產(chǎn)生電路,地址計數(shù)器同時又為行選產(chǎn)生電路。地址內(nèi)存隨著計數(shù)器數(shù)值的變化,發(fā)光二極管顯示屏逐行掃描,顯示出相應(yīng)的字符。</p><p><b> 各模塊的作用&l
6、t;/b></p><p> ROM是只讀存儲器存放字符的代碼它是字符顯示器的核心部件;</p><p> 分頻器將實驗箱中的信號分頻提供給address1和ROM內(nèi)存;</p><p> Address1在時鐘信號作用下將ROM讀入的字符顯示在16*16點(diǎn)陣上,reset起復(fù)位作用,輸出端qout[15..0]對應(yīng)點(diǎn)陣上的L0到L15,addr[3..
7、0]對應(yīng)點(diǎn)陣上的列,隨著addr[3..0]的增加,從左往右依次選中點(diǎn)陣的各列;</p><p> 4)74161的輸出和地址內(nèi)存的輸出共同決定ROM的輸入,進(jìn)而決定qout[15..0]的輸出,使得輸出字符循環(huán)顯示。74161是一個異步清零,同步置數(shù)的十六進(jìn)制計數(shù)器;</p><p> 發(fā)光二極管顯示屏用來顯示字符,它是由若干發(fā)光二極管組成的16*16點(diǎn)陣式顯示屏。</p>
8、;<p><b> 選擇器件</b></p><p><b> 1. </b></p><p> 1)配有Quartus II6.0軟件的計算機(jī)一臺。 </p><p> 2)下載接口是數(shù)字芯片的下載接口,主要用于FPGA芯片的數(shù)據(jù)下載。</p><p> 3)EDA實驗箱,
9、其中配有16*16點(diǎn)陣的顯示屏。 </p><p><b> 4)導(dǎo)線若干。</b></p><p> 2.74161,三輸入的與非門,非門三者構(gòu)成六進(jìn)制的計數(shù)器</p><p><b> 74161計數(shù)器</b></p><p> 1)74161器件圖</p><p&g
10、t; 74161是一個異步清零,同步置數(shù)的十六進(jìn)制計數(shù)器。其中,A,B,C,D為輸入端,LAD為同步置數(shù)端,ENT與ENP為使能控制端,CLRN為異步清零端,RCO為進(jìn)位輸出端,QA,QB,QC,QD為輸出端,CLK為脈沖信號輸入端。</p><p> 2)74161的功能表</p><p> ?。?)74LS161構(gòu)成的六進(jìn)制計數(shù)器:</p><p> 六進(jìn)
11、制加法計時器原理圖</p><p><b> 功能仿真波形</b></p><p> 分析:當(dāng)脈沖來之前,輸出為0000,十進(jìn)制為0;第一個脈沖來后到第二個脈沖來之前輸出為0001,十進(jìn)制為1;第二個脈沖后到第三個脈沖來之前輸出為0010,十進(jìn)制為2;以此類推,第五個脈沖后到第六個脈沖來之前輸出為0101,十進(jìn)制為5;下一個脈沖來后又開始重復(fù)前面的過程。符合要求。
12、</p><p><b> 四 功能模塊</b></p><p> address1模塊</p><p> address1.vhd程序:</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p>&
13、lt;p> use ieee.std_logic_unsigned.all;</p><p> entity address1 is</p><p> port(clk,reset:IN std_logic;</p><p> din:IN std_logic_vector(15 downto 0);</p><p> ad:
14、OUT std_logic_vector(3 downto 0);</p><p> qout:OUT std_logic_vector(15 downto 0));</p><p> end address1;</p><p> architecture a of address1 is</p><p><b> begi
15、n</b></p><p> process(clk,din,reset)</p><p> variable q1:std_logic_vector(3 downto 0):="0000";</p><p><b> begin</b></p><p> if clk'e
16、vent and clk='1' then</p><p> if reset='0' or (q1="1111")then</p><p> q1:="0000";</p><p> else q1:=q1+1;</p><p><b> end if
17、;</b></p><p> qout<=din;</p><p><b> end if;</b></p><p><b> ad<=q1;</b></p><p> end process;</p><p><b> end a
18、;</b></p><p> address1.vhd編譯生成的邏輯符號:</p><p> CLK是時鐘輸入信號,RESET是復(fù)位端,din[15..0]為接收ROM數(shù)據(jù)信號端口,add[3..0]為片選地址輸入,qout[15..0]為高八位短驅(qū)動和低八位短驅(qū)動。</p><p><b> 模塊功能:</b></p&
19、gt;<p> clk為掃描時鐘信號控制掃描速度的快慢,當(dāng)reset復(fù)位端為高電平,脈沖上升沿到來時,ad計數(shù),掃描片選信號端依次選中點(diǎn)陣各列,din輸入數(shù)據(jù),qout輸出數(shù)據(jù),在點(diǎn)陣上掃描顯示。</p><p> address仿真圖:</p><p><b> 分頻器div模塊</b></p><p> div.vhd
20、程序:</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity div is</p><p> PORT(clk_in:IN s
21、td_logic;</p><p> div_out:OUT std_logic);</p><p><b> END div;</b></p><p> ARCHITECTURE a OF div IS</p><p> SIGNAL fre_N:integer range 0 to 10;</p>
22、<p> SIGNAL clk_tmp:std_logic;</p><p><b> BEGIN</b></p><p> div_out<=clk_tmp;</p><p> process(clk_in)</p><p><b> begin</b></p&
23、gt;<p> if falling_edge(clk_in)then</p><p> if fre_N>=9 then</p><p><b> fre_N<=0;</b></p><p> clk_tmp<=not clk_tmp;</p><p><b> el
24、se</b></p><p> fre_N<=fre_N+1;</p><p><b> end if;</b></p><p><b> end if;</b></p><p> end process;</p><p><b> EN
25、D a;</b></p><p> div.vhd編譯生成的邏輯符號:</p><p> div邏輯功能:將高頻信號變成低頻信號。</p><p> div分頻器仿真波形(時序仿真):</p><p><b> 圖九</b></p><p> 波形分析:輸入clk=0.04n
26、s,即頻率為25MHz,經(jīng)過分頻器后,來一千個時鐘輸出是低電平,再來一千個時鐘輸出高電平。</p><p><b> ROM模塊</b></p><p> 存入ROM中的數(shù)據(jù):</p><p> width=16; depth=96;</p><p> ROM生成的邏輯符號:</p><p&g
27、t;<b> 五 總體設(shè)計電路</b></p><p><b> 總體原理圖</b></p><p><b> 時序波形仿真結(jié)果</b></p><p><b> ?。?)工作情況</b></p><p> 輸入十六進(jìn)制計數(shù)器變?yōu)槲暹M(jìn)制計數(shù)器,在輸
28、入時鐘信號作用下輸出0000-0101的地址數(shù)據(jù)再和adder的輸出端adder[3..0]共同作為了ROM的輸入端,控制ROM中各數(shù)據(jù)的輸出,然后數(shù)據(jù)從q[15..0]輸出到adder中,經(jīng)過列循環(huán)掃描ad[3..0], qout[15..0]同時輸出到16x16點(diǎn)陣上。兩頻率必須相差</p><p> 一定數(shù)值。從波形仿真圖中可以得到:Adder每變化十六下,輸出qout變化十六次,即一個字輸出的整個過程。
29、</p><p> (2)模塊間的連接關(guān)系</p><p> 1、硬件連接:將clk1端接時鐘輸出,clk端接另一時鐘輸出,qout[15..0]分別接點(diǎn)陣顯示模塊的L15—L0,ad[3..0]分別接點(diǎn)陣顯示模塊的SEL3—SEL0。</p><p> Clk對應(yīng)IO3,用導(dǎo)線連接IO3與CLK_OUT,調(diào)節(jié)SW17—SW20使CLK_OUT輸出所需頻率。R
30、eset對應(yīng)CPU板的RESET復(fù)位按鍵。四位功能選擇位VGA[3..0]設(shè)置為0110。</p><p> 2、管腳說明:ad[3..0]為列地址控制,定義在4位地址線上;qout[15..0]為行數(shù)據(jù)輸出,定義在16位數(shù)據(jù)總線上;VGA[3..0]為功能選擇管腳,VGA=0110,表示16X16LED點(diǎn)陣顯示功能選取,16位數(shù)據(jù)總線作為點(diǎn)陣的行值,4位地址對應(yīng)列值編碼;clk為輸入時鐘頻率端口,定義在EP1
31、C12板上的50MHz晶振上。</p><p><b> ?。?)管腳分配</b></p><p><b> 4)字符顯示</b></p><p> 六 心得體會 在實驗的過程中我們要培養(yǎng)自己的獨(dú)立分析問題,和解決問題的能力。培養(yǎng)這種能力的前提十你對每次實驗的態(tài)度。如果你在實驗這分哪敢買很隨便,抱著等老師教你怎么做
32、,拿同學(xué)的報告去抄,盡管你的成績會很高,但對將來工作是不利的。 通過電子課程這既的數(shù)字部分EDA設(shè)計,我們掌握了系統(tǒng)的數(shù)學(xué)電子設(shè)計的方法,也不知道了使用調(diào)試適配的具體操作方法。在設(shè)計過程中,我們遇到了各種問題,在李老師的耐心指導(dǎo)下和我們自己的努力,克服了各種問題,最后得到了成功。但是我也發(fā)現(xiàn)了一些問題,發(fā)現(xiàn)了這自己的不足,在課程設(shè)計方面自己的一些欠缺。如程序的正確性和完整性,仿真圖的正確性,以及管腳的連接等。總之,這次設(shè)計使我掌
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計--- 字符串排序
- 課程設(shè)計--字符串類
- 課程設(shè)計--字符串的操作
- 數(shù)電課程設(shè)計--數(shù)顯秒發(fā)生器
- 字符串處理系統(tǒng)課程設(shè)計
- c語言課程設(shè)計--字符串類
- 課程設(shè)計--查找字符串中的指定字符
- 課程設(shè)計--實現(xiàn)字符串的多種操作
- c++課程設(shè)計報告--字符串處理
- 微機(jī)課程設(shè)計--字符串動畫加速減速
- c語言課程設(shè)計(字符串函數(shù)包)
- 匯編課程設(shè)計-字符串查找與替換
- 微機(jī)原理課程設(shè)計---字符串動畫顯示
- c課程設(shè)計---字符串處理系統(tǒng)
- 課程設(shè)計報告--六進(jìn)制字符發(fā)生器
- c++課程設(shè)計---字符串類的設(shè)計
- 微機(jī)原理課程設(shè)計--字符串分類統(tǒng)計
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計--字符串的操作
- cmd批處理替換字符串、截取字符串、擴(kuò)充字符串
- 字符串類課程設(shè)計說明書
評論
0/150
提交評論