版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 數(shù)字電子技術(shù)</b></p><p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> 設(shè)計(jì)課題:洗衣機(jī)控制電路設(shè)計(jì)</p><p> 學(xué)生姓名:</p><p> 學(xué)生學(xué)號:</p><p> 專業(yè)班級:08級自動(dòng)化1班</p>
2、<p> 學(xué)院名稱:電氣與信息工程學(xué)院</p><p> 一 課程設(shè)計(jì)的目的:</p><p> 1、能夠全面鞏固和應(yīng)用“電子技術(shù)基礎(chǔ)數(shù)字部分”課程中所學(xué)的基本理論和方法,并初步掌握小型數(shù)字系統(tǒng)設(shè)計(jì)的基本方法。2、掌握VHDL語言編制小型模塊的方法,并采用層次化設(shè)計(jì)。</p><p> 3、培養(yǎng)電路設(shè)計(jì)能力,懂得理論設(shè)計(jì)與實(shí)物實(shí)現(xiàn)的有效結(jié)合。<
3、;/p><p> 4、掌握Altium Designer軟件的應(yīng)用。</p><p> 二 總體方案分析及選擇:</p><p> 洗衣機(jī)電路包含有總的控制模塊,洗滌控制模塊,洗滌記時(shí)模塊,電動(dòng)機(jī)控制模塊以及LCD液晶板的動(dòng)態(tài)顯示模塊.經(jīng)過分析后,我們把前四個(gè)模塊進(jìn)行組合,把他們合成一個(gè)模塊即:總控制模塊.他們之間的邏輯聯(lián)結(jié)關(guān)系,是對數(shù)電課程的一個(gè)很好總結(jié),也是
4、自己對新知識(LCD液晶板的動(dòng)態(tài)顯示)學(xué)習(xí)理解運(yùn)用能力的一個(gè)很好的提升機(jī)會。</p><p> 三 基本功能要求:</p><p> 要求設(shè)計(jì)制作一個(gè)普通功能洗衣機(jī)控制電路,使之能控制洗衣機(jī)的進(jìn)水閥,排水閥,洗滌程序電機(jī),甩干驅(qū)動(dòng)裝置等按預(yù)定程序工作.總體過程包括:進(jìn)水 浸泡 洗滌 排水 甩干五個(gè)過程.進(jìn)水從電路啟動(dòng)開始.其中浸泡可供選擇,洗滌時(shí)間可以預(yù)置,洗滌結(jié)束時(shí)發(fā)出鈴聲進(jìn)行
5、提示并自動(dòng)切斷電源.發(fā)生故障如:缺水或進(jìn)水超時(shí) 排水超時(shí) 甩干碰桶等時(shí)也可自動(dòng)切斷電源!</p><p> 根據(jù)洗衣機(jī)工作時(shí)不同的洗衣服數(shù)量,我們設(shè)計(jì)了三個(gè)檔(duoxi zhongxi shaoxi)來對洗衣機(jī)的進(jìn)水 浸泡 洗滌 排水 甩干的五個(gè)過程分別預(yù)置時(shí)間。以此來區(qū)分洗衣機(jī)不同洗衣數(shù)量下的工作狀態(tài)。</p><p> 用中小規(guī)模集成電路芯片或CPLD/FPGA設(shè)計(jì)符合上述任務(wù)要
6、求的電路,并制作出能實(shí)際運(yùn)行的裝置.</p><p> 安裝并調(diào)試電路,測試各部分電路功能或模型.</p><p> 演示并交驗(yàn)硬件裝置.</p><p><b> 下載實(shí)現(xiàn)圖:</b></p><p> 四 總控制模塊的生成程序</p><p> library ieee;</
7、p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_arith.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity washer is</p><p><b&g
8、t; port(</b></p><p> clk0, clk1, rst, alarm: in std_logic;</p><p> -----clk0:控制開關(guān)脈沖.clk1:記時(shí)開關(guān)脈沖.Rst:復(fù)位端.alarm報(bào)警輸入端.-------</p><p> duoxi,zhongxi,shaoxi : in std_Logic;<
9、/p><p> -----qiangxi:強(qiáng)洗輸入端。zhongxi:中洗輸入端。ruoxi:弱洗輸入端。-------------</p><p> water_in, water_out, immersion, dry, z1, z2, voice, poweroff: out std_logic;</p><p> -----進(jìn)水,出水,浸泡,甩干,洗滌,響
10、鈴,斷電輸出端-------</p><p> display_th, display_tl: out std_logic_vector(3 downto 0)</p><p> -------------------輸出時(shí)間顯示高位低位輸出端-------------</p><p><b> );</b></p><
11、;p> end entity washer;</p><p> architecture behave of washer is</p><p> signal js, js_ten : std_logic;</p><p> signal im, im_ten : std_logic;</p><p> signal wa,
12、 wa_ten : std_logic;</p><p> signal wa1, wa2, pwf: std_logic;</p><p> signal cs, cs_ten : std_logic;</p><p> signal dr, dr_ten : std_logic;</p><p> signal xl, xl_te
13、n : std_logic;</p><p> signal js_dh, js_dl: std_logic_vector(3 downto 0);</p><p> signal im_dh, im_dl: std_logic_vector(3 downto 0);</p><p> signal wa_dh, wa_dl: std_logic_vector
14、(3 downto 0);</p><p> signal cs_dh, cs_dl: std_logic_vector(3 downto 0);</p><p> signal dr_dh, dr_dl: std_logic_vector(3 downto 0);</p><p> signal xl_dh, xl_dl: std_logic_vector(
15、3 downto 0);</p><p> signal dis_th,dis_tl: std_logic_vector(3 downto 0);</p><p> signal water_inh, water_inl, im_th, im_tl, wash_th: std_logic_vector(3 downto 0);</p><p> signa
16、l wash_tl, water_outh, water_outl, dry_th, dry_tl: std_logic_vector(3 downto 0);</p><p><b> begin</b></p><p> -----------------------控制:控制器件實(shí)現(xiàn)洗衣機(jī)的功能:進(jìn)水->浸水->洗滌->出水->甩
17、干</p><p> control:process(clk0, rst,alarm,duoxi,zhongxi,shaoxi)</p><p> variable n: integer;</p><p><b> begin</b></p><p> if duoxi='1' and zhong
18、xi='0' and shaoxi='0' then</p><p> water_inh<="0001";</p><p> water_inl<="0010";</p><p> im_th<="1001";</p><p>
19、; im_tl<="0000";</p><p> wash_th<="1001";</p><p> wash_tl<="0000";</p><p> water_outh<="0001";</p><p> water_ou
20、tl<="0010";</p><p> dry_th<="1001";</p><p> dry_tl<="0000";</p><p> elsif duoxi='0' and zhongxi='1' and shaoxi='0'
21、; then</p><p> water_inh<="0000";</p><p> water_inl<="0110";</p><p> im_th<="0110";</p><p> im_tl<="0000";</p
22、><p> wash_th<="0110";</p><p> wash_tl<="0000";</p><p> water_outh<="0000";</p><p> water_outl<="0110";</p>
23、<p> dry_th<="0110";</p><p> dry_tl <="0000";</p><p> elsif duoxi='0' and zhongxi='0' and shaoxi='1' then</p><p> water
24、_inh<="0000";</p><p> water_inl<="0110";</p><p> im_th<="0011";</p><p> im_tl<="0000";</p><p> wash_th<="
25、;0011";</p><p> wash_tl<="0000";</p><p> water_outh<="0000";</p><p> water_outl<="0110";</p><p> dry_th<="0011&q
26、uot;;</p><p> dry_tl <="0000";</p><p><b> else</b></p><p> water_inh<="0000";</p><p> water_inl<="0000";</p>
27、;<p> im_th<="0000";</p><p> im_tl<="0000";</p><p> wash_th<="0000";</p><p> wash_tl<="0000";</p><p> wa
28、ter_outh<="0000";</p><p> water_outl<="0000";</p><p> dry_th<="0000";</p><p> dry_tl <="0000";</p><p><b>
29、end if;</b></p><p> if alarm = '1' then</p><p> pwf <= '1';</p><p><b> else</b></p><p> if rst = '1' then</p>&l
30、t;p><b> n := 0;</b></p><p> im_ten <= '0';</p><p> js_ten <= '0';</p><p> wa_ten <= '0';</p><p> cs_ten <= '
31、0';</p><p> dr_ten <= '0';</p><p> xl_ten <= '0';</p><p> pwf <= '0';</p><p> elsif clk0 = '1' and clk0 'event then
32、</p><p> if n = 0 then</p><p> if water_inh = "0000" and water_inl = "0000" then</p><p><b> n := 1;</b></p><p><b> else</b&
33、gt;</p><p> js_ten <= '1';</p><p> if js = '1' then</p><p><b> n := 1;</b></p><p><b> end if;</b></p><p><
34、;b> end if;</b></p><p> elsif js = '0' and n = 1 then</p><p> if im_th = "0000" and im_tl = "0000" then</p><p><b> n := 2;</b>&l
35、t;/p><p><b> else</b></p><p> im_ten <= '1';</p><p> if im = '1' then</p><p><b> n := 2;</b></p><p><b>
36、end if;</b></p><p><b> end if;</b></p><p> elsif im = '0' and n = 2 then</p><p> if wash_th = "0000" and wash_tl = "0000" then</p
37、><p><b> n := 3;</b></p><p><b> else</b></p><p> wa_ten <= '1';</p><p> if wa = '1' then</p><p><b> n :=
38、 3;</b></p><p><b> end if;</b></p><p><b> end if;</b></p><p> elsif wa = '0' and n = 3 then</p><p> if water_outh = "0000
39、" and water_outl = "0000" then</p><p><b> n := 4;</b></p><p><b> else</b></p><p> cs_ten <= '1';</p><p> if cs = &
40、#39;1' then</p><p><b> n := 4;</b></p><p><b> end if;</b></p><p><b> end if;</b></p><p> elsif cs = '0' and n = 4 th
41、en</p><p> if dry_th = "0000" and dry_tl = "0000" then</p><p><b> n := 5;</b></p><p><b> else</b></p><p> dr_ten <= &
42、#39;1';</p><p> if dr = '1' then</p><p><b> n := 5;</b></p><p><b> end if;</b></p><p><b> end if;</b></p><
43、;p> elsif dr = '0' and n = 5 then</p><p> xl_ten <= '1';</p><p> if xl = '1' then</p><p><b> n := 6;</b></p><p><b>
44、 end if;</b></p><p> elsif xl = '0' and n = 6 then</p><p> pwf <= '1';</p><p><b> end if;</b></p><p><b> end if;</b>
45、;</p><p><b> end if;</b></p><p> end process;</p><p> -----------------------------記時(shí)-----------------------------</p><p> ------------------進(jìn)水記時(shí)-------
46、-------------------</p><p> js_jishiqi:process(clk1, js_ten,water_inh,water_inl)</p><p><b> begin</b></p><p> if js_ten = '0' then</p><p> js_dh
47、 <= water_inh;</p><p> js_dl <= water_inl;</p><p> js <= '0';</p><p> elsif clk1 = '1' and clk1 'event then</p><p> if js_dh = "00
48、00" and js_dl = "0000" then</p><p> js <= '0';</p><p><b> else</b></p><p> js <= '1';</p><p> if js_dl = "0000
49、" then</p><p> js_dl <= "1001";</p><p> js_dh <= js_dh - 1;</p><p><b> else</b></p><p> js_dl <= js_dl - 1;</p><p>
50、<b> end if;</b></p><p><b> end if;</b></p><p><b> end if;</b></p><p> end process;</p><p> -------------浸泡記時(shí)-------------------
51、----</p><p> im_jishiqi:process(clk1, im_ten,im_th,im_tl)</p><p><b> begin</b></p><p> if im_ten = '0' then</p><p> im_dh <= im_th;</p>
52、<p> im_dl <= im_tl;</p><p> im <= '0';</p><p> elsif clk1 = '1' and clk1 'event then</p><p> if im_dh = "0000" and im_dl = "0000
53、" then</p><p> im <= '0';</p><p><b> else</b></p><p> im <= '1';</p><p> if im_dl = "0000" then</p><p>
54、; im_dl <= "1001";</p><p> im_dh <= im_dh - 1;</p><p><b> else</b></p><p> im_dl <= im_dl - 1;</p><p><b> end if;</b><
55、;/p><p><b> end if;</b></p><p><b> end if;</b></p><p> end process;</p><p> -----------------洗滌記時(shí)----------------------</p><p> w
56、a_jishiqi:process(clk1, wa_ten,wash_th,wash_tl)</p><p> variable m: integer;</p><p><b> begin</b></p><p> if wa_ten = '0' then</p><p> wa_dh <
57、;= wash_th;</p><p> wa_dl <= wash_tl;</p><p> wa <= '0';</p><p> wa1 <= '0';</p><p> wa2 <= '0';</p><p><b>
58、m := 0;</b></p><p> elsif clk1 = '1' and clk1 'event then</p><p> if wa_dh = "0000" and wa_dl = "0000" then</p><p> wa <= '0';<
59、;/p><p> wa1 <= '0';</p><p> wa2 <= '0';</p><p><b> else</b></p><p> wa <= '1';</p><p> if m = 0 then</p&
60、gt;<p> wa1 <= '1';</p><p> wa2 <= '1';</p><p> elsif m = 10 then</p><p> wa1 <= '0';</p><p> wa2 <= '1';</p&
61、gt;<p> elsif m = 13 then</p><p> wa1 <= '1';</p><p> wa2 <= '0';</p><p> elsif m = 23 then</p><p> wa1 <= '0';</p>
62、<p> wa2 <= '0';</p><p> elsif m = 26 then</p><p><b> m := 0;</b></p><p> wa1 <= '1';</p><p> wa2 <= '1';</p&g
63、t;<p><b> end if;</b></p><p> m := m + 1;</p><p> if wa_dl = "0000" then</p><p> wa_dl <= "1001";</p><p> wa_dh <= wa_
64、dh - 1;</p><p><b> else</b></p><p> wa_dl <= wa_dl - 1;</p><p><b> end if;</b></p><p><b> end if;</b></p><p><
65、;b> end if;</b></p><p> end process;</p><p> --------------出水記時(shí)---------------------------</p><p> cs_jishiqi:process(clk1, cs_ten,water_outh,water_outl)</p><
66、;p><b> begin</b></p><p> if cs_ten = '0' then</p><p> cs_dh <= water_outh;</p><p> cs_dl <= water_outl;</p><p> cs <= '0';&
67、lt;/p><p> elsif clk1 = '1' and clk1 'event then</p><p> if cs_dh = "0000" and cs_dl = "0000" then</p><p> cs <= '0';</p><p>
68、<b> else</b></p><p> cs <= '1';</p><p> if cs_dl = "0000" then</p><p> cs_dl <= "1001";</p><p> cs_dh <= cs_dh - 1
69、;</p><p><b> else</b></p><p> cs_dl <= cs_dl - 1;</p><p><b> end if;</b></p><p><b> end if;</b></p><p><b>
70、 end if;</b></p><p> end process;</p><p> --------------甩干記時(shí)-----------------------</p><p> dr_jishiqi:process(clk1, dr_ten,dry_th,dry_tl)</p><p><b> b
71、egin</b></p><p> if dr_ten = '0' then</p><p> dr_dh <= dry_th;</p><p> dr_dl <= dry_tl;</p><p> dr <= '0';</p><p> elsi
72、f clk1 = '1' and clk1 'event then</p><p> if dr_dh = "0000" and dr_dl = "0000" then</p><p> dr <= '0';</p><p><b> else</b>&
73、lt;/p><p> dr <= '1';</p><p> if dr_dl = "0000" then</p><p> dr_dl <= "1001";</p><p> dr_dh <= dr_dh - 1;</p><p><
74、b> else</b></p><p> dr_dl <= dr_dl - 1;</p><p><b> end if;</b></p><p><b> end if;</b></p><p><b> end if;</b></p&
75、gt;<p> end process;</p><p> ------------------響鈴記時(shí)----------------------</p><p> xl_jishiqi:process(clk1, xl_ten)</p><p><b> begin</b></p><p>
76、if xl_ten = '0' then</p><p> xl_dh <= "0010";</p><p> xl_dl <= "0000";</p><p> xl <= '0';</p><p> elsif clk1 = '1
77、39; and clk1 'event then</p><p> if xl_dh = "0000" and xl_dl = "0000" then</p><p> xl <= '0';</p><p><b> else</b></p><p&
78、gt; xl <= '1';</p><p> if xl_dl = "0000" then</p><p> xl_dl <= "1001";</p><p> xl_dh <= xl_dh - 1;</p><p><b> else</b
79、></p><p> xl_dl <= xl_dl - 1;</p><p><b> end if;</b></p><p><b> end if;</b></p><p><b> end if;</b></p><p> e
80、nd process;</p><p> ----------------------------顯示時(shí)間--------------------------</p><p> xianshishijian: process(clk1, js_ten, im_ten, wa_ten,cs_ten,dr_ten,xl_ten)</p><p><b>
81、 begin</b></p><p> if js_ten = '1' and im_ten = '0' and wa_ten = '0' and cs_ten = '0' and dr_ten = '0' and xl_ten = '0' then</p><p> if cl
82、k1 = '1' and clk1 'event then</p><p> dis_th <= js_dh;</p><p> dis_tl <= js_dl;</p><p><b> end if;</b></p><p> elsif im_ten = '1
83、39; and wa_ten = '0' and cs_ten = '0' and dr_ten = '0' and xl_ten = '0' then</p><p> if clk1 = '1' and clk1 'event then</p><p> dis_th <= im_dh;&
84、lt;/p><p> dis_tl <= im_dl;</p><p><b> end if;</b></p><p> elsif wa_ten = '1' and cs_ten = '0' and dr_ten = '0' and xl_ten = '0' then&
85、lt;/p><p> if clk1 = '1' and clk1 'event then</p><p> dis_th <= wa_dh;</p><p> dis_tl <= wa_dl;</p><p><b> end if;</b></p><p&g
86、t; elsif cs_ten = '1' and dr_ten = '0' and xl_ten = '0' then</p><p> if clk1 = '1' and clk1 'event then</p><p> dis_th <= cs_dh;</p><p> d
87、is_tl <= cs_dl;</p><p><b> end if;</b></p><p> elsif dr_ten = '1' and xl_ten = '0' then</p><p> if clk1 = '1' and clk1 'event then</
88、p><p> dis_th <= dr_dh;</p><p> dis_tl <= dr_dl;</p><p><b> end if;</b></p><p> elsif xl_ten = '1' then</p><p> if clk1 = '
89、1' and clk1 'event then</p><p> dis_th <= xl_dh;</p><p> dis_tl <= xl_dl;</p><p><b> end if;</b></p><p><b> end if;</b></p&
90、gt;<p> end process;</p><p> ----------------------------輸出-----------------------------</p><p> output:process(dis_th, dis_tl, im, js, cs, dr, wa1, wa2, xl, pwf)</p><p>&
91、lt;b> begin</b></p><p> display_th <= dis_th;</p><p> display_tl <= dis_tl;</p><p> immersion <= im;</p><p> water_in <= js;</p><p&
92、gt; water_out <= cs;</p><p> dry <= dr;</p><p> z1 <= wa1;</p><p> z2 <= wa2;</p><p> voice <= xl;</p><p> poweroff <= pwf;</p&g
93、t;<p> end process;</p><p> end behave;</p><p><b> 測試文件:</b></p><p> ------------------------------------------------------------</p><p> -- VH
94、DL Testbench for washer</p><p> -- 2010 11 26 21 48 4</p><p> -- Created by "EditVHDL"</p><p> -- "Copyright (c) 2002 Altium Limited"</p><p> --
95、----------------------------------------------------------</p><p> Library IEEE;</p><p> Use IEEE.std_logic_1164.all;</p><p> Use IEEE.std_logic_textio.all;</p>&l
96、t;p> Use STD.textio.all;</p><p> ------------------------------------------------------------</p><p> ------------------------------------------------------------</p><p>
97、 entity Testwasher is</p><p> end Testwasher;</p><p> ------------------------------------------------------------</p><p> -------------------------------------------------------
98、-----</p><p> architecture stimulus of Testwasher is</p><p> file RESULTS: TEXT open WRITE_MODE is "results.txt";</p><p> procedure WRITE_RESULTS(</p><p>
99、 alarm: std_logic;</p><p> clk0: std_logic;</p><p> clk1: std_logic;</p><p> display_th: std_logic_vector(3 downto 0);</p><p> display_tl: std_logic_vector(3 downto
100、 0);</p><p> dry: std_logic;</p><p> duoxi: std_logic;</p><p> immersion: std_logic;</p><p> poweroff: std_logic;</p><p> rst: std_logic;</p>&
101、lt;p> shaoxi: std_logic;</p><p> voice: std_logic;</p><p> water_in: std_logic;</p><p> water_out: std_logic;</p><p> z1: std_logic;</p><p> z2: s
102、td_logic;</p><p> zhongxi: std_logic</p><p><b> ) is</b></p><p> variable l_out : line;</p><p><b> begin</b></p><p> write(l_o
103、ut, now, right, 15);</p><p> write(l_out, alarm, right, 2);</p><p> write(l_out, clk0, right, 2);</p><p> write(l_out, clk1, right, 2);</p><p> write(l_out, display
104、_th, right, 5);</p><p> write(l_out, display_tl, right, 5);</p><p> write(l_out, dry, right, 2);</p><p> write(l_out, duoxi, right, 2);</p><p> write(l_out, immersi
105、on, right, 2);</p><p> write(l_out, poweroff, right, 2);</p><p> write(l_out, rst, right, 2);</p><p> write(l_out, shaoxi, right, 2);</p><p> write(l_out, voice, ri
106、ght, 2);</p><p> write(l_out, water_in, right, 2);</p><p> write(l_out, water_out, right, 2);</p><p> write(l_out, z1, right, 2);</p><p> write(l_out, z2, right, 2)
107、;</p><p> write(l_out, zhongxi, right, 2);</p><p> writeline(RESULTS, l_out);</p><p> end procedure;</p><p> component washer</p><p><b> port (&
108、lt;/b></p><p> alarm: in std_logic;</p><p> clk0: in std_logic;</p><p> clk1: in std_logic;</p><p> display_th: out std_logic_vector(3 downto 0);</p><
109、p> display_tl: out std_logic_vector(3 downto 0);</p><p> dry: out std_logic;</p><p> duoxi: in std_logic;</p><p> immersion: out std_logic;</p><p> poweroff: ou
110、t std_logic;</p><p> rst: in std_logic;</p><p> shaoxi: in std_logic;</p><p> voice: out std_logic;</p><p> water_in: out std_logic;</p><p> water_out
111、: out std_logic;</p><p> z1: out std_logic;</p><p> z2: out std_logic;</p><p> zhongxi: in std_logic</p><p><b> );</b></p><p> end compone
112、nt;</p><p> signal alarm: std_logic;</p><p> signal clk0: std_logic;</p><p> signal clk1: std_logic;</p><p> signal display_th: std_logic_vector(3 downto 0);</p&
113、gt;<p> signal display_tl: std_logic_vector(3 downto 0);</p><p> signal dry: std_logic;</p><p> signal duoxi: std_logic;</p><p> signal immersion: std_logic;</p>&
114、lt;p> signal poweroff: std_logic;</p><p> signal rst: std_logic;</p><p> signal shaoxi: std_logic;</p><p> signal voice: std_logic;</p><p> signal water_in: std
115、_logic;</p><p> signal water_out: std_logic;</p><p> signal z1: std_logic;</p><p> signal z2: std_logic;</p><p> signal zhongxi: std_logic;</p><p><
116、b> begin</b></p><p> DUT:washer port map (</p><p> alarm => alarm,</p><p> clk0 => clk0,</p><p> clk1 => clk1,</p><p> display_th =
117、> display_th,</p><p> display_tl => display_tl,</p><p> dry => dry,</p><p> duoxi => duoxi,</p><p> immersion => immersion,</p><p> pow
118、eroff => poweroff,</p><p> rst => rst,</p><p> shaoxi => shaoxi,</p><p> voice => voice,</p><p> water_in => water_in,</p><p> water_ou
119、t => water_out,</p><p><b> z1 => z1,</b></p><p><b> z2 => z2,</b></p><p> zhongxi => zhongxi</p><p><b> );</b></p
120、><p> STIMULUS0:process</p><p><b> begin</b></p><p> -- insert stimulus here</p><p> alarm <= '0';</p><p> duoxi<='0';&
121、lt;/p><p> zhongxi<='1';</p><p> shaoxi<='0' ;</p><p> rst <= '1';</p><p> wait for 10ns;</p><p> rst <= '0'
122、;</p><p> wait for 1000ns;</p><p> alarm <= '1';</p><p><b> wait;</b></p><p> end process;</p><p><b> process</b>&l
123、t;/p><p><b> begin</b></p><p> clk0 <= '1';</p><p> clk1 <= '1';</p><p> wait for 1ns;</p><p> clk0 <= '0';&
124、lt;/p><p> clk1 <= '0';</p><p> wait for 1ns;</p><p> end process;</p><p> WRITE_RESULTS(</p><p><b> alarm,</b></p><p&g
125、t;<b> clk0,</b></p><p><b> clk1,</b></p><p> display_th,</p><p> display_tl,</p><p><b> dry,</b></p><p><b>
126、 duoxi,</b></p><p> immersion,</p><p><b> poweroff,</b></p><p><b> rst,</b></p><p><b> shaoxi,</b></p><p><
127、;b> voice,</b></p><p><b> water_in,</b></p><p> water_out,</p><p><b> z1,</b></p><p><b> z2,</b></p><p>&
128、lt;b> zhongxi</b></p><p><b> );</b></p><p> end architecture;</p><p> ------------------------------------------------------------</p><p> 生成的
129、器件和仿真波形:</p><p><b> 顯示模塊生成程序:</b></p><p> LIBRARY IEEE;</p><p> USE IEEE.std_Logic_1164.ALL;</p><p> ENTITY OUTPUT IS</p><p><b> POR
130、T</b></p><p> (R, CP, BUSY :IN Std_Logic;-----使能輸入端,脈沖輸入端,輸入信號忙輸入端--------</p><p> LINE_OUT,STROBE,RST:OUT STD_LOGIC;------行選擇輸出端,輸入數(shù)據(jù)使能輸出端,復(fù)位輸出端---</p><p> TIME_IN :IN STD
131、_LOGIC_VECTOR(7 DOWNTO 0);--------輸入時(shí)間-----------</p><p> ADDR_OUT :OUT Std_Logic_Vector( 3DOWNTO 0);--------地址輸出端----------</p><p> DATA_OUT : OUT Std_Logic_Vector(7 DOWNTO 0));-----數(shù)據(jù)輸出端----
132、-----</p><p> END OUTPUT;</p><p> ARCHITECTURE XS OF OUTPUT IS</p><p> TYPE State_type IS(S0,S1,S2,S3,S4);</p><p> SIGNAL S :State_Type;</p><p> SIGNA
133、L LCDPT:INTEGER RANGE 0 TO 14;</p><p><b> BEGIN</b></p><p> PROCESS(CP,R)</p><p><b> BEGIN</b></p><p> IF R='1' THEN</p><
134、p> S<=S0;LCDPT<=0;RST<='1';</p><p> ELSIF CP='1' AND CP 'EVENT THEN</p><p><b> CASE S IS</b></p><p> WHEN S0=> S<=S1;LCDPT<=
135、0;RST<='1';</p><p> WHEN S1=> RST<='0';STROBE<='0';</p><p> IF BUSY='0' THEN</p><p> LCDPT<=LCDPT+1;</p><p> IF LCDPT
136、=15 THEN</p><p><b> S<=S3;</b></p><p><b> ELSE</b></p><p><b> S<=S2;</b></p><p><b> END IF;</b></p><
137、;p><b> END IF;</b></p><p> WHEN S2=> S<=S1;STROBE<='1';</p><p> WHEN S3=> STROBE<='0';</p><p> IF BUSY='0' THEN</p>
138、<p> IF LCDPT=16 THEN</p><p> LCDPT<=15;</p><p><b> ELSE</b></p><p> LCDPT<=LCDPT+1;</p><p><b> END IF;</b></p><p>
139、<b> S<=S4;</b></p><p><b> END IF;</b></p><p> WHEN S4=> STROBE<='1';S<=S3;</p><p> WHEN OTHERS=> NULL;</p><p><b&g
140、t; END CASE;</b></p><p><b> END IF;</b></p><p> END PROCESS;</p><p> PROCESS (LCDPT,TIME_IN)</p><p><b> BEGIN</b></p><p>
141、; CASE LCDPT IS</p><p> WHEN 0 => NULL;</p><p> WHEN 1 => DATA_OUT<="01010111" ; ADDR_OUT<="0000"; LINE_OUT<='0';</p><p> WHEN 2 =>
142、 DATA_OUT<="01000001" ; ADDR_OUT<="0001"; LINE_OUT<='0';</p><p> WHEN 3 => DATA_OUT<="01010011" ; ADDR_OUT<="0010"; LINE_OUT<='0'
143、;</p><p> WHEN 4 => DATA_OUT<="01001000" ; ADDR_OUT<="0011"; LINE_OUT<='0';</p><p> WHEN 5 => DATA_OUT<="01000101" ; ADDR_OUT<="
144、0100"; LINE_OUT<='0';</p><p> WHEN 6 => DATA_OUT<="01010010" ; ADDR_OUT<="0101"; LINE_OUT<='0';</p><p> WHEN 7 => DATA_OUT<="
145、01001111" ; ADDR_OUT<="0111"; LINE_OUT<='0';</p><p> WHEN 8 => DATA_OUT<="01000110" ; ADDR_OUT<="1000"; LINE_OUT<='0';</p><p&g
146、t; WHEN 9 => DATA_OUT<="01010000" ; ADDR_OUT<="1010"; LINE_OUT<='0';</p><p> WHEN 10 => DATA_OUT<="01001001" ; ADDR_OUT<="1011"; LINE_OU
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- eda課程設(shè)計(jì)--洗衣機(jī)控制電路
- 課程設(shè)計(jì)--- 洗衣機(jī)控制電路設(shè)計(jì)
- 簡易洗衣機(jī)控制電路設(shè)計(jì)--protel課程設(shè)計(jì)
- 課程設(shè)計(jì)---洗衣機(jī)控制電路
- 數(shù)字邏輯課程設(shè)計(jì)報(bào)告---洗衣機(jī)控制電路設(shè)計(jì)
- 課程設(shè)計(jì)--普通洗衣機(jī)的控制電路
- eda課程設(shè)計(jì)---洗衣機(jī)控制器
- eda課程設(shè)計(jì)報(bào)告--洗衣機(jī)
- eda課程設(shè)計(jì)---洗衣機(jī)控制器設(shè)計(jì)
- 洗衣機(jī)自動(dòng)控制電路設(shè)計(jì)與實(shí)現(xiàn)
- eda課程設(shè)計(jì)---溫度測量與控制電路設(shè)計(jì)
- 數(shù)電課程設(shè)計(jì)報(bào)告--洗衣機(jī)自動(dòng)控制電路
- 基于單片機(jī)的洗衣機(jī)控制電路設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 課程設(shè)計(jì)---彩燈控制電路設(shè)計(jì)
- 混凝土攪拌機(jī)控制電路設(shè)計(jì)課程設(shè)計(jì)
- eda課程設(shè)計(jì)—— 交通信號燈控制電路設(shè)計(jì)
- eda課程設(shè)計(jì)---基于fpga的洗衣機(jī)控制器的設(shè)計(jì)
- 基于at89s52洗衣機(jī)控制電路設(shè)計(jì)畢業(yè)論文
- 簡易洗衣機(jī)控制課程設(shè)計(jì)
- 洗衣機(jī)控制電路開題報(bào)告
評論
0/150
提交評論