八位七段數(shù)碼管動態(tài)顯示電路設計方案_第1頁
八位七段數(shù)碼管動態(tài)顯示電路設計方案_第2頁
八位七段數(shù)碼管動態(tài)顯示電路設計方案_第3頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、八位七段數(shù)碼管動態(tài)顯示電路的設計七段顯示器介紹七段顯示器,在許多產品或場合上經(jīng)常可見。其內部結構是由八個發(fā)光二極管所組成,為七個筆畫與一個小數(shù)點,依順時針方向為A、B、C、D、E、F、G與DP等八組發(fā)光二極管之排列,可用以顯示 09數(shù)字及英文數(shù) A、b、C、d、E、F。目前常用的七段顯示器通 常附有小數(shù)點,如此使其得以顯示阿拉伯數(shù)之小數(shù)點部份。七段顯示器的腳位和線路圖如下圖4.1 所示(其第一支接腳位于俯視圖之左上角)。4.8G的)計f |* ! !dl 10(.043)prBocoal)圖4.1、七段顯示器俯視圖由于發(fā)光二極管只有在順向偏壓的時候才會發(fā)光。因此,七段顯示器依其結構不同的應用需

2、求,區(qū)分為低電位動作與高電位動作的兩種型態(tài)的組件,另一種常見的說法則是共陽極(低電位動作)與共陰極(高電位動作)七段顯示器,如下圖 4.2所示。(共陽極)圖4.2、共陽極(低電位動作)與共陰極(高電位動作)Si nk要如何使七段顯示器發(fā)光呢?對于共陰極規(guī)格的七段顯示器來說,必須使用Current方式,亦即是共同接腳COM為VCC,并由Cyclone II FPGA使接腳成為高電位,進而使外部電源將流經(jīng)七段顯示器,再流入Cyclone II FPGA的一種方式本實驗平臺之七段顯示器模塊接線圖如下圖4.5所示。此平臺配置了八組共陽極之七段顯示器,亦即是每一組七段顯示器之COM接腳,均接連至 VCC

3、電源。而每一段發(fā)光二極管,其腳位亦均與 Cyclone II FPGA接連。四位一體的七段數(shù)碼管在單個靜態(tài)數(shù)碼管的基礎 上加入了用于選擇哪一位數(shù)碼管的位選信號端口。八個數(shù)碼管的a、b、c、d、e、f、g、h、dp都連在了一起,8個數(shù)碼管分別由各自的位選信號來控制,被選通的數(shù)碼管顯示數(shù)據(jù),其余關閉。圖4.5、七段顯示器模塊接線圖Ell:IIPQ口斃lr-ncv 口廖二pc-l口 0_畐翌 IHnglnM豐InlolJT 口盤lr-lSI3_YOYl_Br3HY5麗_Y7ItII1 III” III*IIgIIIII門l門11門11 ii丨i丨丨11丨丨丨i丨BG1G2A2E7SEG.SELL27

4、SEGhuSEL23VCCfl45a b c i * f g ipibcdftfgdpddfa t撫BlnlaIn沖旳IF-尸O OIJ o 虛Q Q Q 亦 亦 亦 知GHD GHD GHD GNDIbudcr 口4止阿 AECIEKJa:旳 C Llgu嚴Irh胃 口1 IHn嚴觸z 一GID七段顯示器之常見應用如下可作為與數(shù)值顯示相關之設計。 電子時鐘應用顯示 倒數(shù)定時器秒表計數(shù)器、定時器算數(shù)運算之數(shù)值顯示器二七段顯示器顯示原理七段顯示器可用來顯示單一的十進制或十六進制的數(shù)字,它是由八個發(fā)光二極管所構成的(每一個二極管依位置不同而賦予不同的名稱,請參見圖4.1 )。我們可以簡單的說,要產

5、生數(shù)字,便是點亮特定數(shù)據(jù)的發(fā)光二極管。例如要產生數(shù)字0,須只點亮A、B、C、D、E、F等節(jié)段的發(fā)光二極管;要產生數(shù)字5,則須點亮A、C、D、F、G等節(jié)段發(fā)光二極管,以此類推,參見圖 4.6。因此,以共陽極七段顯示器而言,要產生數(shù)字0,必須控制Cyclone II FPGA芯片接連至A、B、C、D、E、F等接腳呈現(xiàn)低電位”,使電路形成通路狀 態(tài)。表4.1則為共陽極七段顯示器顯示之數(shù)字編碼。B. BB. B B B 8 B. 8 8圖4.6、七段顯示器顯示阿拉伯數(shù)字表4.1、共陽極七段顯示器顯示數(shù)字編碼資料DPGFEDCBA16進制011000000C0111111001F9210100100A4

