久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

課程設計數字電子鬧鐘

時間:2019-05-14 18:41:32下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《課程設計數字電子鬧鐘》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《課程設計數字電子鬧鐘》。

第一篇:課程設計數字電子鬧鐘

數 字 鬧 鐘 的 設 計

數字鬧鐘的設計與制作

一、設計任務與要求

設計并制作一個帶有可定時起鬧的數字鐘

1.有“時”、“分”十進制顯示,“秒”使用發光二極管閃爍表示

2.以24小時為一個計時周期

3.走時過程中能按預設的定時時間(精確到小時)啟動鬧鐘,以發光二極管閃爍表示,啟鬧時間為3s~10s

二、實驗儀器及主要器件

5V電源

1臺 面包板

1塊 74LS163

6片 74LS00

5片 74LS138

2片 CD4511

4片 LM555

1片 74LS123

1片 LED共陰極顯示器

4片 電阻

若干 電容

3個 導線

15米

三、設計原理方案

系統構成

1、標準時間源

l)標準時間源即秒信號發生器)可采用LM555構成多諧振蕩器,調整電阻可改變頻率,使之產生1Hz的脈沖信號(即T=1S)

LM555管腳排列及電路

T=0.7(RA+2RB)C

T=1S,C=220uF

計算得RA+2RB≈6.5K

取RA=1.5K,RB=2.4K

2.計時部分:時計數單元一般為24進制計數器,其輸出為兩位8421BCD碼形式;分計數和秒計數單元為60進制計數器,其輸出也為8421BCD碼。

模60計數器采用異步方式

如秒計數器:分成個位和十位,個位模十,十位模六。個位從0000計數到1001,利用置數端將個位從0000重新開始計數,同時將1001信號作為一個CP脈沖信號傳給十位,讓十位開始從0000開始計數。以此規律開始計數,直到十位計數到5,個位計數到9時,通過十位的置數端將十位清零,重新開始計數,并將此信號作為一個CP脈沖信號傳給分計數器。

模24計數器電路

模24計數器采用同步方式, 使用兩片74LS163芯片,cp脈沖均由分計數器提供.第一片制成模10計數器,將1001信號提取出來后給與清零端。第二片芯片制成模為3的計數器,原數據ABCD給予0000信號.將第一片芯片的0011信號與第二片芯片的0010信號提取出來給與第一片芯片的置數端與第二片芯片的清零端,上升沿過來之后,兩片芯片同時清零

3、定時起鬧部分

l)正點起鬧,不要求分)使用2片74LS138,分別選出小時的十位和個位)小時十位為0~2,3-8譯碼器只使用前2個輸入端,小時個位為0~9,3-8譯碼器只有3個輸入端,會丟失幾個時間點:8點、9點、18點、19點。)還應控制起鬧時間的長短,用74LS123構成單穩態觸發器

起鬧部分框圖

控制起鬧時間長短:T=0.28RC(1+0.7k/R)采用2片74LS138,將控制十位的3-8譯碼器的A2端作為控制個位3-8譯碼器的最高位,這樣就可以滿足小時個位為0-9。控制十位的3-8譯碼器的A1,A0一起控制十位從0-2變化。

4、完整的鬧鐘電路圖(ewb設計圖)

電路安裝要求

1.布局合理

2.導線橫平豎直,且不要從集成塊上跳線

3.導線緊貼面包板,連接可靠

4.交叉線盡可能少

調試方法:

(1)采用逐級調試的方法

1.確保秒信號正常

2.調試秒計數器

3.調試分計數器,可將秒信號作為分計數器的CP脈沖

4.調試小時計數器,可將秒信號作為小時計數器的CP脈沖

5.調試鬧鐘電路

(2)將秒信號發生電路中的電容換成比較小的電容,這樣使得分信號的脈沖周期比較短

五、設計和調試過程中出現的問題及解決方法

1)將秒信號接入示波器,與標準信號對比,出現誤差,但在允許范圍之內。

2)插上電源后發現秒信號和分信號的信號紊亂,分信號和秒信號同步計數。于是我們對秒的模六十進行單脈沖及示波器的檢測,在檢查秒信號個位(模十計數器)時發現,14腳信號正確,而13,12,11腳信號紊亂。后進行接線檢查,發現有線是虛接,再修改后,13腳信號恢復正常,而12,11腳依舊紊亂。因查不出原因,而后對分信號進行檢查。由于分秒計數器所采用的模六十一致,而分信號正常,故排除模六十計數器設計有誤。將分信號的器件替換控制秒信號的器件,秒信號依舊有誤,故排出器件問題。最后進行檢測面包板狀況,出現了讓人崩潰的狀況,面包板上控制秒信號個位的163芯片2腳所在的一縱列5個孔全部與地相連。我們不得不改變布局,進行避讓。修改后,分秒模六十計數器正常。

3)剛接通電源時,小時計數器十位顯示7,后給予清零信號后顯示恢復正常。將秒脈沖接到小時計數器的個位CP端,在進位時發現23:00時不能同時清零。對模二十四的設計進行分析發現采用的清零端為異步,后經過改造改成同步清零,清零正常。

4)在檢測CD4511驅動電路的過程中發現數碼管不能正常顯示的狀況,經檢驗發現主要是由于接觸不良的問題,其中包括線的接觸不良和芯片的接觸不良,在實驗過程中,數碼管有幾段二極管時隱時現,有時會消失。用5V電源對數碼管進行檢測,一端接地,另一端接觸每一段二極管,發現二極管能正常顯示的,在檢測過程中發現有幾根線有時能接通,有時不能接通,把接觸不好的線重新接過后發現能正常顯示了。其次是由于芯片接觸不良的問題,當檢查到線路完全正確,并且確保導線沒有問題時,我們推測器件有問題,其解決方法為把CD4511的芯片拔出,根據面包板孔的的狀況重新調整其引腳,使其正對于孔,再用力均勻地將芯片插入面包板中,此后發現能正常顯示。

5)在檢查分信號到小時信號的進位是否正常時發現有時顯示正常,有時顯示不穩定。一時找不到問題,經過討論發現CP脈沖重疊造成顯示不穩定。

6)在制作起鬧部分電路的過程中,發現鬧鐘能完成基本功能,但無法在8,9,18,19點起鬧。通過分析和設計,我們采用卡諾圖化簡將輸入信號接到功能腳的方法,到達在特殊時間起鬧的目的。

至此,數字鬧鐘的調試全部結束并達到要求。

六、心得體會

本次數字鐘設計要求我們將理論付諸實踐,在實踐中進一步鞏固理論知識,最終當我們看到自己設計好的數字鬧鐘時,我們激動萬分。

首先,我們從沒有將以前學的各種知識整合到一起,所以這種有點綜合性的課設就要求我們在熟悉每個工作部分的同時,能把他們有機的結合起來。

第二,在模六十和模二十四的計數器的設計中,要求我們對各個芯片的各引腳的功能很熟悉。在這個過程中,我們進一步的熟悉的每個器件的用途和功能,尤其是4511和74LS123,這兩種芯片之前我們都沒有接觸過。

第三,我們在設計的過程中使用了EWB軟件,由于電路復雜,交叉線較多,所以就要求我們在連接過程中細心的完成接線,并巧妙的布局使得面包板上的線不交叉。

第四,當我們連接好線路以后,在調試的過程中我們借助于示波器,借助于低頻信號發生器的單脈沖,一步步的排查錯誤,在此過程中更深一步的熟悉的了解了示波器和低頻信號發生器的使用方法。

第五,在整個課設中要求我們有良好的心理狀態,尤其是面對連線復雜的面包板。我們必須冷靜分析問題,解決問題。

第六,本次課設是一個團體的活動,我們在這次課設中體會了團隊精神。

最后,感謝老師給我們一次實踐動手的機會,讓我們得到了提升。我期待今后能有更多的機會參與這些課題的制作!

第二篇:EDA課程設計 數字時鐘(鬧鐘)

課 程 設 計 說 明 書

題目: 鬧鐘

學院(系): 年級專業: 學 號: 學生姓名: 指導教師: 教師職稱:

共 16 頁

第 1 頁

目 錄

第1章 摘要…………………………………………………………………………………1 第2章 設計方案……………………………………………………………………………

2.1 VHDL簡介…………………………………………………………………………… 2.2 設計思路…………………………………………………………………………… 第3章 模塊介紹…………………………………………………………………………… 第4章 Verilog HDL設計源程序………………………………………………………… 第5章 波形仿真圖………………………………………………………………………… 第6章 管腳鎖定及硬件連線……………………………………………………………… 心得體會 ……………………………………………………………………………………17 參考文獻 ……………………………………………………………………………………18

共 16 頁

第 2 頁

第一章 摘要

在當今社會,數字電路產品的應用在我們的實際生活中顯得越來越重要,與我們的生活聯系愈加緊密,例如計算機、儀表、電子鐘等等,使我們的生活工作較以前的方式更加方便、完善,帶來了很多的益處。

在此次EDA課程,我的設計課題是鬧鐘,使用VHDL語言進行編程完成。報告書主要由設計方案、模塊介紹、設計源程序、仿真波形圖和管腳鎖定及硬件連線四部分組成。設計方案主要介紹了我對于設計課題的大致設計思路,之后各個部分將會詳細介紹設計組成及程序。

共 16 頁

第 3 頁

第二章 設計方案 §2.1 VHDL簡介

數字電路主要是基于兩個信號(我們可以簡單的說是有電壓和無電壓),用數字信號完成對數字量進行算術運算和邏輯運算的電路我們稱之為數字電路,它具有邏輯運算和邏輯處理等功能,數字電路可分為組合邏輯電路和時序邏輯電路。

