EDA技術(shù)課程設(shè)計(jì)-脈沖按鍵電話顯示器_第1頁(yè)
EDA技術(shù)課程設(shè)計(jì)-脈沖按鍵電話顯示器_第2頁(yè)
EDA技術(shù)課程設(shè)計(jì)-脈沖按鍵電話顯示器_第3頁(yè)
EDA技術(shù)課程設(shè)計(jì)-脈沖按鍵電話顯示器_第4頁(yè)
EDA技術(shù)課程設(shè)計(jì)-脈沖按鍵電話顯示器_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、課程設(shè)計(jì)EDA技術(shù)課程設(shè)計(jì)脈沖按鍵電話顯示器*課 程 題 目院 系 專業(yè)班級(jí) 學(xué)生姓名 學(xué)生學(xué)號(hào) 指導(dǎo)教師2011 年 3 月 11 日課程設(shè)計(jì)任務(wù)書課程 EDA 技術(shù)課程設(shè)計(jì)_題目脈沖按鍵電話顯示器_主要內(nèi)容、基本要求、主要參考資料等 主要內(nèi)容:設(shè)計(jì)一個(gè)準(zhǔn)確地反映按鍵數(shù)字具有 8 位顯示的電話按鍵顯示器,該電話顯示器要求具有重?fù)艿墓δ? 當(dāng)按下重?fù)苕I時(shí),能夠顯示最后一次輸入的電話號(hào)碼。基本要求:1、 設(shè)計(jì)一個(gè)具有 8 位顯示的電話按鍵顯示器;2、 能準(zhǔn)確地反映按鍵數(shù)字;3、 顯示器顯示從低位向高位前移,逐位顯示按鍵數(shù)字,最低位為當(dāng)前輸入位;4、 設(shè)置一個(gè) 重?fù)堋辨I,按下此鍵,能顯示最后一次輸

2、入的電話號(hào)碼;5、 掛機(jī) 2 秒后或按熄滅按鍵,熄滅顯示器顯示。主要參考資料:1 潘松著.EDA 技術(shù)實(shí)用教程(第二版).北京:科學(xué)出版社,2005.2 康華光主編電子技術(shù)基礎(chǔ) 模擬部分.北京:高教出版社,2006.3 閻石主編.數(shù)字電子技術(shù)基礎(chǔ).北京:高教出版社,2003.完成期限_指導(dǎo)教師_專業(yè)*_姓名*學(xué)號(hào)專業(yè)負(fù)責(zé)人_2011 年 3 月 7 日1、總體設(shè)計(jì)思想1.基本原理電話按鍵顯示器包括脈沖發(fā)生器、計(jì)數(shù)器、譯碼顯示器、控制器、移位寄 存器等五部分組成。其中計(jì)數(shù)器和移位寄存器是系統(tǒng)的主要組成部分。移位寄 存器部分是數(shù)字按鍵和移位寄存器組成的,完成09任意數(shù)字的鍵入且顯示8位數(shù)字通過(guò)控制

3、電路1可以任意清除當(dāng)前的電話號(hào)碼,以便重新輸入。當(dāng)8位 電話號(hào)碼輸入完畢后再通過(guò)控制電路2啟動(dòng)計(jì)數(shù)器部分和脈沖發(fā)生器,來(lái)計(jì)算 通話時(shí)間。計(jì)數(shù)器部分主要完成通話時(shí)間的記數(shù)作用。當(dāng)通話完畢后既是斷開(kāi) 高電平后,計(jì)時(shí)器停止工作,完成計(jì)時(shí)的功能與此同時(shí)移位寄存器也停止工作 其顯示號(hào)碼部分立即清零。我們所設(shè)計(jì)的整體電路是由計(jì)時(shí)器設(shè)計(jì)電路、電話號(hào)碼顯示控制電路、脈 沖產(chǎn)生電路三個(gè)部分組合而成的。2.設(shè)計(jì)框圖我們?cè)O(shè)計(jì)的用VHDI語(yǔ)言實(shí)現(xiàn)的脈沖按鍵電話顯示器由4個(gè)模塊組成:按鍵 電路,譯碼器,移位寄存、鎖存器和數(shù)碼管顯示電路,其中移位寄存、鎖存器 和數(shù)碼管譯碼顯示電路為系統(tǒng)的主要組成部分。脈沖按鍵電話的總體設(shè)

