《電子產(chǎn)品設(shè)計與制作綜合實訓(xùn)》基于CPLD多功能數(shù)字鐘的設(shè)計_第1頁
《電子產(chǎn)品設(shè)計與制作綜合實訓(xùn)》基于CPLD多功能數(shù)字鐘的設(shè)計_第2頁
《電子產(chǎn)品設(shè)計與制作綜合實訓(xùn)》基于CPLD多功能數(shù)字鐘的設(shè)計_第3頁
《電子產(chǎn)品設(shè)計與制作綜合實訓(xùn)》基于CPLD多功能數(shù)字鐘的設(shè)計_第4頁
《電子產(chǎn)品設(shè)計與制作綜合實訓(xùn)》基于CPLD多功能數(shù)字鐘的設(shè)計_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、電子產(chǎn)品設(shè)計與制作綜合實訓(xùn)基于cpld多功能數(shù)字鐘的設(shè)計姓 名: 學(xué) 號: 組 號:班 級:指導(dǎo)教師: 提交日期: 年 月概 要本次實訓(xùn)通過自己的動手與老師的指導(dǎo)讓我們讓我們能夠熟練掌握eda軟件(max+plusii等)的使用,明白cpld/fpga的一般開發(fā)流程。能夠完成電子產(chǎn)品設(shè)計、焊接、調(diào)試、故障排除到整機裝配整個過程,能安裝調(diào)試印制電路板;能夠熟練使用常用測試儀器,如萬用表、示波器和穩(wěn)壓電源;能夠完成輸入輸出電路的設(shè)計,并能設(shè)計印制電路板,掌握基本的電路設(shè)計與制作方法和技巧,能夠獨立分析和解決一般性質(zhì)的問題;以及部分元器件的封裝,芯片epm7128的引腳分布以及引腳功能、芯片的應(yīng)用、

2、工作原理、典型電路。掌握常見故障的處理方案與維修的基本技巧;掌握焊接、調(diào)試、故障排除到整機裝配整個過程;能按照ipc工藝安裝調(diào)試印制電路板。通過本次實習(xí)又一次加強了我們理論聯(lián)系實際的能力,提高了我們的動手操作能力;通過每次的實習(xí)也進一步培養(yǎng)了我們溝通交流、團結(jié)協(xié)作和刻苦耐勞的精神。前 言我們已經(jīng)進入了數(shù)字化和信息化的時代,其特點是各種數(shù)字產(chǎn)品的廣泛應(yīng)用。現(xiàn)代數(shù)字產(chǎn)品在性能提高、復(fù)雜度增大的同時,其更新?lián)Q代的步伐也越來越快,實現(xiàn)這種進步的因素在于生產(chǎn)制造技術(shù)和電子設(shè)計技術(shù)的進步。pld器件和eda技術(shù)的出現(xiàn),改變了這種傳統(tǒng)的設(shè)計思路,使人們可以立足于pld芯片來實現(xiàn)各種不同的功能,新的設(shè)計方法能

3、夠由設(shè)計者自己定義器件內(nèi)部邏輯和管腳,將原來由電路板設(shè)計完成的工作大部分放在芯片的設(shè)計中進行。這樣不僅可以通過芯片設(shè)計實現(xiàn)各種邏輯功能,而且由于管腳定義的靈活性,減輕了原理圖和印制板設(shè)計的工作量和難度,增加了設(shè)計的自由度,提高了效率。同時這種設(shè)計減少了所需芯片的種類和數(shù)量,縮小了體積,降低了功耗,提高了系統(tǒng)的可靠性。我們通過幾個星期的實訓(xùn),對芯片epm7128的引腳分布以及 引腳功能、芯片的應(yīng)用、工作原理、典型電路有一定的了解;實習(xí)使我們掌握基本電路的設(shè)計與制作方法和技巧,能夠獨立的分析解決一般性質(zhì)的問題,在設(shè)計與制作過程中能夠從經(jīng)濟性和環(huán)保性以及成品質(zhì)量等方面去考慮,在設(shè)計與制作中能大膽的實