EDA技術,就是以大規模可編程邏輯器件為設計載體,以硬件描述語言為系統邏輯描述的主要表達方式,以計算機、大規模可編程邏輯器件的開發軟件及實驗開發系統為設計工具,通過有關的開發軟件,自動完成用軟件的方式設計的電子系統到硬件系統的邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合及優化、邏輯布局布線、邏輯仿真,直至完成對于特定目標芯片的適配編譯、邏輯映射、編程下載等工作,最終形成集成電子系統或專用集成芯片的一門新技術。

利用EDA技術進行電子系統的設計,具有以下幾個特點:① 用軟件的方式設計硬件;② 用軟件方式設計的系統到硬件系統的轉換是由有關的開發軟件自動完成的;③ 設計過程中可用有關軟件進行各種仿真;④ 系統可現場編程,在線升級;⑤ 整個系統可集成在一個芯片上,體積小、功耗低、可靠性高。因此,EDA技術是現代電子設計的發展趨勢。

EDA技術伴隨著計算機、集成電路、電子系統設計的發展,經歷了計算機輔助設計(Computer Assist Design,簡稱CAD)、計算機輔助工程設計(Computer Assist Engineering Design,簡稱CAE)和電子設計自動化(Electronic Design Automation,簡稱EDA)三個發展階段。

常用的硬件描述語言有VHDL、Verilog、ABEL。

EDA技術是隨著集成電路和計算機技術的飛速發展應運而生的一種高級、快速、有效的電子設計自動化工具。它是為解決自動控制系統設計而提出的,從70年代經歷了計算機輔助設計(CAD),計算機輔助工程(CAE),電子系統設計自動化(ESDA)3個階段。前兩個階段的EDA產品都只是個別或部分的解決了電子產品設計中的工程問題;第三代EDA工具根據工程設計中的瓶

共 16 頁

第 4 頁

頸和矛盾對設計數據庫實現了統一管理,并提出了并行設計環境概念,提供了獨立于工藝和廠家的系統級的設計工具。EDA關鍵技術之一就是采用硬件描述語言對硬件電路進行描述,且具有系統級仿真和綜合能力。目前應用比較廣泛的硬件描述語言就是Verilog HDL。Verilog HDL簡介

Verilog HDL是目前大規模集成電路設計中最具代表性、使用最廣泛的硬件描述語言之一。具有如下特點:

(1)能夠在不同的抽象層次上,如系統級、行為級、RTL級、門級和開關級,對設計系統進行精確而簡練的描述。

(2)能夠在每個抽象層次的描述上對設計進行仿真驗證,及時發現及時發現可能存在的錯誤,縮短設計周期,并保存整個設計過程的正確性。

(3)由于代碼描述與工藝過程實現無關,便于設計標準化,提高設計的可重用性。如國有C語言的編程基礎經驗,只需很短的時間就能學會和掌握Verilog HDL,因此,Verilog HDL可以作為學習HDL設計方法的入門和基礎。

§2.2 設計思路

一、設計要求

1、設計簡易的一分鐘鬧鐘;

2、可手動輸入定時時間(0~59s),如30s;

3、兩個動態數碼管上跟蹤顯示時間的變化:如30,29,28……到了指定時間蜂鳴器發出5s的提示音;

4、采用2個動態數碼管顯示時間;

5、用蜂鳴器發出提示音;

6、撥碼開關設置定時時間。

二、設計思路

根據上述的設計要求,整個系統大致包括如下幾個組成部分:它包括以下幾個組成

共 16 頁

第 5 頁

部分:1)顯示屏,由2個七段動態數碼管組成,用于顯示當前設置的鬧鐘時間并進行跟蹤顯示;2)6個撥碼開關,用于輸入鬧鐘時間;3)復位鍵,確定新的鬧鐘時間設置,或顯示已設置的鬧鐘時間;4)蜂鳴器,在當前時鐘時間與鬧鐘時間相同時,發出報警聲。

共 16 頁

第 6 頁

第三章 模塊介紹

一、計時模塊

此模塊共有6個撥碼開關作為輸入信號,當開關無輸入時,都處于低電平狀態,D5、D4、D3、D2、D1和D0是并行數據輸入端,CRN是異步復位輸入端,LDN是預置控制輸入端。當開關有輸入時,會產生一個六位的二進制輸出信號num,此信號表示動作的開關序號,它是作為動態顯示模塊的輸入信號。

二、數碼顯示模塊

這個模塊有兩個輸入信號和兩個輸出信號。其中一個是信號輸入模塊的輸出num作為輸入,另外一個是時鐘輸入端,作為掃描數碼管的頻率信號,采用1024HZ的中高頻信號。輸出信號為SS0、SS1、SS2,是動態數碼管的片選段。

三、報警模塊

報警模塊共有兩個輸入信號ET和CLK1,一個輸出信號COUT。當從信號輸入模塊檢測到有開關輸入時,ET信號已置1,CLK上升沿到來時,程序將COUT置1,蜂鳴器發出時間為10s的報警信號,時間到達后,跳出循環,蜂鳴器停止報警。

四、頂層模塊

頂層模塊的作用是將各個模塊組合到一起,從而實現最終的功能。其輸入即為各個模塊的輸入,一個時鐘信號,還有6個撥碼開關的輸入,其輸出為數碼管顯示和報警器。

共 16 頁

第 7 頁

第四章Verilog HDL設計源程序

一、計時模塊

module counter(LDN,D5,D4,D3,D2,D1,D0,CLK,CRN,Q,OC);input LDN,D5,D4,D3,D2,D1,D0,CLK,CRN;output[5:0] Q;output OC;reg OC;reg[5:0] Q;reg[5:0] Q_TEMP;reg[3:0] NUM;always@(posedge CLK or negedge CRN)begin

if(~CRN)Q_TEMP=6'b000000;else if(~LDN)begin Q_TEMP={D5,D4,D3,D2,D1,D0};NUM=4'b0000;end else if(Q_TEMP<6'b111100&&Q_TEMP>6'b000000)begin if(NUM<4'b1000&&NUM>=4'b0000)NUM=NUM+1;else NUM=4'b0001;if(NUM==4'b1000)Q_TEMP=Q_TEMP-1;end

共 16 頁

第 8 頁

else Q_TEMP=6'b000000;end always begin

