freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于at89c52單片機(jī)的多動(dòng)能秒表設(shè)計(jì)-文庫吧

2025-01-01 10:25 本頁面


【正文】 位功能。上電的一瞬間,單片機(jī)的RESET引腳接到高電平,同時(shí)電容C1開始充電,經(jīng)過一定的時(shí)間后電容充電飽和,10K的下拉電阻把RESET引腳拉回到低電平狀態(tài),實(shí)現(xiàn)了單片機(jī)的復(fù)位。同樣道理,在單片機(jī)工作的時(shí)候按下復(fù)位按鈕,單片機(jī)的RESET引腳接到高電平,電容C1馬上放電完畢;松開該按鈕后電容C1開始充電,經(jīng)過一定的時(shí)間后電容充電飽和,10K的下拉電阻把RESET引腳拉回到低電平狀態(tài),實(shí)現(xiàn)了單片機(jī)的復(fù)位。 晶振電路 圖35 晶振電路圖,在正常工作的情況下可以采用更高頻率的晶振,51單片機(jī)最小系統(tǒng)晶振的振蕩頻率直接影響單片機(jī)的處理速度,頻率越大處理速度越快[14]。單片機(jī)最小系統(tǒng)起振電容CC3一般采用15~33pF,并且電容離晶振越近越好,晶振離單片機(jī)越近越好。單片機(jī)系統(tǒng)正常工作的保證,如果振蕩器不起振,系統(tǒng)將會(huì)不能工作;假如振蕩器運(yùn)行不規(guī)律,系統(tǒng)執(zhí)行程序的時(shí)候就會(huì)出現(xiàn)時(shí)間上的誤差,這在通信中會(huì)體現(xiàn)的很明顯:電路將無法通信。晶振用一種能把電能和機(jī)械能相互轉(zhuǎn)化的晶體在共振的狀態(tài)下工作,以提供穩(wěn)定,精確的單頻振蕩。在通常工作條件下,普通的晶振頻率絕對(duì)精度可達(dá)百萬分之五十。高級(jí)的晶振精度會(huì)更高。有些晶振還可以由外加電壓在一定范圍內(nèi)調(diào)整頻率,稱為壓控振蕩器[15](VCO)。在此系統(tǒng)中,主板時(shí)鐘芯片即分頻器的原始工作振蕩頻率,由石英晶體多諧振蕩器的諧振頻率來產(chǎn)生,晶振其實(shí)是一個(gè)頻率產(chǎn)生器,他主要把傳進(jìn)去的電壓轉(zhuǎn)化為頻率信號(hào)。提供給分頻率一個(gè)基準(zhǔn)的振蕩頻率,它是一個(gè)多諧振蕩器的正回饋環(huán)電路,也就是說它把輸入作為輸出,把輸出作為輸入的回饋頻率,象這樣一個(gè)永無休止的循環(huán)自激過程,從而為秒表系統(tǒng)提供一個(gè)穩(wěn)定的時(shí)鐘頻率。 數(shù)碼管顯示部分圖36 數(shù)碼管連接電路圖如36圖所示,—,當(dāng)系統(tǒng)工作時(shí),單片機(jī)里面的程序按指定運(yùn)行,—,LED上的各個(gè)段位對(duì)應(yīng)的發(fā)光二極管則根據(jù)傳輸過來的編碼點(diǎn)亮或斷電熄滅,從而顯示的便是09各個(gè)數(shù)字。各個(gè)數(shù)碼管的顯示并不是同時(shí)點(diǎn)亮或熄滅的,而是通過對(duì)不同數(shù)碼管在不同時(shí)間段的控制來實(shí)現(xiàn),而由于系統(tǒng)執(zhí)行的快速性,系統(tǒng)執(zhí)行時(shí)會(huì)給人們一定的視覺暫留。所以,同一時(shí)刻,人眼看到的便是幾個(gè)數(shù)碼管共同顯示。下面的三極管則作為數(shù)碼管的驅(qū)動(dòng),從單片機(jī)內(nèi)部傳輸來的指令信號(hào)來決定LED1LED4各個(gè)數(shù)碼管相應(yīng)的顯示或明亮變化?;诖?,數(shù)碼管實(shí)現(xiàn)了秒表數(shù)據(jù)的顯示。 按鍵部分電路電路通過對(duì)KKK3等按鍵的閉合,來實(shí)現(xiàn)電路的切換和智能控制。具體的按鍵部分電路如37所示。圖37 按鍵部分電路圖 各個(gè)按鍵的功能如下:按鍵K1:在正常情況下,用于控制單一計(jì)時(shí)模式下秒表的啟動(dòng)、停止。在倒計(jì)時(shí)初值設(shè)定的情況下為倒計(jì)時(shí)初值的增加按鍵,按一下K1,倒計(jì)時(shí)初值增加1;按住K1不放,倒計(jì)時(shí)初值連續(xù)增加;快速連按兩下K1然后不放,則倒計(jì)時(shí)初值快速增加,增加的速度是連續(xù)增加的10倍。按鍵K2:在正常情況下,用于倒計(jì)時(shí)初值減少功能的啟動(dòng)、停止。在倒計(jì)時(shí)初值設(shè)定的情況下為倒計(jì)時(shí)初值的減少按鍵,按一下K2,倒計(jì)時(shí)初值減少1;按住K2不放,倒計(jì)時(shí)初值連續(xù)減少;快速連按兩下K2然后不放,則倒計(jì)時(shí)初值快速減少,減少的速度是連續(xù)減少的10倍。按鍵K3:用于秒表的功能的選擇,在默認(rèn)的情況下,為秒表的計(jì)時(shí)準(zhǔn)備模式;按下K3后秒表進(jìn)入倒計(jì)時(shí)的狀態(tài),這是通過按鍵K1和K2可以進(jìn)行倒計(jì)時(shí)初值的調(diào)整,再按下K3則進(jìn)入倒計(jì)時(shí)。 I/O口線連接 ~:與數(shù)碼管的各個(gè)位相連,用于傳送數(shù)碼管的段位碼。~:與數(shù)碼管LED1~LED4相連,~。:和按鈕K1相連,用于決定單一計(jì)時(shí)模式下的秒表啟動(dòng)、停止和倒計(jì)時(shí)初值的增加。:和按鈕K2相連,用于決定連續(xù)計(jì)8個(gè)的計(jì)時(shí)模式下秒表啟動(dòng)、停止和倒計(jì)時(shí)初值的減少。:和按鈕K3相連,用于單片機(jī)工作模式的選擇。:和LED6相連,用于顯示單片機(jī)的工作狀態(tài)。:和LED5相連,用于顯示單片機(jī)的工作狀態(tài)。 系統(tǒng)總體電路 單片機(jī)電子秒表的原理圖如圖38所示。圖38 電子秒表原理圖電路組建完成之后,向單片機(jī)內(nèi)傳輸要執(zhí)行的功能程序代碼,系統(tǒng)上電之后,晶振電路部分為系統(tǒng)工作提供必須的時(shí)鐘頻率,系統(tǒng)在代碼的執(zhí)行下對(duì)LED數(shù)碼管傳輸相應(yīng)的段位碼,控制LED的顯示。LED5—LED6則作為狀態(tài)指示燈根據(jù)單片機(jī)的狀態(tài)顯示計(jì)時(shí)和倒計(jì)時(shí)兩種工作狀態(tài)來做出相應(yīng)的明亮變化:在準(zhǔn)備計(jì)時(shí)時(shí)LED5亮,LED6熄滅;在準(zhǔn)備倒計(jì)時(shí)的時(shí)候LED5熄滅,LED6亮。在系統(tǒng)按鍵的相應(yīng)作用下,K1實(shí)現(xiàn)倒計(jì)時(shí)初值的增加,K2實(shí)現(xiàn)倒計(jì)時(shí)初值的減少,K3則實(shí)現(xiàn)計(jì)時(shí)與倒計(jì)時(shí)兩種狀態(tài)的切換。而復(fù)位電路則通過按鍵的作用,實(shí)現(xiàn)系統(tǒng)的默認(rèn)設(shè)置,對(duì)電路起到復(fù)位的作用。通過對(duì)各個(gè)LED數(shù)碼管的顯示與中斷控制,各部分電路相互的作用運(yùn)行,達(dá)到顯示秒表運(yùn)行的目的。4 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)硬件設(shè)計(jì)好之后,接下來就要進(jìn)行軟件設(shè)計(jì)。電子秒表的軟件設(shè)計(jì)主要有三個(gè)方面:第一是利用定時(shí)器來完成秒表的定時(shí)周期;第二是利用定時(shí)中斷來實(shí)現(xiàn)鍵盤的掃描,確定單片機(jī)的工作狀態(tài);第三是利用單片機(jī)控制LED的輸出顯示。 程序功能及主要變量的說明 程序功能 電子秒表程序主要完成如下功能:(1) 兩種計(jì)時(shí)模式的啟動(dòng)、停止、復(fù)位功能的秒表。(2) 可設(shè)定初值的倒計(jì)時(shí)定時(shí)器。 主要變量說明 程序中用到的關(guān)鍵變量說明如表41和表42所示。表41 主要變量定義變量說明m整型變量,用于存儲(chǔ)要顯示的數(shù)ms字符型變量,用于10ms的累加LED1~LED4整型變量,用于存儲(chǔ)要顯示的各個(gè)位的數(shù)字start位變量,用于控制秒表單一計(jì)時(shí)模式的計(jì)時(shí)開始stop位變量,用于控制秒表單一計(jì)時(shí)模式的計(jì)時(shí)停止eight_start位變量,用于控制秒表連續(xù)計(jì)時(shí)8次模式的計(jì)時(shí)開始 eight_stop位變量,用于控制秒表連續(xù)計(jì)時(shí)8次模式的計(jì)時(shí)停止count_down位變量,用于控制倒計(jì)時(shí)開始scankey位變量,用于控制鍵盤掃描cheak位變量,按鍵的消抖標(biāo)志位keydown位變量,K1的按下標(biāo)志位K2_keydown位變量,K2的按下標(biāo)志位表42 主要變量定義K3_keydown位變量,K3的按下標(biāo)志位K3_keyup位變量,K3的彈起標(biāo)志mm字符型變量,add位變量,倒計(jì)時(shí)初值加1標(biāo)志位sub位變量,位變量,倒計(jì)時(shí)初值減1標(biāo)志位bit_add1位變量,K1完成一次按鍵動(dòng)作的標(biāo)志位bit_sub位變量,K1完成一次按鍵動(dòng)作的標(biāo)志位fast_add位變量,倒計(jì)時(shí)初值連續(xù)增標(biāo)志位double_key位變量,倒計(jì)時(shí)初值快速增標(biāo)志位fast_sub位變量,倒計(jì)時(shí)初值連續(xù)減標(biāo)志位double_sub位變量,倒計(jì)時(shí)初值連續(xù)減標(biāo)志位tab[8]整型變量,存儲(chǔ)連續(xù)計(jì)時(shí)8次模式的8的時(shí)間值 程序流程圖 主程序完成的工作是檢測各個(gè)標(biāo)志位的狀態(tài),以確定單片機(jī)的工作情況。鍵盤查詢和數(shù)據(jù)顯示的部分在定時(shí)中段服務(wù)子程序中完成。由于程序較大,所以將程序的各個(gè)功能模塊的流程圖分別給出。 計(jì)時(shí)功能流程圖圖41 計(jì)時(shí)功能流程圖 圖42 倒計(jì)時(shí)初值增加流程圖圖43 倒計(jì)時(shí)初值減少流程圖 圖44 倒計(jì)時(shí)開始流程圖 主要程序代碼全部的程序包括了頭文件、變量的定義、主程序及各子程序。本部分對(duì)設(shè)計(jì)中的主要程序單獨(dú)說明。(1)主程序在主程序中需要完成以下的功能:首先調(diào)用初始化函數(shù)對(duì)各個(gè)變量進(jìn)行初始化,再對(duì)定時(shí)器的定時(shí)初值進(jìn)行設(shè)定,接著根據(jù)各個(gè)標(biāo)志位的值來判斷單片機(jī)的工作模式及工作狀態(tài)。鍵盤掃描由scan()來完成,各個(gè)位的數(shù)值的計(jì)算由add1()完成。void main(void){begin1()。 //調(diào)用初始化函數(shù) TMOD=0x01。 TL0=0x18。 TH0=0xfc。 EA=1。 ET0=1。 TR0=1。 for(。){ if(scankey==1) //進(jìn)行鍵盤掃描 { scankey=o。scan()。if(double_key==1) //倒計(jì)時(shí)初值快速增加{ P2_6=0。 P2_7=1。 m=m+10。 add1(m)。}if(fast_add==1) //倒計(jì)時(shí)初值連續(xù)增加{ P2_6=0。 P2_7=1。 m++。 add1(m)。 bit_add1=0。}if(add==1) //倒計(jì)時(shí)初值增加1 { P2_6=0。 P2_7=1。 add=0。 m++。 add1(m)。 }if(double_sub==1) //倒計(jì)時(shí)初值快速減少 { P2_6=0。 P2_7=1。 m=m10。 add1(m)。 }if(fast_sub==1) //倒計(jì)時(shí)初值連續(xù)減少{ P2_6=0。 P2_7=1。 m。 add1(m)。 bit_sub=0。}if(sub==1) //倒計(jì)時(shí)初值減少1{ P2_6=0。 P2_
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1