4、踐,開拓創(chuàng)新,能夠?qū)⒆约旱南敕w現(xiàn)到實際電路當(dāng)中去;又培養(yǎng)了我與其他同學(xué)的團隊合作、共同探討、共同前進的精神。目 錄 概述.2 前言.3一、項目設(shè)計.61.1 項目設(shè)計要. .61.2 方案論述.61.3. 設(shè)計方式.71.4 實驗環(huán)境.81.5 設(shè)計原理框圖.8二、芯片介紹.92.1epm7128slc84器件介紹.9三、max + plusii軟件的介紹.103.1 max + plusii概述.10 3.2 max+plus功能簡介.113.3 max+plus設(shè)計過程. .14四、項目的設(shè)計與制作.203.1 分頻功能實現(xiàn).203.2 清零功能實現(xiàn).213.3 計時功能實現(xiàn).213.4

5、 校時功能實現(xiàn).223.5 譯碼功能的實現(xiàn).253.6 鬧鈴模塊.263.7 led顯示模塊. .27五、系統(tǒng)電路圖.284.1 系統(tǒng)功能. .284.2 多功能數(shù)字鐘的原理圖.284.3 pcb的繪制.29結(jié)論.30致謝.31參考文獻.32附錄附件1:元器件清單.33附件2:實物圖.33一、項目設(shè)計1.1項目設(shè)計要求設(shè)計制作一個00-00-0099-99-99的多功能計時器,設(shè)計要求如下: 1.計時功能:完成00-00-0023-59-59的計時功能。 2.清零功能:在板上設(shè)置一個手動清零開關(guān),通過它可以對電路實現(xiàn)實時的手動清零。 3.校時功能:可隨時對電路進行校時功能,可以任意改變時間的大

6、小進行調(diào)時,達(dá)到時鐘校時功能。 4.鬧鈴功能:在給定的時間鬧鐘響十秒鐘,連續(xù)三次,同時設(shè)有鬧鐘清零開關(guān),當(dāng)不需要時可以關(guān)掉鬧鐘。目的:掌握各類計數(shù)器;掌握多個數(shù)碼管顯示的原理與方法;掌握使用vhdl語言的設(shè)計思想;對整個系統(tǒng)的設(shè)計有一個了解。1.2 方案論述本設(shè)計是基于cpld的多功能數(shù)字鐘設(shè)計。硬件界面為一個8位的led數(shù)碼管,時間顯示方式為6位同時顯示,即顯示狀態(tài)為:88:88:88。顯示的時間制為24小時制。三個時間設(shè)定按鍵,分別為clr模式選擇鍵,set設(shè)定鍵和kclr數(shù)值修改鍵。按鍵功能介紹:clr按鍵用來選擇當(dāng)前數(shù)字鐘的工作模式,系統(tǒng)正常工作在模式0下,即模式0為正常時鐘模式。當(dāng)在

7、正常時鐘模式下第一次按下clr鍵時,系統(tǒng)進入模式1,即鬧鈴模式,在此模式下可以通過set和kclr按鍵的配合使用來設(shè)定所需要的鬧鈴時間。當(dāng)再一次按下clr按鍵后系統(tǒng)進入手動校時模式,在此模式下通過set和kclr按鍵的配合使用,可以改變當(dāng)前時間。set按鍵則用于在不同的模式下選擇當(dāng)前設(shè)定的位置,比如當(dāng)前設(shè)定的位置是小時,則再一次按下set按鍵后當(dāng)前設(shè)定的位置變?yōu)榉昼姟clr按鍵用來將當(dāng)前設(shè)定位置的時間值加1,此功能用于快速設(shè)定時間。電源采用+5v供電。整個設(shè)計的設(shè)計方式采用top-down設(shè)計方法。多功能數(shù)字鐘設(shè)計分為1個頂層模塊和8個功能子模塊。頂層模塊名稱為clock.v。各功能子模塊分

