導航:首頁 > 裝置知識 > 設計一個能計時1分鍾的裝置

設計一個能計時1分鍾的裝置

發布時間:2022-11-29 03:06:21

1. 如何製作一個1分鍾計時器

打開PPT 在工具中有一個計數器的工具,可以用業計時。很簡單,在放映的時候打開用計時器打開就行

2. 怎樣做一個簡易的一分鍾計時器

方法如下:

按塑料杯的大小把塑料瓶的上部分剪掉,中間挖一個能放入塑料杯的大孔。塑料杯底部用剪刀尖鑽一個小孔,將吸管斜剪下一段,插入小孔。鐵皮彎成小夾子夾住吸管。把所料杯放入所料瓶口,塑料瓶中放入清水並及時,1分鍾在下方杯水面處劃記號。調整鐵皮夾的夾緊程度,反復試驗幾次使刻度更准確。

電磁打點計時器是一種使用交流電源的計時儀器,其工作電壓是4-6V,電源的頻率是50Hz,它每隔0.02s打一次點。

工作原理:當給電磁打點計時器的線圈通電後,線圈產生磁場,線圈中的振片被磁化,振片在永久磁鐵磁場的作用下向上或向下運動。

由於交流電的方向每個周期要變化兩次,因此振片被磁化後的磁極要發生變化,永久磁鐵對它的作用力的方向也要發生變化,當振片受向下的力時打點一次,當振片受向上的力時不打點,所以在交流電的一個周期內打點一次,即每兩個點間的時間間隔等於交流電的周期。

3. 利用CPU的定時器定時,設計一個電子時鍾

沒有定時器的不過有數字鍾的
你可以參考下
其中可有有用的

摘要
本題給出基於單片機的數字中的設計,設計由單片機作為核心控制器,通過頻率計數實現計時功能,將實時時間經由單片機輸出到顯示設備——數碼管上顯示出來,並通過鍵盤來實現啟動、停止、復位和調整時間的功能。
關鍵詞: 單片機、數字鍾、AT89S52、LED
1 引言
在單片機技術日趨成熟的今天,其靈活的硬體電路的設計和軟體的設計,讓單片機得到了廣泛的應用,幾乎是從小的電子產品,到大的工業控制,單片機都起到了舉足輕重的作用。單片機小的系統結構幾乎是所有具有可編程硬體的一個縮影,可謂是「麻雀雖小,五臟俱全」。
現在是一個知識爆炸的新時代。新產品、新技術層出不窮,電子技術的發展更是日新月異。可以毫不誇張的說,電子技術的應用無處不在,電子技術正在不斷地改變我們的生活,改變著我們的世界。在這快速發展的年代,時間對人們來說是越來越寶貴,在快節奏的生活時,人們一旦遇到重要的事情而忘記了時間,這將會帶來很大的損失,因此我們需要一個計時系統來提醒這些忙碌的人。 然而,隨著科技的發展和社會的進步,人們對時鍾的要求也越來越高,傳統的時鍾已不能滿足人們的需求。多功能數字鍾不管在性能上還是在樣式上都發生了質的變化,如電子鬧鍾、數字鬧鍾等等。 單片機在多功能數字鍾中的應用已是非常普遍的,基於單片機的數字鍾給人們帶來了極大的方便。
現今,高精度的計時工具大多數都使用了石英晶體振盪器,由於電子鍾,石英錶,石英鍾都採用了石英技術,因此走時精度高,穩定性好,使用方便,不需要經常調校,數字式電子鍾用集成電路計時,解碼代替機械式傳動,用LED顯示器代替指針顯示進而顯示時間,減小了計時誤差,這種表具有時,分,秒顯示時間的功能,還可以進行時和分的校對,片選的靈活性好。本文利用單片機實現數字時鍾計時功能的主要內容,其中AT89S52是核心元件同時採用數碼管動態顯示「時」,「分」,「秒」的現代計時裝置。與傳統機械表相比,它具有走時精確,顯示直觀等特點。它的計時周期為24小時,顯滿刻度為「23時59分59秒」,另外具有校時功能,斷電後有記憶功能,恢復供電時可實現計時同步等特點。
2 方案論證
2.1 方案一
數字鍾採用FPGA作為主控制器。由於FPGA具有強大的資源,使用方便靈活,易於進行功能擴展,特別是結合了EDA,可以達到很高的效率。此方案邏輯雖然簡單一點,但是一塊FPGA的價格很高,對於做電子鍾來說有一點浪費,而且FPGA比較難掌握,本設計中不作過多研究,也不採用此方案。
2.2 方案二
數字鍾由幾種邏輯功能不同的CMOS數字集成電路構成,共使用了10片數字集成電路,其原理圖如圖2.1所示。它是由秒信號發生器(時基電路)、小時分鍾計數器及解碼和驅動顯示電路3部分組成,其基本工作過程是:時基電路產生精確周期的脈沖信號,經過分頻器作用給後面的計數器輸送1HZ的秒信號,最後由計數器及驅動顯示單元按位驅動數碼管時間顯示,但是這樣設計的電路比較復雜,使用也不靈活,而且價格比較高,故不採用此方案。

圖2.1 方案二原理示意圖

2.3 方案三
AT89S52是一種低功耗、高性能CMOS 8位微控制器。使用Atmel公司高密度非易失性存儲器技術製造,與工業80C51產品指令和引腳完全兼容。片上Flash允許程序存儲器在系統可編程,亦適於常規編程器。在單晶元上,擁有靈巧的8位CPU和在系統可編程Flash,使得AT89S52為眾多嵌入式控制應用系統提供高靈活、有效的解決方案。它具有串列口,片內晶振及時鍾電路。另外,AT89S52可降至0Hz 靜態邏輯操作,支持2種軟體可選擇節電模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數器、串口、中斷繼續工作。掉電保護方式下,RAM內容被保存,振盪器被凍結,單片機一切工作停止,直到下一個中斷或硬體復位為止。
基於AT89S52單片機來實現系統的控制,外圍電路比較簡單,成本比較低,此系統控制靈活能很好地滿足本課題的基本要求和擴展要求,因此選用該方案。其硬體框圖如圖2.2所示,原理圖見附錄圖6.1。

