中南大學EDA課程設計報告

2021-03-14 10:34:13 字數 4875 閱讀 6661

中南大學

指導老師: 張靜秋

姓名: 梁雪林

學號: 0909091925

專業班級:自動化0905

目錄一、設計內容簡介 2

二、設計要求 2

基本要求 2

提高部分要求 3

三、方案論證(整體電路設計原理) 3

四、各個模組設計原理 4

4.1 分頻電路模組設計 5

4.2 秒計時器模組設計 7

4.3 分計時器模組設計 9

4.4 小時計時器模組設計 11

4.5 報時模組設計 13

五、實驗中遇到問題及解決方法 20

六、結論 20

七、實驗心得 21

八、參考文獻 22

設計乙個數字鐘,可以完成00:00:00到23:59:59的計時功能,並在控制電路的作用下具有保持、清零、快速校時、快速校分、整點報時等功能。

我設計的電路在具有基本功能的基礎上,增加了下列功能:改變分頻比、不同整點不同報時等;

基本要求

1、能進行正常的時、分、秒計時功能;

2、分別由六個數碼管顯示時分秒的計時;

3、k1是系統的使能開關(k1=0正常工作,k1=1時鐘保持不變);

4、k2是系統的校分開關;

5、k3是系統的校時開關;

提高部分要求

1、使時鐘具有整點報時功能(當時鐘計到59』50」時開始

報時,四個不同整點發出不同聲音);

2、分頻比可變;

本實驗在實現實驗基本功能的基礎上,加入了整點報時等功能;

圖1為實驗功能方框圖:

圖1 實驗方框圖

數字計時器基本功能是計時,因此首先需要獲得具有精確振盪時間的脈振訊號,以此作為計時電路的時序基礎,實驗中可以使用的振盪頻率源為4khz,通過分頻獲得所需脈衝頻率(1hz,1khz,500hz)。為產生秒位,設計乙個模60計數器,對1hz的脈衝進行秒計數,產生秒位;為產生分位,通過秒位的進製產生分計數脈衝,分位也由模60計數器構成;為產生時位,用乙個模24計數器對分位的進製脈衝進行計數。整個數字計時器的計數部分共包括六位:

時十位、時個位、分十位、分個位、秒十位和秒個位。

顯示功能是通過數選器、解碼器、碼轉換器和7段顯示管實現的。因為實驗中只用乙個解碼顯示單元,7個7段碼(6個用於顯示時分秒,乙個顯示星期),所以通過4個7選一mux和乙個3-8解碼器配合,根據計數器的訊號進行數碼管的動態顯示。

清零功能是通過控制計數器清零端的電平高低來實現的。只需使清零開關按下時各計數器的清零端均可靠接入有效電平(本實驗中是低電平),而清零開關斷開時各清零端均接入無效電平即可。

校分校時功能由防抖動開關、邏輯閘電路實現。其基本原理是通過邏輯閘電路控制分計數器的計數脈衝,當校分校時開關斷開時,計數脈衝由低位計數器提供;當按下校分校時開通時,既可以手動觸發出發式開關給進製脈衝,也可以有恆定的1hz脈衝提供恆定的進製訊號,計數器在此脈衝驅動下可快速計數。為實現可靠調時,採用防抖動開關(由d觸發器實現)克服開關接通或斷開過程中產生的一串脈衝式振動。

保持功能是通過邏輯門控制秒計數器輸入端的1hz脈衝實現的。正常情況下,開關不影響脈衝輸入即秒正常計數,當按下開關後,使脈衝無法進入計數端,從而實現計時保持功能。

整點報時功能可以通過組合邏輯電路實現。當計數器的各位呈現特定的電平時,可以選通特定的與門和或門,將指定的頻率訊號送入蜂鳴器中,實現在規定的時刻以指定頻率發音報時。

總體的頂層原理圖如下:

一、原理圖:

二、源**:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity fenp is

port( clk : in std_logic;

clk1k : out std_logic;

clk500: out std_logic;

clk1hz:out std_logic

);end;

architecture one of fenp is

signal f1k:std_logic;

signal f500:std_logic;

signal f1:std_logic;

begin

p1:process(clk)