8、別為:系統(tǒng)分頻功能模塊clk_generate.v、模式選擇功能模塊clr_select.v、快速時間設(shè)置功能模塊fast_settime.v、秒、分、時計時與時間調(diào)整模塊time_clr0.v、鬧鈴時間設(shè)置模塊alarm_set.v、鬧鈴與整點報時模塊alarm.v、7段顯示譯碼模塊decoder_7seg.v以及l(fā)ed顯示功能模塊display.v。1.3. 設(shè)計方式 topdown設(shè)計,即自頂向下的設(shè)計。這種設(shè)計方法首先從系統(tǒng)設(shè)計入手,在頂層進行功能方框圖的劃分和結(jié)構(gòu)設(shè)計。在功能級進入仿真和糾錯,并用硬件描述語言對高層次的系統(tǒng)行為進行描述,然后用綜合工具將設(shè)計轉(zhuǎn)化為具體門電路網(wǎng)表,其對應(yīng)

9、的物理實現(xiàn)可以是pld器件或?qū)S眉呻娐?。由于設(shè)計的主要仿真和調(diào)試過程是在高層次上完成的,這一方面有利于早期發(fā)現(xiàn)結(jié)構(gòu)上的錯誤,避免設(shè)計工作的浪費,同時也減少了邏輯功能仿真的工作量,提高了設(shè)計的一次成功率。整個設(shè)計的設(shè)計方式采用top-down設(shè)計方法。多功能數(shù)字鐘設(shè)計分為1個頂層模塊和8個功能子模塊。頂層模塊名稱為clock.v。各功能子模塊分別為:系統(tǒng)分頻功能模塊clk_generate.v、模式選擇功能模塊clr_select.v、快速時間設(shè)置功能模塊fast_settime.v、秒、分、時計時與時間調(diào)整模塊time_clr0.v、鬧鈴時間設(shè)置模塊alarm_set.v、鬧鈴與整點報時模塊

10、alarm.v、7段顯示譯碼模塊decoder_7seg.v以及l(fā)ed顯示功能模塊display.v。clk_generate.vclr_select.vclock.vfast_settime.vtime_clr0.valarm_set.valarm.vdecoder_7seg.vdisplay.v1.4 實驗環(huán)境1.軟件環(huán)境:max+plusii2.硬件環(huán)境:altea epm7128slc84-151.5 設(shè)計原理框圖二、芯片介紹epm7128slc84器件介紹本次設(shè)計的核心器件采用altera公司的cpld可編程器件。altera公司的max7000s系列cpld有著較高的性價比。max

11、7000s系列是基于altera第二代max架構(gòu)的高密度、高性能的pld器件。max7000器件包含32256個可聯(lián)結(jié)成16個宏單元組的邏輯陣列塊的宏單元。 epm7128slc的plcc封裝epm7128slc84是max7000s家族成員之一,它有如下的特點:可用邏輯門個數(shù)為2500門,128個宏單元,8個邏輯陳列塊,最大用戶可用i/o口100個,支持5v在系統(tǒng)編程和符合ieee.std.1179r的jtag下載接口,內(nèi)建邊界掃描測試電路,支持片上調(diào)試epm7128slc84-15的封裝圖如上圖所示所示.三、max + plusii軟件的介紹1概 述max+plus是altera公司提供的

12、fpga/cpld開發(fā)集成環(huán)境,altera是世界上最大可編程邏輯器件的供應(yīng)商之一。max+plus界面友好,使用便捷,被譽為業(yè)界最易用易學(xué)的eda軟件。在max+plus上可以完成設(shè)計輸入、元件適配、時序仿真和功能仿真、編程下載整個流程,它提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計環(huán)境,是設(shè)計者能方便地進行設(shè)計輸入、快速處理和器件編程。max+plus開發(fā)系統(tǒng)的特點1、開放的界面max+plus支持與cadence,exemplarlogic,mentor graphics,synplicty,viewlogic和其它公司所提供的eda工具接口。2、與結(jié)構(gòu)無關(guān)max+plus系統(tǒng)的核心complier支持a