6、310110000B0410011001995100100109261000001082711111000F881000000080本實驗要求完成的任務是在時鐘信號的作用下,通過輸入的鍵值在數(shù)碼管上顯示相應的鍵值。在實驗中時,數(shù)字時鐘選擇1KHZ作為掃描時鐘,用四個撥動開關做為輸入,當四個撥動開關置為一個二進制數(shù)時,在數(shù)碼管上顯示其十六進制的值。實驗箱中的撥動開關與FPGA勺接口電路,以及撥動開關FPGA的管腳連接在實驗一中都做了詳細說明,這里不在贅述。數(shù)碼管顯示模塊的電路原理如圖4-2所示,FPGA74HC245a b cd ef 9dpa _a a a忖 & 彳口dp dp dp dp G

7、ND GND GND GNDa b c def g即a _aa甘”f囪彳門fMbdp dp dp dpgnd gnd gnd gnd74LS138圖4-2 數(shù)字時鐘信號模塊電路原理三實驗步驟(本實驗用VHDL文本語言實現(xiàn)八位七段數(shù)碼管動態(tài)顯示,當然也可用Quartus的圖形輸入法實現(xiàn)八位七段數(shù)碼管動態(tài)顯示)1.下面我們建立一個八位七段數(shù)碼管動態(tài)顯示的VHDL工程1)選擇開始 程序 Altera QuartusII5.1 ,運行QUARTUSII軟件?;蛘唠p擊桌 面上的QUARTUSII的圖標運行 QUARTUSI軟件,出現(xiàn)如圖1-3所示。圖1-3 QUARTUSII軟件運行界面2)選擇軟件中的

8、菜單 File New Project Wizard,新建一個工程。如圖1-4所示。圖1-4新建工程對話框3)點擊圖1-4中的NEXT進入工作目錄,工程名的設定對話框如圖1-5所示。第一個輸入框為工程目錄輸入框,用戶可以輸入如 后,所有的生成文件將放入這個工作目錄。 為頂層實體名稱輸入框。用戶可以設定如e:/eda等工作路徑來設定工程的目錄,設定好 第二個輸入框為工程名稱輸入框,第三個輸入框EXP1, 般情況下工程名稱與實體名稱相同。使用者也可以根據(jù)自已的實際情況來設定工程名和頂層文件名。注:本處的頂層文件名必須和程序的實體名一致,否則編譯會出錯。圖1-5指定工程名稱及工作目錄NEXT進行器件

9、選擇對話4)點擊NEXT進入下一個設定對話框,按默認選項直接點擊框。如圖1-6所示。這里我們以選用Cyclonell系列芯片EP2C35F672C8為例進行介紹。用戶可以根據(jù)使用的不同芯片來進行設定。圖1-6器件選擇界面首先在對話框的左上方的Family下拉菜單中選取Cyclonell ,在中間右邊的Speedgrade下拉菜單中選取 8,在左下方的Available devices框中選取EP2C35F672C8點擊NEXT 完成器件的選取,進入EDA TOOL設定界面如圖1-7所示。Bfev Pro j ect Vizard: EDA Tool Set ing? page 4 of 5Sp

10、eoly the other EDA tooh - in addition to the Quarfius: II wftware - used with Hie profect.兩 DA design/ !3mthe.3?.lQ,Qk!| Design Compiletl Run Hws tool automatically &口 spnffhesize Hie cl designrent兩 EDA imuladcn tool:| Models im fVHDL)1 Run Gate Level Sinnulation automatically after compiaiion兩 EDA

11、tirnmglook| R(wne 1 ime /HDLI Run Uks tod automatically after ccimpilartranC Bs.i= kHex I、Fiiti sh5)按默認選項,點擊 Next出現(xiàn)新建工程以前所有的設定信息,如圖1-8所示,點擊Finish完成新建工程的建立。圖1-8新建工程信息2、建立VHDL設計文件1)在創(chuàng)建好設計工程后,選擇 File NEW菜單,出現(xiàn)圖1-9所示的新建設計文件類 型選擇窗口。這里我們以建立VHDL設計文件為例進行說明。圖1-9新建設計文件選擇窗口2)在New對話框(圖1-9)中選擇 Device Design Files

