利用鍵盤控制點陣進行ASIC字符顯示_第1頁
利用鍵盤控制點陣進行ASIC字符顯示_第2頁
利用鍵盤控制點陣進行ASIC字符顯示_第3頁
利用鍵盤控制點陣進行ASIC字符顯示_第4頁
利用鍵盤控制點陣進行ASIC字符顯示_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、1目 錄1、 課程設(shè)計的目的22、 課程設(shè)計內(nèi)容和要求22.1 設(shè)計內(nèi)容22.2 設(shè)計要求23、 設(shè)計方案及實現(xiàn)情況23.1 設(shè)計思路23.2 工作原理及框圖223.3 各功能模塊描述63.4 仿真結(jié)果133. 5 實驗箱驗證情況 144、 課程設(shè)計總結(jié)174.1 自上而下的設(shè)計思想174.2 課程設(shè)計實驗心得175、 參考文獻1831 1、課程設(shè)計目的、課程設(shè)計目的(1)學(xué)習(xí)操作數(shù)字電路設(shè)計實驗開發(fā)系統(tǒng),掌握點陣顯示模塊的工作原理及應(yīng)用。(2)掌握組合邏輯電路、時序邏輯電路的設(shè)計方法。(3)學(xué)習(xí)掌握可編程器件設(shè)計的全過程。2 2、課程設(shè)計內(nèi)容和要求:、課程設(shè)計內(nèi)容和要求:2.1、設(shè)計內(nèi)容 (

2、1)鍵盤掃描模塊實現(xiàn)對鍵盤的掃描控制。(2)編寫控制點陣的程序,實現(xiàn)對點陣時序的控制,使點陣能夠正常工作。(3)添加其他功能模塊,協(xié)調(diào)兩個主模塊更好地進行工作。 2.2、設(shè)計要求(1)學(xué)習(xí)掌握鍵盤控制模塊、點陣顯示模塊的工作原理及應(yīng)用;(2)熟練掌握 VHDL 編程語言,編寫鍵盤控制模塊的控制邏輯;(3)仿真所編寫的程序,模擬驗證所編寫的模塊功能;(4)下載程序到芯片中,硬件驗證所設(shè)置的功能,能夠?qū)崿F(xiàn)字符顯示;(5)整理設(shè)計內(nèi)容,編寫設(shè)計說明書。 3 3、 設(shè)計方案及實現(xiàn)情況設(shè)計方案及實現(xiàn)情況3.1、設(shè)計思路4通過對鍵盤的控制來顯示字符的輸出,采用模塊化的設(shè)計思想,對于不同的功能用不同的程序模

3、塊來實現(xiàn)。基于這種設(shè)計思想,對本次課程設(shè)計題目分為以下幾個模塊:時序產(chǎn)生電路模塊、鍵盤與點陣掃描電路模塊、鍵盤譯碼模塊、顯示模塊(此模塊對應(yīng)產(chǎn)生列字符掃描信號). 工作概況如下:當按下鍵盤后,鍵盤掃描到對應(yīng)的輸出信號,然后進行第一次譯碼,接著把譯碼結(jié)果傳遞給 xiansi 模塊,xianshi 模塊根據(jù)譯碼結(jié)果產(chǎn)生對應(yīng)的列字符掃描信號,從而進行輸出。3.2、工作原理及框圖1、鍵盤譯碼電路鍵盤中的按鍵可分為數(shù)字鍵和功能鍵。數(shù)字鍵主要用來輸入數(shù)字,但從上述內(nèi)容發(fā)現(xiàn),鍵盤所產(chǎn)生的輸出 KIN3KIN0無法拿來直接使用;另外不同的數(shù)字按鍵也擔負不同的功能,因此必須由鍵盤譯碼電路來規(guī)劃某個按鍵的輸出形式

4、,以便執(zhí)行相應(yīng)的動作。有了鍵盤參數(shù)表 ,要寫出鍵盤譯碼電路的 VHDL 程序就非常容易了,尤其針對有表可以對照的電路設(shè)計,只要使用 CASE-WHEN 或 WHEN-ELSE 語句,便可輕松完成設(shè)計。5 圖 1 圖 22、LED 點陣工作原理LED 點陣式顯示器不僅可以顯示數(shù)字,也可顯示所有西文字母和符號,與由單個發(fā)光二極管連成的顯示器相比,具有焊點少、連線少,所有點在同平面、亮度均勻、外形美觀等優(yōu)點,可以代替數(shù)碼管、符號管和米字管。如果將6多塊組合可以構(gòu)成大屏幕顯示屏用于漢字、圖形、圖表等等的顯示 88 的 LED點陣顯示器,是由 64 個 LED 組成, 內(nèi)部電路如圖 3 所示。12345