13、ltera公司的flex10k、flex8000、flex6000、max9000、max7000、max5000和classic可編程邏輯器件,提供了世界上唯一真正與結(jié)構(gòu)無關(guān)的可編程邏輯設(shè)計環(huán)境。3、完全集成化max+plus的設(shè)計輸入、處理與較驗功能全部集成在統(tǒng)一的開發(fā)環(huán)境下,這樣可以加快動態(tài)調(diào)試、縮短開發(fā)周期。4、豐富的設(shè)計庫max+plus提供豐富的庫單元供設(shè)計者調(diào)用,其中包括74系列的全部器件和多種特殊的邏輯功能(macro-function)以及新型的參數(shù)化的兆功能(mage-function)。5、模塊化工具設(shè)計人員可以從各種設(shè)計輸入、處理和較驗選項中進行選擇從而使設(shè)計環(huán)境用戶化

14、。6、硬件描述語言(hdl)max+plus軟件支持各種hdl設(shè)計輸入選項,包括vhdl、verilog hdl和altera自己的硬件描述語言ahdl。7、opencore特征max+plus軟件具有開放核的特點,允許設(shè)計人員添加自己認(rèn)為有價值的宏函數(shù)。2 max+plus功能簡介1 、原理圖輸入(graphic editor)max+plusii軟件具有圖形輸入能力,用戶可以方便的使用圖形編輯器輸入電路圖,圖中的元器件可以調(diào)用元件庫中元器件,除調(diào)用庫中的元件以外,還可以調(diào)用該軟件中的符號功能形成的功能塊.圖形編輯器窗口見下圖。2、硬件描述語言輸入(text editor)max+plusi

15、i軟件中有一個集成的文本編輯器,該編輯器支持vhdl,ahdl和verilog硬件描述語言的輸入,同時還有一個語言模板使輸入程序語言更加方便,該軟件可以對這些程序語言進行編譯并形成可以下載配置數(shù)據(jù),文本編輯器窗口見下圖。 、波形編輯器(aveform editor)在進行邏輯電路的行為仿真時,需要在所設(shè)計電路的輸入端加入一定的波形,波形編輯器可以生成和編輯仿真用的波形(*.scf文件),使用該編輯器的工具條可以容易方便的生成波形和編輯波形。波形編輯器窗口如下圖所示。使用時只要將欲輸入波形的時間段用鼠標(biāo)涂黑,然后選擇工具條中的按鈕,例如,如果要某一時間段為高電平,只需選擇按鈕 ”1”。還可以使用

16、輸入的波形(*.wdf文件)經(jīng)過編譯生成邏輯功能塊,相當(dāng)于已知一個芯片的輸入輸出波形,但不知是何種芯片,使用該軟件功能可以解決這個問題,設(shè)計出一個輸入和輸出波形相同cpld電路。、管腳(底層)編輯窗口(floorplan editor)該窗口用于將已設(shè)計好邏輯電路的輸入輸出節(jié)點賦予實際芯片的引腳,通過鼠標(biāo)的拖拉,方便的定義管腳的功能。管腳(底層)編輯窗口見圖。 、自動錯誤定位在編譯源文件的過程中,若源文件有錯誤,max+plus2軟件可以自動指出錯誤類型和錯誤所在的位置。、邏輯綜合與適配該軟件在編譯過程中,通過邏輯綜合 (logic synthesizer)和適配(fitter) 模塊,可以把