12、頁下的VHDL File,點擊 OK按鈕,打開圖形編輯器對話框,如圖1-10所示。圖中標明了常用的每個按鈕的功能3)在文本編輯器中輸入如下 VHDL程序:庫函數(shù)library ieee;use ieee.std _lo gic_1164.all;-定義了 std_logic數(shù)據(jù)類型及相應運算use ieee.std_logic_arith.all;-定義了 signed和unsigned數(shù)據(jù)類型、相應運算和相關類型轉換函數(shù)use ieee.std_logic_ un sig ned.all;-定義了一些函數(shù),可以使std_logic_vector型被當作符號數(shù)或無符號數(shù)一樣進行運算F面是構造實

13、體en tity exp4 is -exp4為實體名port( clk : in std_logic;定義動態(tài)掃描時鐘信號key : in std_logic_vector(3 dow nto 0);定義四位輸入信定義七位輸出信定義八位數(shù)碼管ledag : out std_logic_vector(6 dow nto 0);-號del : out std_logic_vector(2 dow nto 0)-位置顯示信號);end exp4;- 結束實體architecture whbkrc of exp4 is -whbkrc為結構體名begin - 以begin為標志開始結構體的描述proc

14、ess(clk)-進程,clk變化時啟動進程variable dount : std_logic_vector(2 dow nto 0);-變量,計數(shù)beginif clkeve nt and clk=1 the n-檢測時鐘上升沿dount:=dount+1;-計數(shù)器 dount 累加end if;del ledag ledag ledag ledag ledag ledag ledag ledag ledag ledag ledag ledag ledag ledag ledag ledag n ull;end case;end process;- 結束進程end whbkrc;-結束結構

15、體VHDL的語法構成,以使大關于VHDL我們以上面八位七段數(shù)碼管顯示程序為例來解釋 家對VHDL有個整體的把握。一個VHDL程序有三部分構成,其為:1. 庫和包library (設計資源);2. 實體entity(外部端口)3. 結構體architecture(內部結構) 庫和包library(設計資源)的介紹本程序中用到3個庫函數(shù)包:如下:1.1 use ieee.stdogic_1164.all;-定義了 std_logic 數(shù)據(jù)類型及相應運算1.2 use ieee.std_logic_arith.all;-定義了 signed 和 unsigned 數(shù)據(jù)類型、相應運算-和相關類型轉換函

16、數(shù)1.3 use ieee.std_logic_unsigned.all;-定義了一些函數(shù),可以使 std_logic_vector-類型被當作符號數(shù)或無符號數(shù)一樣進行運算補充:當使用庫時,需要說明使用的庫名稱,同時需要說明庫中包集合的名稱及范圍;每個實體都應獨立進行庫的說明;庫的說明應該在實體之前;經(jīng)過說明后,實體和結構體就可以自動調用庫中的資源; 實體entity(外部端口)entity exp4 is -exp4 為實體名port( clk : in std_logic;-定義動態(tài)掃描時鐘信號keyinstd_logic_vector(3 dow nto 0);-定義四位輸入信號leda

17、goutstd_logic_vector(6 dow nto 0);-疋義七位輸出信號deloutstd logic vector(2 downto 0)-定義八位數(shù)碼管位置顯示信);end exp4;-結束實體I/O )的端口信息,它并實體說明主要描述對象的外貌,即對象的輸入和輸出(不描述器件的具體功能。在電路原理圖上實體相當于元件符號。CLKKey( 30)*del(2 0)*ledag(7 0)圖4-9實體exp4中描述如上圖4-9輸入和輸出(I/O )的端口信息 結構體architecture(內部結構)結構體具體指明了該設計實體的行為,定義了該設計實體的功能,規(guī)定了該設計實體的數(shù)據(jù)流

18、程,指派了實體中內部元件的連接關系。architecture whbkrc of exp4 is -whbkrc為結構體名begin - 以begin為標志開始結構體的描述 process(clk)- 進程,clk變化時啟動進程variable dount : stdo gic_vector(2 dow nto 0);-變量,計數(shù)beg inif clkeve nt and clk=1 the n-檢測時鐘上升沿dount:=dount+1;-計數(shù)器 dount 累加end if;del ledag ledag ledag ledag ledag ledag ledag ledag ledag

19、 ledag ledag ledag ledag ledag ledag ledag nu II;end case;end process;- 結束進程end whbkrc;-結束結構體2d4)點擊保存按鈕,彈出如下選項,將其名命名為exp1,如下圖保存為保存在:| 口半加器亡)on円timingvhdAdd file bo current roiect文件名: 保存類型(T):5)對設計文件進行編譯QUARTUSII編譯器窗口包含了對設計文件處理的全過程。在QUARTUSII軟件中選擇processinstart compilation菜單項,就會自動編譯,出現(xiàn)QUARTUSII的編譯器窗口