if(Q_TEMP==6'b000000&&LDN)OC=1'b1;else OC=1'b0;Q=Q_TEMP;end endmodule

二、數碼顯示模塊

module showtime(A,Q,CLKM,SS0,SS1,SS2);input[5:0] A;input CLKM;output[6:0] Q;output SS0,SS1,SS2;reg[6:0] Q;reg SS0,SS1,SS2;reg M;reg[5:0] B;reg[5:0] C;always@(posedge CLKM)begin M=M+1;end always begin

共 16 頁

第 9 頁

if(A<='b001001)begin B=A;C=0;end else if(A>'b001001&&A<='b10011)begin B=A-10;C=1;end else if(A>'b10011&&A<='b11101)begin B=A-20;C=2;end else if(A>'b11101&&A<='b100111)begin B=A-30;C=3;end else if(A>'b100111&&A<='b110001)begin B=A-40;C=4;end else if(A>'b110001&&A<='b111011)

共 16 頁

第 10 頁

begin B=A-50;C=5;end else if(A=='b111100)begin B=0;C=6;end if(M=='b1)begin SS0=1;SS1=0;SS2=0;case(B)'b000000:Q='b0111111;'b000001:Q='b0000110;'b000010:Q='b1011011;'b000011:Q='b1001111;'b000100:Q='b1100110;'b000101:Q='b1101101;'b000110:Q='b1111101;'b000111:Q='b0000111;'b001000:Q='b1111111;'b001001:Q='b1101111;default:Q='b0111111;endcase end

共 16 頁

第 11 頁

else if(M=='b0)begin SS0=0;SS1=0;SS2=0;case(C)'b000000:Q='b0111111;'b000001:Q='b0000110;'b000010:Q='b1011011;'b000011:Q='b1001111;'b000100:Q='b1100110;'b000101:Q='b1101101;'b000110:Q='b1111101;default:Q='b0111111;endcase end end endmodule

三、報警模塊

module speaker(CLK1,ET,COUT);input CLK1,ET;output COUT;reg COUT;reg[5:0] TEMP;always@(posedge CLK1)begin

if(~ET)TEMP=6'b000000;else if(TEMP<6'b101001&&TEMP>=6'b000000)TEMP=TEMP+1;

共 16 頁

第 12 頁

else TEMP=6'b101001;end always begin if(TEMP<6'b101001&&TEMP!=6'b000000)COUT=1'b1;else COUT=1'b0;end endmodule

四、頂層模塊 module timer(LDN,D5,D4,D3,D2,D1,D0,CLK,CRN,CLK1,COUT,LED,SS0,SS1,SS2,CLKM);input LDN,D5,D4,D3,D2,D1,D0,CLK,CRN,CLK1,CLKM;output[6:0] LED;output COUT,SS0,SS1,SS2;wire X6;wire[5:0] X;counter u1(.LDN(LDN),.D5(D5),.D4(D4),.D3(D3),.D2(D2),.D1(D1),.D0(D0),.CLK(CLK),.CRN(CRN),.Q(X[5:0]),.OC(X6));showtime u2(.A(X[5:0]),.Q(LED[6:0]),.CLKM(CLKM),.SS0(SS0),.SS1(SS1),.SS2(SS2));speaker u3(.CLK1(CLK1),.ET(X6),.COUT(COUT));endmodule

共 16 頁

第 13 頁

第五章 波形仿真圖

一、計時模塊波形仿真圖

二、報警模塊波形仿真圖

三、頂層模塊波形仿真圖

共 16 頁

第 14 頁

第六章 管腳鎖定及硬件連線

一、管腳鎖定

CLK>chip=timer;Input Pin=75 CLKM>chip=timer:Input Pin=83 CLK1> chip=timer;Input Pin=85 COUT> chip=timer;Output Pin=38 CRN> chip=timer;Input Pin=39 DO> chip=timer;Input Pin=53 D1> chip=timer;Input Pin=47 D2> chip=timer;Input Pin=46 D3> chip=timer;Input Pin=45 D4> chip=timer;Input Pin=44 D5> chip=timer;Input Pin=41 LDN> chip=timer;Input Pin=40 LED0> chip=timer;Output Pin=173 LED1> chip=timer;Output Pin=174 LED2> chip=timer;Output Pin=175 LED3> chip=timer;Output Pin=176 LED4> chip=timer;Output Pin=177 LED5> chip=timer;Output Pin=179 LED6> chip=timer;Output Pin=187 SSO> chip=timer;Output Pin=191 SS1> chip=timer;Output Pin=192 SS2> chip=timer;Output Pin=193 引線說明:撥碼開關使用數字開關組A,需外接引線。

共 16 頁

第 15 頁

心得體會

通過這次設計,初步對EDA有一個了解。

出于沒有學習過這門課程,所以再課程設計開始時對于EDA就是一無所知。課程設計之初是做了一個簡單的培訓,關于軟件和硬件的設計,算是入門訓練吧。通過前兩天的課程講解,我對其有了初步的了解。之后就開始按照指導書中的例題就行練習,仿真,有進一步的掌握后就開始了自己的課程設計。由于我C++程序設計知識不扎實,所以導致這次軟件設計困難重重,也讓我明白了在這個領域知識的串聯是非常普遍的,學好學扎實是我們必須要做到的要求。

通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能提高自己的實際動手能力。在設計的過程中,可以說得是困難重重,但這畢竟第一次做,同時在設計的過程中發現了自己的不足之處。

在此還需要感謝鄭兆兆老師和呂宏詩老師耐心的指導與幫助,使課設能夠更加順利的完成。

共 16 頁

第 16 頁

參考文獻

1、閻石主編.《數字電子技術基礎》(第五版).高等教等育出版社.2006.5,168-175頁 ;

2、李國麗、朱維勇、何劍春主編 《EDA與數字系統設計》(第2版).機械工業出版社.2009.3,105-146頁

共 16 頁

第 17 頁

第三篇:微機原理課程設計電子鬧鐘

電子鐘設計

1任務要求

1.1顯示位置:屏幕中央.1.2日期顯示格式“時:分:秒.1.312/24時制可調.1.4在顯示屏上顯示提示語“CURRENT TIME IS:”和當前時間.2工作原理

1時鐘起始時間的設置

先調用DOS操作系統模塊9,在顯示屏上顯示提示語“TIME SYSTEM IS:”,輸入時制12或24后,顯示“CURRENT TIME IS:”,再調用DOS操作系統模塊10,提示要輸入時鐘的起始時間,輸入時間的格式是“時:分:秒”。輸入的時間以字符串形式存放在已定義的存儲器緩存區內,繼而調用TRAN1轉換子程序和MUL10乘10子程序,將存放在存儲器緩存區內的ASCII字符轉換為壓縮BCD碼,并將時、分、秒的值放在寄存器CH、DH、DL中。

2延時程序

調用延時TIME延時中斷服務程序,累加到存放秒值的寄存器DL中,并進行十進制調整。在累加的過程中,不斷地對時、分、秒值進行比較,秒不能等于60,分不能等于60,時不能等于24。秒等于限制值時,則使秒值為0分值加1;分等于限制值時,則使分值為0時值加1;時等于限制值時,則使時值為0;時、分、秒值都不超過限制值時,就轉顯示屏輸出。

3時間顯示

調用DOS操作系統模塊9,可用來顯示存儲器內字符串。由于顯示的字符必須為ASCII碼,因為要調用TRAN2轉換子程序將寄存器CH、DH、DL內壓縮BCD碼字符串轉換成ASCII字符串,字符串最后以字符“$”結束,并按時、分、秒的順序送存儲器緩沖區內。調用DOS操作系統模塊9,(DS:DX)應指向字符串首址。程序一旦進入運行,就將不間斷地在顯示屏顯示時間,要想程序停止運行,可同時在鍵盤按下CTRL和BREAK二鍵。

4程序堆圖 5程序清單

DATA SEGMENT BUFFER DB 10;設置輸入字符串用緩沖區 DB ? DB 10 DUP(?)TS DB 'TIME SYSTEM IS:$' CT DB 'CURRENT TIME IS:$' PM DB 'PM $' AM DB 'AM $' KEEPIP DW 0 KEEPCS DW 0 SR DB ? HOUR DB ? DAT ENDS STA SEGMENT PARA STACK 'STACK' STAPN DB 100 DUP(?)TOP EQU LENGTH STAPN STA ENDS COD SEGMENT START PROC FAR ASSUME CS:COD,DS:DAT,SS:STA MOV AX,DATA MOV DS,AX MOV AX,STA MOV SS,AX MOV AX,TOP MOV SP,AX MOV AH,35H;設置1CH中斷

MOV AL,1CH

INT 21H

;段地址放入ES,偏移地址放入BX

MOV KEEPIP,BX

;保偏移地址存

MOV KEEPCS,ES

;保存段地址

PUSH DS

MOV DX,OFFSET TIME

MOV AX,SEG TIME

MOV DS,AX

MOV AL,1CH

MOV AH,25H

;設置中斷功能調用

INT 21H

POP DS

MOV DX,OFFSET TS

;DOS功能模塊,顯示字符串

MOV AH,9

INT 21H

MOV AH,1

;DOS功能模塊,從鍵盤輸入字符

INT 21H

MOV AH,1

INT 21H

MOV SR,AL

MOV DL,0AH

;”換行“

MOV AH,2

INT 21H

MOV DL,0DH

;”回車“

MOV AH,2

INT 21H

MOV DX,OFFSET CT

;DOS功能模塊,顯示字符串,提示從鍵盤輸入

MOV AH,9

INT 21H

MOV DX,OFFSET BUFFER

MOV AH,10

;DOS功能模塊,從鍵盤輸入字符串到緩沖區

INT 21H

MOV BX,OFFSET BUFFER+2

CALL TRAN1

;將輸入的ASCII碼轉換為BCD碼

INC BX

INC BX

CALL TRAN1

INC BX

INC BX

CALL TRAN1

MOV BX,OFFSET BUFFER+2

MOV AL,[BX]

CALL MUL10

;將BCD碼轉換為壓縮的BCD碼

MOV CH,AL

INC BX

INC BX

MOV AL,[BX]

CALL MUL10

MOV DH,AL

INC BX

INC BX

MOV AL,[BX]

CALL MUL10

MOV DL,AL AGAIN: PUSH CX

MOV CX,18

STI

;開中斷 W:

CMP CX,0

JNE W

CLI

POP CX

MOV AL,DL

ADD AL,1

;”秒“加1

DAA

MOV DL,AL

CMP AL,60H

;”秒“與60比較

JNE DISPY

;小于60S,轉顯示程序

MOV DL,0

;等于60S, ”秒“值為0,”分“+1

MOV AL,DH

ADD AL,1

DAA

MOV DH,AL

CMP AL,60H

;”分“于60比較

JNE DISPY

MOV DH,0

MOV AL,CH

ADD AL,1

DAA

MOV CH,AL

MOV AL, SR

CMP AL,32H

JNE NEXT

JMP DISPY NEXT: MOV AL,CH

MOV HOUR,CH

CMP AL,24H

JNE DISPY

MOV CH,0

DISPY: CALL IOCLR

CALL IOSET1

CALL STAR

CALL IOSET2

CALL STAR

CALL IOSET

MOV BX,OFFSET BUFFER

MOV AL,SR

CMP AL,32H

JNE NEXT2

CALL AD12

MOV AL,HOUR

JMP NEXT1 NEXT2: MOV AL,CH

;”時“值轉換成ASCII碼

NEXT1: CALL TRAN2

;將壓縮BCD碼轉換成ASCII碼

INC BX

MOV AL,':'

MOV [BX],AL

INC BX

MOV AL,DH

;”分“值轉換成ASCII碼

CALL TRAN2

INC BX

MOV AL,':'

MOV [BX],AL

INC BX

MOV AL,DL

;”秒“值轉換成ASCII碼

CALL TRAN2

INC BX

MOV AL,'$'

;顯示字符串結束碼

MOV [BX],AL

PUSH BX

PUSH CX

PUSH DX

MOV DX,OFFSET BUFFER

MOV AH,9

;DOS功能模塊,顯示字符串

INT 21H

POP DX

POP CX

POP BX

JMP AGAIN

CLI

PUSH DS

MOV DX,KEEPIP

MOV AX,KEEPCS

MOV DS,AX

MOV AH,25H

MOV AL,1CH

INT 21H

POP DS

STI

RET START ENDP MUL10 PROC

;將BCD碼轉換為壓縮的BCD碼

ADD AL,AL

DAA

MOV CL,AL

ADD AL,AL

DAA

ADD AL,AL

DAA

ADD AL,CL

DAA

MOV CL,AL

INC BX

MOV AL,[BX]

ADD AL,CL

RET MUL10 ENDP TRAN1 PROC

MOV AL,[BX]

AND AL,0FH

MOV [BX],AL

INC BX

MOV AL,[BX]

AND AL,0FH

MOV [BX],AL

RET TRAN1 ENDP TRAN2 PROC

MOV CL,AL

SHR AL,1

SHR AL,1

SHR AL,1

SHR AL,1

OR AL,30H

MOV [BX],AL

INC BX

MOV AL,CL

AND AL,0FH

OR AL,30H

MOV [BX],AL

RET TRAN2 ENDP IOCLR PROC

PUSH CX

PUSH DX

PUSH BX

PUSH AX

MOV AX,0600H

MOV BH,02

SUB CX,CX

MOV DX,184FH

INT 10H

;ASCII碼轉換成BCD碼

;將壓縮BCD碼轉換成ASCII碼;調用BIOS,清除全屏幕

POP AX

POP BX

POP DX

POP CX

RET IOCLR ENDP TIME

PROC

DEC CX

IRET TIME

ENDP

PUSH DX PUSH BX PUSH AX MOV AH,02 SUB BH,BH MOV DX, 0C23H INT 10H POP AX POP BX POP DX RET IOSET ENDP IOSET1 PROC PUSH AX PUSH BX PUSH DX MOV DX,0A1AH MOV BH,00 MOV AH,02 INT 10H POP DX POP BX POP AX RET IOSET1 ENDP IOSET2 PROC PUSH AX PUSH BX PUSH DX MOV DX,0E1AH MOV BH,00 MOV AH,02 INT 10H

調用BIOS,設置屏幕光標在中央

;POP DX POP BX POP AX RET IOSET2 ENDP STAR PROC PUSH AX PUSH BX PUSH CX PUSH DX MOV AL,3DH MOV BH,0 MOV BL,0CH CMP HOUR,24H JNZ X MOV HOUR,0H X: MOV CX,WORD PTR HOUR INT 10H POP DX POP CX POP BX POP AX RET STAR ENDP AD12 PROC PUSH DX MOV HOUR,CH MOV AL,SR CMP AL,32H JNE ZH MOV AL,HOUR CMP AL,24H JNE NEXT3 MOV CH,0 MOV HOUR,CH JMP S12 NEXT3: CMP AL,12H JBE S12 MOV DX,OFFSET PM MOV AH,9 INT 21H MOV AL,HOUR MOV DH,12H SUB AL,DH DAS MOV HOUR,AL JMP ZH S12: CMP AL,12H JNE Z MOV DX,OFFSET PM MOV AH,9 INT 21H JMP ZH Z: MOV DX,OFFSET AM MOV AH,9 INT 21H ZH: POP DX RET AD12 ENDP COD ENDS END STAR

6設計時遇到的問題及解決方法

在課程設計中遇到的最大的困難是如何利用軟、硬件配合的方式產生中斷,對中斷向量表的裝載還比較模糊,對中斷的初始化、具體設置、中斷返回還不是很清楚,程序設計一度陷入停滯狀態,不知如何是好.于是我又重新翻閱了我們的學習課本,也就是電子工業出版社的《微機原理與接口技術(基于16位機)》,重點研究了第9章《中斷》,通過對這一章的學習,我終于對中斷有了詳細的認識,在設計程序時也容易了很多。

設中斷服務程序入口地址為TIME,則相應的程序如下:

??

KEEPIP DW 0

;設置內存緩沖區,用于暫存 KEEPCS DW 0

;DOS的中斷矢量

??

;在主程序的初始化部分,先取出DOS的中斷矢量并加以保存,然后裝入需要的中斷矢量

MOV AH,35H

;取出DOS的中斷矢量,并送ES:BX

MOV AL,1CH

INT 21H

MOV KEEPIP,BX

;保存DOS的中斷矢量

MOV KEEPCS,ES

PUSH DS;保護DS

MOV DX,OFFSET TIME

;將中斷矢量取代

MOV AX,SEG TIME

;DOS的中斷矢量

MOV DS,AX

MOV AL,1CH

MOV AH,25H

;設置中斷功能調用

INT 21H

POP DS

;恢復DS ??

AGAIN: PUSH CX

MOV CX,18

STI

;開中斷 W:

CMP CX,0

JNE W

CLI ??

TIME

PROC

DEC CX

IRET TIME

ENDP ??

;在程序結尾處,用以下程序恢復DOS的中斷矢量 CLI

PUSH DS

MOV DX,KEEPIP

MOV AX,KEEPCS

MOV DS,AX

MOV AH,25H

MOV AL,1CH

INT 21H

POP DS

STI 7新增功能及實現方法

7.112時制時顯示AM或PM

??

AD12 PROC PUSH DX MOV HOUR,CH MOV AL,SR CMP AL,32H JNE ZH MOV AL,HOUR CMP AL,24H JNE NEXT3 MOV CH,0 MOV HOUR,CH JMP S12 NEXT3: CMP AL,12H JBE S12 MOV DX,OFFSET PM MOV AH,9 INT 21H MOV AL,HOUR MOV DH,12H SUB AL,DH DAS MOV HOUR,AL JMP ZH S12: CMP AL,12H JNE Z MOV DX,OFFSET PM MOV AH,9 INT 21H JMP ZH Z: MOV DX,OFFSET AM MOV AH,9 INT 21H ZH: POP DX RET AD12 ENDP ??

7.2綠色顯示時間

??

IOSET PROC PUSH DX PUSH BX PUSH AX MOV AH,02 SUB BH,BH MOV DX,0C23H INT 10H POP AX POP BX POP DX RET IOSET ENDP ??

7.3在數字上下方各顯示一行個數同小時數的”=“ ??

IOSET1 PROC PUSH AX PUSH BX PUSH DX MOV DX,0A1AH MOV BH,00 MOV AH,02 INT 10H POP DX POP BX POP AX RET IOSET1 ENDP IOSET2 PROC PUSH AX PUSH BX PUSH DX MOV DX,0E1AH MOV BH,00 MOV AH,02 INT 10H POP DX POP BX POP AX RET IOSET2 ENDP STAR PROC PUSH AX PUSH BX PUSH CX PUSH DX MOV AL,3DH MOV BH,0 MOV BL,0CH CMP HOUR,24H JNZ X MOV HOUR,0H X: MOV CX,WORD PTR HOUR INT 10H POP DX POP CX POP BX POP AX RET STAR ENDP ?? 8心得體會

這是我第一次用匯編語言來設計一個小程序,歷時一周終于完成,其間有不少感觸。首先就是借鑒.魯迅先生曾說過要”拿來“,對,在這次課程設計中,就要”拿來"不少子程序,比如將ASCII碼轉換成BCD碼,將BCD碼轉換成壓縮BCD碼,將壓縮BCD碼轉換成ASCII碼等,這些子程序的設計是固定的,因此可以直接從指導資料中調用,至于設置光標的子程序,只需要修改幾個參數就可以,這大大方便了我的設計,為我節省了很多的時間。還有就是指導老師提供的資料很重要.這次課程設計的大部分程序,都可以在李老師提供的資料中找到,這對我的程序設計很有幫助,從這些資料中,我可以看出這個時鐘程序的基本流程,修改一些程序就可以實現這個時鐘的基本功能,添加一些程序就可以實現這個時鐘的附加功能,可以說,如果沒有李老師提供的源程序,我將面臨很大的困難。文章引用自:

第四篇:嵌入式電子鬧鐘時鐘課程設計

#include //頭文件 #include #define uchar unsigned char //宏定義 #define uint unsigned int //位定義

sbit rs=P2^5;//液晶位定義 sbit lcden=P2^7;sbit s1=P2^0;//時間功能切換按鍵 sbit s2=P2^1;//按鍵加 sbit s3=P2^3;//按鍵減

sbit s4=P2^4;//鬧鐘功能切換鍵 sbit rst=P1^5;//ds1302引腳定義 sbit io=P1^6;sbit sclk=P1^7;sbit beep=P3^0;//蜂鳴器

uchar num,count,shi,fen,miao,s1num,s2num, year,month,day,week,flag,flag1,year1,month1, day1,week1,shi1,fen1,miao1,year2,month2, day2,week2,shi2,fen2,miao2,year5,month5, day5,week5,shi5,fen5,miao5,wk,ashi,afen;//參數定義

uchar code table[]=“20--”;//液晶固定顯示 uchar code table1[]=“ : : 00:00”;/* uchar time_dat[7]={12,1,6,6,12,59,59};//年周月日時分秒 uchar write_add[7]={0x8c,0x8a,0x88,0x86,0x84,0x82,0x80};uchar read_add[7]={0x8d,0x8b,0x89,0x87,0x85,0x83,0x81};*/ void write_com(uchar com);//液晶寫指令函數 void write_data(uchar date);//液晶寫數據函數

void write_ds1302(uchar add,uchar dat);//ds1302芯片寫指令函數 void set_rtc();//ds1302時間設置函數 void time_pros();//ds1302進制轉換函數 void read_rtc();//ds1302讀時間函數 void alarm();//鬧鐘函數

void delay(uint z)//延時函數 { uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);} void init()//初始化 { lcden=0;flag=0;flag1=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);//液晶固定顯示,第一行 for(num=0;num<14;num++){ write_data(table[num]);delay(5);}

write_com(0x80+0x40);//液晶顯示第二行 for(num=0;num<20;num++){ write_data(table1[num]);delay(5);} }

void write_com(uchar com)//1602液晶寫指令 { rs=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;}

void write_data(uchar date)//1602液晶寫寫數據 { rs=1;P0=date;delay(5);lcden=1;delay(5);lcden=0;}

void write_sfm(uchar add,uchar date)//時分秒 { uchar shi3,ge;shi3=date/10;ge=date%10;write_com(0x80+0x40+add);write_data(0x30+shi3);write_data(0x30+ge);}

void write_nyr(uchar ad,uchar date)//年月日 { uchar shi4,ge2;shi4=date/10;ge2=date%10;write_com(0x80+ad);write_data(0x30+shi4);write_data(0x30+ge2);}

void write_week(uchar wk)//星期按西方星期設置{ write_com(0x80+11);switch(wk){ case 1: write_data('S');delay(5);write_data('U');delay(5);write_data('N');break;

case 2: write_data('M');delay(5);write_data('O');delay(5);write_data('N');break;

case 3: write_data('T');

星期天為第一天 delay(5);write_data('U');delay(5);write_data('E');break;

case 4: write_data('W');delay(5);write_data('E');delay(5);write_data('D');break;

case 5: write_data('T');delay(5);write_data('H');delay(5);write_data('U');break;

case 6: write_data('F');delay(5);write_data('R');delay(5);write_data('T');break;

case 7: write_data('S');delay(5);write_data('A');delay(5);write_data('T');break;

} }

void keyscan()//{ if(s1==0){ delay(5);

按鍵函數 if(s1==0){ write_com(0x0f);s1num++;//記錄按鍵次數 flag=1;flag1=1;while(!s1);

switch(s1num)//光標閃爍點定位 { case 1:write_com(0x80+0x40+6);//秒 break;

case 2:write_com(0x80+0x40+3);//分 break;

case 3:write_com(0x80+0x40+0);//時 break;

case 4:write_com(0x80+11);//星期 break;case 5:write_com(0x80+8);//日 break;

case 6:write_com(0x80+5);//月 break;

case 7:write_com(0x80+2);//年 break;

case 8:s1num=0;write_com(0x0c);//設置開顯示光標不顯示 關閉時間設置

set_rtc();flag=0;break;}

} }