17、最簡單的邏輯表達(dá)式自動的吻合在合適的器件中。、設(shè)計規(guī)則檢查選取compileprocessingdesign doctor菜單,將調(diào)出規(guī)則檢查醫(yī)生,該醫(yī)生可以按照三種規(guī)則中的一個規(guī)則檢查各個設(shè)計文件,以保證設(shè)計的可靠性。一旦選擇該菜單,在編譯窗口將顯示出醫(yī)生,用鼠標(biāo)點擊醫(yī)生,該醫(yī)生可以告訴你程序文件的健康情況。 、多器件劃分(partitioner)如果設(shè)計不能完全裝入一個器件,編譯器中的多器件劃分模塊,可自動的將一個設(shè)計分成幾個部分并分別裝入幾個器件中,并保證器件之間的連線最少。、編程文件的產(chǎn)生 編譯器中的裝配程序(assembler)將編譯好的程序創(chuàng)建一個或多個編程目標(biāo)文件:eprom配置

18、文件(*.pof)例如,max7000系列sram文件(*.scf)例如,flex8000系列的配置芯片epromjedec文件(*.jed)十六進制文件(*.hex)文本文件(*.ttf)串行bit流文件(*.sbf)10、仿真當(dāng)設(shè)計文件被編譯好,并在波形編輯器中將輸入波形編輯完畢后,就可以進行行為仿真了,通過仿真可以檢驗設(shè)計的邏輯關(guān)系是否準(zhǔn)確.11、分析時間(analyze timing)該功能可以分析各個信號到輸出端的時間延遲,可以給出延遲矩陣和最高工作頻率。 12、器件編程當(dāng)設(shè)計全部完成后,就可以將形成的目標(biāo)文件下載到芯片中,實際驗證設(shè)計的準(zhǔn)確性. 3 max+plus設(shè)計過程一、設(shè)計

19、流程使用max+plus軟件設(shè)計流程由以下幾部分組成。1、設(shè)計輸入:可以采用原理圖輸入、hdl語言描述、edif網(wǎng)表輸入及波形輸入等幾種方式。2、編譯:先根據(jù)設(shè)計要求設(shè)定編譯參數(shù)和編譯策略,如器件的選擇、邏輯綜合方式的選擇等。然后根據(jù)設(shè)定的參數(shù)和策略對設(shè)計項目進行網(wǎng)表提取、邏輯綜合和器件適配,并產(chǎn)生報告文件、延時信息文件及編程文件,供分析仿真和編程使用。3、仿真:仿真包括功能仿真、時序仿真和定時分析,可以利用軟件的仿真功能來驗證設(shè)計項目的邏輯功能是否正確。4、編程與驗證:用經(jīng)過仿真確認(rèn)后的編程文件通過編程器(programmer)將設(shè)計下載到實際芯片中,最后測試芯片在系統(tǒng)中的實際運行性能。在設(shè)

20、計過程中,如果出現(xiàn)錯誤,則需重新回到設(shè)計輸入階段,改正錯誤或調(diào)整電路后重復(fù)上述過程。 圖是max+plus編譯設(shè)計主控界面,它顯示了max+plus自動設(shè)計的各主要處理環(huán)節(jié)和設(shè)計流程,包括設(shè)計輸入編輯、編譯網(wǎng)表提取、數(shù)據(jù)庫建立、邏輯綜合、邏輯分割、適配、延時網(wǎng)表提取、編程文件匯編(裝配)以及編程下載9個步驟。 二、設(shè)計步驟1)輸入項目文件名(file/project/name)2)輸入源文件(圖形、vhdl、ahdl、verlog和波形輸入方式)(max+plus/graphic editor;max+plus/text editor;max+plus/waveform editor)3)指定