20、,如下圖所示:A:-J.-JJmiJ ffl田 田alll M旨_| Asseniblr 雪_| Timing Analyzer 唇_| EDA Netlisi; WritduariuE 丄丄 t ersi onRevi si on NutToplevel EiititjF NameFtmilyDevi ceTotal PLLs . i nui丄a iid iu/iojiuua ajexpLexplCyclone IIEF2C35F6T2C8Fr+liniinuryYes3 / 33,216 ( *l ty n.章 亡 kuiv fj. 雪 rif.u.LtInfs Snarlui II Fi

21、tltr uts mcctsiful 0 errrs LI wu-riLnET-n-fn , *44 ft *b* + *+t*A+*+*lL+t*#4!*#*t-4t-*+t*#4+*f *!* +Tjltr KuLE-ihEL QuUfLiS HI A5.nhl6fInf* qnare id_eii iiiES_filf s=? Ft ru t暑醫(yī)口filuugff CKp g expLTiffin ti 1171* nufi HIr-1 *i I * J amenE! v d*tt a Fni Thflwn-H tATHAlms c如果文件有錯,在軟件的下方則會提示錯誤的原因和位置,以便

22、于使用者進行修改直到設計文件無錯。整個編譯完成,軟件會提示編譯成功,3管腳分配在前面選擇好一個合適的目標器件(在這個實驗中選擇為EP2C35F672C8),完成設計的分析綜合過程,得到工程的數(shù)據(jù)文件以后,需要對設計中的輸入、輸出引腳指定到具體的器件管腳號碼,指定管腳號碼稱為管腳分配或管腳鎖定。這里介紹兩種方法進行管腳鎖定。1)點擊Assignments采單下面的 Assignment Editor ,進入到引腳分配窗口。女口 圖1-15所示。Edit:X1匚 gfnmefitAssignment NameFrom1圖1-15進入引腳分配界面首先將要分配管腳的信號放置在To下方。雙擊To下方的N

23、ew,如圖1-15所示則會出現(xiàn)如圖1-16所示界面。Edit:ToValueComma nt|TI H&de Finder. Select issi gnm&nt ledagLocalioaYss10EledagCSLo 匚 atiuiYes11e ledag6LocationVesL 二tdel0Localior8513ddlLo 匚 ationYesi-del2LocationYes仔idkLocationTas16尋delLo 匚 ationYes詩keyL 口匚 atknVesiyledagLocalbonTas圖1-18管腳分配在圖1-18中以鎖定端口 key0的管腳為例,其它端口的

24、管腳鎖定與其基本一致。選擇端口 key0的對應Assignment Name待其變?yōu)樗{色,雙擊之,出現(xiàn)下拉菜單選取如圖1-18所示的 Location (Accepts wildcards/groups )選項。選擇端口 key0的對應 Value 欄, 待其 變?yōu)樗{色,依照表1-2所示的硬件與FPGA的管腳連接表(或附錄),輸入對應的管腳名 AC22 , 按回車鍵,軟件將自動將其改為 PIN_ AC22,同時藍色選擇條會自動跳轉到 Value欄的下一 行,這表明軟件已經(jīng)將輸入端口 key0分配到FPGA的AC22引腳上,如圖1-19所示。To|Assignment NameValueEnab

25、ledlkey0LocationPIN/匚空VesLL*keylLocationVesnkey2LocationVesDkey3LocationVesledag0LocationVesledagllocationVesledag2LocationVesledag3LocationVe;0ledag4LccationVesledaglLocatio nPINJW16YesLocationPINJW1SYesledag3LocationPIN L10Veslcledag4Locatio nPINJ/HYeslcledag5Locatio nPINJ/13Yeslledag6Locatio nPIN

26、JW12Ves|delDLocatio nPINJJ12YesdellLocationPINJ/20Ves|delLocatio nPINJ/2I沁l-dkLocationYeslcielLocationeslokeyLocationl-UledagLocationes|端口名使用模塊信號對應FPGA管腳說明CLK數(shù)字信號源N2時鐘為1KHZKEY0撥動開關K1AC22二進制數(shù)據(jù)輸入KEY1撥動開關K2AD23KEY2撥動開關K3AB8KEY3撥動開關K4AA9LEDAG0數(shù)碼管A段V17十六進制數(shù)據(jù)輸出顯示LEDAG1數(shù)碼管B段W16LEDAG2數(shù)碼管C段W15LEDAG3數(shù)碼管D段L10L

27、EDAG4數(shù)碼管E段V14LEDAG5數(shù)碼管F段V13LEDAG6數(shù)碼管G段W12DELO位選DEL0U12DEL1位選DEL1V20DEL2位選DEL2V21表4-2端口管腳分配表值得注意的是,當管腳分配完之后一定要進行再進行一次全編譯,以使分配的管腳有效。4、對設計文件進行仿真1)創(chuàng)建一個仿真波形文件,選擇QUARTUSII軟件FileNew,進行新建文件對話框。如圖1-24所示。選取對話框的 Other File標簽頁,從中選取 Vector Waveform File,點擊OK按鈕,則打開了一個空的波形編輯器窗口,如圖NevDevic* FitesFilaAHDl IncbdtFfeC

