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

正文內(nèi)容

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

2025-07-23 09:26 本頁面
 

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