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

下載本文檔

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

文檔簡介

1、課程 EDA技術(shù)課程設(shè)計題目脈沖按鍵電話顯示器專業(yè)電子信息工程 主要內(nèi)容、基本要求、主要參考資料等主要內(nèi)容:設(shè)計一個準(zhǔn)確地反映按鍵數(shù)字具有8位顯示的電話按鍵顯示器,該電話顯示器要求具有重?fù)艿墓δ?當(dāng)按下重?fù)苕I時,能夠顯示最后一次輸入的電話號碼?;疽螅?、設(shè)計一個具有8位顯示的電話按鍵顯示器;2、能準(zhǔn)確地反映按鍵數(shù)字;3、顯示器顯示從低位向高位前移,逐位顯示按鍵數(shù)字,最低位為當(dāng)前輸入位;4、設(shè)置一個 重?fù)堋辨I,按下此鍵,能顯示最后一次輸入的電話號碼;5、掛機2秒后或按熄滅按鍵,熄滅顯示器顯示。主要參考資料:1 潘松著.EDA技術(shù)實用教程(第二版).北京:科學(xué)出版社,2005.2 康華光主編電

2、子技術(shù)基礎(chǔ) 模擬部分.北京:高教出版社,2006.3 閻石主編.數(shù)字電子技術(shù)基礎(chǔ).北京:高教出版社,2003.完成期限2011.3.11指導(dǎo)教師專業(yè)負(fù)責(zé)人2011年3月7日一、總體設(shè)計思想1. 基本原理本次課程設(shè)計是用VHD語言實現(xiàn)一個能準(zhǔn)確地反映按鍵數(shù)字、具有 8位顯示 的電話按鍵顯示器。摘機時開始工作,顯示器顯示從低位向高位前移,逐位顯 示按鍵數(shù)字,最低位為當(dāng)前輸入位;設(shè)置一個“重?fù)堋辨I,按下此鍵能顯示最 后一次輸入的電話號碼;掛機2秒后或按熄滅鍵,熄滅顯示器顯示。本文設(shè)計的脈沖按鍵電話顯示器由五個模塊組成:按鍵電路、譯碼器、移 位寄存、鎖存器和數(shù)碼管顯示電路,其中移位寄存、鎖存器和數(shù)碼管

3、譯碼顯示 電路為系統(tǒng)的主要組成部分。(1)按鍵電路模塊。提供“ 0”到“9”數(shù)字按鍵的輸入,同時設(shè)置有撥號 鍵,清除鍵,掛機鍵和重?fù)苕I。(2)譯碼電路模塊。譯碼器有兩個功能。第一,把輸入的一位鍵值轉(zhuǎn)換成 四位BCE碼;第二,把4位二進制碼譯成相應(yīng)的數(shù)碼管輸出顯示碼。BCD碼對應(yīng)的七段數(shù)碼管顯示如下表:4位BCD碼gfedcba顯示數(shù)字000001111110000101100001001010110112001110011113010011001104010111011015011011111016011111100007100011111118100111011119其他情況0000000無

4、BCD碼對應(yīng)的數(shù)碼管顯示(3) 移位寄存器、鎖存模塊。移位寄存器分為三個部分。當(dāng)按下?lián)芴栨I時,數(shù)字按鍵值依次由數(shù)碼管的低位向高位移動,同時送入鎖存器中;當(dāng)按下刪除鍵時,鍵值由高位向低位移除,高位數(shù)碼管熄滅;當(dāng)按下重?fù)苕I時,鎖存器中 存儲的鍵值輸入到移位寄存器中,并通過數(shù)碼管顯示出來。(4) 數(shù)碼管顯示模塊。數(shù)碼管顯示用于將設(shè)置好的每個按鍵的鍵值在數(shù)碼管上顯示出來。由于實驗過程中需要使用8個數(shù)碼管,因此數(shù)碼管顯示模塊必 須加上數(shù)碼管片選及移位得程序,從而實現(xiàn)數(shù)據(jù)輸入以后從低位向高位移動、 顯示。2. 設(shè)計框圖數(shù) 字 鍵 入譯 碼 顯 示 電 路控 制 電 路1移 位 寄 存 器脈沖產(chǎn)生電路1 -