4、計(jì)框圖 如圖2.1所示:2圖 2.1脈沖按鍵電話總體設(shè)計(jì)方案二、設(shè)計(jì)步驟和調(diào)試過(guò)程1、總體設(shè)計(jì)電路CLEAR去CLK1二*、DIN10-DIN11二、DIN12 -DIN13B-DIN14-DIN15-DIN16二一DIN17B -DIN18DIN19匸RE_DIAL-DIALCLEARCLK1H:一、DIN10.DIN11 nDIN12DIN13UDIN14-DIN15DIN16DIN17B-DIN18;DIN19滬一.RE_DIAL DIALSET NUM:U1:.KEYOUT .SEG80SEG81SEG82SEG83 :;SEG84:. KEYOUT.卞SEG80I SEG81I二SE

5、G82匸二SEG83: SEG84DISPLAY:U2DISPLAY:U2SET_NUM:U1:SET0Mux01Mux11SET_NUM:U1:SET0SET_NUM:U1:SET1SET_NUM:U1:SET2SET_NUM:U1:SET3SET_NUM:U1:SET1SET_NUM:U1:SET2SET_NUM:U1:SET3Mux21Mux31Mux423Mux521Mux621_:. SEG716 ._.SEG715 -SEG714=SEG713=:SEG712:;-SEG711-SEG710_:. SEG716、|,.-SEG714: SEG713:-:_.-SEG712ISEG8

6、7SEG87SEG86SEG85一SEG86:SEG8532、模塊設(shè)計(jì)和相應(yīng)模塊程序2.1按鍵電路模塊按鍵電路功能:提供09數(shù)字按鍵的輸入,同時(shí)設(shè)置有撥號(hào)鍵,清除鍵, 掛機(jī)鍵和重?fù)苕I。2.2譯碼電路模塊譯碼電路功能: 譯碼器的功能分為兩個(gè)部分, 第一部分把輸入的一位鍵值 轉(zhuǎn)換成四位BCD碼;第二部分把4位二進(jìn)制碼譯成相應(yīng)的數(shù)碼管輸出顯示碼。 對(duì)應(yīng)的電路圖:42.3移位寄存器、鎖存模塊移位寄存器:移位寄存器分為三個(gè)部分,當(dāng)按下?lián)芴?hào)鍵時(shí),數(shù)字按鍵值依 次由數(shù)碼管的低位向高位移動(dòng),同時(shí)送入鎖存器中;當(dāng)按下刪除鍵時(shí),鍵值由 高位向低位移除,Mux019SET_NUM:U1SET_NUM:U1SET_N

7、UM:U1SET_NUM:U1Mux117Mux213Mux319Mux423Mux621Mux521Mux0195高位數(shù)碼管熄滅;當(dāng)按下重?fù)苕I時(shí),鎖存器中存儲(chǔ)的鍵值輸 入到移位寄存器中,并通過(guò)數(shù)碼管顯示出來(lái)。其大致的流程圖如圖2.2所示:6COUNT10卜65_COMBOUTDIN19DIN11COUNT10;COUNT11|COUNT11卜64_COMBOUTCOUNT11_REGOUTCOUNT0_REGOUTCOUNT1T8_COMBOUTCOUNT1_REGOUTCOUNT3T7_COMBOUTCOUNT3_REGOUTCOUNT2_REGOUTCOUNI13DIN11_REGOUT