圖2.2 數字鍾硬體框圖

2.4 電路組成及工作原理
本文數字時鍾設計原理主要利用AT89S52單片機,由單片機的P0口控制數碼管的位顯示,P2口控制數碼管的段顯示,P1口與按鍵相接用於時間的校正。在設計中引入220V交流電經過整流、濾波後產生+5V電壓,用於給單片機及顯示電路提供工作電壓。
整個系統工作時,秒信號產生器是整個系統的時基信號,它直接決定計時系統的精度,將標准秒信號送入「秒計數器」,「秒計數器」採用60進制計數器,每累計60秒發出一個「分脈沖」信號,該信號將作為「分計數器」的時鍾脈沖。「分計數器」也採用60進制計數器,每累計60分鍾,發出一個「時脈沖」信號,該信號將被送到「時計數器」。「時計數器」採用24進制計時器,可實現對一天24小時的累計。顯示電路將「時」、「分」、「秒」計數器的輸出,通過六個七段LED顯示器顯示出來。校時電路是直接加一個脈沖信號到時計數器或者分計數器或者秒計數器來對「時」、「分」、「秒」顯示數字進行校對調整。在本設計中,24小時時鍾顯示、秒錶的設計和顯示都是依靠單片機中的定時器完成。使用定時器T0產生1s的中斷,在中斷程序中完成每一秒數字的變化,並在主程序中動態顯示該字元。其功能框圖如圖2.3所示。

圖2.3 秒錶外中斷的功能示意圖

數字鍾的電路設計主要功能是提供單片機和外部的LED顯示、273地址鎖存和片選以及外部存儲器2764的介面電路,此外還需要設計相關的LED驅動電路。
(1)電路原理和器件選擇
本實例相關的關鍵部分的器件名稱及其在數字鍾電路中的主要功能:
89S52:單片機,控制LED的數據顯示。
LED1--LED6:用於顯示單片機的數據,其中三個採用7段顯示用於顯示時、分、秒的十位,另三個採用8段顯示用於顯示時、分、秒的個位。
74LS273:鎖存器,LED顯示擴展電路中的段碼和位碼使用了兩片74LS273,上升沿鎖存。
74LS02:與非門,與單片機的讀寫信號一起使用,選中外部的74LS273,決定LED的欄位和字位的顯示內容。
7407:驅動門電路,提供數碼管顯示的驅動電流。
74LS04:非門,對單片機的片選信號取反,並和讀寫信號一起使用,決定74LS273的片選。
L1--L4:發光二極體,通過單片機的P1.4--P1.7控制,用以顯示秒錶和時鍾的時間變化。
BUZZER:揚聲器,在程序規定的情況下,發出聲音,提示計時完畢。
74LS373:地址鎖存器,將P0口的地址和數據分開,分別輸入到2764的數據和地址埠。
2764:EPROM,為單片機提供外部的程序存儲區。
開關K0、K1、K2分別調整秒、分、時。
按鍵RESET:在復位電路中,起到程序復位的作用。
按鍵PULSE:提供單脈沖,從而實現單片機對外部脈沖的計數功能,利用單脈沖實現相應位加1。
(2)地址分配和連接
P2.7:和寫信號一起組成字位口的片選信號,字位口的對應地址位8000H
P2.6:和寫信號一起組成欄位口的片選信號,欄位口的對應地址位4000H
D0--D7:單片機的數據匯流排,LED顯示的內容通過D0--D7數據線從單片機傳送到LED
P2.0--P2.5:單片機的P2口,和2764的高端地址線相連,決定2764中的存儲單元的地址。
P1.4--P1.7:單片機的P1口,和反光二極體L1--L4相連,通過單片機的P1.4--P1.7控制,用以顯示秒錶和時鍾的時間變化。
(3)功能簡介
LED顯示模塊與單片機的連接中,對LED顯示模塊的讀寫和字位、欄位通道的選擇是通過單片機的P2.6、P2.7口完成。其中,P2.6、P2.7口的片選信號需要和讀寫信號做一定的邏輯操作,以保證字位和欄位選擇的正確性。
外部存儲器2764是通過74LS373和單片機相連,並且通過P2口的相關信號線進行地址的分配。地址范圍為0000H--1FFFH。
3 各電路設計和論證
3.1電源電路設計
在各種電子設備中,直流穩壓電源是必不可少的組成部分,它不僅為系統提供多路電壓源,還直接影響到系統的技術指標和抗干擾性能。要想得到我們所要的+5V輸出電壓,就需將交流220V的電壓經過二極體全波整流、電容濾波、7805穩壓輸出穩定的5V直流電壓為整個電路提供電源。

圖3.1 電源電路圖
4個IN4004組成橋式整流電路,電容(104uf)用於濾波,LM7805將經過整流濾波的電壓穩定在5V輸出。
3.2 晶體振盪器
51系列單片機內部有一個時鍾電路(其核心時一個反相放大器),但並沒有形成時鍾的振盪信號,因此必須外接諧振器才能形成振盪。如何用這個內部放大器,可以根據不同的場合做出不同的選擇。這樣就對應了單片機時鍾產生的不同方式:若採用這個放大器,產生振盪即為內部方式;若採用外部振盪輸入,即為外部方式。
方案一、內部方式
如果在51單片機的XTAL1和XTAL2引腳之間外接晶體諧振器,便會產生自激振盪,即可在內部產生與外加晶體同頻率的振盪時鍾。
最常見的內部方式振盪圖如圖3.2所示。

圖3.2 晶體振盪電路