5、計時電路譯 碼 顯 示 電 路脈沖按鍵電話總體設(shè)計方案二、設(shè)計步驟和調(diào)試過程1、總體設(shè)計電路3SH0W:U15clearCLK1DIALDIN10 DIN1*iDIN1 DIN1 DIN14TDIN15DIN16DIN1pTDIN1回DIN19RE_DIAL CLEARCLK1KE/-DIALDIN10DIN11DIN12DIN13DIN14DIN15DIN16DIN17DIN18DIN19RE_DIALSEG8皿SEG8丄SEG82SEG83*SEGSEG848586sEqJ1SET 2SET 32、模塊設(shè)計和相應(yīng)模塊程序1)頂層文件程序TRA:U2SHOW:U1:SET 0SHOW:U1:

6、SET1SHOW:U1:SET 2SHOW:U1:SET3- KEYOUT-SEG80_ SEG81一 SEG82 一 SEG83 二 SEG84SEG716Mux1A_Mux2,373 亠一MuxMuxSEG715SEG714SEG713SEG7123dQ SEG7IIMux43 -_Q|yk i-56 SEG710MuxMux一 SEG87 BSEG86一 SEG85各端口說明分別為:輸入:DIN190 : 09十個數(shù)字鍵;輸出:KEY OUT :可輸入數(shù)字指示燈;CLK1:時鐘脈沖;SEG7160 : 8位數(shù)碼管;SEG320:數(shù)碼管的七段;CLEAR刪除鍵;DIAL :撥號鍵;RE D

7、AIL重?fù)苕I模塊程序:LIBRAR Yl EEE;-庫定義USE IEEE.STD_LOGIC_1164.ALL;-包定義USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY UPKE Y IS-定義實體名、端口PORT(DIN1:IN STD_LOGIC_VECTOR(9 DOWNTO 0);-定義 09數(shù)字輸入 CLK1,CLEAR,DIAL,RE_DIAL:IN STD_LOGIC;KEY OUT:OUT STD_LOGIC;-定義可輸入脈沖指示燈SEG71:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);定義七位段碼SEG8:OUT STD_L

