freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

用vhdl設(shè)計(jì)led漢字滾動(dòng)顯示器畢業(yè)設(shè)計(jì)(編輯修改稿)

2025-07-10 07:39 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 else t=t+1; end if; if(t =t39。high1)then flag_scan=39。139。; else flag_scan=39。039。; 圖 滾動(dòng)顯示多漢字信息的原理示意圖 西南石油大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 8 end if; end if; end process; process(reset_n, clk_scan, t) begin if(reset_n=39。039。)then scan=ZZZZZ; elsif(rising_edge(clk_scan))then case t is when 0 = scan = 00000; when 1 = scan = 00001; ?? when 30 = scan = 11110; when 31 = scan = 11111; when others = scan = ZZZZZ; end case; end if; end process; process(reset_n, clk_scan, t, x) 列數(shù)據(jù)的輸出 variable index: integer range 0 to L_SZ; begin if(reset_n=39。039。)then data=0000000000000000; elsif(rising_edge(clk_scan))then index: =((t+x) mod L_SZ); data=ledsj(index); end if; end process; 用 VHDL設(shè)計(jì) LED漢字滾動(dòng)顯示 器 9 滾動(dòng)速度的控制 將 LED 點(diǎn)陣看成一個(gè)滑窗。通過這個(gè)“滑窗”每次能“看到” 32 個(gè)存儲(chǔ)單元( 2個(gè)漢字長(zhǎng)度)的信息。只讀存儲(chǔ)器 ROM 中鏈?zhǔn)降拇娣帕巳舾蓚€(gè)漢 字的點(diǎn)陣信息,“滑窗”在這若干個(gè)漢字點(diǎn)陣信息上面滑動(dòng),我們通過“滑窗”看到的就是漢字的滾動(dòng)顯示。 在 用 VHDL 編程的時(shí)候, 可以 定義一個(gè)變量 x 作為“滑窗” 在 ROM 上 的起始地址,設(shè)計(jì)一個(gè)進(jìn)程按一定的頻率對(duì) x 進(jìn)行累加,再設(shè)計(jì)一個(gè)進(jìn)程將以 x 為起始地址的長(zhǎng)度為 32 的 ROM 中的區(qū)域動(dòng)態(tài)顯示在 LED 點(diǎn)陣中。顯然 x 累加的速度決定了漢字的滾動(dòng)速度。 關(guān)鍵部分的 VHDL 程序: process(reset_n, clk_scan, flag_scan) x 的控制進(jìn)程 variable tx: integer range 0 to 50; begin if(reset_n=39。039。)then tx: =0; x=0; elsif(rising_edge(clk_scan))then if(flag_scan=39。139。)then if(tx=n8 or tx=tx39。high)then 通過 n 來控制 tx 的計(jì)數(shù)范圍 tx: =0; else tx: =tx+1; end if; if(tx=n8)then 通過 n 來控制 x 的增加 if(x=x39。high)then x=0; else x=x+1; end if; end if; 西南石油大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 10 end if; end if; end process; 此進(jìn)程根據(jù) 定義的 信號(hào) n 來控制 x 遞增的速度, n 由外部的按鍵控制。 n 的范圍為 0~7 代表了漢字的不同的滾動(dòng)速度。當(dāng) n 為 0 時(shí)漢字滾動(dòng)的速度最快 , n 為 7 時(shí)LED 點(diǎn)陣上顯示的漢字靜止 。 存儲(chǔ)模塊 使用參數(shù)化組件 LPM_ROM 來實(shí)現(xiàn) 為提高系統(tǒng)的集成 度 , 本設(shè)計(jì)將點(diǎn)陣顯示的圖像數(shù)據(jù)庫建立在 EPF10K10 的片內(nèi) ROM 中。 Flex10k10 中共有 3 個(gè)嵌入式數(shù)組塊 (EAB), 每塊大小均為 2k, 可構(gòu)成2048 1, 1024 2, 512 4, 256 8 等 4 種類型 RAM/ROM 中的任意一種。更大容量的內(nèi)存可由多個(gè) EAB 組合在一起。例如兩個(gè) 256 8 的 ROM 塊可組成一個(gè) 25616 的 ROM,兩個(gè) 512 4 的 ROM 塊可組合成一個(gè) 512 8 的 ROM,如果需要,可以將 所有的 EAB 級(jí)聯(lián)成一個(gè) RAM/ROM。級(jí)聯(lián)是 QuartusII 軟件自動(dòng)完成的。 本 設(shè)計(jì)可以選擇 2048 16 的結(jié)構(gòu) , 用來構(gòu)成一個(gè)能保存 128 個(gè)漢字的只讀存儲(chǔ)器 ROM。在 FPGA 中建立片內(nèi)只讀存儲(chǔ)器 ROM, 是通過使用美國(guó) Altera 公司的 EDA工具軟件 QuartusII, 并調(diào)用其中的參數(shù)化組件 LPM_ROM 來實(shí)現(xiàn)的。具體步驟是 ,圖 Symbol 對(duì)話框 用 VHDL設(shè)計(jì) LED漢字滾動(dòng)顯示 器 11 首先在 MAXPLUSII 的圖形編輯器中雙擊空白處 , 便會(huì)出現(xiàn)如圖 所示的“ Symbol”對(duì)話框。點(diǎn)擊該對(duì)話框的“ Mega Wizard PlugIn Manager”按鈕 , 并在出現(xiàn)的對(duì)話框中選擇 storage LPM_ROM , 就 會(huì) 出 現(xiàn) 如 圖 所 示 的 “ Mega Wizard PlugInManagerLMP ROM” 系列對(duì)話框。在該系列對(duì)話框中設(shè)置輸出數(shù)據(jù)線寬度 為11,存儲(chǔ)單元的數(shù)量為 2048。并完成相應(yīng)的配置環(huán)節(jié)就獲得了要求的 256 字節(jié)的只讀存儲(chǔ)器 ROM。只讀存儲(chǔ)器 ROM 中的初始化數(shù)據(jù)就是本系統(tǒng)的 漢字 數(shù)據(jù)庫數(shù)據(jù)。 該初始化數(shù)據(jù)的建立是在上述的 LMP_ROM 設(shè)計(jì)過程中通過指定一個(gè)后綴名為 .mif 的初始化 文件 來實(shí)現(xiàn)的。該 文件 是設(shè)計(jì)者事先在文本編輯器中建立的 , 其VHDL 格式和關(guān)鍵代碼示意如下 : WIDTH=16; ——— 數(shù)據(jù)線的寬 度為 16 位 DEPTH=2048; ——— 有 2048 個(gè)字節(jié)存儲(chǔ)單元 , 對(duì)應(yīng) 11 根地址線寬度 ADDRESS RADIX=HEX; ——— 以 16 進(jìn)制表示 DATA RADIX = HEX; CONTENTBEGIN 00 : 2f; ——— 以 16 進(jìn)制表示的 ROM 內(nèi)的各字節(jié)單元的地址和保存的數(shù)據(jù) 01 : 6c; 02 : f8; 圖 “ MegaWizard Pluglin Manager_LMP ROM”對(duì)話框 西南石油大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 12 ?? fd : ee; fe : 72; ff : 00; END; 用 FPGA內(nèi)部的邏輯單元設(shè)計(jì)一個(gè) ROM 本系統(tǒng) 也 可以定義一個(gè)常數(shù)數(shù)組來存儲(chǔ)漢字信息。數(shù)組的下標(biāo)對(duì)映 ROM的地 址。下面是一個(gè)容量為 L_SZ 16 的 ROM 內(nèi)存的例子,常數(shù) L_SZ 決定了 ROM 的地址空間, ROM 的每一個(gè)數(shù)據(jù)單元存儲(chǔ) 16 位數(shù)據(jù),可以很方便的驅(qū)動(dòng) 16 16 的 LED 點(diǎn)陣。定義這個(gè) ROM 的時(shí)侯必須初始化全部存儲(chǔ)單元。 type array_2 is array(0 to L_SZ)of std_logic_vector(15 downto 0); constant ledsj: array_2: =( (0010000000000000), (0010001111111111), ?? ?? (0010001000000000), (0000000000000000)); 兩種方案存儲(chǔ)漢字信息,以及輸出數(shù)據(jù)驅(qū)動(dòng) LED 點(diǎn)陣的原理和相差不大,第一種方案是利用了 FPGA 芯片中的嵌入式數(shù)組塊,可以生成大容量的 ROM 來存儲(chǔ)較多的漢字信息。第二中方案生成的 ROM 容量受到了 FPGA 芯片內(nèi)部邏輯單元數(shù)量的限制,但是它的操作性更好。由于本系統(tǒng)只是驗(yàn)證可行性的一個(gè)設(shè)計(jì),不需要建立大的字庫所以采用第二種方案。 用 VHDL設(shè)計(jì) LED漢字滾動(dòng)顯示 器 13 4 分頻電路 解決毛刺 FPGA 與單片機(jī)相比,一個(gè)非常明 顯 的優(yōu)勢(shì)就在于它的高速性。但是因?yàn)?很多外圍器件的驅(qū)動(dòng)需要低頻的時(shí)鐘(若時(shí)鐘頻率太高,則鍵盤掃描容易出錯(cuò),數(shù)碼管會(huì)閃爍和不穩(wěn)定等),所以需要用到分頻電路。 該電路主要包含有一個(gè)計(jì)數(shù)器模塊和一個(gè) 譯碼 輸出模塊,該電路是通過計(jì)數(shù)器模塊實(shí)現(xiàn)分頻的。 比如 要從 12MHz 的全局時(shí)鐘得到 100Hz 的時(shí)鐘,必須進(jìn)行 120210倍分頻。 但是 這么大的分頻需要仿真時(shí)間很久。仿真是一般采用小的分頻來替代,真正下載到電路上時(shí),就需要采用 120210 分頻了。 值的注意的是 譯碼器 的輸 入采用 了寄存器鎖存輸出,這是為了消除毛刺。多輸入的組合邏輯電路中,默寫輸入信號(hào)在理想情況下應(yīng) 該同時(shí)發(fā)生變化,但由于延遲路徑不同造成這些輸入信號(hào)發(fā)生變化的時(shí)間有 微小 差別(門延遲時(shí)間量級(jí)),這是得到的是輸出信號(hào)就會(huì)有毛刺,這些毛刺有可能會(huì)給下一 級(jí) 電路帶來,使得整個(gè)系統(tǒng)運(yùn)行不穩(wěn)定。因此,為保證系統(tǒng)的穩(wěn)健性,一般情況下,都應(yīng)該給輸出信號(hào)去毛刺,使之變得干凈。在設(shè)計(jì)中, 譯碼 的輸入是計(jì)數(shù)器的輸出,計(jì)數(shù)器 各級(jí) 輸出延遲是不一樣的,因此譯碼器輸出 clk_scan 信號(hào)波形就會(huì)有毛刺 (如圖 ) 。 改變輸入信號(hào)消除毛刺 為了消除毛刺帶來的影響,可以 設(shè)法使得組合邏輯電路的輸入每一時(shí)刻只有 一個(gè)發(fā)生變化。對(duì)于本電路可以把計(jì)數(shù)器從二進(jìn)制碼計(jì)數(shù)器改為格雷碼計(jì)數(shù)器。格雷碼計(jì)數(shù)器的特 點(diǎn) 是相鄰的 計(jì)數(shù)值 只有一位不相同,即每次 計(jì)數(shù)值 改變時(shí),只有一位信號(hào)會(huì)發(fā)生變化。這一點(diǎn)就可以保證沒有毛刺產(chǎn)生。 圖 沒有消除毛刺的仿真結(jié)果 西南石油大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 14 通過 D 觸發(fā)器 消除毛刺 把 有毛刺的信號(hào) 通過 時(shí)鐘采樣,即通過一個(gè) D 觸發(fā)器 也可以消除毛刺 。本設(shè)計(jì)就是使用這種方法。這種方法的缺點(diǎn)是信號(hào)通過一個(gè) D 觸發(fā)器后,就延遲了一個(gè)時(shí)鐘周期。對(duì)于本設(shè)計(jì)這種延遲是允許的,然而在有些電路中延遲是不允許的。該電路的仿真結(jié)果如圖 所示。 關(guān)鍵部分 VHDL 程序 process(clk) 計(jì)數(shù)模塊 begin if(rising_edge(clk))then if(tx=480)then tx=0; else tx=tx+1; end if; end if; end process; process(t, clk) 譯碼輸出 begin if(rising_edge(clk))then 寄存器鎖存輸出,以消除毛刺 if(t=t39。high/2)then clk_scan=39。139。; else clk_scan=39。039。; 圖 消除毛刺后的仿真結(jié)果 用 VHDL設(shè)計(jì) LED漢字滾動(dòng)顯示 器 15 end if; end if; end process; 圖 為分頻電路生成的元件符號(hào)。 圖 分頻電路的元件符號(hào) 西南石油大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 16 5 按鍵掃描電路 直接式 /矩陣式按鍵 數(shù)字系統(tǒng)中,常用的按鍵有直接式和矩陣式兩種。直接式按鍵十分簡(jiǎn)單,一端接地 ,一端接 FPGA 的 I/O 口(設(shè)為輸入)。當(dāng)按鍵按下時(shí),此接口為高電平,通過對(duì)I/O 口電平的檢測(cè)就可知按鍵是否按下。其優(yōu)點(diǎn)是簡(jiǎn)單、易行,連接方便,但每個(gè)按鍵要 占用一個(gè) I/O 口,如果系統(tǒng)中需要很多按鍵,那么用這種方法會(huì)占用大量的 I/O口。而矩陣式鍵盤控制比直接式按鍵要麻煩得多,但其優(yōu)點(diǎn)也是很明顯的,即節(jié)省 I/O口。設(shè)矩陣式鍵盤有 m 行 n 列,則鍵盤上有( m n)個(gè)按鍵,而它只需要占用( m+n)個(gè) I/O 口。當(dāng)需要很多按鍵時(shí),用矩陣式鍵盤顯然比直接式按鍵要合理得多。
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