8、COUNT13卜62_COMBOUTLessThanO_COMBOUTDIN19KtY1361KEY1362KEY1COUNT12卜63_COMBOUTKEY1_REGOUTNUMBER2349_COMBOUTDIN1同NUMBER2347NUMBER2347_COMBOUTNUMBER2346NUMBER2346_COMBOUTNUMBER2345_COMBOUTNUMBER2344_COMBOUTNUMBER2343_COMBOUTCOUNT22_REGOUTCOUNT20_REGOUTCOUNT21_REGOUTDIN19_REGOUTRE_DIAL1_REGOUTDIN16_REGOU

9、TNUMBER03卜2318_COMBOUTNUMBER2315_COMBOUTNUMBER2316_COMBOUTNUMBER2317_COMBOUTDIN18_REGOUTCOUNTpT9_COMBOUTRE_DIALNUMBER73_REGOUTNUMBER53_REGOUTNUMBER23_REGOUTNUMBER03_REGOUTDIN1同COUNT2T6_COMBOUTCLK1RE_DIAL10COUNT0|aCOUNT1|COUNT3|LC”COUNT2|DIN11|NACOUNT1241Equa035OAT二:;NUMBER03|2318KEY1364C0UNT1PLREG0U

10、T百百NUMBER同3|_REGOUTNUMBER4|3|_REGOUTNUMBER3|3|_REGOUTNUMBER1|3|_REGOUTCLEARNUMBER7|2|_REGOUTNUMBER5|2|_REGOUTNUMBER3|2|_REGOUTNUMBER1|2|_REGOUTNUMBER0|2|_REGOUTNUMBER2|2|_REGOUTNUMBER同2|_REGOUTNUMBER4|2|_REGOUTNUMBER5|1|_REGOUTNUMBER3|1|_REGOUTNUMBER7|1|_REGOUTNUMBER0|1|_REGOUTNUMBER同1|_REGOUTNUMBER

11、4|1|_REGOUTNUMBER2|1|_REGOUTNUMBER1|1|_REGOUTNUMBER3|0|_REGOUTNUMBER7|0|_REGOUTNUMBER5|0|_REGOUTNUMBER1|0|_REGOUTNUMBER2|0|_REGOUTNUMBER0|0|_REGOUT NUMBER同0|_REGOUTNUMBER4|0|_REGOUTKFY136CNUMBER2349NUMBER2345NUMBER2344NUMBER2343NUMBER2342NUMBER2342_COMBOUTNUMBER2341_COMBOUTNUMBER2340NUMBER2340_COMBO

12、UTNUMBER2NUMBER2339_COMBOUTNUMBER2NUMBER2338_COMBOUTNUMBER2NUMBER2337_COMBOUTNUMBER2336NUMBER2336_COMBOUTNUMBER2NUMBER2335_COMBOUTNUMBER2334NUMBER2334_COMBOUTNUMBER2NUMBER2NUMBER2333_COMBOUTNUMBER2332_COMBOUTNUMBER2331_COMBOUTNUMBER2330_COMBOUTNUMBER2329_COMBOUTNUMBER2333_COMBOUTNUMBER2327_COMBOUTNU

13、MBER2326_COMBOUTNUMBER2325_COMBOUTNUMBER2324_COMBOUTNUMBER2323_COMBOUTNUMBER2322_COMBOUTNUMBER2321_COMBOUTNUMBER2320_COMBOUTNUMBER2319_COMBOUTCOUNT13|_REGOUTCOUNT12|_REGOUT72.4數(shù)碼管顯示模塊數(shù)碼管顯示用于將設(shè)置好的每個(gè)按鍵的鍵值 (對(duì)應(yīng)09的數(shù)字)在數(shù)碼管上 顯示出來(lái)。由于實(shí)驗(yàn)過(guò)程中需要使用8個(gè)數(shù)碼管,因?yàn)樵跀?shù)碼管顯示模塊必須 加上數(shù)碼管片選及移位的程序,從而實(shí)現(xiàn)數(shù)據(jù)在輸入以后從低位向高位移動(dòng)、 顯示。1頂層文件程序LI