不同單片機最高工作頻率不一樣,如AT89C51的最高工作頻率為24MHZ,AT89S51的最高工作頻率可達33MHZ。由於製造工藝的改進,現在單片機的工作頻率范圍正向兩端延伸,可達40MHZ以上。振盪頻率越高表示單片機運行的速度越快,但同時對存儲器的速度和印刷電路板的要求也就越高。頻率太高有時反而會導致程序不好編寫(如延時程序)。一般來說,不建議使用很高頻率的晶體振盪器。51系列的單片機應用系統一般都選用頻率為6~12MHZ的晶振。
這個電路對C1、C2的值沒有嚴格的要求,但電容的大小多少會影響振盪器的穩定性、振盪器頻率的高低、起振的快速性等。一般外接晶體時,C1、C2的值通常選為20~100PF。
晶體振盪器是數字鍾的核心。振盪器的穩定度和頻率的精確度決定了數字鍾計時的准確程度,通常採用石英晶體構成振盪器電路。一般說來,振盪器的頻率越高,計時的精度也就越高。在此設計中,信號源提供1HZ秒脈沖,它是採用晶體分頻得到的。AT89S52單片機有一個用於構成內部振盪器的反相放大器,XTAL1和XTAL2分別是放大器的輸入、輸出端。石英晶體和陶瓷諧振器都可以用來一起構成自激振盪器。從外部時鍾源驅動器件,XTAL2可以不接,而從XTAL1接入,由於外部時鍾信號經過二分頻觸發後作為外部時鍾電路輸入的,所以對外部時鍾信號的占空比沒有其它要求,最長低電平持續時間和最少高電平持續時間等還是要符合要求的。反相放大器的輸入端為XTAL1,輸出端為XTAL2,兩端連接石英晶體及兩個電容形成穩定的自激振盪器。電容通常取30PF左右。振盪頻率范圍是1.2~12MHz。
晶體振盪器的振盪信號從XTAL2端輸出到片內的時鍾發生器上。時鍾發生器為二分頻器。向CPU提供兩相時鍾信號P1和P2。每個時鍾周期有兩個節拍(相)P1和P2,CPU就以兩相時鍾P1和P2為基本節拍指揮AT89S52單片機各部件協調工作。在本次設計中取石英晶體的振盪頻率為11.0592MHz。
另外在設計電路板時,晶振、電容等均應盡量靠近單片機晶元,以減小分布電容,進一步保證振盪器的穩定性。
方案二、外部方式
在較大規模的應用系統中可能會用到多個單片機,為保證各單片機之間時鍾信號的同步,應當引入唯一的公用外部脈沖信號作為各單片機的共同的振盪脈沖,也就是要採用外部方式,外部振盪信號直接引入XTAL1和XTAL2引腳。
由於HMOS、CHMOS單片機內部時鍾進入的引腳不同,因此外部振盪信號的接入方式也不一樣。所以不選用此方案。
3.3 校時電路
當數字鍾走時出現誤差時,需要校正時間。校時控制電路實現對「秒」、「分」、「時」的校準。其電路圖如圖3.3所示:

圖3.3 校時電路
3.4 解碼顯示電路
解碼電路的功能是將「秒」、「分」、「時」 計數器中每個計數器的輸出狀態(8421碼),翻譯成七段(或八段)數碼管能顯示十進制數所要求的電信號,然後再經數碼管把相應的數字顯示出來。解碼器採用74LS248解碼/驅動器。顯示器採用七段共陰極數碼管。顯示部分是整個電子時鍾最為重要的部分,共需要6位LED顯示器。採用動態顯示方式,所謂動態顯示方式是時間數字在LED上一個一個逐個顯示,它是通過位選端控制在哪個LED上顯示數字,由於這些LED數字顯示之間的時間非常的短,使的人眼看來它們是一起顯示時間數字的,並且動態顯示方式所用的介面少,節省了CPU的管腳。由於埠的問題以及動態顯示方式的優越性,在此設計的連接方式上採用共陰級接法。顯示器LED有段選和位選兩個埠,首先說段選端,它由LED八個埠構成,通過對這八個埠輸入的不同的二進制數據使得它的時間顯示也不同,從而可以得到我們所要的時間顯示和溫度。但對於二十個管腳的AT89S52來說,LED八個段選管腳太多,於是我選用2764晶元來擴展主晶元的管腳,74LS164是數據移位寄存器,還選用了74LS373作為數據緩存器。
選用器件時應注意解碼器和顯示器的匹配,包括兩個方面:一是功率匹配,即驅動功率要足夠大。因為數碼管工作電流較大,應選用驅動電流較大的解碼器或OC輸出解碼器。二是邏輯電平匹配。例如,共陰極型的LED數碼管採用高電平有效的解碼器。推薦使用的顯示解碼器有74LS48、74LS49、CC4511。
3.5 顯示電路結構及原理
(1)單片機中通常用七段LED構成 「8」 字型結構,另外,還有一個小數點發光二極體以顯示小數位!這種顯示器有共陰和共陽兩種!發光二極體的陽極連在一起的(公共端)稱為共陽極顯示器,陰極連在一起的稱為共陰極顯示器。
一位顯示器由8個發光二極體組成,其中,7個發光二極體構成字型「8」的各個筆劃,另一個發光二極體為小數點為。當在某段發光二極體上施加一定的正向電壓時,該段筆畫即亮;不加電壓則暗。為了保護各段LED不被損壞,需外加限流電阻。
在本設計中時、分、秒的十位採用七段顯示,個位採用八段顯示,使得更易於區分時、分、秒。
(2)LED顯示器介面及顯示方式
LED顯示器有靜態顯示方式和動態顯示方式兩種。靜態顯示就是當顯示器顯示某個字元時,相應的段恆定的導通或截止,直到顯示另一個字元為止。LED顯示器工作於靜態顯示方式時,各位的共陰極接地;若為共陽極則接+5V電源。每位的段選線分別與一個8位鎖存器的輸出口相連,顯示器中的各位相互獨立,而且各位的顯示字元一經確定,相應鎖存的輸出將維持不變。
正因為如此,靜態顯示器的亮度較高。這種顯示方式編程容易,管理也較簡單,但佔用I/O口線資源較多。因此,在顯示位數較多的情況下,一般都採用動態顯示方式。
由於所有6位段皆由一個I/O口控制,因此,在每一瞬間,6位LED會顯示相同的字元。要想每位顯示不同的字元,就必須採用掃描方法流點亮各位LED,即在每一瞬間只使某一位顯示字元。在此瞬間,段選控制I/O口輸出相應字元段選碼(字型碼),而位選則控制I/O口在該顯示位送入選通電平(因為LED為共陰,故應送低電平),以保證該位顯示相應字元。如此輪流,使每位分時顯示該位應顯示字元。
在多位LED顯示時,為了簡化電路,降低成本,將所有位的段選線並聯在一起,由一個8位I/O口控制。而共陰(共陽)極公共端分別由相應的I/O口線控制,實現各位的分時選通。
段選碼,位選碼每送入一次後延時2MS,因人的視覺暫留效應,給人看上去每個數碼管總在亮。