8、OGIC_VECTOR(7 DOWNTO 0);-個數(shù)碼管END ENTIT Y;ARCHITECTURE ONE OF UPKE Y IS-定義結(jié)構(gòu)體COMPONENT SHOW ISPORT(DIN:IN STD_LOGIC_VECTOR(9 DOWNTO 0);CLK,CLEAR,DIAL,RE_DIAL:IN STD_LOGIC;KEY OUT:OUT STD_LOGIC;SET:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END COMPONENT;COMPONENT TRA ISPORT(BCD1:IN STD_LOGIC_VECTOR(3 DOWNTO 0)

9、;SEG7:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END COMPONENT;SIGNAL SET_1:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINU1:SHOPORTMAP(DIN1,CLK1,CLEAR,DIAL,RE_DIAL,KE YOUT,SET_1,SEG8);U2:TRA PORT MAP(SET_1,SEG71);END ARCHITECTURE ONE;2) BCD譯碼子程序BCD譯碼程序的框圖如下圖所示:TRA:U2BCD碼程序各端口說明分別為:輸入:輸出:BCD130 : 4位BCD碼;數(shù)碼管的七段顯示模塊程序:LIBR

10、AR Y IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;7ENTITY TRA ISPORT(BCD1:IN STD_L0GIC_VECT0R(3 DOWNTO 0);SEG7:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END ENTIT Y;ARCHITECTURE ONE OF TRA ISBEGINPROCESS(BCD1)ISBEGINCASE BCD1 ISWHEN 0000=SEG7SEG7SEG7SEG7SEG7SEG7SEG7SEG7SEG7SEG7SEG7二000000

11、0;-其他情況下數(shù)碼管熄滅END CASE;END PROCESS;END ARCHITECTURE;3)鍵值顯示子程序鍵值顯示控制的框圖如下圖所示SHOV/:U1按鍵顯示控制框圖PORT(DIN:IN STD_LOGIC_VECTOR(9 DOWNTO 0);11各端口說明分別為:輸出:輸入:DIN 90 : 09十個數(shù)字鍵;KEY OUT :可輸入數(shù)字指示燈;0:鍵值的BCD碼0:數(shù)碼管的七段;CLK時鐘脈沖;SET3CLEAR 刪除鍵;SEG32DIAL :撥號鍵;RE_DAIL重?fù)苕I模塊程序:LIBRAR Y IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE I

12、EEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SHOW ISCLK,CLEAR,DIAL,RE_DIAL:IN STD_LOGIC;KEY OUT:OUT STD_LOGIC;SET:OUT STD_L0GIC_VECT0R(3 DOWNTO 0);SEG8:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTIT Y;ARCHITECTURE ONE OF SHOW ISSUBT YPE TEN IS STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL BCD :TEN;TYPE NUMBER1 IS ARRA Y(7 D

13、OWNTO 0) OF STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL NUMBER : NUMBER1;SIGNAL KEY ,KE Y1,CLK1,DIAL1,RE_DIAL1:STD_LOGIC;SIGNAL COUNT:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL COUNT1:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL COUNT2:STD_LOGIC_VECTOR(2 DOWNTO 0);SIGNAL DIN1: STD_LOGIC_VECTOR(9 DOWNTO 0);SIGNAL LOCK: STD_

14、LOGIC_VECTOR(31 DOWNTO 0);BEGINPROCESS(CLK)ISBEGINIF RISING_EDGE(CLK) THENCOUNT1V二COUNT1 + 1;END IF;END PROCESS;CLKIv二O WHEN COUNT11100 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 v=(DIN1(0) OR DIN1(1) OR DIN

15、1(2) OR DIN1(3) OR DIN1(4) OR DIN1(5) OR DIN(6) OR DIN1(7) OR DIN1(8) OR DIN1(9);PROCESS(CLK1)ISBEGINIF FALLING_EDGE(CLK1) THENIF COUNT2二100 THENIF CLEAR二0AND RE_DIAL=0 THENKEY 1=KE Y;ELSIF CLEAR =1 AND RE_DIAL=0 THENELSE KEY 1=RE_DIAL1;END IF;COUNT2=000;ELSEC0UNT2V二C0UNT2+1;END IF;END IF;END PROCES

16、S;PROCESS(DIN1)ISBEGINIF DIN1(6)=1 THEN BCD=0110;ELSIF DIN1(1)=1 THENBCD=0001;ELSIF DIN1(2)=1ELSIF DIN1(3)=1ELSIF DIN1(4)=1ELSIF DIN1(5)=1ELSIF DIN1(0)=1ELSIF DIN1(7)=1ELSIF DIN1(8)=1ELSIF DIN1(9)=1THEN BCD=0010THEN BCD=0011THEN BCD=0100THEN BCD=0101THEN BCD=0000THEN BCD=0111THEN BCD=1000THEN BCD=10

17、01ELSE BCD=0000;15END IF;END PROCESS;KEY OUT二KE Y1;PROCESS(KE Y1)ISBEGINIF RISING_EDGE(KE Y1) THENIF CLEAR=O AND RE_DIAL1=O THEN -輸入數(shù)字,實現(xiàn)數(shù)字從低位向高位移動NUMBER(7)=NUMBER(6);NUMBER(6)二NUMBERNUMBER(5)二NUMBER(4);NUMBER(4)=NUMBER(3);NUMBER(3)=NUMBER(2);NUMBER(2)=NUMBER(1);NUMBER(1)=NUMBER(0);NUMBER(0)=BCD;ELS

18、IF CLEAR二1 AND RE_DIAL1=0 THEN - 按下刪除鍵,數(shù)字從高位向低位移動NUMBER(0)=NUMBER(1);NUMBER(1)=NUMBER(2);NUMBER(3)=NUMBER(4);NUMBER(4)v二NUMBERNUMBER(5)二NUMBER(6);NUMBER(6)= NUMBER(7);NUMBER(7)=1111;將已輸入數(shù)字鎖存ELSE-NUMBER(7)= L0CK(31 DOWNTO 28);NUMBER(6)= LOCK(27 DOWNTO 24);NUMBER(5)= LOCK(23 DOWNTO 20);NUMBER(4)= LOCK

19、(19 DOWNTO 16);NUMBER(3)= LOCK(15 DOWNTO 12);NUMBER(2)= LOCK(11 DOWNTO 8);NUMBER(1)= LOCK(7 DOWNTO 4);NUMBER(0)SET二NUMBER(7);SEG8SET二NUMBER(6);SEG8SET二NUMBER(5);SEG8SET二NUMBER(4);SEG8SET二NUMBER(3);SEG8SET=NUMBER(2);SEG8SET=NUMBER(1);SEG8SET=NUMBER(4);SEG8NULL;END CASE;END PROCESS;BEGINPROCESS(DIAL1)

20、IS在重?fù)苕I以后,顯示已撥號碼IF RISING_EDGE(DIAL1) THENLOCK(31 DOWNTO 28)=NUMBER(7);LOCK(23 DOWNTO 20)v二NUMBERLOCK(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é)果分析1 110CLEAHA 0MlCLK1A ILrL_nL_

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論