if(s1num!=0)//按鍵加減 { if(s2==0)//加按鍵函數 { delay(10);if(s2==0){

while(!s2);switch(s1num)//根據功能鍵相應次數做出調節 { case 1: miao++;//秒加 if(miao==60)miao=0;write_sfm(6,miao);write_com(0x80+0x40+6);break;

case 2: fen++;// if(fen==60)fen=0;write_sfm(3,fen);write_com(0x80+0x40+3);break;

case 3: shi++;// if(shi==24)shi=0;write_sfm(0,shi);write_com(0x80+0x40+0);break;

case 4: week++;// if(week==8)week=1;write_week(week);write_com(0x80+11);break;

case 5: day++;// if(day==32)day=1;write_nyr(8,day);write_com(0x80+8);break;

case 6: month++;//分加 時加 星期加日加 月加

if(month==13)month=1;write_nyr(5,month);write_com(0x80+5);break;

case 7: year++;//年加 if(year==100)year=0;write_nyr(2,year);write_com(0x80+2);break;

}

}

}

if(s3==0)//減按鍵函數同上 { delay(10);if(s3==0){ while(!s3);switch(s1num)//根據功能鍵相應次數做出調節 { case 1: miao--;if(miao==-1)miao=59;write_sfm(6,miao);write_com(0x80+0x40+6);break;

