版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、數(shù)字邏輯課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告多功能數(shù)字鐘目 錄1.實(shí)驗(yàn)?zāi)康? 32.預(yù)習(xí)要求- 33.實(shí)驗(yàn)要求- 34.設(shè)計(jì)說明與提示- 45.儀器與器材- 56.層次化設(shè)計(jì)結(jié)構(gòu)- 5)計(jì)時(shí)模塊- 5)時(shí)間校對模塊- 7)報(bào)時(shí)模塊- 10)分頻模塊- 13)動態(tài)顯示模塊- 14)頂層圖- 197.設(shè)計(jì)過程中出現(xiàn)的問題- 198.設(shè)計(jì)體會- 19一、實(shí)驗(yàn)?zāi)康?、學(xué)會應(yīng)用數(shù)字系統(tǒng)方法進(jìn)行電路設(shè)計(jì);2、進(jìn)一步提高M(jìn)axplus軟件開發(fā)應(yīng)用能力;3、培養(yǎng)綜合實(shí)驗(yàn)的能力;二、預(yù)習(xí)要求1、層次化設(shè)計(jì)方法設(shè)計(jì)多功能數(shù)字鐘。2、畫出頂層原理圖,及各模塊電路或編出模塊VHDL語言源文件。三、實(shí)驗(yàn)要求設(shè)計(jì)一個(gè)多功能數(shù)字時(shí)鐘1、能進(jìn)行
2、正常的時(shí)、分、秒計(jì)時(shí)功能,用動態(tài)掃描的方式,需用6個(gè)數(shù)碼管。1)用M6M5進(jìn)行24進(jìn)制小時(shí)的顯示;2)用M4M3進(jìn)行60進(jìn)制分的顯示;3)用M2M1進(jìn)行60進(jìn)制秒的顯示。2、利用按鍵實(shí)現(xiàn)“校時(shí)”、 “校分”和“秒清0”功能。1)SA:校時(shí)鍵。按下SA鍵時(shí),計(jì)時(shí)器迅速遞增,按24小時(shí)循環(huán),并且計(jì)滿23時(shí)回到00。2)SB:校分鍵。按下SB鍵時(shí),計(jì)時(shí)器迅速遞增,按60小時(shí)循環(huán),并且計(jì)滿59時(shí)回到00,但不向時(shí)進(jìn)位。3)SC:秒清零。按下SC時(shí),秒清零。要求按鍵均不產(chǎn)生數(shù)字跳變,因此須對“SA”、“SB”進(jìn)行消抖處理。3、整點(diǎn)報(bào)時(shí)功能。1)在59分50、52、54、56、58秒按500Hz頻率報(bào)時(shí)。
3、2)在59分60秒用1KHz的頻率作最后一聲正點(diǎn)報(bào)時(shí)。4、能進(jìn)行鬧時(shí)功能。1)鬧時(shí)的最小時(shí)間間隙為10分鐘,鬧時(shí)長度為1分鐘。2)按下鬧時(shí)按鍵sd后,將一個(gè)鬧時(shí)時(shí)間數(shù)存入計(jì)數(shù)器內(nèi)。時(shí)鐘正常運(yùn)行時(shí),鬧時(shí)時(shí)間和運(yùn)行的時(shí)間進(jìn)行比較,當(dāng)比較結(jié)果相同時(shí)輸出一個(gè)啟動信號,觸發(fā)鬧時(shí)電路工作,輸出音頻信號。5、按自頂向下的層次化設(shè)計(jì)方法設(shè)計(jì)。1)頂層圖。2)消抖電路用D觸發(fā)器構(gòu)成,SA、SB、SC等為包含抖動的輸入信號,而電路的輸出則是一個(gè)邊沿整齊的輸出信號。3)計(jì)時(shí)(24進(jìn)制計(jì)數(shù)器),計(jì)分(60進(jìn)制計(jì)數(shù)器)、計(jì)秒(60進(jìn)制計(jì)數(shù)器)模塊由VHDL語言完成。4)其他如分頻電路、提供報(bào)時(shí)控制信號、鬧時(shí)電路等模塊用
4、VHDL語言實(shí)現(xiàn)。6、用Maxplus軟件設(shè)計(jì)符合以上功能要求的多功能數(shù)字鐘,并用層次化設(shè)計(jì)方法設(shè)計(jì)該電路。7、報(bào)時(shí)功能,鬧時(shí)功能用功能仿真的方法驗(yàn)證,可通過觀察有關(guān)波形確認(rèn)電路設(shè)計(jì)是否正確。8、完成全部電路設(shè)計(jì)后,再SE-3實(shí)驗(yàn)系統(tǒng)上下載驗(yàn)證設(shè)計(jì)課題的正確性。四、設(shè)計(jì)說明與提示多功能數(shù)字鐘框圖如下:五、儀器與器材1、開發(fā)軟件Maxplus2、微機(jī)3、ISP實(shí)驗(yàn)板六、層次化設(shè)計(jì)結(jié)構(gòu)多功能數(shù)字鐘的模塊分為計(jì)時(shí)模塊、時(shí)間校對模塊、報(bào)時(shí)模塊、分頻模塊和動態(tài)顯示模塊。1、計(jì)時(shí)模塊1)實(shí)現(xiàn)功能:計(jì)時(shí):24進(jìn)制計(jì)數(shù)器;計(jì)分、計(jì)秒:60進(jìn)制計(jì)數(shù)器 一片24進(jìn)制計(jì)數(shù)器,兩片60進(jìn)制計(jì)數(shù)器2)計(jì)時(shí)模塊示意圖:3
5、)24進(jìn)制計(jì)數(shù)器VHDL語言描述:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity counter24_60 isport(cp:in std_logic; bin:out std_logic_vector(5 downto 0); s:in std_logic; clr:in std_logic; ec:in std_logic; cy24:out std_logic);end counter24_60;architectur
6、e a of counter24_60 issignal Q:std_logic_vector(4 downto 0);signal rst,dly:std_logic;beginprocess(cp,rst)beginif rst='1' then Q<="00000"elsif cp'event and cp='1' then dly<=Q(4);if ec='1' then Q<=Q+1;end if;end if;end process;cy24<=not Q(4) and dly;rs
7、t<='1' when Q=24 or clr='1' else '0'bin<=('0'&Q) when s='1' else "000000"end architecture;24進(jìn)制計(jì)數(shù)器的生成器件圖:4)60進(jìn)制計(jì)數(shù)器VHDL語言描述:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity counter60
8、_60 isport(cp:in std_logic; bin:out std_logic_vector(5 downto 0); s:in std_logic; clr:in std_logic; ec:in std_logic; cy60:out std_logic);end counter60_60;architecture a of counter60_60 issignal Q:std_logic_vector(5 downto 0);signal rst,dly:std_logic;beginprocess(cp,rst)beginif rst='1' then Q
9、<="000000"elsif cp'event and cp='1' then dly<=Q(5);if ec='1' then Q<=Q+1;end if;end if;end process;cy60<=not Q(5) and dly;rst<='1' when Q=60 or clr='1' else '0'bin<=Q when s='1' else "000000"end a;60進(jìn)制計(jì)數(shù)器的生成器件圖
10、:2.時(shí)間校對模塊1)實(shí)現(xiàn)功能:按下校時(shí)鍵 ,時(shí)位迅速遞增,滿23清0按下校分鍵 ,時(shí)位迅速遞增,滿59清0 ( 注意:此時(shí)不向時(shí)位產(chǎn)生進(jìn)位)按清0鍵,秒清0。計(jì)時(shí)(分)與較時(shí)(分)的選擇:二選1的多路選擇器具體策略:按鍵輸出接21MUX選擇端,正常的計(jì)時(shí)間信號與校對所用的信號分別接21MUX兩個(gè)輸入。注意問題:抖動 消除方法:D觸發(fā)器,同步計(jì)數(shù)脈沖。原理:一個(gè)觸發(fā)器CP(64HZ)內(nèi),屏蔽所有的抖動脈沖。2)計(jì)時(shí)與校時(shí)模塊示意圖:3)二路選擇器的VHDL語言描述:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith
11、.all;use ieee.std_logic_unsigned.all;entity mux2_60 isport(a,b:in std_logic;s:in std_logic;y:out std_logic);end mux2_60;architecture arcmux of mux2_60 isbeginprocess(a,b,s)beginif s='0' then y<=a;else y<=b;end if;end process;end arcmux; 二路選擇器的生成器件圖:4)D觸發(fā)器的圖形描述:D觸發(fā)器的生成器件圖:5)時(shí)間校對模塊圖:3、報(bào)時(shí)
12、模塊1)模塊說明:功能說明:從59分50秒開始,每過2秒進(jìn)行低音報(bào)時(shí),當(dāng)達(dá)到整點(diǎn)時(shí),進(jìn)行一次高音報(bào)時(shí)。 低音的頻率可定為500HZ;高音的頻率可定為1KHZ;人為設(shè)定在八點(diǎn)零八分鬧時(shí)一分鐘,頻率為1KHZ;本模塊端口說明:m1,m0,s1,s0分別為整點(diǎn)報(bào)時(shí)分和秒的高低位的輸入,A,B分別是鬧鐘報(bào)時(shí)時(shí)和分的輸入,500HZ,1kHZ分別為500hz和1khz鳴叫的控制信號。功能實(shí)現(xiàn):定義f0,f1信號,用于存放兩種頻率鬧時(shí)的控制信號;定義以m1,m0,s1,s0為敏感信號的一個(gè)進(jìn)程,然后判斷秒是否為判斷秒的高位是5,如果秒的低位為0、2、6、8則f0為1;若分是00則判斷秒是否都為0,若都為0
13、則f1為1。進(jìn)程結(jié)束時(shí)把f0,f1的值分別賦給f500HZ,f1kHZ。2)整點(diǎn)報(bào)時(shí)模塊示意圖:3)整點(diǎn)報(bào)時(shí)VHDL語言描述:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity baoshi_60 isport(m1,m0:in std_logic_vector(3 downto 0); s1,s0:in std_logic_vector(3 downto 0); s500,s1000:out std_logic);end baoshi_60;architecture a of baos
14、hi_60 issignal f1,f0:std_logic;begin process(m1,m0,s1,s0) begin if (m1="0101" and m0="1001" and s1="0101" )then if( s0="0000" or s0="0010" or s0="0100" or s0="0110"or s0="1000" ) then f0<='1' else f0<='
15、0'f1<='0' end if; else if (m1="0000" and m0="0000" and s1="0000" and s0="0000" ) then f1<='1' else f1<='0'f0<='0' end if; end if; end process; s500<=f0; s1000<=f1;end a; 整點(diǎn)報(bào)時(shí)的生成器件圖:4)鬧鐘報(bào)時(shí)VHDL語言描述:library ie
16、ee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity malarm_60 is port(a,b:in std_logic_vector(7 downto 0); speak:out std_logic);end malarm_60;architecture behave of malarm_60 isbeginprocess(a,b) begin if(a="00001000" and b="00001000"
17、 ) thenspeak<='1'elsespeak<='0'end if;end process;end behave;鬧鐘報(bào)時(shí)的生成器件圖:4、分頻模塊:1) 模塊說明:該模塊實(shí)現(xiàn)將頻率為1024Hz輸入脈沖clk,分成512Hz、256Hz、64Hz、4Hz、1Hz等低頻脈沖。由于clk的頻率為1024hz,所以可以定義一個(gè)std_logic_vecture(9 downto 0),使它不停地從0000000000加到1111111111然后又返回000000000,由于最低位在clk脈沖到來時(shí)從0變成1,然后又在下一個(gè)脈沖變回0,因此最低位的
18、時(shí)鐘周期為clk的時(shí)鐘周期的兩倍,它的頻率就為clk頻率的1/2即512HZ。同理,次高位的頻率就為clk頻率的1/2*1/2=1/4,用這種方法就可以得到各種能整除1024的頻率,從而實(shí)現(xiàn)分頻功能。2)實(shí)現(xiàn)功能:通過一個(gè)標(biāo)準(zhǔn)的時(shí)鐘脈沖產(chǎn)生一個(gè)基準(zhǔn)頻率(CP1),利用計(jì)數(shù)器來進(jìn)行一級或多級分頻,生成所需要的各種頻率信號。3)分頻模塊示意圖:4)分頻功能VHDL語言描述:library ieee;use ieee.std_logic_1164.all;usi ieee.std_logic_unsigned.all;entity frequencydivider_60 is port(clk:in
19、 std_logic; hz512:out std_logic; hz256: out std_logic; hz64: out std_logic; hz4: out std_logic; hz1: out std_logic);end frequencydivider_60;architecture a of frequencydivider_60 is signal q:std_logic_vector(9 downto 0); begin process(clk) begin if clkevent and clk=1 then q<=q+1; end if ; end proc
20、ess; hz512<=q(0); hz256<=q(1); hz64<=q(3); hz4<=q(7); hz1<=q(9);end a;分頻功能的生成器件圖:5、動態(tài)顯示模塊:1)實(shí)現(xiàn)功能: 時(shí)間的顯示: 24進(jìn)制與60進(jìn)制計(jì)數(shù)器的輸出分成6組,每一組(4位)接BCD7段碼譯碼器,驅(qū)動數(shù)碼管顯示。選用8個(gè)數(shù)碼管中的6個(gè)作為時(shí)間顯示。動態(tài)掃描原理與實(shí)現(xiàn): 由兩個(gè)VHDL語言實(shí)現(xiàn)由二進(jìn)制到BCD碼,再由BCD碼到七段顯示碼的轉(zhuǎn)化,還有一個(gè)掃描功能的實(shí)現(xiàn)。2)二進(jìn)制到BCD轉(zhuǎn)化的VHDL語言描述:library ieee;use ieee.std_logic_116
21、4.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity binary_bcd_60 isport(bin:in std_logic_vector(5 downto 0); bcd:out std_logic_vector(7 downto 0);end binary_bcd_60;architecture a of binary_bcd_60 isbeginbcd<="00000000" when bin=0 else "00000001" when bin
22、=1 else "00000010" when bin=2 else "00000011" when bin=3 else "00000100" when bin=4 else "00000101" when bin=5 else "00000110" when bin=6 else "00000111" when bin=7 else "00001000" when bin=8 else "00001001" when bin=9 e
23、lse"00010000" when bin=10 else"00010001" when bin=11 else"00010010" when bin=12 else"00010011" when bin=13 else"00010100" when bin=14 else"00010101" when bin=15 else"00010110" when bin=16 else"00010111" when bin=17 else&
24、quot;00011000" when bin=18 else"00011001" when bin=19 else"00100000" when bin=20 else"00100001" when bin=21 else"00100010" when bin=22 else"00100011" when bin=23 else"00100100" when bin=24 else"00100101" when bin=25 else"
25、;00100110" when bin=26 else"00100111" when bin=27 else"00101000" when bin=28 else"00101001" when bin=29 else"00110000" when bin=30 else"00110001" when bin=31 else"00110010" when bin=32 else"00110011" when bin=33 else"001
26、10100" when bin=34 else"00110101" when bin=35 else"00110110" when bin=36 else"00110111" when bin=37 else"00111000" when bin=38 else"00111001" when bin=39 else"01000000" when bin=40 else"01000001" when bin=41 else"0100001
27、0" when bin=42 else"01000011" when bin=43 else"01000100" when bin=44 else"01000101" when bin=45 else"01000110" when bin=46 else"01000111" when bin=47 else"01001000" when bin=48 else"01001001" when bin=49 else"01010000&qu
28、ot; when bin=50 else"01010001" when bin=51 else"01010010" when bin=52 else"01010011" when bin=53 else"01010100" when bin=54 else"01010101" when bin=55 else"01010110" when bin=56 else"01010111" when bin=57 else"01011000"
29、when bin=58 else"01011001" when bin=59 else"00000000"end a;二進(jìn)制轉(zhuǎn)化為BCD碼的生成器件圖:3)BCD碼轉(zhuǎn)化為七段顯示碼的VHDL語言描述:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity bcd_qi_60 isport(decoder_in:in std_logic_vector(3 downto 0); decoder_ou
30、t:out std_logic_vector(6 downto 0) );end bcd_qi_60;architecture decoder_bcd_display of bcd_qi_60 isbegindecoder_out<="1111110" when decoder_in=0 else "0110000" when decoder_in=1 else "1101101" when decoder_in=2 else "1111001" when decoder_in=3 else "01
31、10011" when decoder_in=4 else "1011011" when decoder_in=5 else "1011111" when decoder_in=6 else "1110000" when decoder_in=7 else "1111111" when decoder_in=8 else "1111011" when decoder_in=9 else "0000000" ;end decoder_bcd_display;BCD碼轉(zhuǎn)
32、化為七段顯示碼的生成器件:4)掃描功能的VHDL語言描述:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity scaner_60 isport(a,b,c,d,e,f:in std_logic_vector(3 downto 0);cp:in std_logic;sel:out std_logic_vector(5 downto 0);display:out std_logic_vector(3 downto 0);end scaner_60;architecture behave of scaner_60 issignal count:
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人借款權(quán)益轉(zhuǎn)讓合同模板(2024年版)版B版
- 2025年度幕墻抗風(fēng)抗震加固工程合同范本4篇
- 2025年度文化娛樂品牌授權(quán)使用許可
- 2025年度出租車司機(jī)職業(yè)操守與信息保密合同
- 2025年度墓地陵園墓地使用權(quán)購買協(xié)議3篇
- 2025年度肉類產(chǎn)品加工與銷售一體化合同3篇
- 2025年度餐飲加盟店品牌授權(quán)與維護(hù)合同3篇
- 二零二五年度寵物貓寵物用品代理銷售合同3篇
- 2025版基因編輯技術(shù)合作項(xiàng)目建議書編制范本3篇
- 2025年KTV主題房間租賃及定制服務(wù)協(xié)議3篇
- 成長小說智慧樹知到期末考試答案2024年
- 紅色革命故事《王二小的故事》
- 海洋工程用高性能建筑鋼材的研發(fā)
- 蘇教版2022-2023學(xué)年三年級數(shù)學(xué)下冊開學(xué)摸底考試卷(五)含答案與解析
- 英語48個(gè)國際音標(biāo)課件(單詞帶聲、附有聲國際音標(biāo)圖)
- GB/T 6892-2023一般工業(yè)用鋁及鋁合金擠壓型材
- 冷庫安全管理制度
- 2023同等學(xué)力申碩統(tǒng)考英語考試真題
- 家具安裝工培訓(xùn)教案優(yōu)質(zhì)資料
- 在雙減政策下小學(xué)音樂社團(tuán)活動有效開展及策略 論文
- envi二次開發(fā)素材包-idl培訓(xùn)
評論
0/150
提交評論