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

正文內(nèi)容

畢業(yè)設(shè)計-基于at89s52單片機的數(shù)字鐘設(shè)計(編輯修改稿)

2025-02-13 00:16 本頁面
 

【文章內(nèi)容簡介】 ? 秒單元加 1 秒單元清零,分單元加 1 Y Y 烏魯木齊職業(yè)大學(xué)畢業(yè)設(shè)計(論文) 15 圖 12 時間顯示流程圖 5 單模塊流程設(shè)計及程序設(shè)計 在完成了系統(tǒng)總流程設(shè)計后,便進入到了系統(tǒng)設(shè)計中工作量最大的模塊流程設(shè)計。由于系統(tǒng)模塊劃分雖然 是系統(tǒng)設(shè)計的基礎(chǔ),但比較簡單而且模塊劃分有多種方法,因此單模塊的設(shè)計可以認為是本程序中最關(guān)鍵的部分。單模塊設(shè)計的好壞與否決定了系統(tǒng)功能能否被穩(wěn)定地實現(xiàn)以及下一階段調(diào)試程序的難度。鑒于單模塊設(shè)計的重要性,我在設(shè)計中并不急于對模塊進行編碼,而是反復(fù)論證模塊的可行性和流程圖,為下一階段的工作做好準備,同時也能夠盡早發(fā)現(xiàn)系統(tǒng)模塊劃分的錯誤,加以解決 。 初始化模塊 時 十位計算顯示 結(jié)束 開始 秒個位計 顯示 秒十位計算顯示 分個位計算顯示 分十位計算顯示 時個位計算顯示 烏魯木齊職業(yè)大學(xué)畢業(yè)設(shè)計(論文) 16 初始化模塊包含了各中斷的跳轉(zhuǎn)語句、存儲資源的分配、各存儲器和寄存器的賦值以及中斷及計時器的狀態(tài)設(shè)置。源程序中共使用了 17 字節(jié)的內(nèi)部數(shù)據(jù)存儲地址,其中 包含 3 字節(jié)位尋址地址以便于進行位判斷。 三字節(jié)的位尋址地址分配如下: 22H— 秒的存儲地址,方便對整點報時條件進行判斷 23H— 月的存儲地址,方便對大小月平閏年進行判斷 另外一個位尋址字節(jié) 00H 地址拆開用做程序狀態(tài)標志位 00H(bit, BS)— 生日標志位,到生日那天為 1 使程序轉(zhuǎn)入生日顯示段 01H(bit, SS)— 預(yù)置標志,以 INT0 控制其值,控制預(yù)置閃爍的實現(xiàn) 02H(bit, GS)— 閃爍標志,在預(yù)置標志有效時控制閃爍項目的亮和滅兩狀態(tài) 03H(bit, FC)— 頻率控制,在整點報時時控制產(chǎn)生低音還是 高音 04H(bit, NB)— 忽略生日標志,控制預(yù)置及報時的優(yōu)先級高于生日顯示 05H(bit)— 控制生日信號的有效與否,其使用目的參見調(diào)試過程 源程序中使用了兩個寄存器 R R0,R1 用于控制閃爍的間隔時間, R0 用于顯示延時。在初始化模塊中設(shè)定了中斷的優(yōu)先級、定時計數(shù)器的工作模式、并打開了定時計數(shù)器 TO 開始計時其他資源分配項目參見源程序集合及注釋。初始化模塊指令很大一部分都是偽指令,方便了后面程序的編寫。 開關(guān)檢測模塊 開關(guān)檢測模塊主要執(zhí)行兩個任務(wù): ⒈讀取鬧鈴使能控制撥碼開關(guān) K5 的值并賦予鬧鈴使 能相應(yīng)值; ⒉讀取顯示選擇開關(guān)( K0,K1)的值并將要顯示的項目值送入顯示緩存LED1 LED3 LED56 當 k5 為 1 時將 A1H 送入 RE 反之送入 A1H,其中 A為“ — ”的字型碼查表偏移量。當顯示生日日期時,將生日 Birthday 的縮寫“ bd”的字型碼送入顯示緩存 LED56(11)。 烏魯木齊職業(yè)大學(xué)畢業(yè)設(shè)計(論文) 17 圖 開關(guān)檢測流程圖 顯示主程序 顯示主程序是程序中最復(fù)雜的模塊,實現(xiàn)的功能也最多,占用了程序運行過程當中 90%以上的執(zhí)行時間。流程圖中由判斷 SS(預(yù)置信號 )開始分成兩個分支,當 SS=1,即預(yù)置 狀態(tài)下程序進入預(yù)置閃爍部分 (12)。 圖 顯示主程序流程圖 烏魯木齊職業(yè)大學(xué)畢業(yè)設(shè)計(論文) 18 預(yù)置閃爍的優(yōu)先級是: LED34LED12LED56 即同預(yù)置優(yōu)先級相同(參見調(diào)試部分的詳細說明)閃爍首先判斷是否對 LED34 進行判斷閃爍,如果是則另外兩個顯示值直接顯示,否則判斷是否對 LED12 進行閃爍,如果是則直接顯示LED56 的值,只有當前兩個顯示值都不閃爍的時候,才判斷是否對 LED56 進行閃爍,這樣就確保了每次只有一個顯示值閃爍。預(yù)置通過 GS 標志位判斷預(yù)置的亮 /滅, 由 R1 控制每 50 輪顯示對 GS 取反一次。 當 SS=0 時進入判斷鬧鈴 /報時及正常顯示模塊,模塊 EIGHT(參見其說明 )對鬧鈴及報時條件進行判斷,符合條件則對 取反一次并使 NB(忽略生日)有效,此時行對 BS(生日標志 )的判斷,即使響鈴優(yōu)先級高于生日顯示(其實也可以對程序進行修改使響鈴和生日顯示不發(fā)生沖突,修改方法參見程序優(yōu)化)。當不響鈴并且生日標志 BS 有效時顯示 HAPPY 其單列開來。本程序由生日標志BS 控制,當?shù)竭_生日時間時, T0 中斷程序會將 BS 置 1 使之有效在顯示主程序中通過判斷 BS 的置來控制是否執(zhí)行本模塊 標志 BS 有效時顯示 HAPPY 其單列開來。本程序由生日標志 BS 控制,當?shù)竭_生日時間時, T0 中斷程序會將 BS 置1 使之有效在顯示主程序中通過判斷 BS 的置來控制是否執(zhí)行本模塊 ( EIGHT) 在顯示主程序中每隔一段時間調(diào)用一次本程序來實現(xiàn)鬧鈴及報時功能。符合鬧鈴條件時,每調(diào)用一次本程序?qū)? 取反一次,調(diào)節(jié)調(diào)用的時間間隔便可以調(diào)節(jié)報時的輸出頻率。在主程序中設(shè)置每完成對一個數(shù)碼管的顯示變調(diào)用一次本程序,顯示一個數(shù)碼管的時間大約為 1ms,因此響鈴頻率高音約為 500Hz,低音約為 250Hz。程序判斷鬧鈴使能 RE 后分成兩個分支,當 RE=A1 時判斷鬧鈴條件是否滿足,滿足則對 取反一次,否則跳轉(zhuǎn)判斷整點報時條件是否滿足。當RE=0 時,直接怕暖整點報時條件是否滿足。判斷整點報時條件時當當前時間滿足 (13): ( MIN=59)∩( SECOND=59) ∩( COUNT10) 時報高音;當滿足: (MIN=59)∩ (SECOND=51/53/55/57) ∩ (COUNT10) 時報低音。利用位尋址區(qū)來存儲 SECOND 的方法, (SECOND50)∩(=1)時便滿足報低音的秒 條件。利用 TO 中斷次數(shù)存儲器 COUNT 的大小可以判斷是否到了后半秒( T0 每 50ms 中斷一次,中斷 20 次到達一秒)。通過增加一個標志位 FC 來時下對高低音的區(qū)分,高音不受 FC 的影響,低音只有當 FC=0 的時候才對 取反一次。并且每調(diào)用一次本程序便對 FC 取反一次,便達到每調(diào)用兩次取反一次 的效果。本程序的執(zhí)行時間小于 40us,因此多烏魯木齊職業(yè)大學(xué)畢業(yè)設(shè)計(論文) 19 次調(diào)用不過分影響執(zhí)行。 ( TO)計時程序 中斷計時程序的流程比較簡單。程序除實現(xiàn)正常走時外還需要判斷是否到達生日時間置生日標志位有效。程序的輸出均為 BCD碼,方便了 顯示程序?qū)Ω叩臀坏姆蛛x并查表顯示。程序比較復(fù)雜的地方在于對平閏年及大小月的判斷。把月MONTH存儲在位尋址區(qū),當 MONTH=02H時判斷是否是平閏年,先將年由 BCD碼轉(zhuǎn)化為二進制碼,此時當年的后兩位為全零的時候為閏年(由于只顯示年的個位和十位,由 2022年開始, 00年、 04年?為閏年,其共同特點就是二進制后兩位為零),否則為平年。當 MONTH≠ 2 時判斷是否為大小月, MOUTH7 時單月(即=1的月)為大月,否則為小月;當 MONTH7時雙月為大月。 中斷( T1)預(yù)置程序 T1 通過中斷 INT0 控制開啟或關(guān)閉,每次定時 50 毫秒,存儲地址 COUNTS計數(shù) 15 次執(zhí)行一次中斷程序。由開關(guān)( K0,K1)控制預(yù)置項目,通過開關(guān) K2/K3/K4來分別控制 LED12/LED34/LED56 的預(yù)置,當兩個開關(guān)都是有效時,具有優(yōu)先級的區(qū)分,確保無論按幾個開關(guān)都最多只有一個項目被預(yù)置。判斷預(yù)置的優(yōu)先級順序是: LED34LED12LED56 這樣安排的原因是由于根據(jù)生活經(jīng)驗 LED34 所對應(yīng)的 4 個項目(小時、鬧鈴分、月、生日日)被預(yù)置的可能性最大。在預(yù)置日期和生日是要注意對大小月及平閏年進行判斷(判斷方法與中斷 計時程序中說明的方法類似,但不需要考慮進位)且月和日在溢出后應(yīng)置一而不是歸零。 中斷( INT0)設(shè)定程序 中斷 INT0 設(shè)置是否進行預(yù)置以及對生日標志的清除。且有如下設(shè)置順序:清除預(yù)置信號并關(guān) T1清除生日標志 設(shè)定預(yù)置信號并開 T1。每按一次中斷都只執(zhí)行其中一個項目 6 系統(tǒng)仿真 PROTUES 軟件介紹 烏魯木齊職業(yè)大學(xué)畢業(yè)設(shè)計(論文) 20 Proteus 軟件是 Labcenter Electronics 公司的一款電路設(shè)計與仿真軟件,它包括 ISIS、 ARES 等軟件模塊, ARES 模塊主要用來完成 PCB 的設(shè)計,而 ISIS 模塊用來完成電路原 理圖的布圖與仿真。 Proteus 的軟件仿真基于 VSM 技術(shù),它與其他軟件最大的不同也是最大的優(yōu)勢就在于它能仿真大量的單片機芯片,比如MCS51 系列、 PIC 系列等等,以及單片機外圍電路,比如鍵盤、 LED、 LCD 等等。通過 Proteus 軟件的使用我們能夠輕易地獲得一個功能齊全、實用方便的單片機實驗室。 數(shù)字鐘系統(tǒng) PROTUES 仿真 用 PROTUES 軟件,根據(jù)數(shù)字電子鐘的原理圖 8,畫出仿真圖,得到的圖 13如下所示 (14)。 圖 13 數(shù)字鐘的 PROTES 仿真 7 調(diào)試與功能說明 單片機應(yīng)用系統(tǒng)的調(diào)試包括硬 件和軟件兩部分,但是他們并不能完全分開。一般的方法是排除明顯的硬件故障,再進行綜合調(diào)試,排除可能的軟 /硬件故障。 烏魯木齊職業(yè)大學(xué)畢業(yè)設(shè)計(論文) 21 硬件調(diào)試 拿到電路板后,首先要檢查加工質(zhì)量,并確保沒有任何方面的錯誤,如短路和斷路,尤其要避免電源短路;元器件在安裝前要逐一檢查,用萬用表測其數(shù)值,看是否與所用相同;完成焊接后,應(yīng)先空載上電(芯片座上不插芯片),并檢查各引腳的電位是否正確。若一切正常,方可在斷電的情況下將芯片插入,再次檢查各引腳的電位及其邏輯關(guān)系。將萬用表的探針放到單片機接電源的引腳上檢測一下,看是否符合要求。 系統(tǒng)性能測試與功能說明 走時:默認為走時狀態(tài),按 24 小時制分別顯示“時時 分分 秒秒”,有 2 個“ ”動態(tài)顯示,時間會按實際時間以秒為最少單位變化。 走時調(diào)整:按 ksec 對秒進行調(diào)整,按一下加一秒;按 kmin 對分進行調(diào)整,按一下加一分;按 khour 對時進行調(diào)整,按一下加一小時,從而達到快速設(shè)定時間的目的。 系統(tǒng)時鐘誤差分析 結(jié)合時間概念和誤差理論,可以定義電子鐘的走時誤差 S=S1S2,S1 表示程序?qū)嶋H運行計算所得的秒; S2 表示客觀時間的標準秒。 S0 時表示電子鐘秒單元數(shù)值刷新滯后,即走時誤差為“慢” ;反之, S0 表示秒單元數(shù)值的刷新超前,即走時誤差為“快”。 本次設(shè)計的單片機電子鐘系統(tǒng)中,其誤差主要來源包括晶體頻率誤差,定時器溢出誤差,延遲誤差。晶體頻率產(chǎn)生震蕩,容易產(chǎn)生走時誤差;定時器溢出的時間誤差,本應(yīng)這一秒溢出,但卻在下一秒溢出,造成走時誤差;延遲時間過長或過短,都會造成與基準時間產(chǎn)生偏差,造成走時誤差。 軟件調(diào)試問題及解決 軟件程序的調(diào)試一般可以將重點放在分模塊調(diào)試上,統(tǒng)調(diào)是最后一環(huán)。軟件調(diào)試可以采取離線調(diào)試和在線調(diào)試兩種方式。前者不需要硬件仿真器,可借助于軟件仿真器即可;后者一般需要 仿真系統(tǒng)的支持。本設(shè)計采用 Keil 軟件來調(diào)試烏魯木齊職業(yè)大學(xué)畢業(yè)設(shè)計(論文) 22 程序,通過各個模塊程序的單步或跟蹤調(diào)試,使程序逐漸趨于正確,最后統(tǒng)調(diào)程序。 8 單模塊軟件測試 編碼中常用的程序結(jié)構(gòu)說明 ① JNB SS,THREEB。 SJMP THREEA THREEB:LJMPTHREE11。 THREEA:,THREE1 由于使用 JNB 等跳轉(zhuǎn)指令的時候,跳轉(zhuǎn)長度比較短,故需要跳轉(zhuǎn)到比較遠的地方時需要用 這個結(jié)構(gòu)。相當于: JNB SS,THREE11 JNB ,THREE1 ② THREE1:MOV A,LED34 ANL A,0FH MOVC A,@A+DPTR MOV P2,A THREE13:SETB NOP DJNZ R0,THREE13 CLR MOV A,LED34 SWAP A ANL A,0FH MOVC A,@A+DPTR MOV P2,A 烏魯木齊職業(yè)大學(xué)畢業(yè)設(shè)計(論文
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1