數字電子時鐘的設計
設計原理 計數時鐘由模為60的秒計數器模塊、模為60的分計數模塊、模為24的小時計數器模塊、指示燈與報警器的模塊、分/小時設定模塊及輸出顯示模塊等組成。秒計數器模塊的進位輸出為分計數器模塊的進位輸入,分計數器模塊的進位輸出為小時計數器模塊的進位輸入。其中秒計數器模塊中應有分鐘的設定,分計數器模塊中應有小時的設定。 內容 設計一個計數時鐘,使其具有24小時計數功能。通過“多功能復用按鍵F1-F12”信號接線組“F1_12(T)”的F9~F12的任意引線插孔可設置小時和分鐘的值,并具有整點報時的功能。 電路原理圖 模塊說明:計數時鐘由60秒計數器模塊XSECOND、60分計數器模塊XMINUTE、24小時計數器模塊XHOUR等六個模塊構成。秒計數器模塊的進位輸出為分計數器模塊的進位輸入,分計數器模塊中有小時的設定。通過SW1、SW2、SW3、SW4可設定小時和分鐘的值,并具有整點報時的功能。 輸入信號:SETMIN為分鐘設置信號;SETHOUR為小時設置信號;RESET為全局復位信號;CLK為全局時鐘信號;CKDSP為數碼管動態掃描信號。 輸出信號:SPEAK為蜂鳴器報時信號;LAMP[2..0]為指示燈信號;A~G為數碼管七個段位信號;SS[2..0]為數碼管段位譯碼控制信號。 說明與電路連線 指示燈信號LAMP2~LAMP0為獨立擴展下載板上CPLD器件的第11、10、9腳,內部已連接并已鎖定,無需外接連線。 蜂鳴器報時信號SPEAK為獨立擴展下載板CPLD器件的第31腳,內部已連接并已鎖定,無需外接連線。 撥碼開關SW1~SW7內部已連接并已鎖定,無需外接連線。 數碼管七個段位信號A~G為獨立擴展下載板上CPLD器件的第86、87、88、89、90、92、93腳,應接數碼管段位引線接線組KPL_AH,從左到右依次對應的A、B、C、D、E、F、G引線插孔。 數碼管段位譯碼控制信號SS0、SS1、SS2為獨立擴展下載板上CPLD器件的第68、69、70腳,為數碼管的位選掃描信號,分別接信號接線組DS1-8A(T)的SS0、SS1、SS2引線插孔(即在電源引線插孔組GND孔處)。 復位信號RESET為獨立擴展下載板上CPLD器件的第71腳,應接“多功能復用按鍵F1-F12”信號接線組“F1_12(T)”的F9~F12的任意一個插孔。 小時設置信號SETHOUR為獨立擴展下載板CPLD器件的第73腳,應接“多功能復用按鍵F1-F12”信號接線組“F1_12(T)”的F9~F12的任意一個插孔。 分鐘設置信號SETMIN為獨立擴展下載板上CPLD器件的第74腳,應接“多功能復用按鍵F1-F12”信號接線組“F1_12(T)”的F9~F12的任意一個插孔。 時鐘信號CLK為獨立擴展下載板上CPLD器件的183腳(即GCLK2),應接時鐘信號接線組“CLOCK(T)”的“FRQ(21)”引線插孔。 數碼管動態掃描信號CKDSP為獨立擴展下載板上CPLD器件的79腳(即GCLK1),應接時鐘信號接線組“CLOCK(T)”的“FRQ(11)”引線插孔。 參考源程序 library IEEE; use IEEE.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity xsecond is port ( clk: in STD_LOGIC; clkset: in STD_LOGIC; setmin: in STD_LOGIC; reset: in STD_LOGIC; secout: out STD_LOGIC_VECTOR (6 downto 0); enmin: out STD_LOGIC ); end xsecond; architecture xsecond_arch of xsecond is signal sec : std_logic_vector(6 downto 0); signal emin : std_logic; signal sec1 : std_logic; begin – <> process(reset,sec,emin,setmin,clkset) begin if reset=’0′ then enmin<='0'; secout<="0000000"; sec1<='1'; else sec1<='0'; secout<=sec; if clkset='1' and clkset'event then if setmin='0' then enmin<='1'; else enmin<=emin; end if; end if; end if; end process; process(clk,sec1) alias lcount : std_logic_vector(3 downto 0) is sec(3 downto 0); alias hcount : std_logic_vector(2 downto 0) is sec(6 downto 4); begin if sec1='1' then sec<="0000000"; else if (clk='1' and clk'event) then if lcount=9 then lcount<="0000"; if hcount/=5 then hcount<=hcount+1; emin<='0'; else hcount<="000"; emin<='1'; end if; else lcount<=lcount+1; emin<='0'; end if; end if; end if; end process; end xsecond_arch; library IEEE; use IEEE.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity xminute is port ( clkmin: in STD_LOGIC; reset: in STD_LOGIC; sethour: in STD_LOGIC; clk: in STD_LOGIC; minout: out STD_LOGIC_VECTOR (6 downto 0); enhour: out STD_LOGIC ); end xminute; architecture xminute_arch of xminute is signal min : std_logic_vector(6 downto 0); signal ehour : std_logic; signal min1 : std_logic; begin -- <> process(reset,clk,sethour,min,ehour) begin if reset=’0′ then enhour<='0'; minout<="0000000"; min1<='0'; else min1<='1'; minout<=min; if clk='1' and clk'event then if sethour='0' then enhour<='1'; else enhour<=ehour; end if; end if; end if; end process; process(clkmin,min1) alias lcountm : std_logic_vector(3 downto 0) is min(3 downto 0); alias hcountm : std_logic_vector(2 downto 0) is min(6 downto 4); begin if min1='0' then min<="0000000"; else if (clkmin='1' and clkmin'event) then if lcountm=9 then lcountm<="0000"; if hcountm/=5 then hcountm<=hcountm+1; ehour<='0'; else hcountm<="000"; ehour<='1'; end if; else lcountm<=lcountm+1; ehour<='0'; end if; end if; end if; end process; end xminute_arch; library IEEE; use IEEE.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity xhour is port ( clkhour: in STD_LOGIC; reset: in STD_LOGIC; hourout: out STD_LOGIC_VECTOR (5 downto 0) ); end xhour; architecture xhour_arch of xhour is signal hour : std_logic_vector(5 downto 0); begin -- <> process(reset,clkhour,hour) alias lcount : std_logic_vector(3 downto 0) is hour(3 downto 0); alias hcount : std_logic_vector(1 downto 0) is hour(5 downto 4); begin if reset=’0′ then hourout<="000000"; hour<="000000"; else if (clkhour='1' and clkhour'event) then if lcount=9 then lcount<="0000"; hcount<=hcount+1; else if hour="100011" then hour<="000000"; else lcount<=lcount+1; end if; end if; end if; hourout<=hour; end if; end process; end xhour_arch; library IEEE; use IEEE.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity xalert is port ( clk: in STD_LOGIC; d_in: in STD_LOGIC_VECTOR (6 downto 0); speak: out STD_LOGIC; d_out: out STD_LOGIC_VECTOR (2 downto 0) ); end xalert; architecture xalert_arch of xalert is type state is (s1,s2,s3,s4); signal next_state,current_state : state; begin -- <> process(clk,current_state,d_in) begin if d_in/=”0000000″ then speak<='0'; next_state<=s1; current_state<=s1; d_out<="000"; else if clk='1' and clk'event then speak<='1'; current_state<=next_state; end if; case current_state is when s1 => d_out<="000"; next_state<=s2; when s2 => d_out<="001"; next_state<=s3; when s3 => d_out<="010"; next_state<=s4; when s4 => d_out<="100"; next_state<=s1; when others => d_out<="000"; null; end case; end if; end process; end xalert_arch; library IEEE; use IEEE.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity xsettime is port ( hour: in STD_LOGIC_VECTOR (5 downto 0); min: in STD_LOGIC_VECTOR (6 downto 0); sec: in STD_LOGIC_VECTOR (6 downto 0); reset: in STD_LOGIC; clk: in STD_LOGIC; sel: out STD_LOGIC_VECTOR (2 downto 0); d_out: out STD_LOGIC_VECTOR (3 downto 0) ); end xsettime; architecture xsettime_arch of xsettime is signal sel1 : std_logic_vector(2 downto 0); begin -- <> process(clk,reset,sel1,hour,min,sec) begin if reset=’0′ then sel<="000"; d_out<="0000"; sel1<="000"; else if (clk='1' and clk'event) then if sel1<5 then sel1<=sel1+1; else sel1<="000"; end if; end if; sel<=sel1; case sel1 is when "000" => d_out(3)<='0'; d_out(2)<='0'; d_out(1)<=hour(5); d_out(0)<=hour(4); when "001" => d_out<=hour(3 downto 0); when "010" => d_out(3)<='0'; d_out(2)<=min(6); d_out(1)<=min(5); d_out(0)<=min(4); when "011" => d_out<=min(3 downto 0); when "100" => d_out(3)<='0'; d_out(2)<=sec(6); d_out(1)<=sec(5); d_out(0)<=sec(4); when "101" => d_out<=sec(3 downto 0); when others => null; end case; end if; end process; end xsettime_arch; library IEEE; use IEEE.std_logic_1164.all; entity xdeled is port ( d_in: in STD_LOGIC_VECTOR (3 downto 0); a: out STD_LOGIC; b: out STD_LOGIC; c: out STD_LOGIC; d: out STD_LOGIC; e: out STD_LOGIC; f: out STD_LOGIC; g: out STD_LOGIC ); end xdeled; 才五分啊,太少了吧
數字電路 – –多位顯示的數字鐘設計
一個6位數字顯示計時鐘電路,小時為24進
如何設計一個類似石英鐘的數字顯示的電子鐘
數字時鐘的設計與制作
摘要:本系統是采用555構成的多協振蕩器、74LS90芯片組合做成的數子時鐘系統。其中用555構成的多協振蕩器產生震蕩頻率,再用74LS 90芯片組合成分頻電路對震蕩頻率進行分頻,然后對選用74LS92和74LS90分別作為時計數器和分、秒計數器,再加一個校時電路。能讓該數子時鐘準確計時,以數字形式顯示時、分、秒的時間,小時的計時為“24翻1”分,秒的計時為60進位 ,和時間校正功能。
關鍵字: 震蕩器 分頻 計數器 74LS90 校時
一、數字時鐘的總體設計
1 數字時鐘的原理方框圖如圖1所示:
圖1數字時鐘的原理方框圖
該電路系統由秒信號發生器、“時”、“分”、“秒”計數器、譯碼器及顯示器等組成。秒信號產生器是整個系統是時基信號,它直接決定計數系統的精度。將標準秒信號送入“秒計數器”,“秒計數器”采用六十進制計數器,每累積60秒發出一個分脈沖信號,該信號將作為“分計數器”的時鐘脈沖,“分計數器”也采用60進制計數器,每累積60分鐘,發出一個“時脈沖”信號,該信號將被送入“時計數器”。“時計數器”采用24進制計數器,可實現對一天24小時的計數。譯碼顯示電路將“時”、“分”、“秒”計數器的輸出狀態經7段譯碼顯示器譯碼,通過7段顯示器顯示出來。
二、模塊的設計與比較
1. 振蕩電路及分頻電路
方案一:
(1)采用石英晶體振蕩器
石英晶體振蕩器的特點是振蕩頻率準確,電路結構簡單,頻率易高調整。它還具有壓電效應,在晶體某一方向加一電場,則在與此垂直的方向產生機械振動和電場互為因果,這種循環過程一直持續到晶體的機械強度限制時,才達到最后的穩定,這種壓電諧振的頻率就是晶體振蕩的固有頻率。
圖2 石音晶體振蕩電路
圖2所示電路通過CMOS非門構成的輸出為方波的數字式晶體振蕩電路,這個電路中,CMOS非門U1與晶體、電容和電阻構成晶體振蕩器電路,U2實現整形功能,將振蕩器輸出的近似于正弦波的波形轉換為較理想的方波。輸出反饋電阻R1為非門提供偏置,使電路工作于放大區域,即非門的功能近似于一
個高增益的反相放大器。電容C1、C2與晶體構成一個諧振型網絡,完成對振蕩頻率的控制功能,同時提供了一個180度相移,從而和非門構成一個正反饋網絡,實現了振蕩器的功能。由于晶體具有較高的頻率穩定性及準確性,從而保證了輸出頻率的穩定和準確。晶體X1的頻率選為32768HZ。該元件專為數字鐘電路而設計,其頻率較低,有利于減少分頻器級數。C1、C2均選擇為30pF。當要求頻率準確度和穩定度更高時,還可接入校正電容并采取溫度補償措施。由于CMOS電路的輸入阻抗極高,因此反饋電阻R1可選為10MΩ。較高的反饋電阻有利于提高振蕩頻率的穩定性。
(2) 用CD4060計數作分頻器
數字鐘的晶體振蕩器輸出頻率較高,為了得到1Hz的秒信號輸入,需要對振蕩器的輸出信號進行分頻。本實驗中采用CD4060來構成分頻電路。CD4060在數字集成電路中可實現的分頻次數最高,而且CD4060還包含振蕩電路所需的非門,使用更為方便。CD4060計數為14級2進制計數器,可以將32768HZ的信號分頻為2HZ,其次CD4060的時鐘輸入端兩個串接的非門,因此可以直接實現振蕩和分頻的功能。
方案二:
(1)采用555構成的多偕振蕩電路
振蕩器電路選用555構成的多偕振蕩器,設振蕩頻率f=1000HZ,其中的電位器可以微調振蕩器的輸出頻率。
圖5 多偕振蕩電路
(2)用74LS90作分頻器
通常實現分頻器的電路是計數器電路,一般采用多級10進制計數器來實現。分頻器的功能有兩個:一是產生標準秒脈沖信號;二是提供功能擴展電路所需的信號。選用中規模集成電路74LS90可以完成以上功能。如圖所示,將3片74LS90級聯,每片為1/10分頻,三片級聯正好獲得1HZ的標準秒脈沖。
圖 6 分頻電路
比較: 秒信號發生器是數字電子鐘的核心部分,它的精度和穩度決定了數字鐘的質量,但是我們做實驗考慮到用石音晶體振蕩電路時分頻電路用的元件較多 且價格較貴,而用555構成的電路元件容易得,電路簡單且易于實現,故選方案二
2. 秒、分、時計數器設計
秒脈沖信號經過6級計數器,分別得到“秒”個位,十位、“分”個位、十位、“時”個位,十位的計時,秒分計數器為60進制,小時為24進制。
(1)60進制計數電路:秒計數器電路與分計數器電路都是60進制,它由一級10進制計數器和一級6進制計數器連接構成,如圖7、8所示,采用兩片中規模集成電路7490串聯接起來構成的秒、分計數器。
IC2是十進制計數器,作為十進制的進位信號,7490計數器是十進制異步計數器,用反饋歸零方法實現十進制計數。IC1和非門組成六進制計數。7490是在一秒時鐘或進位信號的下降沿翻轉計數, IC1的QA和QC相與0101的下降沿作為“分”或者“時”計數器的輸入信號。IC1的QB和QC高電平1分別送到計數器的清零RO1、RO2,7490內部的RO1 和RO2與非后清零而使計數器歸零,完成六進制計數。由此可見串聯實現了六進制計數。
圖7 秒計數電路
圖8 分計數電路
(2)24進制計數電路:小時計數電路是由和組成的24進制計數電路,采用兩片中規模集成電路7490串聯接起來構成。如圖9所示:
當“時”個位IC4計數輸入端CKA來到第10個觸發信號時,IC4計數器復零,進位端QD向IC3“時”十位計數器輸出進位信號,當第24個“時”脈沖到達時,IC4計數器的狀態為0100,IC3計數器的狀態為0100,此時“時”個位計數器的QC和“時”十位計數器的QB輸出為1。把它們分別送到IC4和IC3計數器的清零端RO1 和RO2通過7490內部的RO1 和RO2與非后清零,計數器復位,完成24進制計數。
圖9 時計數電路
3. 校時電路
校時電路實現對時分的校準。在電路中設有正常計時和校時位置。分、時的校準開關分別通過觸發器控制。通常,校正時間的方法是:首先截斷正常的計數通路,然后再進行人工出觸發計數或將頻率較高的方波信號加到需要校正的計數單元的輸入端,校正好后,再轉入正常計時狀態即可。根據要求,數字鐘應具有分校正和時校正功能,因此,應截斷分個位和時個位的直接計數通路,并采用正常計時信號與校正信號可以隨時切換的電路接入其中。
圖8所示為本實驗所用的完整的校時電路圖。
圖10 校時電路
4. 顯示器
本系統用七段發光二極管來顯示譯碼器輸出的數字,顯示器有兩種:共陽極或共陰極顯示器。74LS48譯碼器對應的是顯示器是共陰顯示器。
三、調試要點
我覺得假設在實際的實驗箱上組裝電子鐘時,注意器件管腳的連接一定要準確。“懸空端“、“清0端”、“置1端”要正確處理,調試步驟和方法如下:。
(1)、將頻率為1000HZ的信號送入分頻器,并用示波器檢查各級分頻器的輸出頻率是否符合設計要求。
(3)、將1秒信號分別送入“時”、“分”、“秒”計數器,檢查各級計數器的工作情況。
(4)、觀察校時電路的功能是否滿足校時要求。
(5)、當分頻器和計數器調試正常后,觀察電子鐘是否準確正常地工作。
四、供參考的元器件
(1)、七段顯示器(共陰極)6片 (2)、74LS90 9片 (3)、555多諧振蕩器 1片 (4)、74LS00 8片 (5)、74LS04 4片
(6)、電阻、電容、導線等。
五、收獲體會
該電路的設計讓我對數字鐘的設計有了一定的了解。我知道了如何設計出1HZ的信號,也對時分秒的設計有了一定的了解。并且在實際電路一般步驟為由數字鐘系統組成框圖按照信號的流向分級安裝,逐級級聯,這里的每一級是指組成數字鐘的各功能電路。級聯時如果出現時序配合不同步,或尖峰脈沖干擾,引起邏輯混亂,可以增加多級邏輯門來延時。經過聯調并糾正設計方案中的錯誤和不足之處后,再測試電路的邏輯功能是否滿足設計要求。最后畫出滿足設計要求的總體邏輯電路圖。
參考文獻:
1.謝自美,電子線路設計*實驗*測試.武漢:華中科技大學出版社,2007
2.康光華,電子技術基礎(第五版)。北京:高等教育出版社,2006
3.蔣煥文,孫續。電子測量。北京:計量出版社,1998
4.P.F.格拉夫。電子電路百科全書。張殿等譯。北京:科學出版社,1999
5.王興亮主編現代音響和調音技術。西安電子科技大學出版,2006
基于數字電子設計一個時鐘
基于數字電子設計一個時鐘,電路框圖如圖所示 設計方案:采用CD4060做振蕩分頻,輸出秒脈沖,供秒計數器使用. 將秒脈沖送入秒計數器進行60分頻輸出分脈沖供分計數器 使用 將分脈沖送入分計數器進行60分頻輸出小時脈沖供時計數器 使用 將分脈沖送入時計數器進行12(或24)分頻 將各計數器的數據送入譯碼顯示電路進行顯示.
數字電路數字鐘設計
根據設計任務和要求,對照數字電子鐘的框圖,可以分以下幾部分進行模塊化設計。
1. 秒脈沖發生器
脈沖發生器是數字鐘的核心部分,它的精度和穩定度決定了數字鐘的質量,通常用晶體振蕩器發出的脈沖經過整形、分頻獲得1Hz的秒脈沖。如晶振為32768 Hz,通過15次二分頻后可獲得1Hz的脈沖輸出.
2. 計數譯碼顯示
秒、分、時、日分別為60、60、24、7進制計數器、秒、分均為60進制,即顯示00~59,它們的個位為十進制,十位為六進制。時為二十四進制計數器,顯示為00~23,個位仍為十進制,而十位為三進制,但當十進位計到2,而個位計到4時清零,就為二十四進制了。
周為七進制數,按人們一般的概念一周的顯示日期“日、1、2、3、4、5、6”,所以我們設計這個七進制計數器,應根據譯碼顯示器的狀態表來進行,如表1.1所示。
按表1.1狀態表不難設計出“日”計數器的電路(日用數字8代替)。
所有計數器的譯碼顯示均采用BCD—七段譯碼器,顯示器采用共陰或共陽的顯示器。
Q4 Q3 Q2 Q1
顯示
1 0 0 0
日
0 0 0 1
1
0 0 1 0
2
0 0 1 1
3
0 1 0 0
4
0 1 0 1
5
0 1 1 0
6
表1.1 狀態表
3. 校時電路
在剛剛開機接通電源時,由于日、時、分、秒為任意值,所以,需要進行調整。
置開關在手動位置,分別對時、分、秒、日進行單獨計數,計數脈沖由單次脈沖或連續脈沖輸入。
4. 整點報時電路
當時計數器在每次計到整點前六秒時,需要報時,這可用譯碼電路來解決。即
當分為59時,則秒在計數計到54時,輸出一延時高電平去打開低音與門,使報時聲按500Hz頻率嗚叫5聲,直至秒計數器計到58時,結束這高電平脈沖;當秒計數到59時,則去驅動高音1KHz頻率輸出而鳴叫1聲。
五、參考電路
數字電子鐘邏輯電路參考圖如圖1.3所示。
參考電路簡要說明
1. 秒脈沖電路
由晶振32768Hz經14分頻器分頻為2Hz,再經一次分頻,即得1Hz標準秒脈沖,供時鐘計數器用。
2. 單次脈沖、連續脈沖
這主要是供手動校時用。若開關K1打在單次端,要調整日、時、分、秒即可按單次脈沖進行校正。如K1在單次,K2在手動,則此時按動單次脈沖鍵,使周計數器從星期1到星期日計數。若開關K1處于連續端,則校正時,不需要按動單次脈沖,即可進行校正。單次、連續脈沖均由門電路構成。
3. 秒、分、時、日計數器
這一部分電路均使用中規模集成電路74LS161實現秒、分、時的計數,其中秒、分為六十進制,時為二十四進制。從圖3中可以發現秒、分兩組計數器完全相同。當計數到59時,再來一個脈沖變成00,然后再重新開始計數。圖中利用“異步清零”反饋到/CR端,而實現個位十進制,十位六進制的功能。
時計數器為二十四進制,當開始計數時,個位按十進制計數,當計到23時,這時再來一個脈沖,應該回到“零”。所以,這里必須使個位既能完成十進制計數,又能在高低位滿足“23”這一數字后,時計數器清零,圖中采用了十位的“2”和個位的“4”相與非后再清零。
對于日計數器電路,它是由四個D觸發器組成的(也可以用JK觸發器),其邏輯功能滿足了表1,即當計數器計到6后,再來一個脈沖,用7的瞬態將Q4、Q3、Q2、Q1置數,即為“1000”,從而顯示“日”(8)。
4.譯碼、顯示
譯碼、顯示很簡單,采用共陰極LED數碼管LC5011-11和譯碼器74LS248,當然也可用共陽數碼管和譯碼器。
1. 整點報時
當計數到整點的前6秒鐘,此時應該準備報時。圖3中,當分計到59分時,
將分觸發器QH置1,而等到秒計數到54秒時,將秒觸發器QL置1,然后通過QL與QH相與后再和1s標準秒信號相與而去控制低音喇叭嗚叫,直至59秒時,產生一個復位信號,使QL清0,停止低音嗚叫,同時59秒信號的反相又和QH相與后去控制高音喇叭嗚叫。當計到分、秒從59:59—00:00時,嗚叫結束,完成整點報時。
2. 嗚叫電路
嗚叫電路由高、低兩種頻率通過或門去驅動一個三極管,帶動喇叭嗚叫。1KHz
和500Hz從晶振分頻器近似獲得。如圖中CD4060分頻器的輸出端Q5和Q6。Q5輸出頻率為1024Hz,Q6輸出頻率為512Hz。
設計一個數字時鐘電路.要求: 具有時,分,秒,計數顯示功能,以24小時循環計時.
http://wenku.baidu.com/view/85d9ca1ab4daa58da1114a2a.html
求數字鐘電路課程設計(需要帶圖)
一、實驗目的:
1、用中大規模集成電路設計出數字鐘
2、掌握具有特殊進制的設計方法。
3、掌握計數,譯碼,顯示設計。
二、實驗任務:
1、用中規模集成電路設計一個數字鐘的計數,譯碼,顯示電路。
2、設計六十進制的秒計數器和分計數電路。
3、時計數器采用二十四進制,從00開始計數到23后再回到00。
4、設計校時裝置,能對時分秒分別校正。
5、設計整點報時電路。
三、電路總設計:
1、電路組成及原理:
2、實驗器材:
(1)集成電路:555定時器一片、CT74LS161 九片、CT74LS47六片。
(2)門電路: CT74LS00四片、CT74LS08一片、CT74LS20一片。
(3)電源電壓+5V。
(4)數字顯示:共陽極數碼管六片。
(5)電阻:5.1K、2K各一個,100K四個。
(6)電容:104PF兩個。
四、單元電路設計:
1、 多諧振蕩器
該555多諧振蕩器輸出頻率為1000HZ。
2、分頻器:
分頻器將CT74LS161接成10進制計數器,這樣每過一級頻率會變為原來的1/10。如圖所示,經過3級分頻后能得到1HZ的秒信號。
3、計數器:
(1)分秒計數器:
將兩片CT74LS161接成60進制計數器,分(秒)個位片為10進制,十位片為6進制。
(2)時計數器:
先將兩片CT74LS161接成30進制計數器,分(秒)個位片為10進制,十位片為3進制。再用24(既00011000)反饋置0,則符合24進制計數。
4、譯碼器與數碼管:
5、校時電路:
當開關K1、K2閉合、K3接左邊門電路時,秒信號加至秒個位計數器,數字鐘正常計時。當K1斷開、K2閉合、K3接左邊門電路時,秒信號送入時個位計數器,進行時校對。當K1閉合、K2 斷開、K3接左邊門電路時,秒信號送入分個位計數器,進行分校對。當K1和K2閉合、K3接右邊門電路時, 0.1s脈沖進行秒校對。當秒校對后, K3接左邊門電路,數字鐘按校對后的時間工作。電路中運用基本RS觸發器,以防止開關K3抖動。利用0.1s校對秒位計數器,能夠很方便的校對成功,也十分準確。
你可以在這個 http://www.lunwen.com/pages/2006/05/29/D201738.html下載完整的
數字電子時鐘電路圖
NE555可以用來產生’標準計時時鐘’給計數器,再用集成電路74LS160 設計產生2個60進制計數器,一個24進制計數器,再有CD4511 對BCD碼譯碼產生數碼顯示的7段(a~g)或門和非門在設計計數器時用到
求數字電子鐘設計
由于集成電路制造技術日新月異,電子電路的設計日 趨復雜。為了能在電路付諸實現之前,完全掌握操作環境因素(如電源電壓、溫度等)對電路的影響,利用電腦輔助設計進行電模擬與分析,并進行輸入與輸出信號響應的驗證,可有效地節省產品開發的時間與成本。 Simulation Program with Integrated Circuit Emphasis (PSPICE)軟件是專門用于電子電路仿真的“虛擬電子工作臺PSPICE軟件具有強大的電路圖繪制功能、電路模擬仿真功能、圖形后處理功能和元器件符號制作功能,以圖形方式輸入,自動進行電路檢查,生成圖表,模擬和計算電路。它的用途非常廣泛,不僅可以用于電路分析和優化設計,還可用于電子線路、電路和信號與系統等課程的計算機輔助教學。與印制版設計軟件配合使用,還可實現電子設計自動化。被公認是通用電路模擬程序中最優秀的軟件,具有廣闊的應用前景。這些特點使得PSPICE受到廣大電子設計工作者、科研人員和高校師生的熱烈歡迎,國內許多高校已將其列入電子類本科生和碩士生的輔修課程。 2 設計目的 2.1掌握數字鐘的工作原理及其設計方法 2.2熟悉常用數字集成電路的使用方法 2.3應用pspice軟件進行仿真 3 設計內容及要求 3.1設計一個有“時”、“分”、“秒”(23小時59分59秒)顯示的數字時鐘。(“時”和“分”的校準電路部分為選做內容) 3.2用中小規模集成電路(PSpice9.1中的74161或74390;EWB5.0中的74163加上4511以及LED等)組成數字電子鐘,進行組裝調試,并進行仿真。 3.3畫出原理框圖和邏輯電路圖,寫出設計實驗總結報告。
基于VHDL的數字鐘設計
(二)設計方案及工作原理 數字電子鐘的邏輯框圖如圖1所示.它由石英晶體振蕩器、分頻器、計數器、譯碼器顯示器和校時電路組成.振蕩器產生穩定的高頻脈沖