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

正文內(nèi)容

基于at89c52單片機(jī)的電子秒表設(shè)計(jì)(編輯修改稿)

2025-07-23 18:31 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 器容量,時(shí)鐘頻率,I/O口線等基本參數(shù)。對(duì)于本設(shè)計(jì),由于電子秒表系統(tǒng)在數(shù)據(jù)的處理和存儲(chǔ)方面要求不高,所以選取片內(nèi)帶RAM和ROM的單片機(jī)即可,在本設(shè)計(jì)中選取的是ATMEL公司的AT89C52單片機(jī)。 AT89C52單片機(jī)的介紹 在眾多的單片機(jī)系列中,AT89C52是一種低功耗、高性能CMOS8位微控制器,具有8K在系列可編程Flash存儲(chǔ)器。使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。 AT89C52具有以下標(biāo)準(zhǔn)功能:8K字節(jié)Flash,256字節(jié)RAM,32位I/O口線,3個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)響亮2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89C52可降至0HZ靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。AT89C52單片機(jī)的內(nèi)部結(jié)構(gòu)與MCS51系列單片機(jī)的構(gòu)成基本相同。CPU是由運(yùn)算器和控制器所構(gòu)成的。運(yùn)算器主要用來(lái)對(duì)操作數(shù)進(jìn)行算術(shù)、邏輯運(yùn)算和位操作的??刂破魇菃纹瑱C(jī)的指揮控制部件,主要任務(wù)的識(shí)別指令,并根據(jù)指令的性質(zhì)控制單片機(jī)各功能部件,從而保證單片機(jī)各部分能自動(dòng)而協(xié)調(diào)地工作。AT89C52單片機(jī)的指令系統(tǒng)和引腳功能與MCS51的完全兼容。AT89C52的引腳排列如圖31所示。圖31 AT89C52引腳排列圖 系統(tǒng)電路設(shè)計(jì)如圖32所示為單片機(jī)電子秒表的電路圖,下面對(duì)其中某些部分做出解釋。圖32 電子秒表原理圖 復(fù)位電路復(fù)位電路在單片機(jī)系統(tǒng)中是必不可少的。所謂的復(fù)位就是講單片機(jī)重新啟動(dòng),這是單片機(jī)內(nèi)部的都有寄存器都回到初始狀態(tài)。本設(shè)計(jì)電路中對(duì)應(yīng)的復(fù)位電路如圖33所示。圖33 復(fù)位電路圖對(duì)于AT89C52單片機(jī)來(lái)說(shuō),它是高電平復(fù)位,也就是說(shuō)只要將單片機(jī)的RESET引腳接高電平并保持一定的時(shí)間就可以實(shí)現(xiàn)單片機(jī)的復(fù)位(而對(duì)于一些低電平復(fù)位的單片機(jī)來(lái)說(shuō)就剛好相反,要使其RESET引腳置為低電平并保持一定時(shí)間以實(shí)現(xiàn)單片機(jī)的復(fù)位)。從上面的電路可以看出實(shí)現(xiàn)的是上電復(fù)位和按鍵復(fù)位兩個(gè)復(fù)位功能。上電的一瞬間,單片機(jī)的RESET引腳接到高電平,同時(shí)電容C1開始充電,經(jīng)過(guò)一定的時(shí)間后電容充電飽和,10K的下拉電阻把RESET引腳拉回到低電平狀態(tài),實(shí)現(xiàn)了單片機(jī)的復(fù)位。同樣道理,在單片機(jī)工作的時(shí)候按下復(fù)位按鈕,單片機(jī)的RESET引腳接到高電平,電容C1馬上放電完畢;松開該按鈕后電容C1開始充電,經(jīng)過(guò)一定的時(shí)間后電容充電飽和,10K的下拉電阻把RESET引腳拉回到低電平狀態(tài),實(shí)現(xiàn)了單片機(jī)的復(fù)位[9]。 電路元件AT89C52:?jiǎn)纹瑱C(jī),控制LED顯示。LED1~LED4:七段碼LED,用于顯示秒表數(shù)據(jù)。SS9012:由于數(shù)碼管需要較大電流驅(qū)動(dòng),單靠AT89C52的I/O口直接驅(qū)動(dòng)效果不好,需要加放大電路。本設(shè)計(jì)中,所用的數(shù)碼管為共陰極的。按鍵K1:在正常情況下,用于控制單一計(jì)時(shí)模式下秒表的啟動(dòng)、停止。在倒計(jì)時(shí)初值設(shè)定的情況下為倒計(jì)時(shí)初值的增加按鍵,按一下K1,倒計(jì)時(shí)初值增加1;按住K1不放,倒計(jì)時(shí)初值連續(xù)增加;快速連按兩下K1然后不放,則倒計(jì)時(shí)初值快速增加,增加的速度是連續(xù)增加的10倍。按鍵K2:在正常情況下,用于控制連續(xù)計(jì)時(shí)8個(gè)的計(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),這是通過(guò)按鍵K1和K2可以進(jìn)行倒計(jì)時(shí)初值的調(diào)整,再按下K3則進(jìn)入倒計(jì)時(shí)。按鍵RESET:在復(fù)位電路中,對(duì)于單片機(jī)起復(fù)位作用。LED5:用于顯示單片機(jī)的工作狀態(tài),在準(zhǔn)備計(jì)時(shí)的時(shí)候,LED5點(diǎn)亮;在計(jì)時(shí)的時(shí)候,LED5閃爍;在倒計(jì)時(shí)初值設(shè)定和倒計(jì)時(shí)工作的時(shí)候,LED5熄滅。LED6:用于顯示單片機(jī)的工作狀態(tài),在準(zhǔn)備計(jì)時(shí)和計(jì)時(shí)工作的時(shí)候,LED6熄滅;在倒計(jì)時(shí)初值設(shè)定的時(shí)候,LED6點(diǎn)亮;在倒計(jì)時(shí)工作的時(shí)候,LED6閃爍[1]。 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)。4 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)硬件設(shè)計(jì)好之后,接下來(lái)就要進(jìn)行軟件設(shè)計(jì)。電子秒表的軟件設(shè)計(jì)主要有三個(gè)方面:第一是利用定時(shí)器來(lái)完成秒表的定時(shí)周期;第二是利用定時(shí)中斷來(lái)實(shí)現(xiàn)鍵盤的掃描,確定單片機(jī)的工作狀態(tài);第三是利用單片機(jī)控制LED的輸出顯示。 程序功能及主要變量的說(shuō)明 程序功能電子秒表程序主要完成如下功能:(1)兩種計(jì)時(shí)模式的啟動(dòng)、停止、復(fù)位功能的秒表。(2)可設(shè)定初值的倒計(jì)時(shí)定時(shí)器。 主要變量說(shuō)明程序中用到的關(guān)鍵變量說(shuō)明如下。表41 主要變量定義變量說(shuō)明m整型變量,用于存儲(chǔ)要顯示的數(shù)ms字符型變量,用于10ms的累加LED0~LED3整型變量,用于存儲(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)志位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位變量,K2完成一次按鍵動(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í)初值快速減標(biāo)志位tab[8]整型變量,存儲(chǔ)連續(xù)計(jì)時(shí)8次模式的8的時(shí)間值 程序流程圖主程序完成的工作是檢測(cè)各個(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í)開始流程圖 按鍵消抖介紹按鍵消抖作為本設(shè)計(jì)的關(guān)鍵技術(shù)之一,在此做簡(jiǎn)要介紹。通常的按鍵所用開關(guān)為機(jī)械彈性開關(guān),當(dāng)機(jī)械觸點(diǎn)斷開、閉合時(shí),由于機(jī)械觸點(diǎn)的彈性作用,一個(gè)按鍵開關(guān)在閉合時(shí)不會(huì)馬上穩(wěn)定地接通,在斷開時(shí)也不會(huì)一下子斷開。因而在閉合及斷開的瞬間均伴隨有一連串的抖動(dòng),為了不產(chǎn)生這種現(xiàn)象而作的措施就是按鍵消抖。按鍵的消抖,可用硬件或軟件兩種方法。在鍵數(shù)較少時(shí)可用硬件方法消除鍵抖動(dòng)。下圖所示的RS觸發(fā)器為常用的硬件去抖。圖45 硬件消抖電路圖圖中兩個(gè)“與非”門構(gòu)成一個(gè)RS觸發(fā)器。當(dāng)按鍵未按下是,輸出為1;當(dāng)按鍵按下時(shí),輸出為0。此時(shí)即使用按鍵的機(jī)械性能,使按鍵因彈性抖動(dòng)而產(chǎn)生瞬時(shí)斷開(抖動(dòng)跳開B),只要按鍵不返回原始狀態(tài)A,雙穩(wěn)態(tài)電路的狀態(tài)不改變,輸出保持為0,不會(huì)產(chǎn)生抖動(dòng)的波形。也就是說(shuō),即使B點(diǎn)的電壓波形是抖動(dòng)的,但經(jīng)雙穩(wěn)態(tài)電路之后,其輸出為正規(guī)的矩形波。這一點(diǎn)通過(guò)分析RS觸發(fā)器的工作過(guò)程很容易得到驗(yàn)證。如果按鍵較多,常用軟件方法去抖,即檢測(cè)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1