14、BRARY IEEE; -庫(kù)定義USE IEEE.STD_LOGIC_1164.ALL; -包定義USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY PLUSE_KEY IS-定義實(shí)體名、端口PORT(DIN1:IN STD_LOGIC_VECTOR(9 DOWNTO 0);-定義09數(shù)字輸入CLK1,CLEAR,DIAL,RE_DIAL:IN STD_LOGIC;KEYOUT:OUT STD_LOGIC; -定義可輸入脈沖指示燈SEG71:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);定-義七位段碼SEG8:OUT STD_LOGIC_VECTO

15、R(7 DOWNTO 0); - 8個(gè)數(shù)碼管END ENTITY;ARCHITECTURE ONE OF PLUSE_KEY ISCOMPONENT SET_NUM IS-調(diào)用SET_NU底層文件定義結(jié)構(gòu)體8PORT(DIN:IN STD_LOGIC_VECTOR(9 DOWNTO 0);CLK,CLEAR,DIAL,RE_DIAL:IN STD_LOGIC;KEYOUT:OUT STD_LOGIC;SET:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);SEG8:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END COMPONENT;COMPONENT

16、 DISPLAY IS-調(diào)用DISPLAY底層文件PORT(BCD1:IN STD_LOGIC_VECTOR(3 DOWNTO 0);SEG7:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END COMPONENT;SIGNAL SET_1:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN-各端口的連接U1: SET_NUMPORTMAP(DIN1,CLK1,CLEAR,DIAL,RE_DIAL,KEYOUT,SET_1,SEG8); U2:DISPLAYPORT MAP(SET_1,SEG71);END ART;2 BCD譯碼子程序(DISPLAY.

17、VHD)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DISPLAY IS9PORT(BCD1:IN STD_LOGIC_VECTOR(3 DOWNTO 0);SEG7:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END ENTITY;ARCHITECTURE ONE OF DISPLAY ISBEGINPROCESS(BCD1)ISBEGINCASE BCD1 ISWHEN 0000=SEG7SEG7SEG7SEG7SEG7SEG7SEG7SEG7SEG7S

18、EG7SEG7=0000000; -其他情況下數(shù)碼管熄滅END CASE;END PROCESS;END ARCHITECTURE;103鍵值顯示子程序(SET_NUM.VH)DLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SET_NUM ISPORT(DIN:IN STD_LOGIC_VECTOR(9 DOWNTO 0);CLK,CLEAR,DIAL,RE_DIAL:IN STD_LOGIC;KEYOUT:OUT STD_LOGIC;SET:OUT STD_LOGIC_VECTO

19、R(3 DOWNTO 0);SEG8:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY;ARCHITECTURE ONE OF SET_NUM ISSUBTYPE TEN IS STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL BCD :TEN;TYPE NUMBER1 IS ARRAY(7 DOWNTO 0) OF STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL NUMBER : NUMBER1;SIGNAL KEY,KEY1,CLK1,DIAL1,RE_DIAL1:STD_LOGIC;SIGNAL COUN

20、T:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL COUNT1:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL COUNT2:STD_LOGIC_VECTOR(2 DOWNTO 0);11SIGNAL DIN1: STD_LOGIC_VECTOR(9 DOWNTO 0);SIGNAL LOCK: STD_LOGIC_VECTOR(31 DOWNTO 0);BEGINPROCESS(CLK)ISBEGINIF RISING_EDGE(CLK) THENCOUNT1=COUNT1+1;END IF;END PROCESS;CLK1=0 WHEN C

21、OUNT11100 ELSE 1;PROCESS(CLK1)ISBEGINIF RISING_EDGE(CLK1) THENDIN1(9 DOWNTO 0)=DIN(9 DOWNTO 0);DIAL1=DIAL;RE_DIAL1=RE_DIAL;END IF;END PROCESS;KEY=(DIN1(0) ORDIN1(1) ORDIN1(2) ORDIN1(3) ORDIN1(4) ORDIN1(5)OR DIN(6) OR DIN1(7) OR DIN1(8) OR DIN1(9);12PROCESS(CLK1)ISBEGINIF FALLING_EDGE(CLK1) THENIF CO

22、UNT2=100 THENIF CLEAR=0AND RE_DIAL=0 THENKEY1=KEY;ELSIF CLEAR =1 AND RE_DIAL=0 THENKEY1=CLK;ELSE KEY1=RE_DIAL1;END IF;COUNT2=000;ELSECOUNT2=COUNT2+1;END IF;END IF;END PROCESS;PROCESS(DIN1)ISBEGINIF DIN1(6)=1 THEN BCD=0110;ELSIF DIN1(1)=1 THEN BCD=0001;13ELSIF DIN1(2)=1 THEN BCD=0010;ELSIF DIN1(3)=1

23、THEN BCD=0011;ELSIF DIN1(4)=1 THEN BCD=0100;ELSIF DIN1(5)=1 THEN BCD=0101;ELSIF DIN1(0)=1 THEN BCD=0000;ELSIF DIN1(7)=1 THEN BCD=0111;ELSIF DIN1(8)=1 THEN BCD=1000;ELSIF DIN1(9)=1 THEN BCD=1001;ELSE BCD=0000;END IF;END PROCESS;KEYOUT=KEY1;PROCESS(KEY1)ISBEGINIF RISING_EDGE(KEY1) THENIF CLEAR=0 AND R

24、E_DIAL1=0 THEN -輸入數(shù)字,實(shí)現(xiàn)數(shù)字 從低位向高位移動(dòng)NUMBER(7)=NUMBER(6);NUMBER(6)=NUMBER(5);NUMBER(5)=NUMBER(4);NUMBER(4)=NUMBER(3);14NUMBER(3)=NUMBER(2);NUMBER(2)=NUMBER(1);NUMBER(1)=NUMBER(0);NUMBER(0)=BCD;ELSIF CLEAR=1 AND RE_DIAL1=0 THEN -按下刪除鍵,數(shù)字從高位向低位移動(dòng)NUMBER(0)=NUMBER(1);NUMBER(1)=NUMBER(2);NUMBER(2)=NUMBER(3)

25、;NUMBER(3)=NUMBER(4);NUMBER(4)=NUMBER(5);NUMBER(5)=NUMBER(6);NUMBER(6)= NUMBER(7);NUMBER(7)=1111;PROCESS(CLK)ISBEGINIF RISING_EDGE(CLK) THENCOUNT=COUNT+1;END IF;15END PROCESS;PROCESS(DIAL1)IS在重?fù)苕I以后,顯示已撥號(hào)碼IF RISING_EDGE(DIAL1) THENLOCK(31 DOWNTO 28)=NUMBER(7);LOCK(27 DOWNTO 24)=NUMBER(6);LOCK(23 DOWN

26、TO 20)=NUMBER(5);LOCK(19 DOWNTO 16)=NUMBER(4);LOCK(15 DOWNTO 12)=NUMBER(3);LOCK(11 DOWNTO 8)=NUMBER(2);LOCK(7 DOWNTO 4)=NUMBER(1);LOCK(3 DOWNTO 0)=NUMBER(0);END IF;END PROCESS;END ARCHITECTURE;3、仿真及仿真結(jié)果分析本文設(shè)計(jì)的矩陣鍵盤及顯示電路在Quartus 1I開(kāi)發(fā)環(huán)境下進(jìn)行了仿真驗(yàn)證。 仿真結(jié)果分析如下:(1)clk為時(shí)鐘信號(hào)輸入信號(hào),作為系統(tǒng)時(shí)鐘;(2)rst為清零控制端,當(dāng)其為高電平時(shí),按鍵有效。BEGIN164、實(shí)驗(yàn)調(diào)試結(jié)果本文設(shè)計(jì)的脈沖按鍵電話顯示器進(jìn)行仿真驗(yàn)證后,輸入 8 位數(shù)字以后顯示結(jié)果如圖 3.4 所示:0 16

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論