版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 郵電與信息工程學院</b></p><p><b> 課程設計說明書</b></p><p> 課題名稱: 電子設計自動化(EDA)課程設計 </p><p> 學生學號: </p>&
2、lt;p> 專業(yè)班級: </p><p> 學生姓名: </p><p> 學生成績: </p><p> 指導教師:
3、 </p><p> 課題工作時間: 2009.6.8 至 2009.6.19 </p><p><b> 目錄</b></p><p> 一、設計題目和要求-------------------------------------------------------------
4、----2</p><p> 二、設計思路--------------------------------------------------------------------------2</p><p> 三、單元模塊設計--------------------------------------------------------------------3</p>
5、<p> --------------------------------------------------------------------------------------------8</p><p> 3.1、FENPIN模塊設計-----------------------------------------------------(3,4)</p><p>
6、; 3.2、FIRST模塊設計------------------------------------------------------(4,5)</p><p> 3.3、JIANJISHU模塊設計------------------------------------------------(5,6)</p><p> 3.4、CHOICE和VIEW模塊設計----------
7、--------------------------------(7,8)</p><p> 四、硬件實驗---------------------------------------------------------------------------8</p><p> 五、心得體會-------------------------------------------------
8、--------------------------9</p><p> 附頁:程序代碼------------------------------------------------------------------------10</p><p> ------------------------------------------------------------------
9、---------------------------17</p><p><b> 一、設計題目和要求</b></p><p> 設計題目為:微波爐定時控制器</p><p> 要求:1、復位開關:</p><p><b> 啟動開關: </b></p><p>&
10、lt;b> 烹調時間設置: </b></p><p><b> 烹調時間顯示:</b></p><p><b> 七段碼測試:</b></p><p><b> 啟動輸出:</b></p><p> 按TEST鍵可以測試七段碼管,顯示為“8888”;
11、</p><p> 設定時間后,按啟動鍵開始烹調,同時七段碼顯示剩余時間,時間為0時,顯示烹調完成信息“CDEF”</p><p><b> 二、設計思路</b></p><p> A.先有一個大概的模塊設計,就如下圖:</p><p> 預設初值 倒計時減計數(shù) 輸出數(shù)據(jù)&
12、lt;/p><p> B:再在上面大模塊的基礎上進行改進</p><p><b> 增加復位端和測試端</b></p><p><b> 復位輸出數(shù)據(jù)</b></p><p> 預設 倒計時 實現(xiàn)閃爍</p><p> 初值 減計數(shù)<
13、;/p><p><b> 測試</b></p><p> C:具體的設計過程(中文):</p><p> 1、剛開始設計是先完成了FENPIN模塊的設計,因為這個模塊比較簡單。</p><p> 2、然后是對設初值大模塊的設計,在這一部分的設計有兩個方案:</p><p> ?。?)設計兩個按
14、鈕的初始化模塊,兩個按鈕分別提供一個移位信號和一個加信號;</p><p> ?。?)設計四個按鈕的初始話模塊,四個按鈕分別控制秒,十秒,分,十分這4</p><p> 兩個個數(shù)值的初始化;</p><p> 兩個方案都用了一下,發(fā)現(xiàn)還好是1號方案比較好,不僅程序上比較簡單而且省了很多按鈕的使用,比較符合實際應用的要求;</p><p>
15、 3、在完成了初始話模塊的設計之后,接下來就是減計數(shù)模塊的設計,只要把由初始化模塊所提供的數(shù)據(jù)進行減計數(shù)即可;</p><p> 4、在完成以上三個模塊時,程序已經(jīng)初見雛形了,然后把這三個模塊連接起來,添加上復位和測試按鈕就可以了;</p><p> 5、用動態(tài)掃描的方法對數(shù)據(jù)進行輸出,其中輸入數(shù)據(jù)是使相應的數(shù)據(jù)進行閃爍。</p><p><b>
16、 設計過程(英文):</b></p><p> 1、Began to is completed FENPIN module design, because it is simple.</p><p> 2、Then the initial set of design, the modules in this part of the design of two schemes
17、:</p><p> (1) Design two buttons initialization module,the two buttons to provide a shift signals and a signal;</p><p> (2) Design four buttons, four words buttons control module, 10 seconds,
18、the second is this, 4 both numerical initialization;</p><p> Two solutions are found well,the better one is 1, not only on the procedure is simple and save a lot of use, compared with button of the applicat
19、ion requirements,</p><p> 3、In the initial words module design, the next is reduced, just count the initialization module provided by the data can be reduced count,</p><p> 4、Completed above t
20、hree modules, the program has produced a prototype, and then connect the three modules, add the reset button and testing,</p><p> 5、The dynamic scanning methods of data output, which is in the input data to
21、 the corresponding data.</p><p><b> 三.單元模塊設計</b></p><p> 單元模塊設計部分主要有4部分組成:</p><p> ?。ㄒ唬?、FENPIN模塊,用于給后面的JIANJISHU模塊和VIEW模塊提供合適的頻率。</p><p> ?。ǘ?、FIRST模塊,用于設
22、定微波爐的初始時間而用。</p><p> ?。ㄈ?、JIANJISHU模塊,配合FENPIN模塊提供的時鐘頻率實現(xiàn)每秒減一的計數(shù)。</p><p> ?。ㄋ模?、CHOICE模塊和VIEW模塊,利用動態(tài)掃描的方法顯出對應數(shù)字。</p><p> ?。?)FENPIN模塊的設計</p><p> FENPIN模塊主要利用1Khz的時鐘信號進行
23、分頻。得到1s的outclk時鐘信號(用于后期JIANJISHU模塊的使用)和0.5s的screen的時鐘信號(用于VIEW的顯示閃爍使用)。</p><p> 說明:試驗箱上有1Khz,2Khz等多個時鐘信號。而在這里采用1Khz的信號使用。1Khz/1000=1s,所以采用1Khz進行千分頻得到1s的信號。</p><p><b> 實驗波形圖:</b>&l
24、t;/p><p> 每秒產(chǎn)生一個時鐘脈沖</p><p> ?。ǔ绦虼a見附錄。)</p><p> Move此時數(shù)碼管有輸出</p><p> Move選中時數(shù)碼管無輸出</p><p> ?。?)FIRST模塊設計</p><p> FIRST模塊主要用于對時間設定初始值而用,其中設有A
25、BLE和CLK兩時鐘信號,分別用于外接按鈕信號而用,其中CLK用于進行加計數(shù),ABLE用于移位而用。輸出o1,o2,o3和o4分別是輸出秒,十秒,分,十分。而輸出o5是為VIEW實現(xiàn)閃爍而用的。其中的RES和TEST要配合JIANJISHU模塊中的RES和TEST同時控制才能有效。</p><p><b> 波形圖仿真: </b></p><p> 每個上升沿都
26、會進行加計數(shù)</p><p> 當res和test為零時輸出分別是“0000”和“8888”</p><p> Able在每個脈沖到來是都會進行移位,而o5正好顯示出正在加的位數(shù)</p><p> 注意:編寫此段代碼是要注意秒位和分位都是記從1記到9然后進位自己變成0的,</p><p> 而十秒位和十分位是記到5然后變成0的。<
27、;/p><p><b> ?。ǔ绦虼a見后頁)</b></p><p> ?。?)JIANJISHU模塊的設計</p><p> JIANJISHU模塊的主要用于對FIRST的數(shù)據(jù)進行選擇性的處理和輸出:</p><p> (一)、當JIANJISHU模塊中的res=0時,由于res作為輸入同樣也連接這FRIST模塊中&
28、lt;/p><p> 的res,他們是由一個輸入共同控制的,所以此時輸出的就是“0000”;</p><p> ?。ǘ?、當JIANJISHU模塊中的test=0時,同res一樣的道理,此時輸出為“8888”;</p><p> ?。ㄈ?、當h4=15(輸出為F)或start=0時,LED就不會亮了,表示工作完成或處</p><p> 于等待
29、狀態(tài),此時不對FIRST模塊中的數(shù)據(jù)進行任何處理就直接輸出;</p><p> ?。ㄋ模?、在以上條件都不滿足的情況下,若此時start=1,那么JIANJISHU模塊才</p><p> 開始了真正的工作狀態(tài),即配合FENPIN模塊中時鐘outclk開始每秒減一的記時計數(shù);</p><p> 本程序中復位鍵res和test的詳細說明:</p>&l
30、t;p> 這里的res和test和模塊FRIST中的res和test是用同一個控制端,而且JIANJISHU的res和test是必不可少的。因為每次進行計數(shù)完后由于是利用信號進行減計數(shù),在記完一次數(shù)之后h1,h2,h3和h4都會保持最后一次的狀態(tài),如果不及時清零的話,那么下一次的res,test以及加計數(shù)就是只能對前一級的輸入進行復位和測試,輸出的將是前一級的各個位數(shù)減去h1,h2,h3和h4的值,所以在JIANJISHU模塊中
31、進行清零是十分重要的。</p><p><b> 波形圖仿真:</b></p><p> 輸入初值為“0015”</p><p> 當start=1時開始配合clks的始終上升沿開始減計數(shù)</p><p> 在各位都記到0時,就數(shù)碼管就會顯示 “FEDC”同時LED熄滅</p><p>
32、 這就是上次提到的復位是清零了所有的中間信號,這樣輸出為FIRST中提供原始數(shù)據(jù)</p><p><b> ?。ǔ绦虼a見后頁)</b></p><p> ?。?)CHOICE模塊和VIEW模塊</p><p> CHOICE模塊和VIEW模塊必須放在一起進行使用,CHOICE模塊是進行數(shù)據(jù)選則而使用的,VIEW模塊是用于在相應的位進行輸出對
33、應的數(shù),兩者和起來就是一個動態(tài)掃描的過程。</p><p> 說明:這里的clk時鐘信號是使用和FENPIN模塊中一樣的時鐘信號(1Khz),因為人</p><p> 的眼睛對時間的分辨為20個微秒,用1Khz的信號完全能滿足這樣的要求;要注意CHOICE有兩個輸出,o2顯然輸出的是對應的數(shù)據(jù)信號,而o1要輸出的是一個位選信號,是為下一個模塊VIEW顯示而用。</p>&
34、lt;p> A:CHOICE模塊;</p><p><b> B:VIEW模塊;</b></p><p> 說明:f1是接受位信號用的,f2是接受數(shù)據(jù)而用的。</p><p> 詳細說明一下screen和able的作用:</p><p> Screen是有FENPIN模塊通過對時鐘信號分頻得到的,當在模塊
35、FRIST選中某一</p><p> 進行加數(shù)初始化是,VIEW就可以在時鐘screen在為1是正常輸出able所指的那位,</p><p> 當screen為0時,able所指的那位不能對應輸出,這樣就能達到讓相應的數(shù)碼管閃爍</p><p><b> 的效果。</b></p><p><b> 波形
36、圖:</b></p><p> ?。?程序代碼見后頁)</p><p> 微波爐定時控制器組成原理圖:</p><p><b> 四.硬件實驗</b></p><p><b> 管腳設置</b></p><p> 注釋:Clk1:選用的是1Khz的信號;&
37、lt;/p><p> Clk2,Move,Rest,Testt:選用的是按鈕信號;</p><p> Startt:使用的是開關信號;</p><p> Lighto:LED輸出;</p><p><b> 五、心得體會</b></p><p> 這次EDA課程設計歷時兩個星期,在整整兩個星
38、期的日子里,可以說是苦多于甜,但是可以學的到很多很多的東西,同時不僅可以鞏固以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次設計,進一步加深了對EDA的了解,讓我對它有了更加濃厚的興趣。特別是當每一個子模塊編寫調試成功時,心里特別的開心。</p><p> 第一天剛開始的時候感覺很難,不知道怎么去做,怎么去編寫程序...好多的空白,特別是在老師不在EDA機房的情況下,只能自己看書查資料。仔細
39、讀過程序,發(fā)現(xiàn)其實復雜的程序都是由一些簡單的程序組成的,感覺看不懂是因為前面的基礎知識沒掌握好,對語法不熟悉就不能很好地理解程序的含義。</p><p> 在整個的設計過程中現(xiàn)在回頭好好回想一下我覺得還是有很多不足的,做任何事情起步的時候就應該有一個全局觀,但是剛開始由于我沒有考慮完全,在FIRST模塊種設計了有四個按鍵控制的初始化程序,之后發(fā)現(xiàn)這樣不僅程序非常的繁瑣,而且這種課設應該和實際好好聯(lián)系一下,有誰家
40、的微波爐就光是剛開始設定初值都有這么多按鈕,那么不僅難看而且比較耗資源,使用也不是最方便的,所以之后經(jīng)過分析后選擇了現(xiàn)在使用的由兩個按鈕就能事先數(shù)據(jù)初始化的功能。因此在以后的設計工作中也要學會有大局觀。</p><p> 同時在編寫復位和測試兩個按鍵的功能是遇到了比較大的麻煩,總是輸出一些莫名其妙的數(shù)據(jù),之后發(fā)現(xiàn)是由于在JIANJISHU模塊的中的中間信號沒有清零而導致的,這樣的一個遇到困難然后去解決這個問題的
41、過程讓我對中間信號有了比較深刻的理解。</p><p> 通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不
42、夠深刻,掌握得不夠牢固。</p><p> 總的來說,這次設計的數(shù)字秒表還是比較成功的,在設計中遇到了很多問題,最后在老師的辛勤的指導下,終于迎刃而解,有點小小的成就感,終于覺得平時所學的知識有了實用的價值,達到了理論與實際相結合的目的,不僅學到了不少知識,而且鍛煉了自己的能力,使自己對以后的路有了更加清楚的認識,同時,對未來有了更多的信心。</p><p> ?。ㄓ⑽模篢he EDA
43、 course design last for two weeks, in the days of suffering, it is more sweet, but can learn many things, also can not only learned before consolidation, and learned a lot of knowledge in the books have never learned bef
44、ore. Through the design, further deepened the understanding of EDA, let me has more interest for it. Especially when each one is written, especially when the successful commissioning of the time.</p><p> Th
45、e first day, I don't know how to do it, and how to write programs. A lot of blank, especially the teacher is not under the condition of the room, EDA only a check material. Carefully read the program, the program tha
46、t actually complex is composed by some simple procedure of feeling, don't understand just because the basic knowledge in front of grammar, didn't grasp not familiar with can well understand the meaning of program
47、..</p><p> In the design process is now turning to recall that I think there are still a lot of deficiencies, do anything when you start a broader view, but should be started because I haven't considere
48、d fully, we design the module in four key control initialize programs, and then found that the program is very detailed, and the class should have contact with real good, whose microwave oven is initialized just started
49、all have so many buttons, so not only ugly and comparison consumption of resources, use a</p><p> At the same time two buttons and writing test is met more trouble, always output of data that is due, in the
50、 middle of the JIANJISHU module and have no reset signal, such a difficult.Then go to solve the problem of middle signal process, let me have a profound understanding.</p><p> Through this course design mak
51、es me understand the combining theory with practice is very important, only the theoretical knowledge is not enough, only combine theories and practice, from theory combining concluded that can truly for the social servi
52、ce, so as to improve their practical ability and the ability of independent thinking. In the process of design problems, may be difficult, the first of all, hard to avoid can meet various problems in the process of desig
53、n, and found his shortcomings,</p><p> In general, the design of the digital stopwatch is successful in the design, met with many problems, at last, under the guidance of teachers hardly, and finally solved
54、, a small accomplishment, the final felt at ordinary times of knowledge has practical value to the combination of theory and practice, not only learned a lot of knowledge, and exercise our ability to make way for myself
55、a clearer understanding and have more confidence in the future. </p><p><b> 六、程序</b></p><p> —————————————微波爐定時控制器程序————————————</p><p> 第一部分:TOP(頂層文件)</p><
56、;p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity top is</p><p> port(rest,clk1,clk2,move,startt,te
57、stt:in std_logic;</p><p> lighto:out std_logic;</p><p> sel:out std_logic_vector(2 downto 0);</p><p> seg:out std_logic_vector(7 downto 0));</p><p><b> end;&l
58、t;/b></p><p> architecture three of top is</p><p> component fenpin is</p><p> port(clk:in std_logic; 分頻</p><p> outclk,screen:out std_logic);<
59、;/p><p> end component;</p><p> component first is</p><p> port(clk,able,res,test:in std_logic; 初始化數(shù)據(jù)</p><p> o1,o2,o3,o4,o5:out std_logic_vector
60、(3 downto 0));</p><p> end component;</p><p> component jianjishu is</p><p> port(clks,start,res,test:in std_logic;</p><p> in1,in2,in3,in4:in std_logic_vector(3 do
61、wnto 0); 減計數(shù)</p><p> light:out std_logic;</p><p> out1,out2,out3,out4:out std_logic_vector(3 downto 0));</p><p> end component;</p><p> component choice is
62、</p><p> port(clk:std_logic;</p><p> f1,f2,f3,f4:in std_logic_vector(3 downto 0);</p><p> o1:out std_logic_vector(1 downto 0); 位選</p><p> o2:out std_log
63、ic_vector(3 downto 0));</p><p> end component;</p><p> component view is</p><p> port(screen:in std_logic;</p><p> f1:in std_logic_vector(1 downto 0);</p>&l
64、t;p> f2,able:in std_logic_vector(3 downto 0); 顯示輸出</p><p> segout:out std_logic_vector(7 downto 0);</p><p> selout:out std_logic_vector(2 downto 0));</p><p> end comp
65、onent;</p><p> signal b,c,d,e,f,g,h,i,j:std_logic_vector(3 downto 0);</p><p> signal a,k:std_logic;</p><p> signal q:std_logic_vector(1 downto 0);</p><p> signal p:
66、std_logic_vector(3 downto 0);</p><p><b> begin</b></p><p> u1: fenpin port map (clk=>clk1,outclk=>a,screen=>k);</p><p> u2: first port map (clk=>clk2,res
67、=>rest,test=>testt,able=>move,</p><p> o1=>b,o2=>c,o3=>d,o4=>e,o5=>j);</p><p> u3:jianjishu port map (clks=>a,start=>startt,res=>rest,test=>testt,in1=>b,
68、in2=>c,</p><p> in3=>d,in4=>e,light=>lighto,out1=>f,out2=>g,out3=>h,out4=>i);</p><p> u4:choice port map (clk=>clk1,f1=>f,f2=>g,f3=>h,f4=>i,o1=>q,o2=
69、>p);</p><p> u5:view port map (able=>j,screen=>k,f1=>q,f2=>p,segout=>seg,selout=>sel);</p><p><b> end;</b></p><p> ———————————————————————————
70、—————————</p><p> 第二部分:FENPIN(時鐘分頻)</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity
71、 fenpin is</p><p> port(clk:in std_logic;</p><p> outclk,screen:out std_logic);</p><p><b> end;</b></p><p> architecture first of fenpin is</p>&
72、lt;p> signal H1,H2:std_logic;</p><p><b> begin</b></p><p> one:process(clk)</p><p> variable count1:integer range 0 to 1002;</p><p><b> begin&
73、lt;/b></p><p><b> H1<='0';</b></p><p> if count1>1000 then H1<='1';count1:=0;</p><p> elsif clk'event and clk='1' then count1:
74、=count1+1; 分出1秒信號</p><p><b> end if;</b></p><p> end process;</p><p> two:process(clk)</p><p> variable count2:integer range 0 to 500;</p>
75、<p><b> begin</b></p><p> if clk'event and clk='1' then </p><p> if count2<250 then H2<='1';count2:=count2+1;</p><p> else H2<=
76、9;0';count2:=count2+1; 閃爍信號</p><p><b> end if;</b></p><p><b> end if;</b></p><p> if count2>499 then count2:=0;</p><p>
77、<b> end if;</b></p><p> end process;</p><p> outclk<=H1;</p><p> screen<=H2;</p><p><b> end; </b></p><p> 第三部分:FIRST(
78、數(shù)據(jù)初始化)</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity first is</p><p> port(clk,ab
79、le,res,test:in std_logic;</p><p> o1,o2,o3,o4,o5:out std_logic_vector(3 downto 0));</p><p><b> end;</b></p><p> architecture two of first is</p><p> sig
80、nal h1,h2,h3,h4,h5:std_logic_vector(3 downto 0);</p><p><b> begin</b></p><p> process(able)</p><p><b> begin</b></p><p> if able'event a
81、nd able='1' then </p><p> if h5<4 then h5<=h5+1; 位選信號,選擇相應的位進行初始</p><p> else h5<="0000"; 化,其中“0000”為空位。</p><p><b> end if;
82、</b></p><p><b> end if;</b></p><p> end process; </p><p> process(clk,res,test,q4)</p><p><b> begin</b></p><p> if res=&
83、#39;0' then h1<="0000";h2<="0000";h3<="0000";h4<="0000"; --復位鍵</p><p> elsif test='0' then h1<="1000";h2<="1000";h
84、3<="1000";h4<="1000"; --測試鍵</p><p> elsif clk'event and clk='1' then </p><p> case h5 is</p><p> when "0001"=> if h1<9 then
85、 h1<=h1+1;</p><p> else h1<="0000"; 秒位加數(shù)</p><p><b> end if;</b></p><p> when "0010"=> if h2<5 then h2<=h2+1;</p>&l
86、t;p> else h2<="0000"; 十秒位加數(shù)</p><p><b> end if;</b></p><p> when "0011"=> if h3<9 then h3<=h3+1;</p><p> else h3<="
87、0000"; 分位加數(shù)</p><p><b> end if;</b></p><p> when "0100"=> if h4<5 then h4<=h4+1;</p><p> else h4<="0000"; 十分位加數(shù)<
88、;/p><p><b> end if;</b></p><p> when others=>null;</p><p><b> end case;</b></p><p><b> end if;</b></p><p> end pro
89、cess;</p><p><b> o1<=h1;</b></p><p><b> o2<=h2;</b></p><p><b> o3<=h3;</b></p><p><b> o4<=h4;</b></p&
90、gt;<p> o5<=h5; --在VIEW模塊中選擇閃爍位</p><p><b> end;</b></p><p> ————————————————————————————————————</p><p> 第四部分:JIANJISHU(數(shù)據(jù)按
91、秒倒計時)</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity jianjishu is</p><p> port(clk
92、s,start,res,test:in std_logic;</p><p> in1,in2,in3,in4:in std_logic_vector(3 downto 0);</p><p> light:out std_logic;</p><p> out1,out2,out3,out4:out std_logic_vector(3 downto 0))
93、;</p><p><b> end;</b></p><p> architecture one of jianjishu is</p><p> signal h1,h2,h3,h4:std_logic_vector(3 downto 0);</p><p><b> begin</b&g
94、t;</p><p> process(start,clks,res,test,q4)</p><p> variable a:std_logic_vector(1 downto 0);</p><p><b> begin</b></p><p> if res='0' or test=&
95、#39;0' then h1<="0000";h2<="0000";h3<="0000";h4<="0000";</p><p> --對信號都清零設置</p><p> elsif h4=(in4-15) or start='0' then a:="
96、;00";light<='0'; </p><p> --當h4=15或start=0時不進行減計數(shù),同時LED不亮</p><p> elsif start='1' then a:="11";light<='1';</p><p> --當start=1時LED點
97、亮同時開始倒計時</p><p><b> case a is</b></p><p> when "11"=>if clks'event and clks='1' then</p><p> if (in1-h1)=0 then h1<=(in1-9);h2<=h2+1;&l
98、t;/p><p> else h1<=h1+1;</p><p><b> end if;</b></p><p> --h1開始為0,當h1=in1時,對h1賦值為(in1-9),為負數(shù),</p><p> 同時對h2進行加1,那么(in2-h2)就可以視線減1,若不是那么h1<=h1+1,可以實現(xiàn)&l
99、t;/p><p> ?。╥n1-h1)從9開始的倒計數(shù)</p><p> if (in2-h2)=0 and (in1-h1)=0 then </p><p> h3<=h3+1;h2<=(in2-5);q1<=(in1-9);</p><p><b> end if;</b></p>
100、<p> --當輸出out1=0和out2=0時進位減1,同時out1=9,out2=5;</p><p> if (in3-h3)=0 and (in2-h2)=0 and (in1-h1)=0 then</p><p> h4<=h4+1;h3<=(in3-9);h2<=(in2-5);h1<=(in1-9);</p><p&
101、gt;<b> end if;</b></p><p> if (in4-h4)=0 and (in3-h3)=0 and (in2-h2)=0 and (in1-h1)=0 </p><p> thenh4<=(in4-15);h3<=(in3-14);h2<=(in2-13);h1<=(in1-12);</p><
102、;p><b> end if;</b></p><p> --當所有計數(shù)完畢(都為0)時,實現(xiàn)輸出FEDC;</p><p><b> end if;</b></p><p> when others=>null;</p><p><b> end case;<
103、/b></p><p><b> end if;</b></p><p> end process;</p><p> out1<=(in1-h1);</p><p> out2<=(in2-h2);</p><p> out3<=(in3-h3);</p&
104、gt;<p> out4<=(in4-h4);</p><p><b> end;</b></p><p> ————————————————————————————————————</p><p> 第五部分:CHOICE(數(shù)據(jù)選擇模塊)</p><p> library ieee;<
105、;/p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity choice is</p><p> port(clk:std_logic;</p><p> f1,f2,f3,f4:i
106、n std_logic_vector(3 downto 0);</p><p> o1:out std_logic_vector(1 downto 0);</p><p> o2:out std_logic_vector(3 downto 0));</p><p><b> end;</b></p><p> a
107、rchitecture one of choice is</p><p> signal q:std_logic_vector(1 downto 0);</p><p><b> begin</b></p><p> process(clk)</p><p><b> begin</b>&l
108、t;/p><p> if clk'event and clk='1' then q<=q+1;</p><p><b> end if;</b></p><p><b> case q is</b></p><p> when "00" =>
109、; o2<=f1; </p><p> when "01" => o2<=f2;</p><p> when "10" => o2<=f3; 選擇輸出數(shù)據(jù)</p><p> when "11" => o2<=f4; </p>
110、<p> when others=> null;</p><p><b> end case;</b></p><p> end process;</p><p> o1<=q; --位選信號</p><p><b> end;</b
111、></p><p> ————————————————————————————————————</p><p> 第六部分:VIEW(顯示模塊)</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.
112、std_logic_unsigned.all;</p><p> entity view is</p><p> port(screen:in std_logic;</p><p> f1:in std_logic_vector(1 downto 0);</p><p> f2,able:in std_logic_vector(3 d
113、ownto 0);</p><p> segout:out std_logic_vector(7 downto 0);</p><p> selout:out std_logic_vector(2 downto 0));</p><p><b> end;</b></p><p> architecture on
114、e of view is</p><p> signal seg:std_logic_vector(6 downto 0);</p><p> signal sel:std_logic_vector(2 downto 0);</p><p><b> begin</b></p><p> selout<=
115、sel;</p><p> segout(6 downto 0)<=seg;</p><p> sel<="000" when f1=0 else</p><p> "001" when f1=1 else</p><p> "010" when f1=2 els
116、e 相應的數(shù)據(jù)選擇對應的位進行輸出</p><p> "011" when f1=3 else</p><p><b> "000";</b></p><p> segout(7)<='1' when f1=2 else '0'; --在第三
117、個數(shù)碼管輸出小數(shù)點</p><p> process(f2,able,sel)</p><p><b> begin</b></p><p> if (able="0001" and sel="000") or (able="0010" and sel="001&quo
118、t;) or </p><p> (able="0011" and sel="010") or (able="0100" and sel="011") then</p><p> if screen='1' then seg<="0000000"; --無輸出&
119、lt;/p><p><b> else</b></p><p> case f2 is</p><p> when "0000" => seg<="0111111";</p><p> when "0001" => seg<=&quo
120、t;0000110";</p><p> when "0010" => seg<="1011011";</p><p> when "0011" => seg<="1001111";</p><p> when "0100" =
121、> seg<="1100110";</p><p> when "0101" => seg<="1101101";</p><p> when "0110" => seg<="1111101";</p><p> when &
122、quot;0111" => seg<="0000111";</p><p> when "1000" => seg<="1111111";</p><p> when "1001" => seg<="1101111";</p>
123、<p> when "1010" => seg<="1110111";</p><p> when "1011" => seg<="1111100";</p><p> when "1100" => seg<="0111001&q
124、uot;;</p><p> when "1101" => seg<="1011110";</p><p> when "1110" => seg<="1111001";</p><p> when "1111" => seg<
125、;="1110001";</p><p> when others=>null;</p><p> end case; --有輸出</p><p> end if; --實現(xiàn)閃爍</p><p><b> else</b&
126、gt;</p><p> case f2 is</p><p> when "0000" => seg<="0111111";</p><p> when "0001" => seg<="0000110";</p><p> whe
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- eda課程設計---微波爐定時控制器
- eda課程設計---微波爐定時控制器的設置
- eda綜合課程設計報告-----微波爐定時控制器的設計
- eda課程設計---微波爐控制器設計
- 微波爐課程設計---基于微波爐控制系統(tǒng)設計
- 數(shù)電課程設計--微波爐定時控制器的設計與制作
- vhdl微波爐控制器課程設計-- 數(shù)字微波爐控制器
- 課程設計---vhdl設計微波爐控制器
- 運輸包裝課程設計--微波爐運輸包裝設計
- 課程設計---基于fpga的微波爐控制器設計
- 數(shù)字電路課程設計微波爐控制器
- 單片機課程設計-基于微波爐控制系統(tǒng)設計
- fpga基于vhdl微波爐課程設計說明書
- 微波爐做菜
- 微波爐圖片
- 格蘭仕微波爐網(wǎng)站設計需求49469
- 綜合微波爐
- 選購微波爐
- 微波爐教案
- eda課程設計--eda課程設計實驗報告
評論
0/150
提交評論