case 2: fen--;if(fen==-1)fen=59;write_sfm(3,fen);write_com(0x80+0x40+3);break;

case 3: shi--;if(shi==-1)shi=23;write_sfm(0,shi);write_com(0x80+0x40+0);break;

case 4: week--;if(week==-1)week=7;write_week(week);write_com(0x80+11);break;

case 5: day--;if(day==-1)day=31;write_nyr(8,day);write_com(0x80+8);break;

case 6: month--;if(month==-1)month=12;write_nyr(5,month);write_com(0x80+5);break;

case 7: year--;if(year==-1)year=99;write_nyr(2,year);write_com(0x80+2);break;

}

} }

}

if(s4==0)// { delay(5);

鬧鐘按鍵 if(s4==0){ write_com(0x0f);//光標閃爍 s2num++;//記錄按鍵次數 flag=1;while(!s4);switch(s2num)//光標閃爍點定位 { case 1:write_com(0x80+0x40+13);//分 break;

case 2:write_com(0x80+0x40+10);//時 break;

case 3:write_com(0x0c);//關閉鬧鐘設置 flag=0;s2num=0;break;

}

} }

if(s2num!=0)//鬧鐘設置 { if(s2==0)//鬧鐘加 { delay(10);if(s2==0){ while(!s2);switch(s2num)//根據功能鍵相應次數做出調節 { case 1: afen++;if(afen==60)afen=0;write_sfm(13,afen);write_com(0x80+0x40+13);break;

case 2: ashi++;if(ashi==24)ashi=0;write_sfm(10,ashi);write_com(0x80+0x40+10);break;

} } }

if(s3==0)//鬧鐘減 { delay(10);if(s3==0){ while(!s3);switch(s2num)//根據功能鍵相應次數做出調節 { case 1: afen--;if(afen==-1)afen=59;write_sfm(13,afen);write_com(0x80+0x40+13);break;

case 2: ashi--;if(ashi==-1)ashi=23;write_sfm(10,ashi);write_com(0x80+0x40+10);break;

} } }

} }

void wirte_ds1302_byte(uchar dat)//ds1302字節寫 { uchar i;for(i=0;i<8;i++){ sclk=0;io=dat&0x01;dat=dat>>1;sclk=1;} }

void write_ds1302(uchar add,uchar dat)//ds1302寫函數 { rst=0;_nop_();// 空操作 sclk=0;_nop_();rst=1;_nop_();wirte_ds1302_byte(add);wirte_ds1302_byte(dat);rst=0;io=1;sclk=1;}

uchar read_ds1302(uchar add)//ds1302{ uchar i,value;rst=0;_nop_();// 空操作 sclk=0;_nop_();rst=1;_nop_();wirte_ds1302_byte(add);for(i=0;i<8;i++){ value=value>>1;sclk=0;if(io){ value=value|0x80;} sclk=1;} rst=0;_nop_();// 空操作 sclk=0;_nop_();

讀函數 sclk=1;io=1;return value;}

void set_rtc()//ds1302時間設置 { write_ds1302(0x8e,0x00);//關寫保護

year1=year/10;//轉換為十六進制 year=year%10;year=year+year1*16;write_ds1302(0x8c,year);

week1=week/10;week=week%10;week=week+week1*16;write_ds1302(0x8a,week);

month1=month/10;month=month%10;month=month+month1*16;write_ds1302(0x88,month);

day1=day/10;day=day%10;day=day+day1*16;write_ds1302(0x86,day);

shi1=shi/10;shi=shi%10;shi=shi+shi1*16;write_ds1302(0x84,shi);

fen1=fen/10;fen=fen%10;fen=fen+fen1*16;write_ds1302(0x82,fen);

miao1=miao/10;miao=miao%10;miao=miao+miao1*16;write_ds1302(0x80,miao);

write_ds1302(0x8e,0x80);//開寫保護 flag1=0;}

void read_rtc()//從ds1302中讀時間 { year2=read_ds1302(0x8d);week2=read_ds1302(0x8b);month2=read_ds1302(0x89);day2=read_ds1302(0x87);shi2=read_ds1302(0x85);fen2=read_ds1302(0x83);miao2=read_ds1302(0x81);}

void time_pros()//進制 {

year5=year2/16;year2=year2%16;year2=year2+year5*10;

month5=month2/16;month2=month2%16;month2=month2+month5*10;

day5=day2/16;day2=day2%16;day2=day2+day5*10;

shi5=shi2/16;shi2=shi2%16;shi2=shi2+shi5*10;

fen5=fen2/16;fen2=fen2%16;fen2=fen2+fen5*10;

miao5=miao2/16;miao2=miao2%16;miao2=miao2+miao5*10;

從ds1302中讀出的時間轉換為十

}

void display()//顯示函數 { write_sfm(6,miao2);write_com(0x80+0x40+6);

write_sfm(3,fen2);write_com(0x80+0x40+3);

write_sfm(0,shi2);write_com(0x80+0x40+0);

write_week(week2);write_com(0x80+11);

write_nyr(8,day2);write_com(0x80+8);

write_nyr(5,month2);write_com(0x80+5);

write_nyr(2,year2);write_com(0x80+2);

if((ashi==shi2)&&(afen==fen2)){ alarm();} }

void alarm()// 鬧鐘 { beep=0;delay(1000);beep=1;} void main()//主函數 { init();//初始化 while(1){ keyscan();//按鍵函數

if(flag==0){ keyscan();read_rtc();time_pros();display();}

} }

第五篇:數字電子時鐘課程設計2

數字電子時鐘課程設計

題目:

數字電子時鐘課程設計

目錄

一、設計任務及設計要求…………………………………………(3)

二、設計方案論證

…………………………..………….(3)1.總體方案及框圖 2.各部分論證

三、單元電路設計…………………………………………………(4)1.振蕩器 ………………………………………………………(4)2.秒、分、時計數器…………………………………………(5)

3.顯示譯碼/驅動器和LED七段數碼顯示管……………….(6)

4.分頻器……………………………………………………(7)5.報時電路…………………………………………………(9)

四、總體電路設計及原理………………………………………(13)

五、元器件明細表………………………………………………(10)

六、心得體會……………………………………………………(11)

七、參考文獻……………………………………………………(11)

一、設計任務及設計要求 1.設計任務

數字電子鐘的邏輯電路 2.設計要求

(1)由晶振電路產生1HZ的校準秒信號。

