Ⅰ 倒計時是怎麼由來的
1969年7月16日上午9時30分(美國東部時間),美國在肯尼迪宇宙飛行中心發射了「阿波羅」11號飛船。發射准備工作在緊張地進行,離發射的時間越來越近,時鍾嘀嗒嘀嗒地走著,人們的心情也跟著越來越緊迫,突然從擴音器里傳出總指揮下達最後10秒鍾的准備發射的口令,同時在控制中心的巨大熒光屏上顯示出10、9、8、7、6、5、4、3、2、1,發射!
頓時,發射架下,火光熊熊,濃煙滾滾,隨著震天動地的巨響,火箭吐著長長的黃色的火舌徐徐上升……「阿波羅」11號飛船乘坐了阿姆斯特朗、奧爾德林和柯林斯3名宇航員,7月20日,登月艙「鷹」安全降落於月球的靜海區域。6小時後,阿姆斯特朗穿著宇宙服跨出了登月艙門,打開了電視攝像機,踉踉蹌蹌地走下扶梯,人類終於踏上了月球表面!他風趣地說:「這對一個人來說是一小步,而對人類來說卻是一大步。」接著,奧爾德林也踏上了月面,他們在月球上留下了人類第一個足跡。他們在月球上做了不少有意義的科學實驗,採集了許多月岩樣品,還在月面上漫步了兩個半小時,於7月22日開始返回地球。
上面說到的這種倒順序數數和倒順序顯示時間數值的方法,叫做倒數計時,現代火箭、導彈的發射、核裝置的起爆等,都是採用這種倒數計時發射程序的。
為什麼要倒數計時呢?這是有來歷的。自從飛機發明以後,人們想方設法創造更高速度的飛機,同時加快了火箭的研製。1926年,世界第一枚液體火箭在美國馬薩諸塞州奧本市郊試飛成功。不久,德國出版了一本《宇宙飛船航行》雜志,第一期封面上面有一艘繞地球運行的飛船,並題名「一個半小時就繞地球一周!」德國的烏發電影公司拍攝了第一部太空科幻故事片——《月宮少女》,聘請火箭專家奧伯特擔任技術顧問,製造火箭提供拍攝電影,導演弗里茲·朗格為加強影片的戲劇效果,在火箭發射鏡頭中設計了倒數計時發射程序即10、9……3、2、1,發射!
這種發射程序引起了火箭專家們的興趣,經研究它倒是很適合火箭發射程序的,而且很科學。它簡單、清楚、准確、使人思想集中,產生緊迫感。因此,倒數計時程序就被廣泛採用了。
Ⅱ 如何用cmd命令實現電腦倒計時和快捷鍵關機操作
你是說運行裡面的快速運行吧.
gpedit.msc-----組策略
sndrec32-------錄音機
Nslookup-------IP地址偵測器
explorer-------打開資源管理器
logoff---------注銷命令
tsshutdn-------60秒倒計時關機命令
lusrmgr.msc----本機用戶和組
services.msc---本地服務設置
oobe/msoobe /a----檢查XP是否激活
notepad--------打開記事本
cleanmgr-------垃圾整理
net start messenger----開始信使服務
compmgmt.msc---計算機管理
net stop messenger-----停止信使服務
conf-----------啟動netmeeting
dvdplay--------DVD播放器
charmap--------啟動字元映射表
diskmgmt.msc---磁碟管理實用程序
calc-----------啟動計算器
dfrg.msc-------磁碟碎片整理程序
chkdsk.exe-----Chkdsk磁碟檢查
devmgmt.msc--- 設備管理器
regsvr32 /u *.dll----停止dll文件運行
drwtsn32------ 系統醫生
rononce -p ----15秒關機
dxdiag---------檢查DirectX信息
regedt32-------注冊表編輯器
Msconfig.exe---系統配置實用程序
rsop.msc-------組策略結果集
mem.exe--------顯示內存使用情況
regedit.exe----注冊表
winchat--------XP自帶區域網聊天
progman--------程序管理器
winmsd---------系統信息
perfmon.msc----計算機性能監測程序
winver---------檢查Windows版本
sfc /scannow-----掃描錯誤並復原
taskmgr-----任務管理器(2000/xp/2003)
winver---------檢查Windows版本
wmimgmt.msc----打開windows管理體系結構(WMI)
wupdmgr--------windows更新程序
wscript--------windows腳本宿主設置
write----------寫字板
winmsd---------系統信息
wiaacmgr-------掃描儀和照相機向導
winchat--------XP自帶區域網聊天
mem.exe--------顯示內存使用情況
Msconfig.exe---系統配置實用程序
mplayer2-------簡易widnows media player
mspaint--------畫圖板
mstsc----------遠程桌面連接
mplayer2-------媒體播放機
magnify--------放大鏡實用程序
mmc------------打開控制台
mobsync--------同步命令
dxdiag---------檢查DirectX信息
drwtsn32------ 系統醫生
devmgmt.msc--- 設備管理器
dfrg.msc-------磁碟碎片整理程序
diskmgmt.msc---磁碟管理實用程序
dcomcnfg-------打開系統組件服務
ddeshare-------打開DDE共享設置
dvdplay--------DVD播放器
net stop messenger-----停止信使服務
notepad--------打開記事本
nslookup-------網路管理的工具向導
ntbackup-------系統備份和還原
narrator-------屏幕「講述人」
ntmsmgr.msc----移動存儲管理器
ntmsoprq.msc---移動存儲管理員操作請求
netstat -an----(TC)命令檢查介面
syncapp--------創建一個公文包
sysedit--------系統配置編輯器
sigverif-------文件簽名驗證程序
sndrec32-------錄音機
shrpubw--------創建共享文件夾
secpol.msc-----本地安全策略
syskey---------系統加密,一旦加密就不能解開, 保護windows xp系統的雙重密碼
services.msc---本地服務設置
Sndvol32-------音量控製程序
sfc.exe--------系統文件檢查器
sfc /scannow---windows文件保護
tsshutdn-------60秒倒計時關機命令
tourstart------xp簡介(安裝完成後出現的漫遊xp程序)
taskmgr--------任務管理器
eventvwr-------事件查看器
eudcedit-------造字程序
explorer-------打開資源管理器
packager-------對象包裝程序
perfmon.msc----計算機性能監測程序
progman--------程序管理器
regedit.exe----注冊表
rsop.msc-------組策略結果集
regedt32-------注冊表編輯器
rononce -p ----15秒關機
regsvr32 /u *.dll----停止dll文件運行
regsvr32 /u zipfldr.dll------取消ZIP支持
cmd.exe--------CMD命令提示符
chkdsk.exe-----Chkdsk磁碟檢查
certmgr.msc----證書管理實用程序
calc-----------啟動計算器
charmap--------啟動字元映射表
cliconfg-------SQL SERVER 客戶端網路實用程序
Clipbrd--------剪貼板查看器
conf-----------啟動netmeeting
compmgmt.msc---計算機管理
cleanmgr-------垃圾整理
ciadv.msc------索引服務程序
osk------------打開屏幕鍵盤
odbcad32-------ODBC數據源管理器
oobe/msoobe /a----檢查XP是否激活
lusrmgr.msc----本機用戶和組
logoff---------注銷命令
iexpress-------木馬捆綁工具,系統自帶
Nslookup-------IP地址偵測器
fsmgmt.msc-----共享文件夾管理器
msiexec /regserver-------啟用windows lls
Ⅲ 有沒有按小時計算的倒計時軟體
您可以試試軟媒的魔方小助手,有倒計時功能
Ⅳ 電腦命令大全
gpedit.msc-----組策略
Nslookup-------IP地址偵測器
tsshutdn-------60秒倒計時關機命令
rononce -p ----15秒關機
sfc /scannow-----掃描錯誤並復原
winver---------檢查Windows版本
wmimgmt.msc----打開windows管理體系結構(WMI)
wupdmgr--------windows更新程序
wscript--------windows腳本宿主設置
write----------寫字板
winmsd---------系統信息
wiaacmgr-------掃描儀和照相機向導
winchat--------XP自帶區域網聊天
mem.exe--------顯示內存使用情況
Msconfig.exe---系統配置實用程序
mplayer2-------簡易widnows media player
mspaint--------畫圖板
mstsc----------遠程桌面連接
magnify--------放大鏡實用程序
mmc------------打開控制台
mobsync--------同步命令
dxdiag---------檢查DirectX信息
drwtsn32------ 系統醫生
devmgmt.msc--- 設備管理器
dfrg.msc-------磁碟碎片整理程序
diskmgmt.msc---磁碟管理實用程序
dcomcnfg-------打開系統組件服務
ddeshare-------打開DDE共享設置
net stop messenger-----停止信使服務
net start messenger----開始信使服務
notepad--------打開記事本
nslookup-------網路管理的工具向導
ntbackup-------系統備份和還原
narrator-------屏幕"講述人"
ntmsmgr.msc----移動存儲管理器
Ⅳ 關於51單片機60秒倒計時的c語言程序,delay和dispiay部分分別什麼意思啊,具體點
delay(int t)這個是延時子程序,如果採用20M晶振的話,調用一次延時t毫秒。
display()是數碼管動態掃描顯示子程序,位控位為P3.0、P3.1,段碼控制為P1。掃描間隔時間為5毫秒左右。
Ⅵ 編寫倒計時程序代碼
今天小編要和大家分享的是利用C#實現倒計時的功能,希望對大家有所幫助。 本實例是通過使用timer組件來實現倒計時功能的,實現步驟如下:(1) 首先創建兩個窗體,在Form1窗體上添加一個Button按鈕和一個timer組件,用來執行倒計時功能;在Form2中添加一個Label控制項,用於顯示倒計時。(2) 在Form2窗體中定義一個公共變數curr_time,用於為Label控制項賦值,代碼如下:Public string curr_time{ Get { Return lable1.Text; } Set { Label1.Text=value; }}(3) 在Form1窗體中,首先定義一個TimeSpan類對象,用於設定初始值;其次在Button按鈕的Click事件下,激活timer組件,使其開始計時;然後在timer組件的Tick事件下,使用TimeSpan類對象的Subtract方法,在指定時間間隔內循環減1,實現倒計時功能。主要代碼如下:Private TimeSpan ts=new TimeSpan(0,5,0);Private Form2 frm=null;Private void button1_Click(object sender,System.EventArgs e){ Timer1.Enabled =true; Frm=new Form2(); Frm.ShowDialog(this);}Private void timer1_Tick(object sender,System.EventArgs e){ String str=ts.Hours.ToString()+」:」+ts.Minutes.ToString()+」:」+ts.Seconds.ToString();Frm.curr_time=str;Ts=ts.Subtract(new TimeSpan(0,0,1));If(ts.TotalSeconds<0.0){ Time1.Enabled=false;} }轉至 程序員之家 http://www.sunxin.org
Ⅶ 易語言怎麼做倒計時
1個標簽,1個編輯框,2個按鈕,1個時鍾,1個選擇列表框 .程序集 窗口程序集1
.程序集變數 倒計時.子程序 __啟動窗口_創建完畢選擇列表框1.加入項目 (「小時」, )
選擇列表框1.加入項目 (「分鍾」, )
選擇列表框1.加入項目 (「秒」, )
選擇列表框1.單選 = 真.子程序 _按鈕1_被單擊時鍾1.時鍾周期 = 0.子程序 _按鈕2_被單擊.判斷開始 (選擇列表框1.現行選中項 = 0)
標簽1.標題 = 時間_格式化 (時間_到秒 (到數值 (編輯框1.內容), 2))
倒計時 = 時間_到秒 (到數值 (編輯框1.內容), 2)
.判斷 (選擇列表框1.現行選中項 = 1)
標簽1.標題 = 時間_格式化 (時間_到秒 (到數值 (編輯框1.內容), 1))
倒計時 = 時間_到秒 (到數值 (編輯框1.內容), 1)
.判斷 (選擇列表框1.現行選中項 = 2)
標簽1.標題 = 時間_格式化 (到數值 (編輯框1.內容))
倒計時 = 到數值 (編輯框1.內容)
.默認.判斷結束時鍾1.時鍾周期 = 1000.子程序 _時鍾1_周期事件倒計時 = 倒計時 - 1
標簽1.標題 = 時間_格式化 (倒計時).子程序 時間_格式化, 文本型
.參數 秒, 整數型
.局部變數 分, 整數型
.局部變數 時, 整數型
.局部變數 天, 整數型
.局部變數 初始化格式, 文本型.判斷循環首 (秒 > 59)
分 = 分 + 1
秒 = 秒 - 60
.判斷循環尾 ()
.判斷循環首 (分 > 59)
時 = 時 + 1
分 = 分 - 60
.判斷循環尾 ()
.判斷循環首 (時 > 23)
天 = 天 + 1
時 = 時 - 24
.判斷循環尾 ()
.如果 (天 = 0)
初始化格式 = 時間_格式化2 (時) + 「小時」 + 時間_格式化2 (分) + 「分鍾」 + 時間_格式化2 (秒) + 「秒」
.否則
初始化格式 = 到文本 (天) + 「天 」 + 時間_格式化2 (時) + 「小時」 + 時間_格式化2 (分) + 「分鍾」 + 時間_格式化2 (秒) + 「秒」
.如果結束返回 (初始化格式).子程序 時間_格式化2, 文本型
.參數 時間, 整數型
.局部變數 格式化, 文本型.判斷開始 (時間 < 10)
格式化 = 「0」 + 到文本 (時間)
.判斷 (時間 = 0)
格式化 = 「00」
.默認
格式化 = 到文本 (時間)
.判斷結束
返回 (格式化).子程序 時間_到秒, 整數型
.參數 時間, 整數型
.參數 時間類型, 整數型, , 1:分 2:時 3:天
.局部變數 秒, 整數型.判斷開始 (時間類型 = 1)
秒 = 時間 × 60
.判斷 (時間類型 = 2)
秒 = 時間 × 3600
.判斷 (時間類型 = 3)
秒 = 時間 × 24 × 3600
.默認.判斷結束返回 (秒)
Ⅷ 30秒倒計時器課程設計
【摘 要】籃球比賽30秒鍾規則規定:進攻球隊在場上控球時必須在30秒鍾內投籃出手(NBA比賽為24秒,全美大學體育聯合會比賽中為35秒),因此在比賽時裁判既要看比賽又要看秒錶計時,而本文介紹的30秒倒計時器可以解決此問題。
【關鍵詞】AT89C51單片機、30秒倒計時器、LED
30秒倒計時器的設計和製作有很多方法,本文介紹的30秒倒計時器以AT89C51單片機作為控制單元,採用兩個數碼管顯示時間,用三個按鍵分別控制計時器的計時開始、復位和暫停。倒計時器初始狀態顯示「30」,當裁判員按下計時鍵,30秒倒計時開始,當計時器時間減到0時,計時器發出聲光報警,提示裁判計時時間已到。
一、電路設計
30秒倒計時器的電路主要由電源電路、單片機最小系統、按鍵輸入、顯示驅動電路、報警電路組成,30秒倒計時器控制電路如圖1所示。
圖1 30秒倒計時器電路原理圖
1、按鍵輸入
「30秒倒計時器」採用了三個按鍵來完成計數器的啟動計數、復位、暫停/繼續計數等功能。
(1)K1鍵:啟動按鈕(P3.2)。
按下K1鍵,計數器倒計時開始,數碼管顯示數字從30開始每秒遞減計數,當遞減到到零時,報警電路發出聲、光報警信號。當計數器處於暫停狀態時按下K1鍵將回到計時狀態。
(2)K2鍵:復位按鈕(P3.3)。
按下K2鍵,不管計數器工作於什麼狀態,計數器立即復位到預置值 「30」 ,在報警狀態時按下K2鍵還可取消報警。
(3)K3鍵:暫停/計時切換按鈕(P3.4)。
當計數器處於計時狀態時按下該鍵計數器暫停計時,數碼管顯示數字保持不變;當計數器處於暫停狀態按下該鍵計數器將回到計時狀態;初始狀態時該鍵無效。
2、顯示驅動電路
「30秒倒計時器」用兩個共陽數碼管來顯示時間,數碼管顯示方式為動態顯示。顯示驅動電路中,數碼管的段碼引腳通過470歐的電阻接到單片機的P1口,兩個片選引腳各通過一個9012連接到正5V電源,由P3.0和P3.1控制。
4、報警電路
計時時間減到0,顯示數碼管顯示「00」時,發光二極體D1由P3.5控制發出光報警,同時蜂鳴器由P3.7控制發出聲報警。
二、軟體編程思路
1、全局變數
「30秒倒計時器」動作流程主要受三個全局變數控制。首先是bit變數「act」,當「act」為「1」時倒計時開始,為「0」時倒計時停止,「act」初值為「0」,可以由按鈕操作將其置「1」或清「0」。第二個全局變數是char變數「time」,存放倒計時的時間,當倒計時時間為0時,發出聲光報警。變數「time」的初值為30,定時中斷服務程序在「act」為1時,每1s對其進行減1操作,減到0時保持為0,按下「復位鍵」可將「time」復位為30。第三個全局變數是int變數「t」,記錄響應定時中斷0的次數。根據初始化定義,定時器0以方式1工作,每1ms發出一次中斷請求。控製程序只開放了定時器0中斷,因此不會有比定時器0中斷更高級的中斷被允許,所以每次請求都會立刻被響應。響應後在中斷服務程序中將全局變數「t」加1記錄響應中斷次數,每響應1000次即為1秒鍾。變數「t」初值為0,在中斷服務程序中加1,當「t」為2000時由中斷服務程序清0。在按鍵驅動程序中,按下啟動鍵、復位鍵、暫停/啟動鍵時將「t」清0,目的是從0ms開始計時。
2、控制流程
主程序主要用來檢測全局變數「time」當「time」為0時發出「聲光報警」。按鍵驅動、顯示驅動和「time」操作都在定時器0中斷服務程序中進行。其控制流程如圖2所示。
圖2 控制流程圖
三、軟體程序設計
1、數碼管驅動程序
到計時器的兩個數碼管以動態顯示的方式顯示計時時間「time」(全局變數),LED1顯示「time」的十位,LED2顯示「time」的個位。
(1)定義段碼數據口和片選信號
根據實際電路,在C51中定義段碼的數據口為P1,兩個片選信號為P3.0和P3.1。定義如下:
#define an P1
sbit wei1=P3^0;
sbit wei2=P3^1;
(2)定義字形碼
LED顯示數字0~9以及全滅的字形碼表格放在數組zixing[]中。字形碼是固定的表格,定義時加上關鍵字「code」 表示該表格存放在程序存儲器中。
unsigned char code zixing[]=
{
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff
};
(3)定義數碼管LED1和LED2的顯示變數
為了增加驅動程序的可移植性,筆者為數碼管LED1和LED2定義了顯示變數。顯示變數就是本驅動程序的對外介面,外部程序只要改變顯示變數的值就可改變數碼管顯示的數值。定義方式如下:
unsigned char led_str[2]={10,10};
led_str[0]直接對應數碼管LED1, led_str[1]直接對應數碼管LED2。本項目中由專門的子程序將全局變數time計算拆分成led_str[0]和led_str[1]。
void js()
{
led_str[1]=time/10%10;
led_str[0]=time%10;
}
(4)數碼管驅動程序
數碼管驅動程序「void chushi(char i)」在定時中斷服務程序中被調用執行。根據初始化程序的定義,定時中斷服務程序每1ms被執行一次。定時中斷服務程序中運用全局變數「t」記錄進入該服務程序的次數,「t」計滿2000由定時中斷服務程序清零。
數碼管驅動程序的參數「char i」是用來確定當前點亮的是LED1還是LED2,當參數為「0」時點亮LED1,參數為「1」時點亮LED2。如果我們希望偶數次進入定時中斷服務程序時點亮LED1,奇數次進入定時中斷服務程序時點亮LED2,我們可以用程序調用語句「chushi(t%2);」輕松實現。
進入數碼管驅動程序後首先調用子函數js(),計算當前的led_str[0]和led_str[1]。接下來將兩個數碼管全部熄滅以防止余暉的出現。最後點亮需要點亮的數碼管並送出字型碼。驅動程序代碼如下:
void chushi(char i)
{
js(); //計算顯示變數
an=0xff; //去余暉
wei1=i; wei2=!i; //確定片選
an=zixing[led_str[i]]; //送字型碼
}
2、按鍵驅動程序
按鍵驅動程序分為按鍵識別和按鍵功能執行兩部分。按鍵功能執行可在按鍵按下時或按鍵抬起後執行,文中將其設計在按鍵抬起後執行。
(1)定義按鍵I/O地址
根據實際電路,三個按鍵(啟動鍵、復位鍵、暫停/啟動鍵)分別接在P3口的P3.2,P3.3和P3.4三個引腳上。為了取鍵值方便還將P3口定義為「iokey」,程序中可作定義如下:
#define iokey P3
sbit key1=P3^2;
sbit key2=P3^3;
sbit key3=P3^4;
(2)按鍵驅動流程
按鍵識別的通用流程為:I/O口寫「1」→判斷有無鍵按下→延時去抖→確定鍵值→等待按鍵抬起→執行按鍵功能。按鍵驅動程序中定義了兩個靜態變數「ts」 和「kv」,分別用來延時去抖和存放鍵值。
(3)延時去抖
靜態變數「ts」用來延時去抖。按鍵驅動程序在定時中斷服務程序中每1ms被執行一遍,每檢測到有鍵按下「ts」加1,檢測到無鍵按下「ts」清0。按鍵連續按下20ms,則連續20次執行按鍵驅動程序時都檢測到有鍵按下,此時靜態變數「ts」累加到20,可確認按鍵按下有效。
為防止按鍵一直按著不放而使「ts」累加到溢出,確認有鍵按下後可使「ts」的值保持為20,或大於20的某一個值如21。
(4)取鍵值
確認有鍵按下後即可通過讀取按鍵的I/O口狀態來得到鍵值。為讀取P3.2、P3.3和P3.4引腳狀態,屏蔽P3口其他引腳的影響,可將讀取後的數值按位或上11100011B(0xE3)再送給靜態變數「kv」。
靜態變數「kv」存放按鍵的鍵值,無鍵按下或按鍵抬起後kv的值為0。按下啟動鍵key1時kv=11111011B(0xFB),按下復位鍵key2時kv=11110111B(0xF7),按下暫停/啟動鍵key3時kv=11101111B(0xEF)。
(5)執行按鍵功能
按鍵抬起後第一次執行按鍵驅動程序時,靜態變數「kv」任保持著按鍵按下時最後得到的鍵值,以該鍵值作為參數調用按鍵執行程序「actkey(kv);」即可執行按鍵功能。調用後kv值立刻清0,確保按一次鍵執行一次按鍵功能。驅動程序代碼如下:
void key()
{
static unsigned char kv=0;
static unsigned char ts=0;
key1=1;key2=1;key3=1;
if(!(key1&key2&key3))
{
ts++;
if(ts>=20)ts=20; //有鍵按下
if(ts==20)
kv=iokey|0xe3; //取鍵值
}
else
{ //無鍵按下或按鍵已抬起
actkey(kv);
ts=0;
kv=0;
}
}
函數actkey(kv)用來根據鍵值「kv」執行相應操作。當「kv」等於0xFB時代表啟動鍵key1按下,函數actkey(kv)將全局變數act賦值為「1」。當「kv」等於0xF7時代表復位鍵key2按下,函數actkey(kv)將全局變數「time」復位為「30」。當「kv」等於0xEF時代表暫停/啟動鍵按下,函數actkey(kv)將全局變數act取反。每按一個按鈕都有將全局變數「t」清0的操作,目的是每當復位、或啟動計時時,進入定時中斷的次數都從0開始計算,否則會出現第1秒計時不準確的現象。程序代碼如下:
void actkey(unsigned char k)
{
switch(k)
{
case 0xfb:act=1;t=0;break;
case 0xf7:time=30;t=0; break;
case 0xef:act=~act;t=0; break;
}
}
四、結束語
本文在編程過程中以面向對象的編程思路封裝了兩個LED數碼管和三個獨立按鍵。當其驅動程序在定時中斷服務程序中被調用,編程者只要操作其介面:數組「led_str[2]」和函數「actkey(unsigned char k)」,無需直接對硬體進行編程即可改變功能,增強了軟體的通用性和可移植性。