圖3.4 六位LED動態顯示電路
3.6 鍵盤部分
它是整個系統中最簡單的部分,根據功能要求,本系統共需三個按鍵:分別對時、分、秒進行控制。並採用獨立式按鍵。
按鍵按照結構原理可分為兩類,一類是觸點式開關按鍵,如機械式開關、導電橡膠式開關等;另一類是無觸點式開關按鍵,如電氣式按鍵,磁感應按鍵等。前者造價低後者壽命長。目前,微機系統中最常見的是觸點式開關按鍵。
按鍵按照介面原理可分為編碼鍵盤與非編碼鍵盤兩類,這兩類鍵盤的主要區別是識別鍵符及給出相應鍵碼的方法。編碼鍵盤主要是用硬體來實現對鍵的識別,非編碼鍵盤主要是由軟體來實現鍵盤的定義與識別。
全編碼鍵盤能夠由硬體邏輯自動提供與鍵對應的編碼,此外,一般還具有去抖動和多鍵、竄鍵保護電路。這種鍵盤使用方便,但需要較多的硬體,價格較貴,一般的單片機應用系統較少採用。非編碼鍵盤只簡單地提供行和列的矩陣,其它工作均由軟體完成。由於其經濟實用,較多地應用於單片機系統中。在本套設計中由於只需要幾個功能鍵,此時,可採用獨立式按鍵結構。
獨立式按鍵是直接用I/O口線構成的單個按鍵電路,其特點是每個按鍵單獨佔用一根I/O口線,每個按鍵的工作不會影響其它I/O口線的狀態。獨立式按鍵的典型應用如圖3.5 所示。
獨立式按鍵電路配置靈活,軟體結構簡單,但每個按鍵必須佔用一根I/O口線,因此,在按鍵較多時,I/O口線浪費較大,不宜採用。

圖3.5 獨立式按鍵結構圖
3.7 復位電路
復位時使CPU和系統中的其他功能部件都處於一個確定的初始狀態,復位後計算機就從這個狀態開始工作。在復位期間,CPU並沒有開始執行程序,是在做准備工作。
無論時在計算機剛上電時、斷電後、還是系統出現故障時都需要復位。
51單片機的復位條件靠外部電路實現。當時鍾電路工作時,只要在單片機的RESET引腳上持續出現2個TP以上的高電平就可以使單片機復位。但時間過短往往使復位部可靠。為了確保復位,RESET引腳上的高電平一般要維持大約10ms以上。
常見的復位電路有上電復位和按鍵復位電路。在此我們選用按鍵復位電路。
(1)上電復位電路
上電復位電路是利用電容充電來實現的。在接通電源的瞬間,RESET端的電位與VCC相同,都是+5V。隨著RC電路的充電,RESET的電位逐漸下降,只要保證RESET為高電平的時間大於10ms就能正常復位了。如圖3.6(1)所示。

圖3.6(1)上電復位電路
(2)按鍵復位電路
在單片機已經通電的情況下,只需要按下圖3.6(2)的K鍵也可以復位,此時VCC經過電阻Rs、Rk分壓,在RESET端產生一個復位高電平。
在圖3.6(2)的電路中,干擾容易竄入復位端,雖然在大多數情況下不會造成單片機的錯誤復位,但可能會引起內部某些寄存器的錯誤復位。這時可在RESET端接上一個去耦電容。
另外有些單片機應用系統中的外圍晶元也需要復位,如果這些復位端的復位電平要求和單片機的復位要求一致,則可以直接與之相連。常將RC電路接施密特電路後再接入單片機的復位端。這樣系統可以有多個復位端,以便保證外部晶元和單片機可靠地同步復位。