variable **t1:std_logic_vector(1 downto 0);

variable **t12:std_logic_vector(2 downto 0);

variable **t13:std_logic_vector(11 downto 0);

begin

if clk='1' and clk'event then

if **t1="11" then f1k<='1';**t1:="00"; --11-00=4 fen ping

else **t1:=**t1+1;f1k<='0111-000=8 fen ping

end if1111 1001 1111-0000 0000 0000=4000 fen ping

if **t12="111" then f500<='1';**t12:="000"; --11-00=4 fen ping

else **t12:=**t12+1;f500<='0111-000=8 fen ping

end if;

if **t13="111110011111" then f1<='1';**t13:="000000000000"; --11-00=4 fen ping

else **t13:=**t13+1;f1<='0111-000=8 fen ping

end if;

end if;

end process;

p2:process(f1k,f500,f1)

variable **t2:std_logic;

variable **t22:std_logic;

variable **t23:std_logic;

begin

if f1k'event and f1k='1' then

**t2:=not **t2;

if **t2='1' then clk1k<='1';

else clk1k<='0';

end if;

end if;

if f500'event and f500='1' then

**t22:=not **t22;

if **t22='1' then clk500<='1';

else clk500<='0';

end if;

end if;

if f1'event and f1='1' then

**t23:=not **t23;

if **t23='1' then clk1hz<='1';

else clk1hz<='0';

end if;

end if;

end process;

end;

三、 時序**圖:

四、功能說明

通過對輸入時鐘上公升沿進行計數,以計數的溢位值f1k、f500、f1的上公升沿對計數器輸出進行取反操作。從而可以對講計數頻率偶數次分頻,且輸出方波,占空比50%;

一、電路原理:

二、源**:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_arith.all;

use ieee.std_logic_unsigned.all;

entity second1 is

port( clk1s:in std_logic;

reset: in std_logic;

sec2,sec1:buffer std_logic_vector(3 downto 0);--miao gaodiwei

sec0:out std_logicmiao jinwei

);end second1;

architecture a of second1 is

begin

process(clk1s,reset)

begin

if reset='0' then --qing ling

sec1<="0000";

sec2<="0000";

sec0<='0';

elsif clk1s'event and clk1s='1' then

if (sec1="1001" and sec2="0101") then --jidao 59s

sec2<="0000";

sec1<="0000";

sec0<='1';

elsif (sec1="1001") then --jidao 9s

sec1<="0000";

sec2<=sec2+1;

sec0<='0';

else sec1<=sec1+1; --zhengchangjishu 1s

sec0<='0';

end if;

end if;

end process;

end;

三、時序**:

四、功能說明:

對輸入1hz的頻率進行計數,用reset進行復位清零;只有reset為高時才開始計數;輸出2組4位的bcd碼,用於數碼管顯示;達到59s時輸出進製訊號色sec0;

一、原理圖設計:

二、源**:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_arith.all;

中南大學c課程設計報告

中南大學 高階程式設計實踐 c 課程設計報告 設計題目教學裝置管理系統 指導老師 設計者專業班級 設計日期 一課題的基本內容和要求 二程式功能簡介 三主體內容 1 設計分析 2 程式整體結構 3 部分模組的結構 4 相關模組源程式 5 操作方法 6試驗結果 7設計體會 8 參考文獻 一基本內容和要求...

EDA課程設計實驗報告

課程設計報告 課程名稱數字系統與邏輯設計 課題名稱 16 16點陣顯示 專業通訊工程 班級1181 學號 201113120107 姓名肖浪 指導教師喬匯東吳德建 2013年 7月 2日 湖南工程學院 課程設計任務書 課程名稱數字系統與邏輯設計 課題 16 16點陣顯示 專業班級通訊工程1181 學...

中南大學數學院C課程設計報告

中南大學 c 課程設計 設計報告 題目 c 課程設計 學生姓名 學號專業班級數學類0901 指導老師袁修貴 數學科學與計算技術學院 2010年6月 一 實驗目的 內容 1.使用者任意輸入乙個年份以及該年的1月1日是星期幾,而後再輸入該年的任意乙個月份,由程式負責在螢幕上按照你所設計的格式顯示出這乙個...