版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 摘要</b></p><p> 前人不斷的創(chuàng)新與實踐,使的超大規(guī)模集成電路的發(fā)展日趨成熟且應(yīng)用越來越廣泛。隨著超大規(guī)模集成電路工藝的發(fā)展和成熟采用或者來進(jìn)行數(shù)字電路的設(shè)計已成為當(dāng)前的熱門之一,數(shù)字電子系統(tǒng)的設(shè)計方法及設(shè)計手段都發(fā)生了根本性的變化。芯片的可編程性和語言的出現(xiàn)使得數(shù)字電路的設(shè)計周期和難度都大大減小,而且正由分立數(shù)字電路向可編程邏輯器件及專用集成電路
2、轉(zhuǎn)變。FPGA等復(fù)雜可編程邏輯器件在現(xiàn)代數(shù)字系統(tǒng)設(shè)計中正占據(jù)越來越重要的地位。本文介紹的溫度監(jiān)控系統(tǒng)即是基于FPGA作為核心控制器件和VHDL進(jìn)行編程來實現(xiàn)的。</p><p> FPGA溫度監(jiān)測系統(tǒng)在實際應(yīng)用中有著廣泛的應(yīng)用,如室溫的溫度監(jiān)測控制等。本文介紹了一種基于FPGA的溫度監(jiān)測系統(tǒng)的設(shè)計??删幊唐骷‵PGA)和硬件描述語言VHDL的出現(xiàn)使得數(shù)字電路的設(shè)計周期縮短難度減小。系統(tǒng)采用FPGA作為核心控制
3、器件和VHDL進(jìn)行編程,設(shè)計采用模塊化思路:分別實現(xiàn)各個模塊(溫度監(jiān)測、鍵盤輸入、溫度顯示和控制、液晶顯示),再加以整合實現(xiàn)整個控制,達(dá)到了溫度監(jiān)控的目的。</p><p> 關(guān)鍵詞:溫度監(jiān)控, FPGA, VHDL , 模塊設(shè)計, 液晶顯示</p><p><b> 目 錄</b></p><p><b> 摘要0&
4、lt;/b></p><p><b> 目 錄1</b></p><p><b> 緒論3</b></p><p> 第1章 總體設(shè)計方案5</p><p> 1.1 硬件原理框圖5</p><p> 1.2 軟件原理框圖6</p>
5、;<p> 第2章 硬件設(shè)計7</p><p> 2.1 硬件實現(xiàn)7</p><p> 2.2 可編程邏輯器件簡介7</p><p> 2.2.1 FPGA的背景及市場發(fā)展8</p><p> 2.2.2 FPGA的工作原理9</p><p> 2.2.3 FPGA的電源
6、10</p><p> 2.2.4 FPGA芯片結(jié)構(gòu)10</p><p> 2.2.5 FPGA的基本特點11</p><p> 2.2.6 PGA主要生產(chǎn)廠商11</p><p> 2.3 DS18B20簡介12</p><p> 2.3.1 DS18B20內(nèi)部結(jié)構(gòu)12</p>
7、;<p> 2.3.3 應(yīng)用背景15</p><p> 2.3.4 控制方法15</p><p> 2.4 1602簡介16</p><p> 2.4.1 液晶及液晶顯示的介紹16</p><p> 2.4.2 1602引腳17</p><p> 2.4.3 主要技術(shù)指標(biāo)
8、18</p><p> 2.4.4 LCD指令19</p><p> 2.5 按鍵20</p><p> 2.5.1 彈跳消除電路的原理和功能20</p><p> 2.5.3 彈跳消除模塊的實際應(yīng)用22</p><p> 第3章 軟件設(shè)計23</p><p>
9、 3.1 設(shè)計流程圖23</p><p> 3.2 分頻電路24</p><p> 3.3 彈跳消除電路24</p><p> 3.4 按鍵電路24</p><p> 3.5 LED電路25</p><p> 第4章 系統(tǒng)調(diào)試26</p><p> 4.
10、1 硬件結(jié)果26</p><p> 4.2 調(diào)試結(jié)果26</p><p> 4.3 調(diào)試分析27</p><p><b> 結(jié)論28</b></p><p><b> 參考文獻(xiàn)29</b></p><p><b> 附錄30</b
11、></p><p><b> 緒論</b></p><p> 目前基于智能溫度傳感器DS18B20的測溫設(shè)計大多是單片機程序。本課題嘗試使用FPGA芯片進(jìn)行設(shè)計。FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳,同時具有靜態(tài)可重復(fù)編程和動態(tài)在系統(tǒng)重構(gòu)的特性,極大地提高了設(shè)計的靈活性和通用性,更適用于電子系統(tǒng)的開發(fā)。如果用戶需求量非常大,采用ASIC流片能極大地節(jié)省成本
12、,經(jīng)濟(jì)效益十分顯著。FPGA可做其它全定制或半定制ASIC電路的中試樣片。鑒于此,本課題使用硬件描述語言設(shè)計FPGA控制器來實現(xiàn)傳感器控制。</p><p> 一線總線(l-wire)傳感器的出現(xiàn)(如DS18B20),使得在倉庫、工廠、樓宇等需要實時測溫的網(wǎng)絡(luò)布線得以大大改善。在大體積混凝土的建造過程中,為了防止混凝土的開裂而造成工程的失敗,需要對若干點的溫度進(jìn)行實時監(jiān)控。由于施工現(xiàn)場的限制,使得可利用的布線區(qū)
13、域越簡單越好。與此同時,現(xiàn)場溫度的采集與控制也有一定的要求。這時就可以在需要的測溫點橫向或縱向構(gòu)成多層網(wǎng)絡(luò),而各個一線總線傳感器直接掛接在上面即可。而對于每層的溫度采集和控制則可以由“FPGA控制器”去實現(xiàn),使用和拆卸都很方便。并且由于FPGA移植性好、升級方便,對于各企業(yè)的成本也可以大大降低。隨著FPGA的進(jìn)一步發(fā)展,此溫度采集控制器的應(yīng)用范圍將不斷擴大,所體現(xiàn)的價值也將越來越高。</p><p> 現(xiàn)場可編
14、程門陣列(Field Programmable Gate Array,F(xiàn)PGA)是當(dāng)今應(yīng)用最廣泛的一類可編程專用集成電路(ASIC)。FPGA作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。電子設(shè)計工程師利用它可以在辦公室或?qū)嶒炇依镌O(shè)計出所需的專用集成電路,從而大大縮短了產(chǎn)品上市時間,降低了開發(fā)成本。此外,可編程邏輯器件還具有靜態(tài)可重復(fù)編程和動態(tài)在系統(tǒng)重構(gòu)的特
15、性。這使得硬件的功能可以像軟件一樣通過編程來修改,極大地提高了電子系統(tǒng)設(shè)計的靈活性和通用性。</p><p> 在FPGA的設(shè)計中一般有兩種方法:自上而下和自下而上。任何復(fù)雜的數(shù)字系統(tǒng),都可以按層次細(xì)分,一直分到對每個部分都有比較明確而簡單的設(shè)計方案為止。這就是常常說的分而治之的方法。自上而下的方法之所以重要,就在于只有在上面的層次上才能全面確定下面模塊的輸入輸出和功能行為的規(guī)格。而自下而上有時也行得通的原因是
16、有些模塊的規(guī)格本身是就是事先確定的或者基本可以確定的。針對溫度采集控制器系統(tǒng)的特點,決定采用自上而下的設(shè)計方法。</p><p> 溫度監(jiān)控在實際中有著廣泛的應(yīng)用。文本設(shè)計的溫度監(jiān)測系統(tǒng)由溫度檢測鍵盤輸入。溫度顯示和控制再加以整合實現(xiàn)整個系統(tǒng)達(dá)到了溫度控制的目的。</p><p> 第1章 總體設(shè)計方案</p><p> 本次課程設(shè)計采用軟件設(shè)計與硬件設(shè)計相結(jié)
17、合的設(shè)計方法。硬件設(shè)計包括硬件原理框圖的繪畫、電路板的焊接、元器件的認(rèn)識等,軟件設(shè)計包括VHDL編程、器件加載、軟件原理圖繪畫。</p><p> 溫度監(jiān)測系統(tǒng)由溫度檢測鍵盤輸入。溫度顯示和控制再加以整合實現(xiàn)整個系統(tǒng)達(dá)到了溫度控制的目的。</p><p> 1.1 硬件原理框圖</p><p> 硬件原理框圖如圖1-1所示:</p><p
18、> 圖1-1 硬件原理框圖</p><p> 1.2 軟件原理框圖</p><p> 軟件原理框圖如圖1-2所示:</p><p> 圖1-2 軟件原理框圖</p><p> 由軟件原理框圖可看出整個設(shè)計包括分頻電路(FP2)、彈跳消除電路(DEBOUNCING)、1602液晶顯示電路(lcdcount)、DS18B20溫
19、度轉(zhuǎn)換電路(temperature)、按鍵電路(key,key2)和發(fā)光二極管電路(LED)。</p><p> 電路功能要求:實時檢測環(huán)境溫度,并通過液晶顯示出來,可以通過鍵盤設(shè)計上限溫度與下限溫度,當(dāng)實時溫度超過上限溫度或低于下限溫度時,通過發(fā)光二極管輸出燈光提示。</p><p><b> 第2章 硬件設(shè)計</b></p><p>&
20、lt;b> 2.1 硬件實現(xiàn)</b></p><p> 用以前學(xué)過的知識,可對硬件原理圖進(jìn)行繪畫。本次實訓(xùn),采用的是DXP畫圖軟件,硬件原理圖如圖2-1所示:</p><p> 圖2-1 硬件原理圖</p><p> 2.2 可編程邏輯器件簡介</p><p> 通常運用EDA技術(shù)設(shè)計電路系統(tǒng)的主要硬件基礎(chǔ)為F
21、PGA/CPLD器件,一般稱為可編程邏輯器件。本節(jié)將介紹可編程邏輯器件(主要是FPGA)的基本原理、發(fā)展?fàn)顩r及相關(guān)的配置技術(shù)。</p><p> 2.2.1 FPGA的背景及市場發(fā)展</p><p> 目前以硬件描述語言(Verilog 或 VHDL)所完成的電路設(shè)計,可以經(jīng)過簡單的綜合與布局,快速的燒錄至 FPGA 上進(jìn)行測試,是現(xiàn)代 IC 設(shè)計驗證的技術(shù)主流。這些可編輯元件可以被
22、用來實現(xiàn)一些基本的邏輯門電路(比如AND、OR、XOR、NOT)或者更復(fù)雜一些的組合功能比如解碼器或數(shù)學(xué)方程式。在大多數(shù)的FPGA里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器(Flip-flop)或者其他更加完整的記憶塊。 </p><p> 系統(tǒng)設(shè)計師可以根據(jù)需要通過可編輯的連接把FPGA內(nèi)部的邏輯塊連接起來,就好像一個電路試驗板被放在了一個芯片里。一個出廠后的成品FPGA的邏輯塊和連接可以按照設(shè)計者而改
23、變,所以FPGA可以完成所需要的邏輯功能。 </p><p> FPGA一般來說比ASIC(專用集成芯片)的速度要慢,無法完成復(fù)雜的設(shè)計,而且消耗更多的電能。但是他們也有很多的優(yōu)點比如可以快速成品,可以被修改來改正程序中的錯誤和更便宜的造價。廠商也可能會提供便宜的但是編輯能力差的FPGA。因為這些芯片有比較差的可編輯能力,所以這些設(shè)計的開發(fā)是在普通的FPGA上完成的,然后將設(shè)計轉(zhuǎn)移到一個類似于ASIC的芯片上。
24、另外一種方法是用CPLD(復(fù)雜可編程邏輯器件)。 </p><p> 事實上90年代后期FPGA市場就已經(jīng)過一番激烈整合,許多業(yè)者不是退出PLD(可程序化邏輯裝置)市場,就是出售其PLD業(yè)務(wù)部門,或?qū)LD業(yè)務(wù)部門分立成獨立公司,或進(jìn)行購并等。 </p><p> 時至今日,F(xiàn)PGA市場的主要業(yè)者僅剩數(shù)家,包括Altera、Xilinx(賽靈思,過去稱為:智霖科技)、Actel、Atm
25、el、Lattice、QuickLogic等,不過2007年11月QuickLogic也確定淡出FPGA市場,并轉(zhuǎn)進(jìn)發(fā)展CSSP(CustomerSpecificStandardProduct)。 </p><p> 但FPGA領(lǐng)域依然有新興業(yè)者出現(xiàn),例如AchronixSemiconductor、MathStar等。且除了單純數(shù)字邏輯性質(zhì)的可程序邏輯裝置外,混訊、模擬性質(zhì)的可程序邏輯裝置也展露頭角,例如Cyp
26、ressSemiconductor的PSoC(ProgrammableSystem-on-Chip)即具有可組態(tài)性的混訊電路,或如Actel公司也提出可程序化的混訊芯片:Fusion,或者也有業(yè)者提出所謂的現(xiàn)場可程序化模擬數(shù)組(FieldProgrammableAnalogArray;FPAA)等,相信這些都能為可程序化芯片帶來更多的發(fā)展動能。 </p><p> FPGA(現(xiàn)場可編程邏輯器件)產(chǎn)品的應(yīng)用領(lǐng)域已
27、經(jīng)從原來的通信擴展到消費電子、汽車電子、工業(yè)控制、測試測量等廣泛的領(lǐng)域。而應(yīng)用的變化也使FPGA產(chǎn)品近幾年的演進(jìn)趨勢越來越明顯:一方面,F(xiàn)PGA供應(yīng)商致力于采用當(dāng)前最先進(jìn)的工藝來提升產(chǎn)品的性能,降低產(chǎn)品的成本;另一方面,越來越多的通用IP(知識產(chǎn)權(quán))或客戶定制IP被引入FPGA中,以滿足客戶產(chǎn)品快速上市的要求。此外,F(xiàn)PGA企業(yè)都在大力降低產(chǎn)品的功耗,滿足業(yè)界越來越苛刻的低功耗需求。 </p><p> 2.2
28、.2 FPGA的工作原理</p><p> FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個部分。 現(xiàn)場可編程門陣列(FPGA)是可編程器件。與傳統(tǒng)邏輯電路和門陣列(如PAL,GAL及CPLD器件
29、)相比,F(xiàn)PGA具有不同的結(jié)構(gòu),F(xiàn)PGA利用小型查找表(16×1RAM)來實現(xiàn)組合邏輯,每個查找表連接到一個D觸發(fā)器的輸入端,觸發(fā)器再來驅(qū)動其他邏輯電路或驅(qū)動I/O,由此構(gòu)成了既可實現(xiàn)組合邏輯功能又可實現(xiàn)時序邏輯功能的基本邏輯單元模塊,這些模塊間利用金屬連線互相連接或連接到I/O模塊。FPGA的邏輯是通過向內(nèi)部靜態(tài)存儲單元加載編程數(shù)據(jù)來實現(xiàn)的,存儲在存儲器單元中的值決定了邏輯單元的邏輯功能以及各模塊之間或模塊與I/O間的聯(lián)接方
30、式,并最終決定了FPGA所能實現(xiàn)的功能,F(xiàn)PGA允許無限次的編程.</p><p> 2.2.3 FPGA的電源</p><p> FPGA電源要求輸出電壓范圍從1.2V到5V,輸出電流范圍從數(shù)十毫安到數(shù)安培??捎萌N電源:低壓差(LDO)線性穩(wěn)壓器、開關(guān)式DC-DC穩(wěn)壓器和開關(guān)式電源模塊。最終選擇何種電源取決于系統(tǒng)、系統(tǒng)預(yù)算和上市時間要求。 </p><p>
31、; 如果電路板空間是首要考慮因素,低輸出噪聲十分重要,或者系統(tǒng)要求對輸入電壓變化和負(fù)載瞬變做出快速響應(yīng),則應(yīng)使用LDO穩(wěn)壓器。LDO功效比較低(因為是線性穩(wěn)壓器),只能提供中低輸出電流。輸入電容通??梢越档蚅DO輸入端的電感和噪聲。LDO輸出端也需要電容,用來處理系統(tǒng)瞬變,并保持系統(tǒng)穩(wěn)定性。也可以使用雙輸出LDO,同時為VCCINT和VCCO供電。 </p><p> 如果在設(shè)計中效率至關(guān)重要,并且系統(tǒng)要求高
32、輸出電流,則開關(guān)式穩(wěn)壓器占優(yōu)勢。開關(guān)電源的功效比高于LDO,但其開關(guān)電路會增加輸出噪聲。與LDO不同,開關(guān)式穩(wěn)壓器需利用電感來實現(xiàn)DC-DC轉(zhuǎn)換。 </p><p> FPGA的配電結(jié)構(gòu)分為集中式電源結(jié)構(gòu)和分布式電源結(jié)構(gòu)。</p><p> 2.2.4 FPGA芯片結(jié)構(gòu)</p><p> 目前主流的FPGA仍是基于查找表技術(shù)的,已經(jīng)遠(yuǎn)遠(yuǎn)超出了先前版本的基本性
33、能,并且整合了常用功能(如RAM、時鐘管理和DSP)的硬核(ASIC型)模塊。如圖2-2所示(注:圖2-2只是一個示意圖,實際上每一個系列的FPGA都有其相應(yīng)的內(nèi)部結(jié)構(gòu)),F(xiàn)PGA芯片主 要由7部分完成,分別為:可編程輸入輸出單元、基本可編程邏輯單元、完整的時鐘管理、嵌入塊式RAM、豐富的布線資源、內(nèi)嵌的底層功能單元和內(nèi)嵌專用硬件模塊。</p><p> 圖2-2 FPGA芯片的內(nèi)部結(jié)構(gòu)</p>
34、<p> 2.2.5 FPGA的基本特點</p><p> 1)采用FPGA設(shè)計ASIC電路(專用集成電路),用戶不需要投片生產(chǎn),就能得到合用的芯片。 </p><p> 2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。 </p><p> 3)FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳。 </p><p> 4
35、)FPGA是ASIC電路中設(shè)計周期最短、開發(fā)費用最低、風(fēng)險最小的器件之一。 </p><p> 5) FPGA采用高速CMOS工藝,功耗低,可以與CMOS、TTL電平兼容。 </p><p> 可以說,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。 </p><p> FPGA是由存放在片內(nèi)RAM中的程序來設(shè)置其工作狀態(tài)的,因此,工作時需要對片
36、內(nèi)的RAM進(jìn)行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。 </p><p> 加電時,F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進(jìn)入工作狀態(tài)。掉電后,F(xiàn)PGA恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,F(xiàn)PGA能夠反復(fù)使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當(dāng)需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片F(xiàn)PGA
37、,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活。 </p><p> 2.2.6 PGA主要生產(chǎn)廠商</p><p><b> 1.Altera </b></p><p><b> 2.Xilinx </b></p><p><b> 3.Actel &l
38、t;/b></p><p> 4.Lattice </p><p><b> 5.a(chǎn)tmel </b></p><p> 其中Altera作為世界老牌可編程邏輯器件的廠家,是可編程邏輯器件的發(fā)明者,開發(fā)軟件MAX+PLUSII和QuartusII。Xilinx是FPGA的發(fā)明者,擁有世界一半以上的市場,提供90%的高端65nmFPG
39、A產(chǎn)品,開發(fā)軟件為ISE。Actel主要提供非易失性FPGA,產(chǎn)品主要基于反熔絲工藝和FLASH工藝,其產(chǎn)品主要用于軍用和宇航。 </p><p> 2.3 DS18B20簡介</p><p> DS18B20的測量溫度范圍為 -55°C~+125°C,在-10~+85°C范圍內(nèi),精度為±0.5°C。DS1822的精度較差為±
40、; 2°C 。現(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設(shè)備或過程控制、測溫類消費電子產(chǎn)品等。與前一代產(chǎn)品不同,新的產(chǎn)品支持3V~5.5V的電壓范圍,使系統(tǒng)設(shè)計更靈活、方便。而且新一代產(chǎn)品更便宜,體積更小。 </p><p> DS1820 、DS18B20、 DS1822 、一樣都支持“一線總線”接口。</p>&l
41、t;p> DS1822與 DS18B20軟件兼容,是DS18B20的簡化版本。省略了存儲用戶定義報警溫度、分辨率參數(shù)的EEPROM,精度降低為±2°C,適用于對性能要求不高,成本控制嚴(yán)格的應(yīng)用,是經(jīng)濟(jì)型產(chǎn)品。DS18B20的性能是新一代產(chǎn)品中最好的。</p><p> 2.3.1 DS18B20內(nèi)部結(jié)構(gòu)</p><p> DS18B20的內(nèi)部結(jié)構(gòu)如圖2-3
42、所示,主要由以下幾部分組成:64位ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH(溫度高)和TL(溫度低)、配置寄存器、暫存寄存器(SCRATCHPAD)、存儲器控制邏輯。DQ為數(shù)字信號輸入/輸出端。</p><p> 圖2-3 DS18B20的內(nèi)部結(jié)構(gòu)框圖</p><p> ROM中的64(8位產(chǎn)品家族編號、48位ID號、8位CRC)位序列號是出廠前刻好的,這64位序列號具有惟一性
43、,每個DS18B20的64位序列號均不相同。</p><p> 8位CRC生成器可以完成通信時的校驗。</p><p> 暫存寄存器有9個字節(jié),包含溫度測量結(jié)果、溫度報警寄存器、CRC校驗碼等內(nèi)容。</p><p> 64位光刻ROM ,可以看作是DS18B20的地址序列號,如表一所示。</p><p> 表 一 64位RO
44、M</p><p> 高速暫存器RAM共占0、1兩個單元,如表二所示:</p><p><b> 表 二</b></p><p> 兩個8位的RAM中,存放二進(jìn)制的數(shù),高五位是符號位,如果溫度大于0OC,這五位數(shù)為0,將測到的數(shù)值乘以0.0625,即得到實際的溫度值;如果溫度小于0OC,高五位為1,測到的數(shù)值需要取反加1,再乘以0.06
45、25 ,才得到實際的溫度值。</p><p> 九個寄存器的名稱及作用,如表三所示:</p><p><b> 表 三</b></p><p> 2.3.2 DS18B20的引腳</p><p> DS18B20的引腳圖如圖2-4所示:</p><p> 圖2-4 DS18
46、B20引腳圖</p><p> 1、 GND為電源地</p><p> 2、 DQ為數(shù)字信號輸入/輸出端</p><p> 3、VDD為外接供電電源輸入端(在寄生電源接線方式時接地)。</p><p> 2.3.3 應(yīng)用背景</p><p> 測量溫度的關(guān)鍵是溫度傳感器。隨著技術(shù)飛速發(fā)展,傳感器已進(jìn)入第三代
47、數(shù)字傳感器。本測溫系統(tǒng)采用的DS18B20就是屬于這種傳感器。DS18B20是美國DALLAS半導(dǎo)體公司生產(chǎn)的單總線數(shù)字溫度傳感器,它可以實現(xiàn)數(shù)字化輸出和測試,并且有控制功能強、傳輸距離遠(yuǎn)、抗干擾能力強、接口方便、微功耗等優(yōu)點,因而被廣泛應(yīng)用在工業(yè)、農(nóng)業(yè)、軍事等領(lǐng)域的控制儀器、測控系統(tǒng)中。</p><p> 2.3.4 控制方法</p><p> DS18B20的操作是通過執(zhí)行操作命
48、令實現(xiàn)的, 其控制程序是按照DS18B20的通訊協(xié)議編制的。單片機與DS18B20交換數(shù)據(jù),CPU按照單總線協(xié)議在總線上產(chǎn)生復(fù)位時序和讀寫時序來實現(xiàn)的。其中包含復(fù)位脈沖、響應(yīng)脈沖、讀、寫時序,只有響應(yīng)脈沖是DS18B20發(fā)出的,其他都有單片機發(fā)出。時序的具體要求如下:</p><p> ?。?) 復(fù)位脈沖:單片機發(fā)出一個寬為480—960μs的負(fù)脈沖之后再發(fā)出5—60μs的正脈沖,此時DS18
49、B20會發(fā)出一個60—240μs的響應(yīng)脈沖,復(fù)位時序結(jié)束。也就是呼應(yīng)階段。</p><p> ?。?) 寫時間片:寫一位二進(jìn)制的信息,周期至少為61μS,其中含1μS的恢復(fù)時間,單片機啟動寫程序后15—60μs期間DS18B20自動采樣數(shù)據(jù)線,低電平為“0”,高電平為“1”。單片機寫“0”時,要持續(xù)低電平60—120μs,寫“1”時,要在啟動后15μs之內(nèi)使數(shù)據(jù)線變?yōu)楦唠娖健?lt;/p>&l
50、t;p> (3) 讀時間片:讀一位二進(jìn)制數(shù)據(jù),周期及恢復(fù)時間要求與寫時間片相同。單片機啟動讀時序之后,至少保持1μs低電平,然后在接近啟動后15μs之前讀入數(shù)據(jù)。低電平為“0”,高電平為“1”。</p><p> (4) ROM 操作命令的執(zhí)行:</p><p> 在 ROM 操作命令中,有兩條命令專門用于獲取傳感器序列號:讀R
51、OM命令(33H)和搜索ROM命令(FOH)。讀ROM命令只在總線上只有一個傳感器的情況下使用。具體 的 搜 索過程為:(1)單片機發(fā)出復(fù)位脈沖進(jìn)行初始化,連接在P3。5口上的傳感器則發(fā)出存在脈沖做出響應(yīng)。(2)單片機在單總線上發(fā)出搜索ROM命令。(3)單片機從單總線上讀一位數(shù)據(jù)。ds18b20的工作時序分別有初始化時序、寫時序、讀時序、轉(zhuǎn)換時序等,根據(jù)傳感器的這些時序要求編寫出子程序、主程序。ROM與RA
52、M操作命令及代碼如表二所示:</p><p> 表 二 ROM 與RAM操作命令及代碼 </p><p> 2.4 1602簡介</p><p> 2.4.1 液晶及液晶顯示的介紹</p><p> 液晶(Liquid Crystal)是一種介于固態(tài)和液態(tài)之間的物質(zhì),是具有規(guī)則性分子排列的有機化合物。如果把它加熱會呈現(xiàn)透明的液體
53、狀態(tài),把它冷卻則會出現(xiàn)結(jié)晶顆粒的混濁固體狀態(tài)。液晶按照分子結(jié)構(gòu)排列的不同分為三種:類似粘土狀的Smectic液晶,類似細(xì)火柴棒的Nematic液晶和類似膽固醇狀的Cholestic液晶。這三種液晶的物理特性各不相同,用于液晶顯示器的是第二類的Nematic液晶,采用此類液晶制造的液晶顯示器被稱為了LCD(Liquid Crystal Display)。</p><p> 液晶顯示模塊是一種將液晶顯示器件、連接件
54、、集成電路、PCB線路板、背光源、結(jié)構(gòu)件裝配在一起的組件.英據(jù)我國有關(guān)國家標(biāo)準(zhǔn)的規(guī)定:只有不可拆分的一體化部件才稱為“模塊”,可拆分的叫作“組件”。所以規(guī)范的叫法應(yīng)稱為“液晶顯示組件”。但是由于長期以來人們都已習(xí)慣稱其為“模塊”。</p><p> 液晶顯示器件是一種高新技術(shù)的基礎(chǔ)元器件,雖然其應(yīng)用巳很廣泛,但對很多人來說,使用、裝配時仍感到困難。特別是點陣型液晶顯示器件,使用者更是會感到無從下手.特殊的連接方
55、式和所需的專用設(shè)備也非人人了解和具備,故此液晶顯示器件的用戶希望有人代勞,將液晶顯示器件與控制、驅(qū)動集成電路裝在一起,形成一個功能部件,用戶只需用傳統(tǒng)工藝即可將其裝配成一個整機系統(tǒng)。</p><p> 從廣義上說,凡是由液晶顯示器件和集成電路裝配在一起的部件都屬于“模塊”,但實際上我們通常所說的“模塊”主要是指點陣液晶顯示器件裝配的點陣液晶顯示模塊,特別因為是點陣液晶顯示器件產(chǎn)品除某些專用大批量的一些品種(如翻
56、譯機、通訊用),生產(chǎn)廠家是直接向用戶供應(yīng)液晶顯示器件外,幾乎所有通用型點陣液晶顯示器件都是加工成模塊后才供給用戶的,所以很容易形成“液晶模塊”就是“點陣液晶模塊”的誤解。</p><p> 2.4.2 1602引腳</p><p> 1602工作時顯示如圖2-5所示:</p><p> 圖 2-5 1602工作顯示圖</p><p>
57、 由圖2-5可知1602采用標(biāo)準(zhǔn)的藍(lán)底白字,標(biāo)準(zhǔn)型16X2液晶顯示字符模塊(背光/藍(lán)屏),由于實訓(xùn)時間較匆忙,顯示效果記錄不太清楚,但總體效果還是好的。</p><p> 1602引腳如圖2-6所示:</p><p> 圖2-6 1602引腳圖</p><p> 編號 符號 引腳說明 編號 符號 引腳說明 </p><p
58、> 1 VSS 電源地 9 D2 數(shù)據(jù) </p><p> 2 VDD 電源正極 10 D3 數(shù)據(jù) </p><p> 3 VL 液晶顯示偏壓 11 D4 數(shù)據(jù) </p><p> 4 RS 數(shù)據(jù)/命令選擇 12 D5 數(shù)據(jù)
59、</p><p> 5 R/W 讀/寫選擇 13 D6 數(shù)據(jù) </p><p> 6 E 使能信號 14 D7 數(shù)據(jù) </p><p> 7 D0 數(shù)據(jù) 15 BLA 背光源正極 </p><p> 8 D1
60、 數(shù)據(jù) 16 BLK 背光源負(fù)極 </p><p> 1602LCD 采用標(biāo)準(zhǔn)的 16腳(帶背光)接口,各引腳接口說明如表 四所示: </p><p> 表 四:引腳接口說明表</p><p> 第 1 腳:VSS 為地電源。 </p><p> 第 2 腳:VDD接 5V正電源。 </p>
61、<p> 第 3 腳:VL為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對</p><p> 比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個 10K 的電位器調(diào)整對比度。 </p><p> 第 4 腳:RS 為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。 </p><p> 第 5 腳:R/W 為讀寫信號線,高
62、電平時進(jìn)行讀操作,低電平時進(jìn)行寫操作。當(dāng) RS和 R/W</p><p> 共同為低電平時可以寫入指令或者顯示地址,當(dāng) RS 為低電平 R/W 為高電平時可以讀忙信號,當(dāng) RS 為高電平 R/W為低電平時可以寫入數(shù)據(jù)。 </p><p> 第 6 腳:E端為使能端,當(dāng) E 端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。 </p><p> 第 7~14腳:D0~
63、D7為 8 位雙向數(shù)據(jù)線。 </p><p> 第 15腳:背光源正極。 </p><p> 第 16腳:背光源負(fù)極。</p><p> 2.4.3 主要技術(shù)指標(biāo)</p><p> 1602LCD 分為帶背光和不帶背光兩種,基控制器大部分為 HD44780,帶背光的比不帶背光</p><p> 的厚,是否帶
64、背光在應(yīng)用中并無差別</p><p> 1602LCD 主要技術(shù)參數(shù): </p><p> 顯示容量:16×2 個字符 </p><p> 芯片工作電壓:4.5—5.5V </p><p> 工作電流:2.0mA(5.0V) </p><p> 模塊最佳工作電壓:5.0V </p>
65、<p> 字符尺寸:2.95×4.35(W×H)mm </p><p> 2.4.4 LCD指令</p><p> 1602LCD 內(nèi)部顯示地址 如圖2-7所示:</p><p> 圖2-7 1602LCD 內(nèi)部顯示地址</p><p> LCD光標(biāo)定位不可以直接寫入字符地址,需寫入電平要求。例如第
66、二行第一個字符的地址是 40H,那么是否直接寫入 40H 就可以將光標(biāo)定位在第二行第一個字符的位置呢?這樣不行,因為寫入顯示地址時要求最高位 D7恒定為高電平 1 所以實際寫入的數(shù)據(jù)應(yīng)該是 01000000B(40H)+10000000B(80H)=11000000B(C0H)。 </p><p> 在對液晶模塊的初始化中要先設(shè)置其顯示模式,在液晶模塊顯示字符時光標(biāo)是自動右移的,無需人工干預(yù)。每次輸入指令前都要
67、判斷液晶模塊是否處于忙的狀態(tài)。 </p><p> 1602 液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了 160 個不同的點陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是 01000001B (41H),顯示時模塊把地址 41H中的點陣字符圖形顯示出來,我們就能看到字母“A”。</p><
68、;p><b> 2.5 按鍵</b></p><p> 按鍵在數(shù)字電路設(shè)計中經(jīng)常用到。按鍵的彈跳現(xiàn)象是數(shù)字系統(tǒng)設(shè)計中存在的客觀問題。按鍵是機械觸點,當(dāng)接觸點斷開或閉合時會產(chǎn)生抖動。為使每一次按鍵只做一次響應(yīng),就必須去除抖動。本次實訓(xùn)對按鍵的抖動信號進(jìn)行了分析,并通過計數(shù)器的方式完成了消除抖動電路模塊的設(shè)計。把該模塊應(yīng)用到按鍵控制LCD顯示的系統(tǒng)中,并在Memec代理的Virtex
69、-4 MB系統(tǒng)實驗板上實現(xiàn)了該系統(tǒng)。消抖電路的效果良好,按鍵控制LCD顯示結(jié)果正常。</p><p> 按鍵開關(guān)是電子設(shè)備人機交互的主要器件之一。按鍵大多是機械式開關(guān)結(jié)構(gòu),由于機械式開關(guān)的核心部件為彈性金屬簧片,因而在開關(guān)切換的瞬間會在接觸點出現(xiàn)來回彈跳的現(xiàn)象。對于靈敏度比較高的電路,這種彈跳現(xiàn)象引起的信號抖動會造成誤動作而影響到系統(tǒng)的正確性。因此,我們需要設(shè)計按鍵彈跳消除電路來去除抖動.。</p>
70、<p> 2.5.1 彈跳消除電路的原理和功能</p><p> 按鍵開關(guān)的典型連線分為低電平有效和高電平有效,本文的是低電平有效。 </p><p> 機械開關(guān)的抖動存在三種情況:按下時有抖動,松開時也有抖動;按下時有抖動,松開時無抖動;按下時無抖動,松開時有抖動。機械開關(guān)的抖動波形、抖動次數(shù)、抖動時間都是隨機的,并不是每次都會產(chǎn)生抖動。 </p>&
71、lt;p> 不同開關(guān)的最長抖動時間也不同。抖動時間的長短和機械開關(guān)特性有關(guān),一般為5ms到10ms。但是,某些開關(guān)的抖動時間長達(dá)20ms,甚至更長。所以,在具體設(shè)計中要具體分析,根據(jù)實際情況來調(diào)整設(shè)計。 </p><p> 彈跳現(xiàn)象以及彈跳消除如圖2-8 所示,雖然只是按下按鍵一次后放掉,結(jié)果在按鍵信號穩(wěn)定先后竟出現(xiàn)了多個段脈沖,如果將這樣的信號直接送到計數(shù)器之類的時序電路,結(jié)果將可能發(fā)生計數(shù)超過一次以
72、上的誤動作,從而誤以為鍵盤按了多次。因此,必須加上彈跳消除電路,除去短脈沖,避免誤操作的發(fā)生。 </p><p> 圖 2-8 彈跳現(xiàn)象及消除圖</p><p> 2.5.2 按鍵彈跳消除模塊的實現(xiàn) </p><p> 為了使按鍵彈跳消除模塊的更加簡潔,并且移植性好,在此用計數(shù)器的方式實現(xiàn)消除按鍵抖動的功能。 </p><p>
73、計數(shù)器模值的確定是按鍵彈跳消除效果的關(guān)鍵問題,如果值過大,即采樣時間過長,就會漏掉正確的信號;如果值過小,采樣時間過短,則會將毛刺誤認(rèn)為是輸入信號。 </p><p> 計數(shù)器的模值n根據(jù)抖動信號的脈沖寬度和采樣信號clk的周期大小決定。根據(jù)一般人按鍵的速度小于10Hz(每秒小于10次),所以按鍵時間大于100ms,按占空比50%計算,按下的時間大于50ms。按這種約定,我們認(rèn)為按下的時間小于50ms的為抖動信
74、號,按下的時間大于50ms的是按鍵信號。即n=50ms/采樣脈沖信號周期,這樣就可以把按下的時間小于50ms的抖動信號濾掉。 </p><p> 在此,根據(jù)實驗板提供的系統(tǒng)時鐘來確定實際需要的模值。實驗板提供的系統(tǒng)時鐘為100mHz,通過分頻后得到25mHz的時鐘,50ms*25mHz得到count的模值為21’h1312D0。采用這個模值得到的消抖時間大約為50ms,符合要求。 </p><
75、;p> 2.5.3 彈跳消除模塊的實際應(yīng)用</p><p> 利用Memec virtex-4 開發(fā)板,通過開發(fā)板上的按鈕輸入8位的01控制代碼,用開發(fā)板上的開關(guān)輸入狀態(tài)控制位,從而控制板上的1602 C型字符型液晶模塊的顯示模式和內(nèi)容。 </p><p> LCD控制信號生成模塊:根據(jù)按鈕輸入,產(chǎn)生控制顯示模塊的8位控制信號。對按鈕送入該模塊的1位(0/1)信號進(jìn)行保存并進(jìn)
76、行轉(zhuǎn)換,使每8次輸入形成一個8位的信號。如果輸入不滿8位或需重新輸入,則取消上次結(jié)果;如果確定輸入結(jié)果正確,則將8位信號保存并輸出。 </p><p> LCD顯示控制模塊:完成1602 C型字符型液晶模塊的初始化,并根據(jù)控制信號完成狀態(tài)轉(zhuǎn)換。</p><p><b> 第3章 軟件設(shè)計</b></p><p> 3.1 設(shè)計流程圖&
77、lt;/p><p> 由實訓(xùn)要求可以得到該系統(tǒng)的程序流程圖如圖3-1所示。</p><p> 圖 3-1 程序流程圖 </p><p> 3.2 分頻電路 </p><p> 分頻器是數(shù)字電路中常用的電路之一,用VHDL語言設(shè)計分頻器的關(guān)鍵是輸出電平翻轉(zhuǎn)的時機。通過計數(shù)方式進(jìn)行輸出電平的翻轉(zhuǎn)是常用的設(shè)計方法。分頻器分為偶數(shù)分頻器
78、和奇數(shù)分頻器。分頻器的作用是對輸入的時鐘進(jìn)行分頻,得到想要的或系統(tǒng)需要的時鐘頻率。本次實訓(xùn)是對20MHz的時鐘頻率進(jìn)行分頻,得到200Hz的時鐘頻率。分頻的波形仿真如圖3-2所示:</p><p> 圖 3-2 分頻波形仿真</p><p> 3.3 彈跳消除電路</p><p> 機械開關(guān)存在抖動且抖動波形、抖動次數(shù)、抖動時間都是隨機的,并不是每次都
79、會產(chǎn)生抖動, 不同開關(guān)的最長抖動時間也不同。因此在使用按鍵的電路中,都需要加上彈跳消除電路,除去短脈沖,避免誤操作的發(fā)生。彈跳消除電路的波形仿真如圖3-3所示:</p><p> 圖3-3 彈跳消除電路波形仿真圖</p><p><b> 3.4 按鍵電路</b></p><p> 按鍵是直接用I/O口線構(gòu)成的單個按鍵電路。每個按鍵
80、單獨占有一根I/O口線,每根I/O口線的工作狀態(tài)不會影響其他I/O口線的工作狀態(tài),這是一種最簡單易懂的結(jié)構(gòu)。按鍵電路結(jié)構(gòu)中每根I/O口上都加上了上拉電阻。</p><p> 按鍵電路配置靈活,硬件結(jié)構(gòu)簡單,但每個按鍵必須占用一根I/O線,在按鍵數(shù)量較多時,I/O口線浪費較大。故只在案件數(shù)量不多時采用這種按鍵電路。</p><p> 在此電路中,按鍵具有模式、上升(下降)、復(fù)位和確定四個
81、功能。按鍵輸入都設(shè)置為低電平有效,上拉電阻保證了按鍵斷開時,I/O口線有確定的高電平。按鍵電路波形仿真如圖3-3所示:</p><p> 圖3-3 按鍵波形仿真圖</p><p> 3.5 LED電路</p><p> LED是一種顯示器,作為輸出設(shè)備,用來顯示運算結(jié)果。LED顯示器具有耗電省、配置靈活、線路簡單、安裝方便、耐振動、壽命長等優(yōu)點。LED顯示器
82、是由發(fā)光二極管顯示字段的顯示器件,也可稱為數(shù)碼管。本次實訓(xùn)中,LED電路即兩個發(fā)光二極管(分別為紅色和綠色)。系統(tǒng)預(yù)設(shè)置了上限溫度與下限溫度,當(dāng)系統(tǒng)顯示溫度超過上限溫度時,紅燈亮;系統(tǒng)顯示溫度低于下限溫度時,綠燈亮。LED電路波形仿真如圖3-4所示:</p><p> 圖 3-4 LED電路波形仿真圖</p><p> 第4章 系統(tǒng)調(diào)試</p><p>
83、 4.1 硬件結(jié)果</p><p> 焊接的電路板如圖4-1所示: </p><p> 圖 4-1 電路板實圖</p><p> 四個按鍵分別接一個上拉電阻。兩個發(fā)光二極管分別于三極管相接。中間是FPGA芯片的兩列排針,調(diào)試時要插入EP1C3T144C8芯片。左上角八引腳的插座用來插入DS18B20芯片,實現(xiàn)溫度轉(zhuǎn)換。右上角16引腳的排針用來插入16
84、02液晶顯示芯片,實現(xiàn)溫度的顯示。</p><p><b> 4.2 調(diào)試結(jié)果</b></p><p> 芯片編程加載之后,開啟電源,觀察調(diào)試現(xiàn)象。因個人電路板焊接不同,故每個人進(jìn)行的管腳定義也不同,加載時要因人而異。當(dāng)室溫為20℃時,液晶顯示為19.4℃如圖4-2所示:</p><p> 圖 4-2 調(diào)試后液晶顯示圖</p>
85、;<p><b> 4.3 調(diào)試分析</b></p><p> 調(diào)試時,多次改變室內(nèi)溫度得到不同結(jié)果,記錄為表五。</p><p><b> 表五 溫度比較</b></p><p> 由表可知,系統(tǒng)調(diào)試存在誤差,但在誤差允許范圍內(nèi)。產(chǎn)生誤差的原因有改變室溫的間隔太短,系統(tǒng)反應(yīng)不夠靈敏,系統(tǒng)本身存
86、在問題,可調(diào)電阻阻值調(diào)節(jié)不適,外界環(huán)境的影響。</p><p><b> 結(jié)論</b></p><p> 本次實訓(xùn)為期一周,與以前實訓(xùn)不同之處在于本次實訓(xùn)采用的是分組合作方式,每個人負(fù)責(zé)不同的部分,分工明確,效率高。雖然是分工合作,但是我們小組的每個成員依然對實驗整體流程有深入的了解。</p><p> 本次課程設(shè)計總共分為以下幾個部分:
87、資料的收集、硬件原理圖繪畫、電路板焊接、軟件編程、軟件原理圖繪畫及系統(tǒng)調(diào)試。我們小組共五個人,每個人負(fù)責(zé)不同的部分,我主要負(fù)責(zé)的是焊接電路板。焊接時需要用到好多線子,老師要求我們先把電路圖畫出來再焊接電路板,允許上網(wǎng)查些資料,然后根據(jù)查的資料準(zhǔn)確的進(jìn)行焊接。對于自己焊接的電路對我而言是個鍛煉,要考驗我的專業(yè)知識了,還有要了解按鍵各個腳的工作的原理、按鍵的功能,焊接時應(yīng)注意哪些等。在此過程中,每個人都想自己的方案得到實現(xiàn),積極向同學(xué)說明自
88、己的想法。能過比較選出最好的方案。在這過程也提高了我們的表現(xiàn)能力。</p><p> 本次實訓(xùn)進(jìn)行模塊化設(shè)計,實現(xiàn)了彈跳消除電路模塊、1602液晶顯示模塊、DS18B20溫度轉(zhuǎn)換模塊和按鍵模塊組成的系統(tǒng)的具體功能,在實驗板上運行效果良好。但是在這次課程設(shè)計過程中,我們還是遇到了各種各樣的問題。首先是電路板的焊接,因為原理不太清楚,出現(xiàn)理解錯誤,造成線路連接問題,需要重新焊接;其次是編程的問題,有些程序自己不會編
89、寫,或者在網(wǎng)上查到資料后卻不會改編,;還有調(diào)試的步驟問題,調(diào)試時連線問題。以上問題,在小組成員討論后,基本解決,有些沒討論出結(jié)果的問題,在向同學(xué)和老師請教后也都一一解決。</p><p> 經(jīng)過本次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實際相結(jié)合起來。還有就是不能脫離于他人獨自存在,。雖然本次實訓(xùn)時間很多,但是我們卻學(xué)到了很多專業(yè)知識,更學(xué)到了書本以外為人
90、處事的態(tài)度,對自己以后的生活與學(xué)習(xí)有很大幫助。同時,還要謝謝同學(xué)及老師的幫助,才能使本次課程設(shè)計成功完成。</p><p><b> 參考文獻(xiàn)</b></p><p> 潘松,黃繼業(yè). EDA技術(shù)實用教程. 北京:科學(xué)出版社,2002</p><p> 焦素敏. EDA應(yīng)用技術(shù). 北京:清華大學(xué)出版社,2005</p>
91、<p> 江國強. EDA技術(shù)與應(yīng)用. 北京:電子工業(yè)出版社,2005</p><p> 金西. VHDL與復(fù)雜數(shù)字系統(tǒng)設(shè). 西安:西安電子科技大學(xué)出版社,2003</p><p> 王振紅. VHDL數(shù)字電路設(shè)計與應(yīng)用實踐教程. 北京:電子工業(yè)出版社,2005</p><p> 伊常永, EDA技術(shù)與數(shù)字系統(tǒng)設(shè)計. 西安:西
92、安電子科技大學(xué)出版社,2007</p><p> www.baidu.com</p><p><b> 附錄</b></p><p><b> 分頻-------</b></p><p> library ieee;</p><p> use ieee.std_lo
93、gic_1164.all;</p><p> use ieee.std_logic_arith.all; </p><p> use ieee.std_logic_unsigned.all;</p><p> entity FP2 is</p><p> port (clk20M : in std_logic; &
94、lt;/p><p> CLK10M : buffer std_logic ;</p><p> clk200hz : buffer std_logic);</p><p><b> end fp2;</b></p><p> architecture behav of fp2 is</p>
95、<p> signal temp:integer range 0 to 8000;</p><p><b> begin</b></p><p> process(clk20m)</p><p><b> begin</b></p><p> if clk20m'even
96、t and clk20m='1' then</p><p> clk10m<=not clk10m;</p><p><b> end if;</b></p><p> end process;</p><p> process(clk20m)</p><p><
97、;b> begin</b></p><p> if clk20m'event and clk20m='1' then</p><p> if temp<7999 then</p><p> temp<=temp+1;</p><p><b> else</b>
98、;</p><p><b> temp<=0;</b></p><p> clk200hz<=not clk200hz;</p><p> end if; end if;</p><p> end process;</p><p> end behav;</p>
99、<p> -----------------------------------------------------------------</p><p> library IEEE;</p><p> use IEEE.STD_LOGIC_1164.ALL;</p><p> use IEEE.STD_LOGIC_ARITH.ALL;<
100、/p><p> use IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> entity temperature is</p><p><b> port</b></p><p> (clk10m: in std_logic;</p><p> temper10,te
101、mper1,temp0: out std_logic_vector(3 downto 0);</p><p> wireout: inout std_logic);</p><p> end temperature;</p><p> architecture Behavioral of temperature is</p><p>
102、 type tate_type is (s0,s1,s2,s3,s4,s5,s6,s7,w0,w3,w1,w2,read0,read1,read2,read3);</p><p> signal state: state_type;</p><p> signal clk20m:std_logic;</p><p> signal temp1:intege
103、r range 0 to 10;</p><p> signal temp: std_logic_vector( 15 downto 0);</p><p> signal reset,CLK1m: std_logic; </p><p> signal i: integer range 0 to 1000000;</p><p
104、><b> begin</b></p><p> clk20m<=clk10m;</p><p> process(temp)</p><p> variable wd:integer range 0 to 99;</p><p> variable wd10,wd1,wd0:integer ran
105、ge 0 to 9;</p><p><b> begin</b></p><p> wd:=conv_integer(temp(15 downto 4));</p><p> wd1:=0;wd0:=0;wd10:=0;</p><p> if wd>9 then</p><p>
106、 wd:=wd-10;</p><p> wd10:=wd10+1;</p><p><b> end if;</b></p><p> if wd>9 then</p><p> wd:=wd-10;</p><p> wd10:=wd10+1;</p><
107、p><b> end if;</b></p><p> if wd>9 then</p><p> wd:=wd-10;</p><p> wd10:=wd10+1;</p><p><b> end if;</b></p><p> if wd>
108、;9 then</p><p> wd:=wd-10;</p><p> wd10:=wd10+1;</p><p><b> end if;</b></p><p> if wd>9 then</p><p> wd:=wd-10;</p><p> w
109、d10:=wd10+1;</p><p><b> end if;</b></p><p> if wd>9 then</p><p> wd:=wd-10;</p><p> wd10:=wd10+1;</p><p><b> end if;</b><
110、;/p><p> if wd>9 then</p><p> wd:=wd-10;</p><p> wd10:=wd10+1;</p><p><b> end if;</b></p><p><b> wd1:=wd;</b></p><p
111、> case temp(3 downto 0) is</p><p> when "0000"=>wd0:=0;</p><p> when "0001"=>wd0:=1;</p><p> when "0010"=>wd0:=1;</p><p>
112、 when "0011"=>wd0:=2;</p><p> when "0100"=>wd0:=3;</p><p> when "0101"=>wd0:=3;</p><p> when "0110"=>wd0:=4;</p><p&
113、gt; when "0111"=>wd0:=4;</p><p> when "1000"=>wd0:=5;</p><p> when "1001"=>wd0:=5;</p><p> when "1010"=>wd0:=6;</p>&l
114、t;p> when "1011"=>wd0:=7;</p><p> when "1100"=>wd0:=8;</p><p> when "1101"=>wd0:=8;</p><p> when "1110"=>wd0:=9;</p>
115、<p> when "1111"=>wd0:=9;</p><p> when others=>null;</p><p><b> end case;</b></p><p> temper10<=conv_std_logic_vector(wd10,4);t</p>
116、<p> emper1<=conv_std_logic_vector(wd1,4);</p><p> temp0<=conv_std_logic_vector(wd0,4);</p><p> end process;</p><p> process(clk20m)</p><p><b> be
117、gin</b></p><p> if clk20m'event and clk20m='1' then</p><p> if temp1<4 then</p><p> temp1<=temp1+1;</p><p><b> else</b></p>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- eda課程設(shè)計報告
- eda課程設(shè)計報告
- eda課程設(shè)計報告
- eda課程設(shè)計報告
- eda交通燈課程設(shè)計報告(eda)
- eda課程設(shè)計報告--eda數(shù)字搶答器
- eda技術(shù)課程設(shè)計報告
- eda課程設(shè)計-- eda與數(shù)字系統(tǒng)課程設(shè)計
- eda數(shù)字秒表課程設(shè)計報告
- eda課程設(shè)計
- eda課程設(shè)計
- eda課程設(shè)計
- eda頻率計課程設(shè)計報告
- 游戲機eda課程設(shè)計報告
- eda課程設(shè)計報告--洗衣機
- 電子時鐘eda課程設(shè)計報告
- 數(shù)字鐘eda課程設(shè)計報告
- eda課程設(shè)計報告--數(shù)字鐘
- eda課程設(shè)計報告---頻率計
- eda課程設(shè)計報告---數(shù)字鐘設(shè)計
評論
0/150
提交評論