5、6781334106111516123456789148121725管腳行列管腳 圖 3 共陽極的 8 8 的 LED 點陣顯示器的典型連接方式是: 每一行的 8 個陽極連在一起,由行掃描碼鎖存器和驅(qū)動器的一位控制,總共 8 行陽極連線由 8 位分別控制;每一列的 8 個陰極連在一起,由列掃描碼鎖存器和驅(qū)動器的一位控制,總共 8 列陰極連線由 8 位分別控制。在寫點陣字符顯示的驅(qū)動之前,應(yīng)知道各顯示字符的字形碼。點陣字符的驅(qū)動 點陣式 LED 顯示器采用逐行掃描式工作。要使點陣顯示出一個字符的編程方法是:首先選通第一行;接著,向行碼鎖存器寫入該行的字型碼(即列數(shù)據(jù)) 。然后,按相同的方式選通第

6、二行,寫第二行的字型碼由此類推,直到寫完所有行的字型碼,完成一個字符的顯示。點陣控制接口的設(shè)計 在實驗儀器中,1616 點陣顯示的驅(qū)動電路已經(jīng)做好,并且其行選通信號為一 4-16 譯碼器的輸出,所以我們在設(shè)計點陣控制接口時,其行選通信號輸出必須經(jīng) 4-16 編碼。系統(tǒng)框圖如下:7 圖 43.3、各模塊功能描述(1)時序產(chǎn)生電路模塊 通過此模塊,將 CLK 信號分頻。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity fpq is port(clk:in std_logic; divclk

7、:out std_logic);end fpq;architecture fpq_arch of fpq is beginprocess(clk)variable cnt:std_logic_vector(1 downto 0);variable a:std_logic;beginif clkevent and clk=1 then if a=0 thenif cnt=11 then a:=1;else cnt:=cnt+1;end if; elsif a=1 thenif cnt=00 then a:=0; else8 cnt:=cnt-1;end if;end if;end if;divc

8、lk=a;end process;end fpq_arch;(2)鍵盤與點陣掃描電路模塊只有在掃描時輸出 KIN0-KIN3 才有效,所以需要掃描電路,通過時鐘控制計數(shù),產(chǎn)生鍵盤的掃描信號 sel2.0。掃描信號的變化順序為 000-001-010-011-100-101-110-111,依次循環(huán)變化來掃描 8 列按鍵及點陣。該信號用來對鍵盤按鍵進行掃描。詳細代碼如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity sel isport( clk:in std_logic; sel3

9、,sel2,sel1,sel0:out std_logic);end sel;architecture cnt_arch of sel isbeginprocess(clk)variable cn:std_logic_vector(3 downto 0);beginif clkevent and clk=1 thenif cn=1111 thencn:=0000;elsecn:=cn+1;end if;end if;9sel0=cn(0);sel1=cn(1);sel2=cn(2);sel3=cn(3);end process;end cnt_arch;(3)鍵盤譯碼模塊當按下數(shù)字鍵時,鍵盤所

