

下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、i八位七段數碼管動態(tài)顯示電路的設計七段顯示器介紹七段顯示器,在許多產品或場合上經常可見。其內部結構是由八個發(fā)光二極管所組成,為七個筆畫與一個小數點,依順時針方向為A、B、C、D、E、F、G與DP等八組發(fā)光二極管之排列,可用以顯示09數字及英文數A、b、C、d、E、F。目前常用的七段顯示器通 常附有小數點,如此使其得以顯示阿拉伯數之小數點部份。七段顯示器的腳位和線路圖如下圖4.1所示(其第一支接腳位于俯視圖之左上角)。4.8G的)計f |* ! !prBocoal)圖 4.1、七段顯示器俯視圖由于發(fā)光二極管只有在順向偏壓的時候才會發(fā)光。因此,七段顯示器依其結構不同的應用需求,區(qū)分為低電位動作與高
2、電位動作的兩種型態(tài)的組件,另一種常見的說法則是共陽極(低電位動作)與共陰極(高電位動作)七段顯示器,如下圖4.2所示。圖 4.2、共陽極(低電位動作)與共陰極(高電位動作)dl 10(.043)(共陽極)2要如何使七段顯示器發(fā)光呢?對于共陰極規(guī)格的七段顯示器來說,必須使用Current方式,亦即是共同接腳COM為VCC,并由Cyclone II FPGA使接腳成為高電位,進而使外部電源將流經七段顯示器,再流入Cyclone II FPGA的一種方式本實驗平臺之七段顯示器模塊接線圖如下圖4.5所示。此平臺配置了八組共陽極之七段顯示器,亦即是每一組七段顯示器之COM接腳,均接連至VCC電源。而每一
3、段發(fā)光二極管,其腳位亦均與Cyclone II FPGA接連。四位一體的七段數碼管在單個靜態(tài)數碼管的基礎 上加入了用于選擇哪一位數碼管的位選信號端口。八個數碼管的a、b、c、d、e、f、g、h、dp都連在了一起,8個數碼管分別由各自的位選信號來控制,被選通的數碼管顯示數據,其余關閉。七段顯示器之常見應用如下SinkItII1 III” III*IIgIIIII門l門11門11 i7SEG.SELL27SEuSEL23VCCfl45O OIJ o虛QQ Q亦 亦 亦 知GHD GHD GHD GNDGID圖 4.5、七段顯示器模塊接線圖E Ell:ll:IIPQ:IIPQ口斃ncv口p pc-l
4、c-l口0_0_畐翌IHIHngnglnlnMM豐InlolJT口盤lr-lSISI3_ _YOYOYlYl_ _B Br3Hr3HY5Y5麗_Y7Y7i丨i丨丨11丨丨丨i丨BG1G2A2Ea b c i * f g ipibcdftfgdpddfa t撫B BlnlaInlnlaIn沖旳IF-IF-尸尸Ibudcr口4 4止阿A AECIEKJECIEKJa a:旳CL Llglgu u嚴IrhIrh胃口1 1 IHIHn n嚴觸z一3可作為與數值顯示相關之設計。 電子時鐘應用顯示 倒數定時器秒表計數器、定時器算數運算之數值顯示器二七段顯示器顯示原理七段顯示器可用來顯示單一的十進制或十六進
5、制的數字,它是由八個發(fā)光二極管所構成的(每一個二極管依位置不同而賦予不同的名稱,請參見圖4.1 )。我們可以簡單的說,要產生數字,便是點亮特定數據的發(fā)光二極管。例如要產生數字0,須只點亮A、B、C、D、E、F等節(jié)段的發(fā)光二極管;要產生數字5,則須點亮A、C、D、F、G等節(jié)段發(fā)光二極管,以此類推,參見圖4.6。因此,以共陽極七段顯示器而言,要產生數字0,必須控制Cyclone II FPGA芯片接連至A、B、C、D、E、F等接腳呈現低電位”,使電路形成通路狀 態(tài)。表4.1則為共陽極七段顯示器顯示之數字編碼。B. BB. B B B 8 B.8 8圖4.6、七段顯示器顯示阿拉伯數字表4.1、共陽極
6、七段顯示器顯示數字編碼資料DPGFEDCBA16進制011000000C0111111001F9210100100A4310110000B0410011001995100100109261000001082711111000F8810000000804本實驗要求完成的任務是在時鐘信號的作用下,通過輸入的鍵值在數碼管上顯示相應的鍵值。在實驗中時,數字時鐘選擇1KHZ作為掃描時鐘,用四個撥動開關做為輸入,當四個撥動開關置為一個二進制數時,在數碼管上顯示其十六進制的值。實驗箱中的撥動開關與FPGA勺接口電路,以及撥動開關FPGA的管腳連接在實驗一中都做了詳細說明,這里不在贅述。5數碼管顯示模塊的電路
7、原理如圖4-2所示,74LS138圖 4-2 數字時鐘信號模塊電路原理三實驗步驟(本實驗用VHDL文本語言實現八位七段數碼管動態(tài)顯示,當然也可用Quartus的圖形輸入法實現八位七段數碼管動態(tài)顯示)1.下面我們建立一個八位七段數碼管動態(tài)顯示的VHDL 工程1)選擇開始程序 Altera QuartusII5.1,運行QUARTUSII軟件?;蛘唠p擊桌 面上的QUARTUSII的圖標運行QUARTUSI軟件,出現如圖1-3所示。FPGA74HC245a b cd ef 9dpa _a a a忖 &彳口dp dp dp dp GND GND GNDGNDa b c def g即a _aa甘
8、”f囪彳門fMbdp dp dp dpGND GND GND GND6圖 1-3 QUARTUSII 軟件運行界面72)選擇軟件中的菜單File New Project Wizard,新建一個工程。如圖1-4所示。3)點擊圖1-4中的NEXT進入工作目錄,工程名的設定對話框如圖1-5所示。第一個輸入框為工程目錄輸入框,用戶可以輸入如后,所有的生成文件將放入這個工作目錄。為頂層實體名稱輸入框。用戶可以設定如e:/eda等工作路徑來設定工程的目錄,設定好 第二個輸入框為工程名稱輸入框,第三個輸入框EXP1,般情況下工程名稱與實體名稱相同。使用者也可以根據自已的實際情況來設定工程名和頂層文件名。注:
9、本處的頂層文件名必須和程序的實體名一致,否則編譯會出錯。圖 1-4新建工程對話框圖 1-5指定工程名稱及工作目錄圖 1-7 EDA TOOL 對話框84)點擊NEXT進入下一個設定對話框,按默認選項直接點擊框。如圖1-6所示。這里我們以選用Cyclonell系列芯片EP2C35F672C8為例進行介紹。用戶可以根據使用的不同芯片來進行設定。圖 1-6 器件選擇界面首先在對話框的左上方的Family下拉菜單中選取Cyclonell,在中間右邊的Speedgrade下拉菜單中選取8,在左下方的Available devices框中選取EP2C35F672C8點擊NEXT完成器件的選取,進入EDA
10、TOOL設定界面如圖1-7所示。Bfev Pro j ect Vizard: EDA Tool Set ing? page 4 of 5Speoly the other EDA tooh - in addition to the Quarfius:II wftware - used with Hie profect.兩DA design/ !3mthe.3?.lQ,Qk.!| Design CompiletlRun Hws tool automatically&口spnffhesize HIE CLdesignrent兩EDA imuladcn tool:| Models im fVH
11、DL)1 Run Gate Level Sinnulation automatically aftercompiaiion兩EDA tirnmglook| R(wne 1 ime /HDLIRun UKStod automatically after ccimpilartranC Bs.i= kHex I、Fiiti shNEXT進行器件選擇對話95)按默認選項,點擊Next出現新建工程以前所有的設定信息,如圖1-8所示,點擊Finish完成新建工程的建立。圖 1-8 新建工程信息2、建立 VHDL 設計文件1)在創(chuàng)建好設計工程后,選擇File NEW菜單,出現圖1-9所示的新建設計文件類 型
12、選擇窗口。這里我們以建立VHDL設計文件為例進行說明。102)在New對話框(圖1-9)中選擇Device Design Files頁下的VHDL File,點擊OK按鈕,打開圖形編輯器對話框,如圖1-10所示。圖中標明了常用的每個按鈕的功能3)在文本編輯器中輸入如下VHDL程序:library ieee;庫函數use ieee.std _logic_1164.all;-定義了std_logic數據類型及相應運算use ieee.std_logic_arith.all;-定義了signed和unsigned數據類型、相應運算和相關類型轉換函數use ieee.std_logic_ un sig
13、ned.all;-定義了一些函數,可以使std_logic_vector型被當作符號數或無符號數一樣進行運算F面是構造實體en tity exp4 is -exp4為實體名port( clk : in std_logic;定義動態(tài)掃描時鐘信號key : in std_logic_vector(3 dow nto 0);定義四位輸入信圖 1-9新建設計文件選擇窗口11ledag : out std_logic_vector(6 dow nto 0);-號del : out std_logic_vector(2 dow nto 0)-位置顯示信號);end exp4;-結束實體architectu
14、re whbkrc of exp4 is -whbkrc為結構體名begin -以begin為標志開始結構體的描述process(clk)-進程,clk變化時啟動進程variable dount : std_logic_vector(2 dow nto 0);-變量,計數beginif clkeve nt and clk=1 the n-檢測時鐘上升沿dount:=dount+1;-計數器dount累加end if;del ledag ledag ledag ledag ledag ledag ledag ledag ledag ledag ledag ledag ledag ledag le
15、dag ledag n ull;end case;end process;-結束進程end whbkrc;-結束結構體關于VHDL我們以上面八位七段數碼管顯示程序為例來解釋 家對VHDL有個整體的把握。一個VHDL程序有三部分構成,其為:1.庫和包library(設計資源);2.實體entity(外部端口)3.結構體architecture(內部結構)1庫和包library(設計資源)的介紹本程序中用到3個庫函數包:如下:1.1use ieee.stdogic_1164.all;-定義了std_logic數據類型及相應運算1.2use ieee.std_logic_arith.all;-定義了
16、signed和unsigned數據類型、相應運算-和相關類型轉換函數1.3use ieee.std_logic_unsigned.all;-定義了一些函數,可以使std_logic_vector-類型被當作符號數或無符號數一樣進行運算補充:當使用庫時,需要說明使用的庫名稱,同時需要說明庫中包集合的名稱及范圍;每個實體都應獨立進行庫的說明;庫的說明應該在實體之前;經過說明后,實體和結構體就可以自動調用庫中的資源;2實體entity(外部端口)entity exp4 is -exp4為實體名VHDL的語法構成,以使大13port( clk : in std_logic;-定義動態(tài)掃描時鐘信號14k
17、eyinstd_logic_vector(3 dow nto 0);-定義四位輸入信號ledagoutstd_logic_vector(6 dow nto 0);-疋義七位輸出信號deloutstd logic vector(2 downto 0)-定義八位數碼管位置顯示信);end exp4;-結束實體實體說明主要描述對象的外貌,即對象的輸入和輸出(不描述器件的具體功能。在電路原理圖上實體相當于元件符號。*del(20)*ledag(7 0)圖 4-9實體exp4中描述如上圖4-9輸入和輸出(I/O)的端口信息3結構體architecture(內部結構)結構體具體指明了該設計實體的行為,定義
18、了該設計實體的功能,規(guī)定了該設計實體的數據流程,指派了實體中內部元件的連接關系。architecture whbkrc of exp4 is -whbkrc為結構體名begin - 以 begin 為標志開始結構體的描述process(clk)- 進程,clk 變化時啟動進程variable dount : stdo gic_vector(2 dow nto 0);-變量,計數beg inif clkeve nt and clk=1 the n-檢測時鐘上升沿dount:=dount+1;-計數器 dount 累加end if;del ledag ledag ledag ledag ledag
19、 ledag ledag ledag ledag ledag ledag ledag ledag ledag ledag ledag nu II;end case;end process;- 結束進程end whbkrc;-結束結構體4)點擊保存按鈕,彈出如下選項,將其名命名為exp1,如下圖保存為保存在:| 口半加器亡)on円timingvhd2d17Add file bo currentroiect文件名: 保存類型(T):185)對設計文件進行編譯QUARTUSII編譯器窗口包含了對設計文件處理的全過程。在QUARTUSII軟件中選擇processinstart compilation菜
20、單項,就會自動編譯,出現QUARTUSII的編譯器窗口,如下圖所示 aiTiaEL F 611Nin:J p-Lmi JUYHhblEiiii uJiU.IL h. wing:da,L !DLpar iCJIU.BI. la-ILL EcaimBfi k *Lty n.章 亡 kuiv fj. 雪 rif.u.LtInfs Snarlui II Fitltr uts mcctsiful 0 errrs LI wu-riLnET-n-fn , *44 ft *b* + *+t*A+*+*lL+t*#4!*#*t-4t-*+t*#4+*f *!* +TjltrKuLE-ihEL QuUfLiS H
21、I A5.nhl6fInf* qnare id_eii iiiES_filf s=? Ft ru t暑醫(yī)口filuugff CKpGexpLTiffin TI1171* nufi HIR-1 *i I * J amenE! v d*ttAFni Thflwn-H tATHAlms c如果文件有錯,在軟件的下方則會提示錯誤的原因和位置,以便于使用者進行修改直到設計文件無錯。整個編譯完成,軟件會提示編譯成功,3 管腳分配在前面選擇好一個合適的目標器件(在這個實驗中選擇為EP2C35F672C8),完成設計的分析綜合過程,得到工程的數據文件以后,需要對設計中的輸入、輸出引腳指定到具體的器件管腳號碼,
22、指定管腳號碼稱為管腳分配或管腳鎖定。這里介紹兩種方法進行管腳鎖定。:A:A: :-J.-J-J.-J J Jm mi iJ Jffl田田allallll M M旨_|Asseniblr雪_|Timing Analyzer唇_|EDA Netlisi; WritduariuE丄丄Tersi onRevi si on NutToplevel EiititjF NameFtmilyDevi ceTotal PLLs . i nui丄aIIDiu/iojiuua ajexpLexplCyclone IIEF2C35F6T2C8Fr+liniinuryYes3 / 33,216 ( 1 % )016 /
23、 4T5 3 X )00 / 483.940 ( 0 % )0 / TO ( 0 % )0/4 ( 0 % )191)點擊Assignments采單下面的Assignment Editor,進入到引腳分配窗口。女口 圖1-15所示。1匚gfnmefitAssignment NameFrom1圖 1-15 進入引腳分配界面首先將要分配管腳的信號放置在To下方。雙擊To下方的New,如圖1-15所示則會出現如圖1-16所示界面。Edit:ToValueComma nt|TI H&de Finder. Select issi gnm&nt ledagLocalioaYss10Eled
24、agCSLo匚atiuiYes11e ledag6LocationVesL二tdel0Localior8513ddlLo匚ationYesi-del2LocationYes仔idkLocationTas16尋delLo匚ationYes詩keyL口匚atknVesiyledagLocalbonTas圖 1-18 管腳分配在圖1-18中以鎖定端口key0的管腳為例,其它端口的管腳鎖定與其基本一致。選擇端口key0的對應Assignment Name待其變?yōu)樗{色,雙擊之,出現下拉菜單選取如圖1-18圖 1-20 所有引腳全部分配結束后的軟件窗口21所示的Location(Accepts wildc
25、ards/groups)選項。選擇端口key0的對應Value欄, 待其 變?yōu)樗{色,依照表1-2所示的硬件與FPGA的管腳連接表(或附錄),輸入對應的管腳名AC22, 按回車鍵,軟件將自動將其改為PIN_ AC22, 同時藍色選擇條會自動跳轉到Value欄的下一 行, 這表明軟件已經將輸入端口key0分配到FPGA的AC22引腳上,如圖1-19所示。To|Assignment NameValueEnabledlkey0LocationPIN/匚空VesLL*keylLocationVesnkey2LocationVesDkey3LocationVesledag0LocationVesledag
26、llocationVesledag2LocationVesledag3LocationVe;0ledag4LccationVesledaglLocatio nPINJW16YesLocationPINJW1SYesledag3LocationPINL10Veslcledag4LocationPINJ/HYeslcledag5LocationPINJ/13Yeslledag6Locatio nPINJW12Ves|delDLocationPINJJ12Yes dellLocationPINJ/20Ves|delLocationPINJ/2I沁l-dkLocationYeslcielLocatio
27、neslokeyLocationl-UledagLocationes|圖 1-24 新建文件對話框圖 1-25 波形編輯器22端口名使用模塊信號對應FPGA管腳說明CLK數字信號源N2時鐘為1KHZKEY0撥動開關K1AC22二進制數據輸入KEY1撥動開關K2AD23KEY2撥動開關K3AB8KEY3撥動開關K4AA9LEDAG0數碼管A段V17十六進制數據輸出顯示LEDAG1數碼管B段W16LEDAG2數碼管C段W15LEDAG3數碼管D段L10LEDAG4數碼管E段V14LEDAG5數碼管F段V13LEDAG6數碼管G段W12DELO位選DEL0U12DEL1位選DEL1V20DEL2位選
28、DEL2V21表4-2端口管腳分配表值得注意的是,當管腳分配完之后一定要進行再進行一次全編譯,以使分配的管腳有效。4、對設計文件進行仿真1)創(chuàng)建一個仿真波形文件,選擇QUARTUSII軟件FileNew,進行新建文件對話框。如圖1-24所示。選取對話框的Other File標簽頁,從中選取Vector Waveform File,點擊OK按鈕,則打開了一個空的波形編輯器窗口,如圖Devic* FitesFilaAHDl IncbdtFfeChaiiDisrip(r1i Fit Hexadecimal IlnrtMFoml Fite Logic litflibcE Fib MerayInidb功
29、on Fie SigndTap II FiletId SaiptFie TeNtFlaNevDK | SI1-25所示。圖 1-29 波形編輯器工具欄232)設置仿真結束時間,波形編輯器默認的仿真結束時間為1卩S,根據仿真需要,可以自由設置仿真的結束時間。選擇QUARTUSI軟件的EditEnd Time命令,彈出線路束時間對話框,在Time框辦輸入仿真結束時間,點擊0K按鈕元成設置。3)加入輸入、輸出端口,在波形編輯器窗口左邊的端口名列表區(qū)點擊鼠標右鍵,在彈出的右鍵菜單中選擇Insert Node or Bus命令,在彈出的Insert Node or Bus對話框如圖1-26所示界面中點擊
30、Node Fin der按鈕。在出現的Node Fin der界面中,如圖1-27所示,在Filter列表中選擇Pi ns:all,在Named窗口中輸入“*”,點擊List在Nodes Found窗口出現所有信號的名稱,點擊中間的按鈕則Selected Nodes窗口下方出現被選擇的端口名稱。雙擊OK按鈕, 完成設置, 回到圖1-26所示的Insert Nodeor Bus對話框,雙擊OK按鈕,所有的輸入、輸出端口將會在端口名列表區(qū)內顯示出來,如圖1-28所示。Customize.| AssigiweniU n魄L/delUPIH.U12PIN.V200 duPIM.V21II riia闕M
31、key仙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-Nme*|BKp4tlk3lBKp4|delQi|BKp4-MySave進行保存。選擇工具斗壯A-文扌工具波形編輯工具-英- 縮放工具全屏顯示一查找疑鐳-替換未初始化一涎益- 未知狀態(tài)低電平A A-高電平高阻一三、電- 弱未知態(tài)弱低電平-弱高電平無關狀態(tài)-反向計數值一- 時神任意值XIX5對齊兩格一- 排JT26圖 1-31按圖1-31上的提
32、示,首先產生功能仿真網表文件,點擊產生功能仿真網表的按鈕Gen erate Fun ctio nal Simulation Netlist,產生功能仿真網表,然后點擊開始仿真的START按鈕開始進行仿真,直到仿真進度條為100%完成仿真。點擊仿真報告窗口按鈕Report,觀察仿真波形。如圖1-32所示。圖 1-32 仿真波形圖 1-30 編輯輸入端口波形5)指定仿真器設置,在仿真過程中有時序仿真和功能仿真之分,在這里介紹功能所示。X.仿5 miJelinri rrode:薩indio創(chuàng)SirnuhEnn匸eriodt* Run :mdalhnunildl vectai slrdli aie-uuil產生功能仿具網底廠Ed simulation |1COSimuhtaon cptuns:疋 加jlomahcay add pns fa muhlian oulpJtwveirmi空廠Qieck oul|xA5廠errf htfd tme deiicifi deiesiisnr Gltch dslettxri. | j廠Oviiibe $mUakiH iipul lii lhGeneraleSIGTTSIAclrW.y Fib.icrm圖 1-31 仿真器工具窗口打開波形丈伴打開仿専茹吉窗口275、從設計文件到目標器件的加載完成對器件的加載有兩種形式,一種是對目標器件進
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZJCX 0045-2024 食用菌干制品
- T-ZGZS 0411-2024 T-CCPITCSC 150-2024 綠色會展廢棄物管理規(guī)范
- T-ZMDS 10024-2024 手術導航設備配準技術要求及試驗方法
- 2025年度高端辦公空間無償租賃合作協(xié)議
- 2025年度能源企業(yè)質押貸款擔保合同
- 二零二五年度企業(yè)辦公用品定制化采購合同
- 醫(yī)藥公司二零二五年度員工商業(yè)秘密保密協(xié)議及保密技術支持服務協(xié)議
- 2025年度村辦公室裝修與農村電商市場拓展合作合同
- 二零二五年度酒店加盟店經營管理合作協(xié)議
- 2025年度物流園區(qū)開發(fā)物業(yè)移交與倉儲物流服務協(xié)議
- 2025年黑龍江旅游職業(yè)技術學院單招職業(yè)傾向性測試題庫完整
- 部編版《道德與法治》四年級下冊全冊教案
- 雷鋒精神生生不息-2025年學校3.5學雷鋒月主題活動方案
- 骨科管理制度
- 電動叉車培訓課件
- 2025年山東化工職業(yè)學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 健身行業(yè)會員權益保障及免責條款協(xié)議
- 脾破裂保守治療的護理
- 煤礦安全質量標準化培訓課件
- 2024解析:第十七章歐姆定律-基礎練(解析版)
- 【MOOC】電工電子學-浙江大學 中國大學慕課MOOC答案
評論
0/150
提交評論