圖3.6(2) 按鍵復位電路
4 軟體設計
4.1 程序流程
程序整體設計:定時模塊,顯示模塊,時間調整模塊,狀態調整模塊。
(1)總體介紹:此部分主要介紹定時模塊,和顯示模塊。定時部分採用經典的定時器定時。它實現了數字鍾的主要部分和秒錶的主要部分,以及進行定時設置。顯示模塊是實現數字鍾的又一重要部分,其模塊的獨立程度直接影響到數字鍾的可視化程度。在此部分的設計中,設置專用顯示數據緩沖區,與分、時及其他數據緩沖區數據區別,在其中存放的是顯示段碼,而其他緩沖區存放的是時間數據。在顯示時,首先將時間十進制數據轉化為顯示段碼,然後送往數碼管顯示。顯示段碼採用動態掃描的方式。在要求改變顯示數據的類別時,只須改變指向數據緩沖區的指針所指向的十進制數據緩沖區即可。
(2)時間調整:時間調整有多種方式。一、可以直接進入相關狀態進行有關操作,二、將調整分兩步,先進入狀態,然後執行操作,這兩步分別由兩個鍵控制。方式一,比較直接,設計思想也比較簡單,但是,這種方式存在操作時間和控制鍵數目的矛盾。如果用比較少的鍵,那麼可能會在進入狀態後處於數據調整等待狀態,這樣會影響到顯示的掃描速度(顯示部分可以採用8279晶元來控制,可以解決此問題)。 當然在這種方式下,還可以使用多個狀態鍵,每個狀態鍵,完成一個對應數據的調整。如果採用二的方式,就不會出現這種情況。因為狀態的調整,與狀態的操作可以分別由兩個鍵控制,其狀態的調整數可以多達256個(理論上),操作的完成是這樣的,一鍵控制狀態的調整,一鍵控制數據的調整。以上兩種方式的實現都可以採用查詢和中斷的方式。兩種方式必須注意的問題是兩者進行相關操作的過程不能太長否則會影響顯示的掃描。利用查詢的方式,方法傳統,對此就不作過多的討論,以下是採用中斷的方式實現的數字鍾的一些討論和有關問題作的一些處理。基於以上的討論可以設計如下:將調整分為狀態調整和數據調整兩部分,每次進入中斷只執行一次操作,然後返回,這樣,就不必讓中斷處於調整等待狀態,這樣,可以使中斷的耗時很小。將定時器中斷的優先順序設置為最高級,那麼中斷的方式和查詢的方式一樣不會影響到時鍾的記數。
(3)中斷方式應注意的問題:
採用中斷的方式,最好將定時器中斷的優先順序設置為最高級,關於程序數據的穩定性應注意兩個問題:一、在低優先順序中斷響應時,應在入棧保護數據時禁止高優先順序的中斷響應。二、在入棧保護有關數據後,對中斷程序執行有影響的狀態位,寄存器,必須恢復為復位狀態的值。例如,在用到了十進制調整時,在中斷進入時,需將PSW中的AC,CY位清零,否則,十進制調整出錯。
(4)定時准確性的討論:
程序中定時器,一直處於運行狀態,也就是說定時器是理想運作的,其中斷程序每隔0.1秒執行一次,在理想狀態下,定時器定時是沒有系統誤差的,但由於定時器中斷溢出後,定時器從0開始計數,直到被重新置數,才開始正確定時,這樣中斷溢出到中斷響應到定時器被重新置數,其間消耗的時間就造成了定時器定時的誤差。如果在前述定時器不關的情況下,在中斷程序的一開始就給定時器置數,此時誤差最小,誤差大約為:每0.1秒,誤差7—12個機器周期。當然這是在定時器定時剛好為0.1秒時的情況,由以上分析,如果數字鍾設計為查詢的方式或是在中斷的方式下將定時器中斷設置為最高級,我們在定時值設置時,可以適當的扣除9個機器周期的時間值。但如果在中斷的情況下,沒有將定時器中斷設置為最高級,那就要視中斷程序的大小,在定時值設置時,扣除相應的時間值。
(5)軟體消抖:
消抖可以採用硬體(施密特觸發器)的方式如圖4.4所示,也可以採用軟體的方式。在此只討論軟體方式。軟體消抖有定時器定時,和利用延時子程序的方式。一,定時器定時消抖可以不影響顯示模塊掃描速度,其實現方法是:設置標志位,在定時器中斷中將其置位,然後在程序中查詢。將其中斷優先順序設置為低於時鍾定時中斷,那麼它就可以完全不影響時鍾定時。二,在採用延時子程序時,如果顯示模塊的掃描速度本來就不是很快,此時可能會影響到顯示的效果,一般情況下,每秒的掃描次數不應小於50次,否則,數碼的顯示會出現閃爍的情況。因此,延時子程序的延時時間應該小於20毫秒,如果採用定時器定時的方式,延時時間不影響時鍾。
如果,設計時採用的是中斷的方式來完成有關操作,同樣可以採用軟體的方式來消抖,其處理思想是:中斷不能連續執行,兩次之間有一定的時間間隔。
4.1.1 系統主程序流程圖

圖4.1 主程序流程圖
4.1.2 各子程序流程圖

圖4.2 時鍾調整子程序流程圖

4. 如何在家自己做紙擺鍾(一分鍾計時器)

做一個一分鍾計時器
擺鍾的主要部件:擺錘、垂體、齒輪操縱器、齒輪等
每分鍾擺動30次 時鍾走60秒

計時器,是利用特定的原理來測量時間的裝置。

5. 做一個一分鍾計時器需要哪些材料,它的工作原理是什麼

用晶振、計數器、與非門即可組成電子分鍾計時器。晶振提供頻率穩定的高頻基準時鍾信號,計數器和與非門共同完成准確定時的功能。

6. 怎樣製作一個一分鍾擺60次的鍾擺

1、先准備好秒錶、細繩、支架、燕尾夾、軟尺、螺帽。

7. 如何用VHDL設計一分鍾的計時器(帶毫秒顯示)

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY CLOCK IS
PORT( CLK: IN STD_LOGIC;
DOUT1:BUFFER STD_LOGIC_VECTOR( 3 DOWNTO 0); -----秒鍾個位輸出
DOUT2:BUFFER STD_LOGIC_VECTOR( 3 DOWNTO 0); -----秒鍾時位輸出
DOUT3:BUFFER STD_LOGIC_VECTOR( 3 DOWNTO 0); -----分鍾個位輸出
DOUT4:BUFFER STD_LOGIC_VECTOR( 3 DOWNTO 0); -----分鍾時位輸出
DOUT5:BUFFER STD_LOGIC_VECTOR( 3 DOWNTO 0); -----時鍾個位輸出
DOUT6: BUFFER STD_LOGIC_VECTOR( 3 DOWNTO 0); -----時鍾十位輸出
CO: OUT STD_LOGIC);