10、產(chǎn)生的的輸出 KIN3KIN0 跟掃描信號 SEL2SEL0 結(jié)合,編譯成字符選擇控制數(shù)。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity yimaqi is port(kin3,kin2,kin1,kin0,clk:in std_logic; sel3,sel2,sel1,sel0:in std_logic; p:out std_logic_vector(3 downto 0);end yimaqi;architecture yima_qi of yimaqi issignal a:

11、std_logic_vector(3 downto 0);signal b:std_logic_vector(3 downto 0);signal q:std_logic_vector(3 downto 0);signal m:std_logic_vector(7 downto 0);beginprocess(clk)beginif clkevent and clk=1thena=kin3&kin2&kin1&kin0;b=sel3&sel2&sel1&sel0;mqqqqqqqqqqqqqqqqq=q;end case;end if; p=q;end process;end yima_qi;

12、(4)顯示模塊通過此模塊,將字符選擇控制數(shù)選中對應(yīng)的字符,并通過列掃描信號輸出到點陣。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity xianshi isport(p:in std_logic_vector(3 downto 0);clk:in std_logic;se0,se1,se2,se3:in std_logic;q:out std_logic_vector(15 downto 0);end xianshi;architecture xianshi_arc of xiansh

13、i issignal sel:std_logic_vector(3 downto 0);begin sel case sel iswhen 0010=qqqqqqqqqqqqqqnull; end case;when 0001= case sel is when 0010=qqqqqqqqqqqqqqnull; end case;when 0010= case sel is when 0010=qqqqqqqqqqqqqqnull;12 end case;when 0011= case sel is when 0010=qqqqqqqqqqqqqqnull; end case;when 010

14、0= case sel is when 0010=qqqqqqqqqqqqqqnull; end case;when 0101= case sel is when 0010=qqqqqqqqqqqqqqnull; end case;when 0110= case sel is when 0010=qqqqqqqqqqqqqqnull; end case;when 0111= case sel iswhen 0010=qqqqqqqqqqqqqqnull; end case;when others=null;end case;end if;end process;end xianshi_arc;

15、3.4、仿真結(jié)果1、時序產(chǎn)生電路模塊仿真波形圖如下所示: 圖 5 如圖,這是一個 8 分頻的分頻器。2、鍵盤與點陣掃描電路模塊仿真波形圖如下所示: 圖 6該仿真結(jié)果顯示的是在時鐘 clk 的觸發(fā)下,模塊輸出鍵盤掃描所需要的信號 sel。Sel 從 0 到 E 循環(huán)變化。3、鍵盤譯碼模塊仿真波形圖如下所示: 圖 715該仿真結(jié)果顯示的是在鍵盤按鍵被按下時,通過鍵盤輸出的 KIN 信號和掃描信號 SEL 的值對鍵盤按鍵進行譯碼。如圖,當 kin 信號是 1110B(鍵盤上第 1 行) ,sel 為 0001B 時(鍵盤上第二列) ,即按下鍵盤上的 1 時,輸出為 1,結(jié)果正確。此仿真有一定的延時。

16、4、顯示模塊仿真波形圖如下所示: 圖 8 當字符控制信號為 7 時,輸出的為#。5、系統(tǒng)仿真波形圖如下所示: 圖 9 當 kin 信號為 1110B,sel 信號為 0,即鍵盤上按下 0 時,對應(yīng)的字符控制信號為$,0 對應(yīng)的輸出為$。此仿真有延時。3.5、實驗箱驗證情況按照程序中管腳的分配,連接好電路,然后進行程序下載和驗證。下面是驗證結(jié)果的圖片。16 圖 10.實驗聯(lián)線 圖 11.按鍵 0、1 時分別顯示的字符17 圖 12. 按鍵 2、3 時分別顯示的字符 圖 13. 按鍵 4、5 時分別顯示的字符18 圖 14. 按鍵 6、7 時分別顯示的字符4 4、課程設(shè)計總結(jié)、課程設(shè)計總結(jié)4.1、

17、自上而下的設(shè)計思想明確系統(tǒng)任務(wù),畫出流程圖把系統(tǒng)分成多個模塊,在程序設(shè)計時,模塊設(shè)計更加方便調(diào)試,各個模塊之間通過管腳進行電信號數(shù)據(jù)通信,通過小模塊的設(shè)計、驗證、仿真,完成小的功能,然后通過模塊圖的連接,選擇器件分配管腳,調(diào)試,編譯,接實驗箱,下載,完成整個設(shè)計流程,這就是自上而下的設(shè)計思想。4.2、課程設(shè)計實驗心得經(jīng)過三個多星期的實驗,在老師和學(xué)長們的熱心指導(dǎo)下,查閱了大量的資料,經(jīng)過反復(fù)的編程,調(diào)試,仿真等一系列的實驗過程,最終完成整個設(shè)計。在實現(xiàn)課程設(shè)計實驗的過程中也遇到了許多問題,雖然以前也學(xué)過用 MAX+plus 19II,不過課程設(shè)計時用的模塊比較多,比以前復(fù)雜多了,稍微一疏忽就會使實驗結(jié)果出錯,在面對這個稍微大一點的工程設(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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論