(2)設計一個有“時”、“分”、“秒”(23小時59分59秒)顯示切且具有校時、校分、校秒的功。

(3)整點報時功能。要求整點差10秒開始每隔1秒鳴叫一次,共五次,每次持續時間為一秒,前五次為500赫茲的聲音,最后依次為1000赫茲的聲音。(4)用中小規模集成電路組成電子鐘,并在實驗箱上進行組裝和調試。(5)劃出框圖和邏輯電路圖,寫出設計,實驗總結報告。

二、設計方案論證

數字鐘原理框圖如圖1所示,電路一般包括以下幾個部分:振蕩器、分頻器、譯碼顯示電路、時分秒計數器、校時電路、報時電路。

圖一

對于各個部分而言

數字鐘計時的標準信號應該是頻率相當穩定的1HZ秒脈沖,所以要設置標準時間源。?

數字鐘計時周期是24小時,因此必須設置24小時計數器,他應由模為60的秒計數器和分計數器及模為24的時計數器組成,秒、分、時由七段數碼管顯示。?

為使數字鐘走時與標準時間一致,校時電路是必不可少的。設計中采用開關控制校時直接用秒脈沖先后對“時”“分”“秒”計數器進行校時操作。?

能進行整點報時。在從59分50秒開始,每隔2秒鐘發出一次低音“嘟”的信號,連續五次,最后一次要求最高音“嘀”的信號,此信號結束即達到正點。?

三、單元電路設計 1.各獨立功能部件的設計(1)、振蕩器 振蕩器是計時器的核心,其作用是產生一個標準頻率的脈沖信號振蕩頻率的精度和 穩定度決定了數字鐘的質量。第一種方 案采用石英晶體振蕩器,如圖二。使用 振蕩頻率為32768HZ的石英晶體和反 向器構成一個穩定性極好、精度較高 的時間信號源。改變電容C可以

圖 二

石英晶體振蕩器

振蕩器的頻率進行微調,再通過一個反相器,輸出32768HZ的方波將此方波的頻率進行15次二分頻后,在輸出端剛好可得到頻率為1HZ的脈沖信號。

第二種方案如圖三采用集成電路555定時器與RC組成的多諧振蕩器。輸出的脈沖頻率為fS=1/[(R1+2R2)C1ln2]=1KHZ,周期T=1/fS=1ms。若參數選擇:R1=R2=10K歐姆,C1=47uF時,可以得到秒脈沖信號。

圖三 方波信號發生器

附555定時器的功能表 輸

出 輸

閥值輸入(v11)觸發輸入(v12)復位(RD)輸出(VO)發電管T × × 0 0 導通

<2/3VCC <1/3VCC 1 1 截止 >2/3VCC >1/3VCC 1 0 導通 <2/3VCC >1/3VCC 1 不變 不變

(2)秒、分、時計數器

U1到U6 六個74LS161構成數字鐘的秒、分、時計數器。

U1、U2共同構成秒計數器,它由兩個74LS161構成六--十進制的計數器,如圖四。U1作為秒個位十進制計數器,它的復位輸入RD、和置位輸入LD都接低電平,秒信號脈沖作為計數脈沖輸入到CP1端,輸出端C控制U2秒十位計數器的計數脈沖輸入。Q1、Q2、Q3、Q4作為秒個位的計時值送至秒個位七段顯示譯碼/驅動器。?

U2作為秒十位六進制計數器,它的計數脈沖輸入受到秒個位U1的控制,其計數器使能端EP、ET與U1的輸出端C相連接。當U2計數器計到0011,即清零信號到復位輸入端時,Q1、Q2、Q3、Q4輸出的都是零。Q1、Q2、Q3、Q4作為秒十位的計時值送至秒十位七段顯示譯碼/驅動器。U3、U4分別構成分個位十進制和分十位六進制計數器,如圖四。U3、U4與U1、U2的連接方法相似。當計數器輸出為01011001狀態,U3(U1)、U4(U2)的LD端同時為“0”,使計數器立即返回到00000000狀態。這樣就構成了六十進制計數器。?

圖四 六十進制計數器

U5、U6共同構成時計數器,它由兩個74LS161構成六十進制的計數器?

如圖五。U5作為時十位計數器,它的復位輸入RD、和置位輸入LD都接低電平,時信號脈沖作為計數脈沖輸入到CP1端,輸出端C控制U6秒十位計數器的計數脈沖輸入。Q1、Q2、Q3、Q4作為秒個位的計時值送至秒個位七段顯示譯碼/驅動器。當計數器輸出為00100100狀態,U5、U6的LD端同時為“0”,使計數器立即返回到00000000狀態。這樣就構成了二十四進制計數器。

U12

圖五

二十四進制計數器

(3)顯示譯碼/驅動器和LED七段數碼顯示管

六個74LS248集成電路構成數字鐘的七段數碼顯示管顯示譯碼/驅動器。74LS248七段顯示譯碼器輸出高電平有效,將8421BCD碼譯成七段(a、b、c、d、e、f、g)輸出,用以直接驅動LED七段數碼顯示對應的十進制數。74LS248的顯示功能:

顯示功能見功能表的上半部分。[DCBA]是二進制碼輸入,要正確的執行顯示功能,有關的功能端必須接合適的邏輯電平,這些功能端的作用隨后介紹。對于0~9輸入,[DCBA]相當BCD8421碼。當超過9以后,譯碼器仍然有字型輸出,具體見圖六。當[DCBA]=1111時,數碼管熄滅。實驗時要在筆劃段電極串聯電阻,以保護LED數碼管。表1 中規模顯示譯碼器74LS248的功能表 十進制

或功能 輸

D

C

B

A

a

b

c

d

e

f

g 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 H H H H H H H H H H H H H H H H H ′ ′ ′ ′ ′ ′ ′ ′ ′ ′ ′ ′ ′

′ L

L L

L L

L L

L L

H L

L L

H H

L H

H L

L

L

H

L

H L

H

H

L L

H

H

H H H H H H H H H H H H H H H H H

H

H

H

H

H

H

L

L

H

H

L

L

L

L

H

H

L

H

H

L

H

H

H

H

H

L

L

H

L

H

H

L

L

H

H

H

L

H

H

L

H

H

H

L

H

H

H

H

H

H

H

H

L

L

L

L

圖六 74LS248顯示字型與輸入的對應關系

如圖七,六個LED七段數碼顯示管利用不同發光段組合的方式顯示不同數碼,都采用+5V電源作為每段發光二極管的驅動電源。需要發光的段為高電平,不發光的段為低電平。設計中采用共陰極數碼管,每段發光二極管的正向降壓,隨顯示光的顏色有所不同,通常約2V~3V,點亮電流在5~10mA。六個LED七段數碼顯示管分別顯示秒個位、十位;分個位、十位;時個位、十位的計數十進制數

圖七 顯示譯碼/驅動器和數碼顯示管(4)分頻器

分頻器電路是由三個74LS90構成,如圖八。74LS90是異步十進制計數器,它由一個一位二進制計數器和一個異步五進制計數器組成。將QA與CP2相連,計數脈沖由CP1端輸入,輸出由QA~QD引出,即得到十進制計數器。只有在復位輸入R0(1)= R0(2)=0和置位輸入S9(1)= S9(2)=0時,才能夠在計數脈沖(下降沿)作用下實現二—五—十進制加計算。因為要對輸入的脈沖進行三次10分頻,三片74LS90的復位輸入R0(1)、R0(2)和置位輸入S9(1)、S9(2)都接低電平。振蕩器輸出的方波脈沖計數器作為U1的CP1端的輸入時鐘脈沖,U1的QD端的輸出脈沖作為U2的CPA端的輸入時鐘脈沖,U2的QD端的輸出脈沖作為U3的CP1端的輸入時鐘脈沖,U3的QD端的輸出脈沖fO=fS/103???????=1HZ,即為秒信號方波脈沖,成為秒、分、時計數器的計數脈沖和時間校準信號。

將JK觸發器的J、K端都接在高電平,Qn+1=JQn+KQn=Qn,每輸入一個時鐘脈沖后,觸發器翻轉一次,觸發器處于計數狀態。經過觸發器的二分頻,Q端輸出為500HZ的脈沖作為低音脈沖。

經過U1、U2計數器的二次十分頻,輸出的脈沖頻率為10HZ,作為秒校時脈沖。

圖八

分頻器 附74LS90二—五—十進制計數器功能圖 復位輸入 置位輸入 輸出

R0(1)R0(2)S9(1)S9(2)QA QB QC QD H H L × L L L L H H × L L L L L × × H H H L L H L × L × 計數 L × × L 計數 × L L × 計數 × L × L 計數

JK觸發器的功能表 J K Qn Qn+1 說明 0 0 0 0 輸出狀態不變 1

0 1 0 0 輸出狀態與J端狀態相同

0 0 0 1 輸出狀態與K端狀態相同

1 1 0 1 每輸入一個脈沖輸出狀態改變一次

0

(五)報時電路

整點報時電路要求在每個整點發出音響,因此需要對每個整點進行時間譯碼,以其輸出驅動音響控制電路。如圖九。

若要在每一整點發出五低音、一高音報時,需要對59分50秒到59分59秒進行時間譯碼。QD4~QA4是分十位輸出,QD3~QA3是分個位輸出,QD2~QA2是秒十位輸出,QD1~QA1秒個位輸出。在59分時,A= QC4 QA4 QD3 QA3=1;在50秒時,B= QC2 QA2=1;秒個位為0、2、4、6、8秒時,QA1=0,C= QA1=1;因而F1=ABC= QC4QA4 QD3 QA3 QC2 QA2 QA1僅在59分50秒、52秒、54秒、56秒、58秒時等于1,故可以用F1作低音的控制信號。當計數器每計到59分59秒時,A= QC4 QA4 QD3QA3=1,D= QC2 QA2 QD1 QA1=1,此時F2=AD=1。把F2接至JK觸發器控制端J端,CP端加秒脈沖,則再計1秒到達整點時F3=1,故可用F3作一次高音控制信號。

