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

正文內(nèi)容

基于at89c52單片機(jī)的多動(dòng)能秒表設(shè)計(jì)-在線瀏覽

2025-03-05 10:25本頁(yè)面
  

【正文】 單片機(jī)在電子行業(yè)中有著廣泛的應(yīng)用[6]。另外,在AT89C52 片內(nèi)存儲(chǔ)器中,80HFFH 共128 個(gè)單元為特殊功能寄存器(SFR)。對(duì)沒有定義的單元讀寫將是無效的,讀出的數(shù)值將不確定,而寫入的數(shù)據(jù)也將丟失。AT89C52除了有單片機(jī)AT89C51所有的定時(shí)/計(jì)數(shù)器0和定時(shí)/計(jì)數(shù)器1外,還增加了一個(gè)定時(shí)/計(jì)數(shù)器2。AT89C52單片機(jī)的內(nèi)部結(jié)構(gòu)與MCS51系列單片機(jī)的構(gòu)成基本相同。運(yùn)算器主要用來對(duì)操作數(shù)進(jìn)行算術(shù)、邏輯運(yùn)算和位操作的。AT89C52單片機(jī)的指令系統(tǒng)和引腳功能與MCS51的完全兼容[10]。圖31 AT89C52引腳排列圖 LED顯示器概述如32圖所示為七段LED數(shù)碼管的原理圖,通過該圖可以很容易的看出共陽(yáng)極和共陰極的七段LED管的工作原理的不同點(diǎn)。若陽(yáng)極引出腳接地,則LED被熄滅;若陽(yáng)極引腳接高電平,則LED被點(diǎn)亮。若陰極引腳接高電平,則LED被熄滅;反之,則LED被點(diǎn)亮。靜態(tài)顯示的特點(diǎn)是各LED管能同時(shí)穩(wěn)定地顯示各自字符;動(dòng)態(tài)顯示是指各LED輪流一遍一遍顯示各自字符,但由于顯示的切換較快,在人的視覺看來是各LED管同時(shí)顯示不同字符。 以硬件為主接口方法,這種接口方法的電路如33圖所示。為降低成本,大部分以軟件為主的接口方法對(duì)于多位LED數(shù)碼管顯示器,通常采用動(dòng)態(tài)掃描顯示方法,即逐個(gè)循環(huán)點(diǎn)亮各位顯示器。此外,單片機(jī)一般對(duì)LED的驅(qū)動(dòng)效果有限,LED一般還需要外圍的驅(qū)動(dòng)才能更好的發(fā)揮其顯示效果。使用LED模塊,這種模塊中帶有LED顯示管和LED 驅(qū)動(dòng)電路,用起來較方便。 系統(tǒng)電路設(shè)計(jì) 復(fù)位電路復(fù)位電路在單片機(jī)系統(tǒng)中是必不可少的。對(duì)于AT89C52單片機(jī)來說,它是高電平復(fù)位,也就是說只要將單片機(jī)的RESET引腳接高電平并保持一定的時(shí)間就可以實(shí)現(xiàn)單片機(jī)的復(fù)位(而對(duì)于一些低電平復(fù)位的單片機(jī)來說就剛好相反,要使其RESET引腳置為低電平并保持一定時(shí)間以實(shí)現(xiàn)單片機(jī)的復(fù)位)。圖34 復(fù)位電路圖從上面的電路可以看出實(shí)現(xiàn)的是上電復(fù)位和按鍵復(fù)位兩個(gè)復(fù)位功能。同樣道理,在單片機(jī)工作的時(shí)候按下復(fù)位按鈕,單片機(jī)的RESET引腳接到高電平,電容C1馬上放電完畢;松開該按鈕后電容C1開始充電,經(jīng)過一定的時(shí)間后電容充電飽和,10K的下拉電阻把RESET引腳拉回到低電平狀態(tài),實(shí)現(xiàn)了單片機(jī)的復(fù)位。單片機(jī)最小系統(tǒng)起振電容CC3一般采用15~33pF,并且電容離晶振越近越好,晶振離單片機(jī)越近越好。晶振用一種能把電能和機(jī)械能相互轉(zhuǎn)化的晶體在共振的狀態(tài)下工作,以提供穩(wěn)定,精確的單頻振蕩。高級(jí)的晶振精度會(huì)更高。在此系統(tǒng)中,主板時(shí)鐘芯片即分頻器的原始工作振蕩頻率,由石英晶體多諧振蕩器的諧振頻率來產(chǎn)生,晶振其實(shí)是一個(gè)頻率產(chǎn)生器,他主要把傳進(jìn)去的電壓轉(zhuǎn)化為頻率信號(hào)。 數(shù)碼管顯示部分圖36 數(shù)碼管連接電路圖如36圖所示,—,當(dāng)系統(tǒng)工作時(shí),單片機(jī)里面的程序按指定運(yùn)行,—,LED上的各個(gè)段位對(duì)應(yīng)的發(fā)光二極管則根據(jù)傳輸過來的編碼點(diǎn)亮或斷電熄滅,從而顯示的便是09各個(gè)數(shù)字。所以,同一時(shí)刻,人眼看到的便是幾個(gè)數(shù)碼管共同顯示?;诖?,數(shù)碼管實(shí)現(xiàn)了秒表數(shù)據(jù)的顯示。具體的按鍵部分電路如37所示。在倒計(jì)時(shí)初值設(shè)定的情況下為倒計(jì)時(shí)初值的增加按鍵,按一下K1,倒計(jì)時(shí)初值增加1;按住K1不放,倒計(jì)時(shí)初值連續(xù)增加;快速連按兩下K1然后不放,則倒計(jì)時(shí)初值快速增加,增加的速度是連續(xù)增加的10倍。在倒計(jì)時(shí)初值設(shè)定的情況下為倒計(jì)時(shí)初值的減少按鍵,按一下K2,倒計(jì)時(shí)初值減少1;按住K2不放,倒計(jì)時(shí)初值連續(xù)減少;快速連按兩下K2然后不放,則倒計(jì)時(shí)初值快速減少,減少的速度是連續(xù)減少的10倍。 I/O口線連接 ~:與數(shù)碼管的各個(gè)位相連,用于傳送數(shù)碼管的段位碼。:和按鈕K1相連,用于決定單一計(jì)時(shí)模式下的秒表啟動(dòng)、停止和倒計(jì)時(shí)初值的增加。:和按鈕K3相連,用于單片機(jī)工作模式的選擇。:和LED5相連,用于顯示單片機(jī)的工作狀態(tài)。圖38 電子秒表原理圖電路組建完成之后,向單片機(jī)內(nèi)傳輸要執(zhí)行的功能程序代碼,系統(tǒng)上電之后,晶振電路部分為系統(tǒng)工作提供必須的時(shí)鐘頻率,系統(tǒng)在代碼的執(zhí)行下對(duì)LED數(shù)碼管傳輸相應(yīng)的段位碼,控制LED的顯示。在系統(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)的切換。通過對(duì)各個(gè)LED數(shù)碼管的顯示與中斷控制,各部分電路相互的作用運(yùn)行,達(dá)到顯示秒表運(yùn)行的目的。電子秒表的軟件設(shè)計(jì)主要有三個(gè)方面:第一是利用定時(shí)器來完成秒表的定時(shí)周期;第二是利用定時(shí)中斷來實(shí)現(xiàn)鍵盤的掃描,確定單片機(jī)的工作狀態(tài);第三是利用單片機(jī)控制LED的輸出顯示。(2) 可設(shè)定初值的倒計(jì)時(shí)定時(shí)器。表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í)間值 程序流程圖 主程序完成的工作是檢測(cè)各個(gè)標(biāo)志位的狀態(tài),以確定單片機(jī)的工作情況。由于程序較大,所以將程序的各個(gè)功能模塊的流程圖分別給出。本部分對(duì)設(shè)計(jì)中的主要程序單獨(dú)說明。鍵盤掃描由scan()來完成,各個(gè)位的數(shù)值的計(jì)算由add1()完成。 //調(diào)用初始化函數(shù) TMOD=0x01。 TH0=0xfc。 ET0=1。 for(。scan()。 P2_7=1。 add1(m)。 P2_7=1。 add1(m)。}if(add==1) //倒計(jì)時(shí)初值增加1 { P2_6=0。 add=0。 add1(m)。 P2_7=1。 add1(m)。 P2_7=1。 add1(m)。}if(sub==1) //倒計(jì)時(shí)初值減少1{ P2_6=0。 sub=0。 add1(m)。 P2_6=1。 if(mm==6000)m=0。 }if(stop==1) start=0。 P2_7=1。 }}}(2)定時(shí)器中斷子程序這里的秒表的計(jì)時(shí)、鍵盤的掃描及數(shù)值顯示燈都是利用定時(shí)中斷來完成的。void time0(void){ TL0=0x18。 ms++。 mm++。 scankey=1。 }(3)顯示子程序顯示子程序其實(shí)包括了display()和add1(time)兩個(gè)子程序。void add1(time) uint time。 a=time/1000。 //計(jì)算十秒位數(shù)值 n=timeamp。 LED2=(n/100)。 LED3=(n/10)。 //計(jì)算百分一秒位數(shù)值 }void display(void){ switch(ms%4) { case o: P3=0xfe。 P1_7=1。 case 1: P3=0xfd。 P1_7=1。 case 2: P3=0xfb。 P1_7=1。 case o: P3=0xf7。 P1_7=1。 default:return。通過我?guī)讉€(gè)月的努力,本次畢業(yè)設(shè)計(jì)取得了較好的成果,基本上達(dá)到了本次畢業(yè)設(shè)計(jì)任務(wù)書的要求。雖然還有一些欠缺的地方,但是總體來說這次的畢業(yè)設(shè)計(jì)還是很成功的。更重要的是,我學(xué)會(huì)了軟硬件開發(fā)的思想。同時(shí),我們作為學(xué)生要能理解老師的一番苦意,我們要有進(jìn)取心,持之以恒的精神,遇到困難不能氣餒,只有這樣才能讓指導(dǎo)老師看到成功的希望。 LED figures tube display。這里還要感謝自己的同學(xué)們,他們的幫助使得這次的設(shè)計(jì)最終順利的完成。 然
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1