-- LED1: OUT STD_LOGIC_VECTOR( 7 DOWNTO 0);
-- LED2: OUT STD_LOGIC_VECTOR( 7 DOWNTO 0);
-- LED3: OUT STD_LOGIC_VECTOR( 7 DOWNTO 0);
-- LED4: OUT STD_LOGIC_VECTOR( 7 DOWNTO 0);
-- LED5: OUT STD_LOGIC_VECTOR( 7 DOWNTO 0);
-- LED6: OUT STD_LOGIC_VECTOR( 7 DOWNTO 0));
END CLOCK;

ARCHITECTURE CK OF CLOCK IS
SIGNAL CO1: STD_LOGIC;
SIGNAL CO2: STD_LOGIC;
SIGNAL QOUT1: STD_LOGIC_VECTOR( 3 DOWNTO 0);
SIGNAL QOUT2: STD_LOGIC_VECTOR( 3 DOWNTO 0);
SIGNAL QOUT3: STD_LOGIC_VECTOR( 3 DOWNTO 0);
SIGNAL QOUT4: STD_LOGIC_VECTOR( 3 DOWNTO 0);
SIGNAL QOUT5: STD_LOGIC_VECTOR( 3 DOWNTO 0);
SIGNAL QOUT6: STD_LOGIC_VECTOR( 3 DOWNTO 0);

-- COMPONENT LED IS
-- PORT( QIN: STD_LOGIC_VECTOR(3 DOWNTO 0);
-- QOUT: OUT STD_LOGIC_VECTOR( 7 DOWNTO 0));
-- END COMPONENT;
BEGIN
U1: PROCESS( CLK ) ---秒鍾進程表
BEGIN
IF CLK'EVENT AND CLK='1' THEN
IF QOUT1 = 9 THEN
IF QOUT2=5 THEN
CO1 <= '1';
QOUT1 <="0000";
QOUT2 <="0000";
ELSE
QOUT1 <= "0000";
CO1 <='0';
QOUT2 <= QOUT2+1;
END IF;
ELSE
QOUT1 <= QOUT1+1;
CO1 <= '0';
END IF;
END IF;
END PROCESS;
DOUT1 <= QOUT1;
DOUT2 <= QOUT2;

U2: PROCESS(CO1) --分鍾進程表
BEGIN
IF CO1'EVENT AND CO1='1' THEN
IF QOUT3 = 9 THEN
IF QOUT4=5 THEN
CO2 <= '1';
QOUT3 <="0000";
QOUT4 <="0000";
ELSE
QOUT3 <= "0000";
CO2 <='0';
QOUT4 <= QOUT4+1;
END IF;
ELSE
QOUT3 <= QOUT3+1;
CO2 <= '0';
END IF;
END IF;
END PROCESS;
DOUT3 <= QOUT3;
DOUT4 <= QOUT4;

U3: PROCESS(CO2) --分鍾進程表
BEGIN
IF CO2'EVENT AND CO2='1' THEN
IF QOUT5 = 3 THEN
IF QOUT6=2 THEN
CO <= '1';
QOUT5 <="0000";
QOUT6 <="0000";
ELSE
QOUT5 <= "0000";
CO <='0';
QOUT6 <= QOUT6+1;
END IF;
ELSE
QOUT5 <= QOUT5+1;
CO <= '0';
END IF;
END IF;
END PROCESS;
DOUT5 <= QOUT5;
DOUT6 <= QOUT6;

-- L1: LED PORT MAP( DOUT1,LED1);
-- L2: LED PORT MAP( DOUT2,LED2);
-- L3: LED PORT MAP( DOUT3,LED3);
-- L4: LED PORT MAP( DOUT4,LED4);
-- L5: LED PORT MAP( DOUT5,LED5);
-- L6: LED PORT MAP( DOUT6,LED6);
END ARCHITECTURE CK;

下面是共陰數碼管的程序

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY LED IS ------共陰管
PORT( QIN: STD_LOGIC_VECTOR(3 DOWNTO 0);
QOUT: OUT STD_LOGIC_VECTOR( 7 DOWNTO 0));
END LED;

ARCHITECTURE DISPLAY OF LED IS
BEGIN
WITH QIN SELECT
QOUT <= "11111110" WHEN "0000",
"01100000" WHEN "0001",
"11011010" WHEN "0010",
"11110010" WHEN "0011",
"01100110" WHEN "0100",
"10110110" WHEN "0101",
"00111110" WHEN "0110",
"11100000" WHEN "0111",
"11111110" WHEN "1000",
"11100110" WHEN "1001",
"00000000" WHEN OTHERS;
END ARCHITECTURE DISPLAY;

這個是一個時鍾程序;再加一個數碼管顯示就可以到數碼管上顯示出來了

這個電子鍾是用六十進制和二十四進制寫的

頂層文件:

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY CLOCK IS
PORT( CLK: IN STD_LOGIC;
CLR: IN STD_LOGIC;
RES: IN STD_LOGIC;
RES1 : IN STD_LOGIC_VECTOR( 5 DOWNTO 0); --秒鍾重調
RES2 : IN STD_LOGIC_VECTOR( 5 DOWNTO 0); --分鍾重調
RES3 : IN STD_LOGIC_VECTOR( 4 DOWNTO 0); --時鍾重調
QO1 : OUT STD_LOGIC_VECTOR( 5 DOWNTO 0); -- 秒鍾輸出
QO2 : OUT STD_LOGIC_VECTOR( 5 DOWNTO 0); --分鍾輸出
QO3 : OUT STD_LOGIC_VECTOR( 4 DOWNTO 0); --時鍾輸出
CO3 : OUT STD_LOGIC);
END ENTITY CLOCK;

ARCHITECTURE TIME OF CLOCK IS
SIGNAL CO1: STD_LOGIC;
SIGNAL CO2: STD_LOGIC;