用F1控制5次低音、F3控制高音,經音響放大器放大,每當“分”和“秒”計數器累計到59分50、52、54、56、58秒發出頻率為500HZ的五次低音,0分0秒時發出頻率為1000HZ的一次高音,每次音響的時間均為一秒鐘,實現了整點報時的功能。

圖九

整點報時電路

四、原理圖(見最后一頁)

五、元器件明細表

序號 元器件名稱 型號規格 數量(個)備注 U0 集成定時器 5G555定時器 1 構成多諧振蕩器 U1~U6 同步加法計數器 74161 6 構成模加法計數器 U7~U9 異步十進制計數器 74LS90 3 構成分頻器

U10 七端顯示譯碼器 74LS248 6 分別顯示秒、分、時的數字 U11~U12 與非門 多輸入與非門 2 U13 J-K觸發器

C1、C2 電容C1=C2=104pf R1 R2 電阻R1 =2K、R2=5.1K R、R` 電阻R=1k,R`=47 U14 U20 門器件 非門 1

U15~U19 門器件 與門 6 多輸入與門 U21~U23 門器件 與非門 3 多輸入與非門 U24 觸發器 J-K觸發器 1 U25 晶體三級管 U26 喇叭實現鬧鈴

六、設計體會

在整個課程設計完后,總的感覺是:有收獲。以前上課都是上一些最基本的東西,而現在卻可以將以前學的東西作出有實際價值的東西。在這個過程中,我的確學得到很多在書本上學不到的東西,如:如何利用現有的元件組裝得到設計要求,如何找到錯誤的原因,如何利用計算機來畫圖等等。但也遇到了不少的挫折,有時遇到了一個錯誤怎么找也找不到原因所在,找了老半天結果卻是芯片的管腳接錯了,有時更是忘接電源了。在學習中的小問題在課堂上不可能犯,在動手的過程中卻很有可能犯。特別是在接電路時,一不小心就會犯錯,而且很不容易檢查出來。但現在回過頭來看,還是挺有成就感的。

七、參考文獻

姚福安.電子電路設計與實踐.山東科學技術出版社第一版.2002 楊志亮.電路原理圖設計技術.西北工業大學出版社第一版.2003 閻石.數字電子技術基礎..高等教育出版社第四版.1998 童詩白.模擬電子技術基礎.高等教育出版社第三版.2001 康華光.電子技術基礎.高等教育出版社.2002 蘇止麗.數字電子電路實驗.武漢理工大學.2003 陳明義.電子技術課程設計使用教程 中南大學出版社第一版.2002

回答者: 命途多舛0913-一

2008-1-5 21:54

數字電子時鐘課程設計

題目: 數字電子時鐘課程設計

目 錄

一、設計任務及設計要求…………………………………………(3)

二、設計方案論證 …………………………..………….(3)

1.總體方案及框圖

2.各部分論證

三、單元電路設計…………………………………………………(4)

1.振蕩器 ………………………………………………………(4)

2.秒、分、時計數器…………………………………………(5)

3.顯示譯碼/驅動器和LED七段數碼顯示管……………….(6)

4.分頻器……………………………………………………(7)

5.報時電路…………………………………………………(9)

四、總體電路設計及原理………………………………………(13)

五、元器件明細表………………………………………………(10)

六、心得體會……………………………………………………(11)

七、參考文獻……………………………………………………(11)

一、設計任務及設計要求

1.設計任務

數字電子鐘的邏輯電路

2.設計要求

(1)由晶振電路產生1HZ的校準秒信號。

(2)設計一個有“時”、“分”、“秒”(23小時59分59秒)顯示切且具有校時、校分、校秒的功。

(3)整點報時功能。要求整點差10秒開始每隔1秒鳴叫一次,共五次,每次持續時間為一秒,前五次為500赫茲的聲音,最后依次為1000赫茲的聲音。

(4)用中小規模集成電路組成電子鐘,并在實驗箱上進行組裝和調試。

(5)劃出框圖和邏輯電路圖,寫出設計,實驗總結報告。

二、設計方案論證

數字鐘原理框圖如圖1所示,電路一般包括以下幾個部分:振蕩器、分頻器、譯碼顯示電路、時分秒計數器、校時電路、報時電路。

圖一

對于各個部分而言

數字鐘計時的標準信號應該是頻率相當穩定的1HZ秒脈沖,所以要設置標準時間源。?

數字鐘計時周期是24小時,因此必須設置24小時計數器,他應由模為60的秒計數器和分計數器及模為24的時計數器組成,秒、分、時由七段數碼管顯示。?

為使數字鐘走時與標準時間一致,校時電路是必不可少的。設計中采用開關控制校時直接用秒脈沖先后對“時”“分”“秒”計數器進行校時操作。? 能進行整點報時。在從59分50秒開始,每隔2秒鐘發出一次低音“嘟”的信號,連續五次,最后一次要求最高音“嘀”的信號,此信號結束即達到正點。?

三、單元電路設計

1.各獨立功能部件的設計

(1)、振蕩器

振蕩器是計時器的核心,其作用是產生一個標準頻率的脈沖信號振蕩頻率的精度和

穩定度決定了數字鐘的質量。第一種方

案采用石英晶體振蕩器,如圖二。使用

振蕩頻率為32768HZ的石英晶體和反

向器構成一個穩定性極好、精度較高的時間信號源。改變電容C可以

圖 二 石英晶體振蕩器

振蕩器的頻率進行微調,再通過一個反相器,輸出32768HZ的方波將此方波的頻率進行15次二分頻后,在輸出端剛好可得到頻率為1HZ的脈沖信號。

第二種方案如圖三采用集成電路555定時器與RC組成的多諧振蕩器。輸出的脈沖頻率為fS=1/[(R1+2R2)C1ln2]=1KHZ,周期T=1/fS=1ms。若參數選擇:R1=R2=10K歐姆,C1=47uF時,可以得到秒脈沖信號。

圖三 方波信號發生器

附555定時器的功能表

輸 出 輸 出

閥值輸入(v11)觸發輸入(v12)復位(RD)輸出(VO)發電管T × × 0 0 導通

<2/3VCC <1/3VCC 1 1 截止

>2/3VCC >1/3VCC 1 0 導通

<2/3VCC >1/3VCC 1 不變 不變

(2)秒、分、時計數器

U1到U6 六個74LS161構成數字鐘的秒、分、時計數器。

U1、U2共同構成秒計數器,它由兩個74LS161構成六--十進制的計數器,如圖四。U1作為秒個位十進制計數器,它的復位輸入RD、和置位輸入LD都接低電平,秒信號脈沖作為計數脈沖輸入到CP1端,輸出端C控制U2秒十位計數器的計數脈沖輸入。Q1、Q2、Q3、Q4作為秒個位的計時值送至秒個位七段顯示譯碼/驅動器。?

U2作為秒十位六進制計數器,它的計數脈沖輸入受到秒個位U1的控制,其計數器使能端EP、ET與U1的輸出端C相連接。當U2計數器計到0011,即清零信號到復位輸入端時,Q1、Q2、Q3、Q4輸出的都是零。Q1、Q2、Q3、Q4作為秒十位的計時值送至秒十位七段顯示譯碼/驅動器。

U3、U4分別構成分個位十進制和分十位六進制計數器,如圖四。U3、U4與U1、U2的連接方法相似。當計數器輸出為01011001狀態,U3(U1)、U4(U2)的LD端同時為“0”,使計數器立即返回到00000000狀態。這樣就構成了六十進制計數器。?

圖四 六十進制計數器

U5、U6共同構成時計數器,它由兩個74LS161構成六十進制的計數器? 如圖五。U5作為時十位計數器,它的復位輸入RD、和置位輸入LD都接低電平,時信號脈沖作為計數脈沖輸入到CP1端,輸出端C控制U6秒十位計數器的計數脈沖輸入。Q1、Q2、Q3、Q4作為秒個位的計時值送至秒個位七段顯示譯碼/驅動器。當計數器輸出為00100100狀態,U5、U6的LD端同時為“0”,使計數器立即返回到00000000狀態。這樣就構成了二十四進制計數器。

U12 圖五 二十四進制計數器

(3)顯示譯碼/驅動器和LED七段數碼顯示管

六個74LS248集成電路構成數字鐘的七段數碼顯示管顯示譯碼/驅動器。74LS248七段顯示譯碼器輸出高電平有效,將8421BCD碼譯成七段(a、b、c、d、e、f、g)輸出,用以直接驅動LED七段數碼顯示對應的十進制數。74LS248的顯示功能:

顯示功能見功能表的上半部分。[DCBA]是二進制碼輸入,要正確的執行顯示功能,有關的功能端必須接合適的邏輯電平,這些功能端的作用隨后介紹。對于0~9輸入,[DCBA]相當BCD8421碼。當超過9以后,譯碼器仍然有字型輸出,具體見圖六。當[DCBA]=1111時,數碼管熄滅。實驗時要在筆劃段電極串聯電阻,以保護LED數碼管。

表1 中規模顯示譯碼器74LS248的功能表

圖六 74LS248顯示字型與輸入的對應關系