21、cpld型號(assign/device)4)設(shè)置管腳、下載方式和邏輯綜合的方式(assign/global project device option,assign/global logic synthesis)5)保存并檢查源文件(file/project/save & check)6)指定管腳(max+plus/floorplan editor)7)保存和編譯源文件(file/project/save & compile)8)生成波形文件(max+plus/waveform editor)9)仿真(max+plus/simulator)10)下載配置(max+plus/programme

22、r)三、常用菜單簡介(1)max+plus菜單:max+plusii:hierarchy display_塔形顯示;graphic editor_圖形編輯器;symbol editor_符號編輯器;text editor_文本編輯器;waveform editor_波形編輯器;floorplan editor_管腳編輯器;compiler_編譯器;simulator_仿真器;timing analyzer_時間分析;programmer_程序下載;message processor_信息處理;(2)文件菜單,該文件菜單隨所選功能的不同而不同。file:project:name_項目名稱;set

23、 project to current file_將當(dāng)前文件設(shè)置為項目;save&check_保存并檢查文件;save&compile_保存并編譯文件;save&simulator_保存并仿真文件;save,compile,simulator_保存,編譯,仿真;new_新文件;open_打開文件;delete file_刪除文件;retrieve_提取文件;close_關(guān)閉文件;save_保存文件;save as_換名存文件;info_信息;size_圖紙尺寸;create default symbol_創(chuàng)建當(dāng)前模塊圖形符號;edit symbol_編輯當(dāng)前模塊圖形符號;create defa

24、ult include file_創(chuàng)建當(dāng)前包括文件;print_打?。籶rint setup_打印設(shè)置;(3)模板菜單,該模板使編寫vhdl和ahdl設(shè)計文件更容易和方便。templates:ahdl template_ahdl模板;vhdl template_vhdl模板;verilog template_verilog模板;(4)指定菜單assign:device_指定器件;pin/location/chip_管腳,放置,芯片;timing requirements_時間需要;clique_指定一個功能組;logic options_邏輯選擇;probe_指定探頭;connected pi

25、ns_連接管腳;global project device options_設(shè)定項目中器件的參數(shù);global project parameters_設(shè)置項目參數(shù);global project timing requirements._設(shè)置時間參數(shù);global project logic synthesis_設(shè)置邏輯綜合;ignore project assignments_忽略項目指定;clear project assignments_清除項目指定;back annotate project_返回項目指定;convert obsolete assignment format_轉(zhuǎn)換指定格式

26、。(5)選擇菜單options:font_字形;text size_文本尺寸;line style_線型;rubberbanding_橡皮筋;show parameters_顯示參數(shù);show probe_顯示探頭;show/pins/locations/chips_顯示管腳,位置,芯片;show cliques&timing requirements_顯示功能組,時間需求;show logic options_顯示邏輯設(shè)置;show all_顯示全部;show guidelines_顯示向?qū)В籾ser libraries_用戶庫;color palette_調(diào)色板;preferences_設(shè)

27、置。三、項目的設(shè)計與制作基于vhdl各功能實現(xiàn)原理整個數(shù)字鐘的設(shè)計包括七個模塊,分別為分頻、清零、計時、校時、bcd編碼、掃描、譯碼,各模塊的設(shè)計解決方案具體如下。3.1 分頻功能實現(xiàn)因為我們需要1hz的頻率來用來驅(qū)動秒計時器,而硬件提供的時鐘頻率是4hz,所以我們要進行分頻。分頻的程序如下:entity fre10 isport ( clk:in std_logic; y: out std_logic);end;architecture a of fre10 is signal q:std_logic_vector(3 downto 0);signal rst:std_logic; begi

28、n process(clk,rst) begin if rst=1 then q=0000; elsif clk event and clk=1 then q=q+1; end if; end process; rst =1 when q=10 else 0; y=q(3); end ;3.2 清零功能實現(xiàn)在計數(shù)器的前面加用if語句在做了一個清零功能:process(t,kclr) beginif kclr=1 then sl_l = 0000; shh = 0000; ml=0000; mh = 0000; hl = 0000; hh=0000; end if; end process;3.