COMPONENT COUNT60 IS
PORT ( CLK : IN STD_LOGIC;
CLR : IN STD_LOGIC;
RES : IN STD_LOGIC;
QIN : IN STD_LOGIC_VECTOR(5 DOWNTO 0);
QOUT : OUT STD_LOGIC_VECTOR( 5 DOWNTO 0);
CO : OUT STD_LOGIC );
END COMPONENT;

COMPONENT COUNT24 IS
PORT ( CLK : IN STD_LOGIC;
CLR : IN STD_LOGIC;
RES : IN STD_LOGIC;
QI : IN STD_LOGIC_VECTOR( 4 DOWNTO 0);
QO : OUT STD_LOGIC_VECTOR( 4 DOWNTO 0);
CO : OUT STD_LOGIC );
END COMPONENT;
BEGIN

U1: COUNT60
PORT MAP( CLK,CLR,RES,RES1,QO1,CO1);
U2: COUNT60
PORT MAP( CO1,CLR,RES,RES2,QO2,CO2);
U3: COUNT24
PORT MAP( CO2,CLR,RES,RES3,QO3,CO3);
END ARCHITECTURE TIME;

下面是二十四進制計數

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY COUNT24 IS
PORT ( CLK : IN STD_LOGIC;
CLR : IN STD_LOGIC;
RES : IN STD_LOGIC;
QI : IN STD_LOGIC_VECTOR( 4 DOWNTO 0);
QO : OUT STD_LOGIC_VECTOR( 4 DOWNTO 0);
CO : OUT STD_LOGIC );
END ENTITY COUNT24;

ARCHITECTURE BHV OF COUNT24 IS
SIGNAL Q : STD_LOGIC_VECTOR( 4 DOWNTO 0);
BEGIN
PROCESS( CLK, CLR, RES)
BEGIN
IF CLR = '1' THEN
Q <="00000";
ELSIF CLK'EVENT AND CLK='1' THEN
IF RES ='1' THEN
Q <=QI;
ELSIF Q = 23 THEN
Q <="00000";
CO <='1';
ELSE Q <= Q+1;
CO<='0';
END IF;
END IF;
END PROCESS;
QO <= Q;
END ARCHITECTURE BHV;
下面是六十進制計數

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY COUNT60 IS
PORT ( CLK : IN STD_LOGIC;
CLR : IN STD_LOGIC;
RES : IN STD_LOGIC;
QIN : IN STD_LOGIC_VECTOR(5 DOWNTO 0);
QOUT : OUT STD_LOGIC_VECTOR( 5 DOWNTO 0);
CO : OUT STD_LOGIC );
END ENTITY COUNT60;

ARCHITECTURE COUNT OF COUNT60 IS
SIGNAL Q : STD_LOGIC_VECTOR( 5 DOWNTO 0);

BEGIN
PROCESS (CLK,CLR,RES)
BEGIN
IF CLR = '1' THEN
Q <= "000000";
ELSIF CLK'EVENT AND CLK = '1' THEN
IF RES ='1' THEN
Q <= QIN;
ELSIF Q = 59 THEN
Q <= "000000";
CO <='1';
ELSE
Q <=Q + 1;
CO <= '0';
END IF;
END IF;
END PROCESS;
QOUT <= Q;
END ARCHITECTURE;

這個是用兩個60進制和一個24進製做的

8. 求一分鍾計時器製作方法``

重錘 加 懸掛線 加 變速齒輪組 加 阻尼器
阻尼器可以用風扇或者螺旋槳

或者乾脆把變速齒輪組整個泡在油里當阻尼器

在變速齒輪組上找個減速輪,刻上兩個突起,撥動一個銅簧片

實在懶得動手的話,到大街上買個便宜的機械音樂盒(許多兒童玩具裡面都有,要持續時間能達到一分鍾的那種,)拆了,找距離一分鍾的兩個音,把中間的聲音點都拆了(磨掉突起或拆掉簧片)

9. 秒錶設計與實現 功能按鍵可以對1分鍾倒計時,半分鍾倒計時,10秒倒計時,2分鍾內記時進行循環選擇;

#include <reg51.H>
sbit P3_5 =P3^5;
unsigned char code dispcode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,
0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0x00};
unsigned char second=60;
unsigned char keycnt;
unsigned int tcnt;

void main(void)
{
unsigned char i,j;

TMOD=0x02;
ET0=1;
EA=1;
second=0;
P1=dispcode[second/10];
P2=dispcode[second%10];
while(1)
{
if(P3_5==0)
{
for(i=20;i>0;i--)
for(j=248;j>0;j--);
if(P3_5==0)
{
keycnt++;
switch(keycnt)
{
case 1:
TH0=0x06;
TL0=0x06;
TR0=1;
break;
case 2:
TR0=0;
break;
case 3:
keycnt=0;
second=0;
P1=dispcode[second/10];
P2=dispcode[second%10];
break;
}
while(P3_5==0);
}
}
}
}

void t0(void) interrupt 1 using 0
{
tcnt++;
if(tcnt==4000)
{
tcnt=0;
second--;
if(second==0)
{
second=60;
}
P1=dispcode[second/10];
P2=dispcode[second%10];
}
}

10. 製作一個一分鍾記時器的關鍵是什麼

