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

正文內(nèi)容

基于單片機(jī)的電子時(shí)鐘研究畢業(yè)論文(編輯修改稿)

2025-07-23 09:26 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 ED 和三端穩(wěn)壓塊7805,經(jīng)過(guò)計(jì)算應(yīng)該選用 1K 歐姆的電阻,這樣電流既不會(huì)過(guò)大,LED 顯示的亮度也不會(huì)太暗。因?yàn)?805 提供的電流是有限的。如果電流的功耗太大,7805 不能夠提供大電流,就會(huì)使 7805 不能正常工作,發(fā)燙而燒壞。5 顯示部分,由六位共陽(yáng)極的七段數(shù)碼管組成。分別顯示兩位“時(shí)”,兩位“分”,兩位“秒”。 4 系統(tǒng)調(diào)試 硬件調(diào)試按照如下順序進(jìn)行調(diào)試,發(fā)現(xiàn)問(wèn)題并作出解決。 1 電源調(diào)試?,F(xiàn)象:三端穩(wěn)壓塊 7805 無(wú)輸出,觸摸 7805 有炙熱感。 原因:7805 的第一腳為輸出,2 腳接地,3 腳接 OUT,3 個(gè)腳順序接反了,所以會(huì)有發(fā)燙的現(xiàn)象。還應(yīng)注意的是,一般要求輸入端的電壓應(yīng)該高于輸出端電壓 才會(huì)有穩(wěn)定的輸出。 即輸入端的電壓應(yīng)該在 之上,但太高也不行,電壓過(guò)高會(huì)導(dǎo)致耗散功率太大,熱量不能及時(shí)的散出去而導(dǎo)致三段穩(wěn)壓塊燒壞。調(diào)整之后仍有發(fā)燙的現(xiàn)象。說(shuō)明穩(wěn)壓塊后面的電路出現(xiàn)了問(wèn)題。用示波器分別觀察 89S51 的 20 腳、40 腳、74LS164 的 7 腳、14 腳。發(fā)現(xiàn)電壓分別為5V、0V、5V、0V。當(dāng)有 5V 時(shí)并非很平滑的 5V,而是在 5V 左右的有毛刺的電平。此時(shí)三端穩(wěn)壓塊仍有發(fā)燙的現(xiàn)象。立即關(guān)掉電源,發(fā)現(xiàn)每個(gè) IC 即 89S51 和 74LS164 的電源和地線都接反了。 調(diào)整好之后用示波器再次測(cè)試得到預(yù)期的結(jié)果電源正常。2 檢查單片機(jī)的振蕩信號(hào)。示波器的探頭放在單片機(jī)的 18 腳和 19 腳即 XTAL2 和 XTAL1 上示波器14顯示無(wú)信號(hào),這時(shí)單片機(jī)不能正常工作。說(shuō)明外部的振蕩器件出現(xiàn)了問(wèn)題,要么是晶振要么是起振電容出現(xiàn)了問(wèn)題。晶振是新的所以損壞的機(jī)率比較小,想到可能是起振電容有問(wèn)題。然后查看電容上面印有的標(biāo)稱值發(fā)現(xiàn)是 1UF 的,更替為 30PF 的電容后,在示波器上看到頻率為 11MHz 的正弦波信號(hào)(雖然用的晶振的頻率為 ,但由于示波器的精度問(wèn)題,就不可能看到頻率讀數(shù)顯示為) ,說(shuō)明單片機(jī)的震蕩信號(hào)正常,可以為單片機(jī)提供工作的震蕩信號(hào)。3 把程序燒錄到單片機(jī),然后進(jìn)行測(cè)試,發(fā)現(xiàn)單片機(jī)沒(méi)有輸出信號(hào)。先寫(xiě)一段程序使單片機(jī)的 32腳()輸出為 250Hz 的方波,下載好之后把單片機(jī)插到 40 腳的 IC 座,32 腳并沒(méi)有方波信號(hào)輸出(這時(shí)的程序僅有輸出方波的功能,已經(jīng)編譯通過(guò)是絕對(duì)沒(méi)有錯(cuò)誤問(wèn)題的),說(shuō)明硬件還是沒(méi)有完全調(diào)試通過(guò)。在該畢業(yè)設(shè)計(jì)中 MCU 只有三個(gè)地方可調(diào):1 40 腳 VCC,2 18 和 19 腳振蕩信號(hào),3 復(fù)位信號(hào)。在調(diào)試的第一步和第二步已經(jīng)把電源和振蕩信號(hào)調(diào)好,所以只可能是復(fù)位信號(hào)出現(xiàn)了問(wèn)題。電源通電之后,從三端穩(wěn)壓塊的第三腳引出一條線,在 MCU 的第九腳輕觸,再看單片機(jī)的 32 腳,看到示波器上面有 250Hz 的方波出現(xiàn)。說(shuō)明復(fù)位信號(hào)確實(shí)有問(wèn)題。原來(lái)復(fù)位電路接法如下圖 a。 圖 aMCU 無(wú)法復(fù)位,原因是開(kāi)機(jī)瞬間,MCU 沒(méi)有達(dá)到穩(wěn)定狀態(tài),RST 就由低變?yōu)楦咴僮優(yōu)榈投鴱?fù)位,(也可以理解為復(fù)位信號(hào)的持續(xù)時(shí)間沒(méi)有達(dá)到 24 個(gè)振蕩周期之上) 。調(diào)整方法:加大電容容量。而設(shè)計(jì)中換為另外一種復(fù)位方式按鍵復(fù)位。如圖 b。 15圖 b按照上圖所示的電路連接元器件,開(kāi)機(jī)后按下復(fù)位按鈕,在單片機(jī)的 32 腳 250Hz 的方波出現(xiàn)。另外還可以按照課本上的第三種接法:外部脈沖復(fù)位,即在開(kāi)機(jī)后外部給出一個(gè)脈沖信號(hào),同樣也要使脈沖寬度要大于兩個(gè)機(jī)器周期(24 個(gè)振蕩周期) 。但考慮到成本問(wèn)題,不用了。4 因?yàn)?250Hz 的正弦波信號(hào)是作為 74LS164 的 CLOCK(CLK)信號(hào),即 74LS164 的移位信號(hào),是和74LS164 的第八腳相連的,用示波器觀察第八腳,卻發(fā)現(xiàn)沒(méi)有任何信號(hào)。單片機(jī)的 32 腳有 CLK 信號(hào),而和其相連的 74LS164 的第八腳卻沒(méi)有信號(hào),說(shuō)明連接出現(xiàn)了問(wèn)題。用萬(wàn)用表查看發(fā)現(xiàn)兩個(gè)管腳是斷開(kāi)的。原來(lái) 74LS164 的第八腳和 GND 連在了一起。重新焊接之后,第八腳上面有了 CLK 信號(hào)。5 利用程序一直送出一組串行數(shù)據(jù),用示波器在單片機(jī)的 33 腳可以看出。 單片機(jī)的 33 腳是和74LS164 的 1 腳和 2 腳連在一起的,按照習(xí)慣把兩個(gè)串行輸入端 A 和 B 連接起來(lái),用示波器在這兩個(gè)腳上也看到了數(shù)據(jù),在 74LS164 的輸出端應(yīng)該有并行的數(shù)據(jù)送出來(lái)。用示波器只看到了同樣的高電平,說(shuō)明 74LS164 的外圍電路不對(duì),查閱 74LS164 相關(guān)資料發(fā)現(xiàn)它的第九腳為使能信號(hào)端,空置著沒(méi)用。正確的接法應(yīng)該是接+5V。接好之后測(cè)試發(fā)現(xiàn) 74LS164 的輸出端有數(shù)據(jù)送出。再看 LED 上也有數(shù)字顯示。至此 74LS164 部分調(diào)試完畢。6 單片機(jī)和 74LS164 的電源都已經(jīng)調(diào)試通過(guò),用手觸摸三端穩(wěn)壓塊感覺(jué)還是燙的,每個(gè) IC 消耗的電流大約幾十 mA,這兩個(gè) IC 的電流加起來(lái)也不過(guò)四五十 mA,在這種情況下是不會(huì)這么燙的,說(shuō)明其他電路流過(guò)的電流比較大,再次查看分析電路,出現(xiàn)問(wèn)題的地方可能是共陽(yáng)極數(shù)碼管消耗的功率太大,從而導(dǎo)致 7805 發(fā)燙。如果數(shù)碼管的每段消耗 10mA 電流,則 40 段就會(huì)消耗 400mA。在一般情況下每段LED 通過(guò) 3~4mA 的電流就能正常發(fā)光,為了減小 7805 的溫度和減弱共陽(yáng)極數(shù)碼管的亮度,決定在74LS164 和共陽(yáng)極數(shù)碼管之間加上限流電阻,經(jīng)過(guò)計(jì)算電阻選用 1K 的阻值,使每段通過(guò)的電流在3~4mA。這樣使得總共的消耗的電流才一百多 mA,7805 才不會(huì)那么燙。把所有的電阻焊接后,再打開(kāi)16電源,果真三端穩(wěn)壓塊沒(méi)有原來(lái)那么燙。這樣加上了限流電阻后主要有兩個(gè)好處:1 減小了總功耗,延長(zhǎng)了器件的壽命;2 減小了 LED 中通過(guò)的電流,減弱了 LED 的亮度,防止 LED 長(zhǎng)時(shí)間工作而燒壞。7 最大的一個(gè)問(wèn)題:接通電源后,LED 雖有顯示,全顯示為一個(gè) 8 字型,而非開(kāi)機(jī)時(shí)顯示 0 字型,在顯示數(shù)據(jù)時(shí),數(shù)碼管的 G、D 兩節(jié)始終顯示 ,用萬(wàn)用表測(cè)試發(fā)現(xiàn)是顯示 G 和 D 的兩個(gè)引腳和電源連在一起。8 去耦電容沒(méi)加,電源雜波較大,輸出顯示不穩(wěn),有錯(cuò)位現(xiàn)象,原因是電源本來(lái)就不穩(wěn),加上了三端穩(wěn)壓和濾波電容后得到比較干凈的電源,此時(shí)顯示的數(shù)據(jù)比較穩(wěn)定。9 對(duì)三極管進(jìn)行調(diào)試,三極管與數(shù)碼管的共陽(yáng)極相連。R9~R14 為各個(gè)三極管基極提供偏置電流,使三極管達(dá)到飽和,當(dāng) P0 口有高電平送出時(shí),三極管飽和,相對(duì)應(yīng)的 LDi 為高電平,LED 發(fā)光。 最后,結(jié)合計(jì)算機(jī)對(duì)電子時(shí)鐘板進(jìn)行全面調(diào)試,具體為 AT89S51 接受數(shù)據(jù),然后傳給 74LS164 芯片,通過(guò) 74LS164 芯片向 LED 數(shù)碼管一位一位傳送數(shù)據(jù)。另外,可以通過(guò)人為的對(duì)開(kāi)關(guān)的按鍵控制數(shù)據(jù)顯示。 軟件調(diào)試軟件部分主要完成數(shù)據(jù)的發(fā)送、74LS164 移位脈沖信號(hào)的輸出、定時(shí)和中斷。1 首先向 74LS164 發(fā)送字型碼,使 LED 顯示對(duì)應(yīng)的數(shù)字。將字型碼送入字型鎖存器鎖存,這時(shí)所有的顯示塊都有可能顯示。同樣的字符;再將需要顯示的位置代碼送入字位鎖存器鎖存。為防止閃爍,每位顯示時(shí)間在1~2mS,然后顯示另一位,單片機(jī)需要不斷的進(jìn)行顯示刷新。在這之前應(yīng)該定義好單片機(jī)的引腳并對(duì)內(nèi)存初始化。因?yàn)槎丝?3 是一個(gè)雙向 I/O 端口,每個(gè)腳有內(nèi)部升壓電阻,可以直接驅(qū)動(dòng)外部電路。所以把單片機(jī)的 12 腳即 作為按鍵的公共端,并定義每個(gè)按鈕的另一端:SW1 BIT SW2 BIT SW3 BIT SW4 BIT SW5 BIT 17SW6 BIT DIG1 BIT DIG2 BIT DIG3 BIT DIG4 BIT DIG5 BIT DIG6 BIT 之所以 DIG1~DIG6 定義的引腳和按鍵定義的引腳重復(fù),是因?yàn)榘存I和每個(gè) DIG 共用同一個(gè)引腳,每個(gè)引腳用于控制對(duì)應(yīng)的 LED 的選通,并且通過(guò)單片機(jī)檢測(cè)按鍵引腳電平的高低來(lái)對(duì)時(shí)分秒進(jìn)行加減。2 定義好程序段的起始地址和數(shù)據(jù)段的起始地址后就可以初始化內(nèi)存了:ORG 0000HJMP MAINMAIN: MOV SP,40H MOV PSW,00HMOV R0,7FH CLR_RAM : MOV A,00H DJNZ @R0,A MOV P1,0FFH MOV P2,0FFH MOV P0,0FFH MOV P3,0FFH 3 這樣單片機(jī)經(jīng)過(guò)復(fù)位以后就開(kāi)始正常工作,從主程序開(kāi)始執(zhí)行,可以看到四個(gè)口輸出的全都是高電平。此時(shí),想測(cè)試以下 LED 顯示是否正常,以下幾條指令往 送數(shù)據(jù)即可, MOV BUFF_164, 08HPUSH ACC SND164_LP: RLC A MOV DAT164,C DJNZ BUFF_164, SND164_LP POP ACC18 RET本段程序是利用串行傳送數(shù)據(jù)的思想,即先把要發(fā)送的數(shù)據(jù)發(fā)送到專用寄存器 A,然后把累加器A 中的數(shù)據(jù)循環(huán)左移。當(dāng)然這之前是一定要把各個(gè)寄存器定義好的,否則會(huì)是錯(cuò)誤百出,我原來(lái)想當(dāng)然的把 0C0H 發(fā)送到 P0 口,用示波器在 引腳看信號(hào),只發(fā)現(xiàn)該引腳一直都是低電平, 不論怎么調(diào)試輸出的結(jié)果都是低電平,還是向在實(shí)習(xí)的公司工作的人才知道了所以然:原來(lái)我用的方法是把八位的數(shù)據(jù)直接送到一個(gè)口上,當(dāng)然,每個(gè)引腳只能占到一位的數(shù)據(jù)。后來(lái)在他的講解下我才知道關(guān)鍵是把八位的數(shù)據(jù)變成串行數(shù)據(jù)輸出,即用循環(huán)移位的方法把數(shù)據(jù)一位一位的送出去,由于在學(xué)校的時(shí)候自己寫(xiě)的程序不多,再加上我們學(xué)校開(kāi)設(shè)的硬件反面的課程不是很多,所以對(duì)程序與硬件之間的關(guān)系不是太了解,但是經(jīng)過(guò)反復(fù)的翻書(shū)、查閱資料,使自己在程序和硬件方面比以前都得到了很大的提高。然后,我把每八位數(shù)據(jù)對(duì)應(yīng)的數(shù)字都試過(guò)了一遍,從 0~F 直到所有的顯示都完全正確,其實(shí)也是把書(shū)本上面的字型碼又驗(yàn)證了一遍而已,發(fā)現(xiàn)和書(shū)上給的字型碼是完全一致的。所以決定程序中使用以下數(shù)形表:TAB_LED: DB 0C0H,0F9H,0A4H,0B0H,99H,92H DB 82H,0F8H,80H,90H,88H,83H,0A7HDB 0A1H,86H,8EH4 每次僅僅發(fā)送數(shù)據(jù)是不行的,還要和每一位的選通碼結(jié)合起來(lái),才能實(shí)現(xiàn)數(shù)據(jù)的動(dòng)態(tài)顯示。要不然就是一個(gè)實(shí)實(shí)在在的靜態(tài)顯示的例子。所以要用到了定時(shí)和中斷。考慮到時(shí)間的精確性,決定每4MS 中斷一次,1S 中斷 250 次,4MS 的時(shí)間既不會(huì)使六個(gè)數(shù)碼管有閃爍感,也使中斷的編程容易一些。由于 89S51 的計(jì)數(shù)器是往上計(jì)數(shù)的,晶振為 12MHZ,所以機(jī)器好周期位 1US,定時(shí)器初值的計(jì)算方法如下。溢出率=1/T=Fosc/12(2LTC) ,溢出率為定時(shí)時(shí)間的倒數(shù); T 為定時(shí)時(shí)間;Fosc 為振蕩器的頻率;L 為計(jì)數(shù)器的長(zhǎng)度;TC 為定時(shí)器的初值;帶入公式:計(jì)算初值為(655364000) 。編程如下:MOV TMOD,21H
點(diǎn)擊復(fù)制文檔內(nèi)容
語(yǔ)文相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1