29、3 計時功能實現(xiàn)計時功能是通過if語句的嵌套來實現(xiàn)的,在嵌套的過程應(yīng)該注意每個位上的數(shù)字的最大值,在計時程序中應(yīng)該特別注意程序的書寫 ,以下就是整個即使程序:process(t,kclr) beginif kclr=1 then sl_l = 0000; shh = 0000; ml=0000; mh = 0000; hl = 0000; hh=0000; elsif (tevent and t=1) then if sl_l=9 then sl_l=0000; if shh=5 then shh=0000; if ml=9 then ml=0000; if mh=5 then mh=0000

30、; if hl=9 or(hl=3 and hh=2) then hl=0000; if hh=2 then hh=0000; else hh=hh+1; end if; else hl=hl+1; end if; else mh=mh+1; end if; else ml=ml+1; end if; else shh=shh+1; end if; else sl_l=sl_l+1; end if; end if; end process;3.4 校時功能實現(xiàn)對電路進行校時功能,設(shè)置兩個開關(guān)控制,校時程序如下:process(kdi,rt,ksets) begin if rt=1 or kse

31、ts=1 then qd=0000; elsif kdievent and kdi=1 then qd=qd+1; end if; end process;rt=1 when qd=10 else 0; process(ksets,clr,kctr) begin if clr=1 then acc0); elsif ksetsevent and ksets=1 then if kctr=0then acc=acc(19 downto 0) & qd; end if; end if;end process;process(t,kctr,acc,clr) begin if clr=1 then h

32、h=0000;hl=0000;mh=0000;ml=0000;shh=0000;sl_l=0000; elsif kctr=0 then hh=acc(23 downto 20); hl=acc(19 downto 16); mh=acc(15 downto 12); ml=acc(11 downto 8); shh=acc(7 downto 4); sl_l=acc(3 downto 0); elsif tevent and t=1 then if sl_l=9 then sl_l=0000; if shh=5 then shh=0000; if ml=9 then ml=0000; if

33、mh=5 then mh=0000; if hl=3 or (hh=2 and hl=3) then hl=0000; if hh=2 then hh=0000; else hh=hh+1; end if; else hl=hl+1; end if; else mh=mh+1; end if; else ml=ml+1; end if; else shh=shh+1; end if; else sl_l=sl_l+1; end if; end if; end process; 3.5 譯碼功能的實現(xiàn)process(s,r) begin if r=1 then qn=000; elsif sev

34、ent and s=1 then qn=qn+1; end if; end process; r scan = 111110; hms scan = 111101; hms scan = 111011; hms scan = 110111; hms scan = 101111; hms scan = 011111; hmsnull; end case;end process;with hms select hm= 0110000 when 0001,-數(shù)碼管顯示“1” 1101101 when 0010,-數(shù)碼管顯示“2” 1111001 when 0011,-數(shù)碼管顯示“3” 0110011

35、 when 0100,-數(shù)碼管顯示“4” 1011011 when 0101,-數(shù)碼管顯示“5” 1011111 when 0110,-數(shù)碼管顯示“6” 1110000 when 0111,-數(shù)碼管顯示“7” 1111111 when 1000,-數(shù)碼管顯示“8” 1111011 when 1001,-數(shù)碼管顯示“9” 1111110 when others; end;3.6鬧鈴模塊鬧鈴的功能是實現(xiàn)當(dāng)?shù)竭_(dá)預(yù)設(shè)的時間點時產(chǎn)生 “嘀嘀嘀嘀”急促短音。 在原程序的基礎(chǔ)上加一下程序模塊來實現(xiàn)鬧鈴模塊,鬧鈴模塊的要求是在第十秒中的時候鬧鈴開始響,響十秒后停止過幾秒在響十秒,總共響三次:constant

36、qq:std_logic_vector(23 downto 0):=10000; constant qqq:std_logic_vector(23 downto 0):=110000; constant qqqq:std_logic_vector(23 downto 0):=1010000;process(nlc,nk0)beginif nk0=1 then y=qq and nlcqq+10001 then y=qqq and nlcqqq+10001 then y=qqqq and nlcqqqq+10001 then y=0; else y=1;end if; end if; end i