一)背景和目標
由於擺具有等時性,長期以來人們用它來製作鍾表。但是要使擺鍾能精確計時,還必須利用機械技術。
組織學生觀察擺鍾的內部構造,了解擺鍾是怎樣利用齒輪操縱器完成計時工作的。通過觀察,學生要自己親手製作一個擺鍾。並對自己製作的擺鍾進行測量。他們將通過這一過程充分認識到技術在人類社會發展中的作用。
科學概念
.機械擺鍾是擺錘與齒輪操縱器聯合工作的。
過程與方法
.觀察擺鍾內部的構造。
.製作一個計時一分鍾的簡易擺鍾。
情感態度價值觀
.體驗研究計時工具帶來的樂趣。
.認識到科學必須與技術結合才能更好地造福人類。
(二)教學准備
1.每個小組一個帶齒輪操縱器擺鍾。
2.每個小組一張硬紙板,一根木條(或者塑料條),一個擺錘。
3.每個小組一個秒錶(或者手錶),一把剪刀,一個鉤碼,一根棉線、一個膠帶紙。
(三)教科書說明
內容共3頁,分成兩部分。
第一部分:觀察擺鍾齒輪操縱器
在這部分主要是引導學生觀察擺鍾的內部構造,通過觀察擺鍾的內部構造讓學生理解擺鍾是怎麼利用擺來計時的。擺鍾的幾個部件主要是:齒輪操縱器、擺錘、垂體、齒輪。擺鍾的整個計時過程是這樣的,垂體利用本身受到的向下的重力來轉動齒輪,齒輪轉動時,擺錘同時擺動,使得齒輪操縱器的倒鉤松開,這樣齒輪就轉動一個齒,從而就帶動指針轉動一秒鍾。
教科書上呈現了齒輪操縱器工作的整個過程。第一幅圖,是擺鍾開始工作,第二幅圖,是鍾擺擺動到左邊時,長針部分的操縱器倒鉤會松開,垂體的拉力會讓齒輪往前轉動一齒。第三幅圖,當鍾擺往右擺動時,右邊的齒輪又會前進一齒。教科書上呈現完整的工作過程,是要讓學生們觀察清楚,並理解擺鍾的計時原理。
第二部分:製作一個一分鍾計時器
學生們在第七課已經會製作一個一分鍾擺30次的擺。在這里學生們理解擺鍾一分鍾60秒,但是擺錘卻一分鍾只需擺30次的道理。學生在這個活動中要親手製作一個擺鍾,並且對自己的擺鍾進行檢測。
(四)教學建議
1.觀察擺鍾齒輪操縱器
教師提供給每個小組一個擺鍾內部構造模型,組織學生觀察擺鍾的內部構造,讓學生討論擺鍾是怎麼利用擺錘擺動來計時的,讓學生自己去發現、理解擺鍾的計時原理,要讓學生對自己觀察與討論的結果進行描述,說明擺鍾是怎樣利用擺錘的擺動來計時的。
教師要提示學生觀察擺鍾內部的幾個主要部件:擺錘、垂體、齒輪操縱器、齒輪,並引導學生觀察這些部件在擺鍾工作時是怎麼運動的。要求學生們用語言進行描述。
2.製作一個一分鍾計時器
引導學生思考:擺錘只需擺30次,擺鍾就是一分鍾(60秒)。這是為什麼?請學生就這個問題開展交流,使學生進一步理解擺鍾的計時原理。在充分討論後組織學生製作一分鍾計時器,要注意留給學生充分的時間。
學生製作過程的順利與否,關鍵在於教師提供給他們的材料。給學生准備的紙板硬度要強,不能用瓦楞紙。齒輪不能太大,因為硬紙板不能支撐太重的物體。在製作過程中,齒輪的齒數是學生比較容易忽視的,齒輪的齒數太密或太疏,都會影響計時的准確性。
四、評價建議
評價是在教學中一直進行的,並且被整合人教學過程之中,成為教學不可分割的一個組成部分。在指導學生學習的同時也在評價他們,在教學中既要評價學生的學習成果又要評價學生的學習過程。對本單元比較有效的幾種評價策略是:
學習作品分析。學習作品蘊涵了學生寫的也囊括了學生所做的,是記錄學生朝著單元概念日標發展的實物一包括記錄單與學生活動作品。記錄單是指學生的記錄表格、繪畫、繪圖;學生活動作品是指學生的科學製作、科學調查報告等。在本單元的學習中,學生們第一次比較深人的用繪圖的方法設計方案。第四課「我的水鍾」中學生們利用繪圖的方式記錄,教師要仔細分析學生這些繪圖方案,並且在課堂上與學生們分享這些代表了他們思維水平的記錄。
這個單元中教科書設計了大量的表格幫助學生觀察記錄。這些記錄表記錄學生對擺的研究逐步的深人,教師要及時保存這些記錄表,以便對學生整個單元課程的學習進行記錄。當學生在回顧先前學習的內容時,記錄表格也可以反映出他們的學習。
科學製作,在本單元也多次出現。如第四課學生要設計製作一個水鍾,並且檢驗水鍾計時的准確性。在第八課中學生要製作一個計時一分鍾的機械擺鍾。學生對這些作品的製作,都為教師提供了很好的評價時機。「水鍾」的製作是學生觀察古代水鍾,研究滴漏現象的成果反映。而「機械擺鍾」的製作是學生對擺研究成果的綜合反映。教師可以通過分析這些科學製作來評價學生對本單元的學習情況,了解學生們科學思維的進展。

閱讀全文

與設計一個能計時1分鍾的裝置相關的資料

熱點內容
軸承碳鋼熱處理以後硬度是多少 瀏覽:300
ex1157機床報警怎麼解除 瀏覽:170
閥門型號中的f代表什麼意思 瀏覽:499
帶閥門的口罩有什麼用 瀏覽:596
東莞益群五金製品有限公司 瀏覽:956
免費的看片網站或app 瀏覽:298
蘇琪演的尺度電影 瀏覽:804
沈陽主要生產什麼機械 瀏覽:92
女醫生的愛情李采潭 瀏覽:82
朱時茂電影《牧羊人》哪一年 瀏覽:215
迪迦奧特曼工具箱 瀏覽:477
在線觀看免費完整版的電影搜索 瀏覽:226
蘭州小五金批發市場 瀏覽:778
格力櫃機不製冷出現fo是怎麼回事 瀏覽:971
飛亞達機械手錶ga8270多少錢 瀏覽:181
為什麼冬天製冷 瀏覽:645
老款奧迪b8儀表怎麼樣 瀏覽:421
尾氣處理裝置實驗怎麼防倒吸 瀏覽:255
禁播鬼片 瀏覽:700
會說話的土豆叫什麼電影 瀏覽:664