28、haiiDisrip(r1i Fit Hexadecimal IlnrtMFoml Fite Logic litflibcE Fib Meray Inidb功on Fie SigndTap II FiletDK | SI1-25所示。Id SaiptFie TeNtFla2)設置仿真結束時間,波形編輯器默認的仿真結束時間為1卩S,根據(jù)仿真需要,可以自由設置仿真的結束時間。選擇QUARTUSI軟件的EditEnd Time命令,彈出線路束時間對話框,在Time框辦輸入仿真結束時間,點擊0K按鈕元成設置。3)加入輸入、輸出端口,在波形編輯器窗口左邊的端口名列表區(qū)點擊鼠標右鍵,在彈出的右鍵菜單中選擇

29、Insert Node or Bus命令,在彈出的Insert Node or Bus對話框如圖1-26所示界面中點擊 Node Fin der按鈕。圖 1-26 Insert Node or Bus 對話框在出現(xiàn)的 Node Fin der界面中,如圖1-27所示,在Filter列表中選擇 Pi ns: all,在Named 窗口中輸入“ *”,點擊List在Nodes Found窗口出現(xiàn)所有信號的名稱,點擊中間的按鈕則Selected Nodes窗口下方出現(xiàn)被選擇的端口名稱。 雙擊OK按鈕,完成設置,回到圖1-26 所示的Insert Node or Bus對話框,雙擊OK按鈕,所有的輸入

30、、輸出端口將會在端口名列表區(qū)內顯示出來,如圖 1-28所示。Customize.Look in:Cancel| AssigiweniU n 魄L/delUPIH.U12PIN.V200 duPIM.V21II riia 闕Mkey 仙PIN_AC22PIN_AD23護h即2P|N_AE8PIM.M9bledagClEd(D|PIN_V17ClBd(l|PIN_W1E3 ledag(2|PIN_W1531曲審|PIFI.L1OPIN.V14 101 嗣5|PIM.V13 創(chuàng)dJjJ-N-smad: pF Fdter | 怖g:甘INodes FoundNme1 Assign幗r昨 I*|BKp4

31、tlkUnassiged3lBKp4|delUnassigiedQi|BKp4-MyUnasisigredSave進行保存。選擇工具斗壯A-文扌工具波形編輯工具-英蟲-縮放工具全屏顯示一查找疑鐳-替換未初始化一涎益未知狀態(tài)低電平A A-高電平高阻一三、電弱未知態(tài)弱低電平弱高電平無關狀態(tài)反向計數(shù)值一時神任意值XI X5對齊兩格一排JT圖1-30編輯輸入端口波形5)指定仿真器設置,在仿真過程中有時序仿真和功能仿真之分,在這里介紹功能仿真。在QUARTUSII軟件中選擇ToolSimulator Tool命令,打開仿真器工具窗口,如圖1-31所示。X.仿真類型5 miJelinri rrode: 薩

32、indio創(chuàng)SirnuhEnn 匸eriodt* Run :mdalhnunildl vectai slrdli aie-uuil產生功能仿具網(wǎng)底廠 Ed simulation |1COSimuhtaon cptuns:疋 加jlomahcay add pns fa muhlian oulpJt wveirmi空 廠 Qieck oul|xA5廠 errf htfd tme deiicifi deiesiisnr Gltch dslettxri. | j廠 Oviiibe $mUakiH iipul lii lhGenerale SigttsI AclrW.y Fib.icrm5既畑圖1-31 仿真器工具窗口打開波形丈伴打開仿専茹吉窗口圖 1-31按圖1-31上的提示,首先產生功能仿真網(wǎng)表文件,點擊產生功能仿真網(wǎng)表的按鈕Gen erate Fun ctio nal Simulation Netlist ,產生功能仿真網(wǎng)表,然后點擊開始仿真的START按鈕開始進行仿真,直到仿真進度條為100%完成仿真。點擊仿真報告窗口按鈕Report,觀察仿真波形。如圖1-32所示。圖1-32 仿真波形5、從設計文件到目標器件的加載完成對器件的加載有兩種形式,一種是對目標器件進行加載文件,一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論