如圖七,六個LED七段數碼顯示管利用不同發光段組合的方式顯示不同數碼,都采用+5V電源作為每段發光二極管的驅動電源。需要發光的段為高電平,不發光的段為低電平。設計中采用共陰極數碼管,每段發光二極管的正向降壓,隨顯示光的顏色有所不同,通常約2V~3V,點亮電流在5~10mA。六個LED七段數碼顯示管分別顯示秒個位、十位;分個位、十位;時個位、十位的計數十進制數

圖七 顯示譯碼/驅動器和數碼顯示管

(4)分頻器

分頻器電路是由三個74LS90構成,如圖八。74LS90是異步十進制計數器,它由一個一位二進制計數器和一個異步五進制計數器組成。將QA與CP2相連,計數脈沖由CP1端輸入,輸出由QA~QD引出,即得到十進制計數器。只有在復位輸入R0(1)= R0(2)=0和置位輸入S9(1)= S9(2)=0時,才能夠在計數脈沖(下降沿)作用下實現二—五—十進制加計算。因為要對輸入的脈沖進行三次10分頻,三片74LS90的復位輸入R0(1)、R0(2)和置位輸入S9(1)、S9(2)都接低電平。振蕩器輸出的方波脈沖計數器作為U1的CP1端的輸入時鐘脈沖,U1的QD端的輸出脈沖作為U2的CPA端的輸入時鐘脈沖,U2的QD端的輸出脈沖作為U3的CP1端的輸入時鐘脈沖,U3的QD端的輸出脈沖fO=fS/103???????=1HZ,即為秒信號方波脈沖,成為秒、分、時計數器的計數脈沖和時間校準信號。

將JK觸發器的J、K端都接在高電平,Qn+1=JQn+KQn=Qn,每輸入一個時鐘脈沖后,觸發器翻轉一次,觸發器處于計數狀態。經過觸發器的二分頻,Q端輸出為500HZ的脈沖作為低音脈沖。

經過U1、U2計數器的二次十分頻,輸出的脈沖頻率為10HZ,作為秒校時脈沖。

圖八 分頻器

附74LS90二—五—十進制計數器功能圖

復位輸入 置位輸入 輸出 R0(1)R0(2)S9(1)S9(2)QA QB QC QD H H L × L L L L H H × L L L L L × × H H H L L H L × L × 計數

L × × L 計數

× L L × 計數

× L × L 計數

JK觸發器的功能表

J K Qn Qn+1 說明

0 0 0 0 輸出狀態不變1

0 1 0 0 輸出狀態與J端狀態相同0 0 0 1 輸出狀態與K端狀態相同1 1 0 1 每輸入一個脈沖輸出狀態改變一次0

(五)報時電路

整點報時電路要求在每個整點發出音響,因此需要對每個整點進行時間譯碼,以其輸出驅動音響控制電路。如圖九。

若要在每一整點發出五低音、一高音報時,需要對59分50秒到59分59秒進行時間譯碼。QD4~QA4是分十位輸出,QD3~QA3是分個位輸出,QD2~QA2是秒十位輸出,QD1~QA1秒個位輸出。在59分時,A= QC4 QA4 QD3 QA3=1;在50秒時,B= QC2 QA2=1;秒個位為0、2、4、6、8秒時,QA1=0,C= QA1=1;因而F1=ABC= QC4QA4 QD3 QA3 QC2 QA2 QA1僅在59分50秒、52秒、54秒、56秒、58秒時等于1,故可以用F1作低音的控制信號。

當計數器每計到59分59秒時,A= QC4 QA4 QD3QA3=1,D= QC2 QA2 QD1 QA1=1,此時F2=AD=1。把F2接至JK觸發器控制端J端,CP端加秒脈沖,則再計1秒到達整點時F3=1,故可用F3作一次高音控制信號。

用F1控制5次低音、F3控制高音,經音響放大器放大,每當“分”和“秒”計數器累計到59分50、52、54、56、58秒發出頻率為500HZ的五次低音,0分0秒時發出頻率為1000HZ的一次高音,每次音響的時間均為一秒鐘,實現了整點報時的功能。

圖九 整點報時電路

四、原理圖(見最后一頁)

五、元器件明細表

序號 元器件名稱 型號規格 數量(個)備注

U0 集成定時器 5G555定時器 1 構成多諧振蕩器 U1~U6 同步加法計數器 74161 6 構成模加法計數器

U7~U9 異步十進制計數器 74LS90 3 構成分頻器

U10 七端顯示譯碼器 74LS248 6 分別顯示秒、分、時的數字

U11~U12 與非門 多輸入與非門 2 U13 J-K觸發器 1

C1、C2 電容 2 C1=C2=104pf R1 R2 電阻 2 R1 =2K、R2=5.1K R、R` 電阻 2 R=1k,R`=47 U14 U20 門器件 非門 1

U15~U19 門器件 與門 6 多輸入與門

U21~U23 門器件 與非門 3 多輸入與非門

U24 觸發器 J-K觸發器 1 U25 晶體三級管 1 U26 喇叭 1 實現鬧鈴

六、設計體會

在整個課程設計完后,總的感覺是:有收獲。以前上課都是上一些最基本的東西,而現在卻可以將以前學的東西作出有實際價值的東西。在這個過程中,我的確學得到很多在書本上學不到的東西,如:如何利用現有的元件組裝得到設計要求,如何找到錯誤的原因,如何利用計算機來畫圖等等。但也遇到了不少的挫折,有時遇到了一個錯誤怎么找也找不到原因所在,找了老半天結果卻是芯片的管腳接錯了,有時更是忘接電源了。在學習中的小問題在課堂上不可能犯,在動手的過程中卻很有可能犯。特別是在接電路時,一不小心就會犯錯,而且很不容易檢查出來。但現在回過頭來看,還是挺有成就感的。

下載課程設計數字電子鬧鐘word格式文檔
下載課程設計數字電子鬧鐘.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    數字電子EDA課程設計八音電子琴

    燕山大學EDA課程設計 實驗報告院系:信息科學與工程學院姓名: 班級: 學號: 日期: [實驗名稱] 八音電子琴 [實驗要求] 1.能發出1.2.3.4.5.6.7.i八個音2.用按鍵作為鍵盤......

    數字電子時鐘課程設計報告-2(精選5篇)

    前言 20世紀末,電子技術獲得了飛速的發展,在其推動下,現代電子產品幾乎滲透了社會的各個領域,有力地推動了社會生產力的發展和社會信息化程度的提高,同時也使現代電子產品性能進......

    電子數字時鐘課程設計報告(數電)

    數字電子鐘的設計 1. 設計目的 數字鐘是一種用數字電路技術實現時、分、秒計時的裝置,與機械式時鐘相比具有更高的準確性和直觀性,且無機械裝置,具有更更長的使用壽命,因此得到......

    電子課程設計

    學校的小學期要做一個電子課程設計,選題有一百多個~~ 哪位達人能提供點資料啊~~ 要有電路圖和所需元件清單啊~~拜托了~~~ 附:電子課程設計100題 一,電源類制作電路 1,18V穩......

    單片機課程設計報告 定時鬧鐘

    單片機課程設計報告 定時鬧鐘,共29頁,6864字摘要本設計是定時鬧鐘的設計,由單片機AT89C51芯片和LED數碼管為核心,輔以必要的電路,構成的一個單片機電子定時鬧鐘。電子鐘設計可采......

    單片機課程設計音樂鬧鐘定時器

    目錄: 0、 任務書...............................................................................2 1、 系統總體設計方案規劃與選定........................................

    數字時鐘課程設計

    數字電子技術課程設計報告 一、設計目的 數字鐘是一種用數字電路技術實現時、分、秒計時的裝置,與機械式時鐘相比具有更高的準確性和直觀性,且無機械裝置,具有更更長的使用壽......

    數字電子鐘課程設計

    目錄 一. 引言???????????????????????2 二. 課程設計目的???????????????????2 三. 設計所需要的器材?????????????......

主站蜘蛛池模板: 国产 精品 自在 线免费| aⅴ亚洲 日韩 色 图网站 播放| 亚洲午夜私人影院在线观看| 精品国产一区二区三区四区精华液| 国产热re99久久6国产精品首页| 国产精品 亚洲一区二区三区| 偷偷做久久久久免费网站| 大地资源免费视频观看| 免费精品国自产拍在线观看| 女人被狂躁到高潮视频免费网站| 一个人看的www片免费高清视频| 又色又爽又黄的视频日本| 好吊妞人成视频在线观看27du| 国产精品熟妇视频国产偷人| 特黄特色三级在线观看| 久久精品国产第一区二区三区| 亚洲欧美一区二区三区日产| 色翁荡熄又大又硬又粗又视频| 中国白嫩丰满人妻videos| 性欧美老人牲交xxxxx视频| 欧美大片aaaaa免费观看| 国产在线高清视频无码| 精品999日本久久久影院| 亚洲午夜不卡无码影院| 国产精品人人妻人人爽麻豆| 综合无码一区二区三区| 亚洲精品午夜精品| 色老久久精品偷偷鲁| 亚洲色婷婷婷婷五月| 四虎影视国产精品永久在线| 97超碰人人爱香蕉精品| 爽爽精品dvd蜜桃成熟时电影院| 国产伦子沙发午休系列资源曝光| 99热精国产这里只有精品| 欧美日韩国产一区二区三区不卡| 97久久人人超碰超碰窝窝| 99久久久国产精品免费蜜臀| 国产亚洲日韩av在线播放不卡| 99久久精品国产一区二区| 国产日韩综合一区在线观看| 成年网站在线在免费线播放欧美|