37、f;end process;仿真圖形全加器仿真圖3.7 led顯示模塊led顯示電路與cpld的接口電路共有兩種接法,一種接法是靜態(tài)顯示法,即外接6個獨立的一位led數(shù)碼管,在這種接法下每一位led的段碼線共有8根,因此采用這種接法時總共需要6*8+6=54個i/o口,而采用這種接法時,分配i/o工作煩瑣,且電路圖接線復(fù)雜。而第二種接法稱為動態(tài)顯示法,采用共陽或共陰極接法,而所謂的共陽極接法是指將每位led的段碼線連在一起共同接電源的正極,因此采用這種接法時,一個6位的led總共只需要8+6=14個i/o口,即8位的段碼線和6位的位選線,采用這種方式的接法時,缺點是每次顯示時6位lde同時顯示

38、相同的數(shù)字,因此在這種接法下,必需要采用掃描的方式來顯示,即每一個時刻只能有一個led處在點亮的狀態(tài),其它led熄滅,此時送出相應(yīng)位的段碼。而在下一時刻則下一位led處于點亮狀態(tài),且在此時送出相應(yīng)的段碼,如此循環(huán)往復(fù)就能顯示完6個不同的數(shù)字。因此采用這種接法時必需要有一個掃描信號來選擇當(dāng)前哪一位led處于點亮狀態(tài)。 四、系統(tǒng)電路圖4.1系統(tǒng)功能本設(shè)計是基于cpld的多功能數(shù)字鐘設(shè)計。硬件界面為一個8位的led數(shù)碼管,時間顯示方式為8位同時顯示,即顯示狀態(tài)為:88:88:88。顯示的時間制為24小時制。三個時間設(shè)定按鍵,分別為clr模式選擇鍵,set設(shè)定鍵和kclr控制鍵。三個按鍵的功能介紹:c

39、lr按鍵用來選擇當(dāng)前數(shù)字鐘的工作模式,系統(tǒng)正常工作在模式0下,即模式0為正常時鐘模式。當(dāng)在正常時鐘模式下第一次按下clr鍵時,系統(tǒng)進入模式1,即鬧鈴模式,在此模式下可以通過set和kclr按鍵的配合使用來設(shè)定所需要的鬧鈴時間。當(dāng)再一次按下clr按鍵后系統(tǒng)進入手動校時模式,在此模式下通過set和kclr按鍵的配合使用,可以改變當(dāng)前時間。set按鍵則用于在不同的模式下選擇當(dāng)前設(shè)定的位置,比如當(dāng)前設(shè)定的位置是小時,則再一次按下set按鍵后當(dāng)前設(shè)定的位置變?yōu)榉昼姟clr按鍵用來將當(dāng)前設(shè)定位置的時間值加1,此功能用于快速設(shè)定時間。 鬧鈴的功能是實現(xiàn)當(dāng)?shù)竭_(dá)預(yù)設(shè)的時間點時產(chǎn)生“嘀嘀嘀嘀”響聲。4.2 多功能數(shù)字鐘的原理圖用protel 9se繪制電路圖各個電子元器件的時應(yīng)注意其封裝的繪制與尺寸,同時在放置功能屬性標(biāo)注適應(yīng)特別注意其是否正確,現(xiàn)將原理圖附上:4.3 pcb的繪制結(jié) 論本次課程設(shè)計是我到目前為止覺得受益匪淺也是收獲最大的一次實習(xí),設(shè)計是我們將來必需具備的技能。而這次課程設(shè)計恰恰給我們提供了一個應(yīng)用自己所學(xué)知識去勇于創(chuàng)新和實踐的平臺。從通過理論設(shè)計,到仿真軟件仿真,再到確定具體方案,再到安裝實際電路,最后到調(diào)試電路、成型。整個過程都

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論