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

正文內(nèi)容

基于at89c51單片機的簡易時鐘設(shè)計-文庫吧

2025-05-14 08:30 本頁面


【正文】 件設(shè)計成七個模塊,他們包括:主程序、數(shù)碼管動態(tài)掃描模塊、當(dāng)前時間計時模塊、鬧鐘輸入輸出模塊、當(dāng)前時間調(diào)整模塊、數(shù)制轉(zhuǎn)換模塊以及復(fù)位模塊。 主程序模塊 主程序模塊是單片機最先編譯運行的模塊,所以在這個模塊里,我們要設(shè)置主程序和各個中斷服務(wù)程序的入口地址、各種初始化以及開關(guān)掃描等。 MCS51 系列單片機復(fù)位后,( PC) =0000H,而 0003H~002BH 分別為各中斷的入口地址。所以,編程時應(yīng)在 0000H 處寫一條跳轉(zhuǎn)指令。當(dāng) CPU 接受到中斷請求信號并予以相應(yīng)后, CPU 把當(dāng)前的 PC 內(nèi)容壓入棧中進行保護,然后轉(zhuǎn)入相應(yīng)的只能中斷服務(wù)程序入口處執(zhí)行。一般應(yīng)在相應(yīng)的中斷服務(wù)程序入口處寫一條跳轉(zhuǎn)指令,并以跳轉(zhuǎn)指令的目標(biāo)地址作為中斷服務(wù)程序的起始地址進行編程。 初始化,是對將要用到的 MCS51 系列單片機內(nèi)部部件或擴展芯片進行初始工作狀態(tài)設(shè)定。 下圖 31 是我們設(shè)計該主程序模塊的程序框圖。 圖 31 主程序設(shè)計框圖 10 數(shù)碼管動態(tài)掃描模塊 在數(shù)碼管動態(tài) 掃描模塊里,包含了兩個子程序,一個是顯示子程序,另一個是顯示延時 1MS 子程序。其中顯示延時 1MS 子程序是用軟件延時的方法進行的,過程較簡單,這里就不畫出它的程序框圖,下圖 32 為顯示子程序的程序框圖。 圖 32 顯示子程序 當(dāng)前時間計時模塊 本軟件中的當(dāng)前時間計時模塊實際上是 T0 定時器的中斷服務(wù)程序,我們將T0 定時器工作在方式一中,并讓它每 50MS 產(chǎn)生一次中斷。 每產(chǎn)生一次中斷,進入中斷服務(wù)程序后, T0 定時器重新轉(zhuǎn)載初始值。 MS50(它是對 50MS 中斷次數(shù)統(tǒng)計的存儲單元地址標(biāo)號)就會自加一,接著 對 MS50進行判斷,如果 MS50 沒有到達(dá) 20 次(即一秒的時間),就返回到主程序。如果到達(dá) 20 次, MS50 將清零,并將 MIAO( MIAO 是對秒進行計數(shù)的存儲單元地址標(biāo)號)將自加一。接著判斷 MIAO 是否到達(dá) 60 次,沒到就返回,到了 60 秒,MIAO 將被清零, FEN( FEN 是對分進行計數(shù)的存儲單元地址標(biāo)號)自加一。再判斷 FEN,過程與判斷 MIAO 相識,也是到達(dá) 60 分就進 1 時并對分清零,時的 11 寄存器地址標(biāo)號是 SHI,因為一天只有 24 小時,所以,如果 SHI 計數(shù)到了 24 時,它將對 SHI、 FEN、 MIAO 同時清零。 下圖 33 為該中斷服務(wù)的程序框圖 圖 33T0中斷服務(wù)程序 鬧鐘輸入輸出模塊 由于鬧鐘輸入輸出模塊要實現(xiàn)的功能較多,所以它是我們該軟件中設(shè)計耗時最長的一個模塊,也是最復(fù)雜的一個模塊。而我們對其采取再分子模塊策略,我們對該模塊劃分了 6 個子模塊:設(shè)置鬧鐘時間子模塊、鬧鐘開關(guān)子模塊、檢查鬧鐘子模塊、鬧鐘指示燈亮子模塊、鬧鐘轉(zhuǎn)換子模塊、蜂鳴器子模塊。下面將逐個說明各個子模塊的功能。 設(shè)置鬧鐘時間子模塊:該模塊實現(xiàn)的功能是,當(dāng)設(shè)置鬧鐘時間的鍵盤被按下時,則進入該子模塊,通過對各個指定按鍵的操作來實現(xiàn)鬧鐘時間的 設(shè)置。 鬧鐘開關(guān)子模塊:該模塊實現(xiàn)的功能是,對鬧鐘的工作狀態(tài)進行開關(guān),當(dāng)為開時,鬧鐘時間到后,鬧鐘指示燈會亮以及蜂鳴器會響;當(dāng)為關(guān)時,即便鬧鐘時間到了,鬧鐘指示燈不會亮以及蜂鳴器不會響。 12 檢查鬧鐘子模塊:該模塊實現(xiàn)的功能是,它是在主程序中被循環(huán)調(diào)用的,每調(diào)用一次,它會把當(dāng)前時間與鬧鐘時間進行比較,如果當(dāng)前時間與鬧鐘時間相同且鬧鐘開關(guān)為開,則調(diào)用鬧鐘指示燈亮子模塊和蜂鳴器子模塊;否則繼續(xù)運行主程序。 鬧鐘指示燈亮子模塊:該模塊的功能是,當(dāng)時間到時,它將使鬧鐘指示燈以每秒兩次的頻率閃爍,閃爍三十秒后熄滅。 蜂鳴 器子模塊:該模塊的功能是,當(dāng)時間到時,它將使鬧鐘指示燈以每秒兩次的頻率響,響三十秒后停止響聲。 鬧鐘轉(zhuǎn)換子模塊:由于在寄存器中存儲的是十六進制的數(shù),不能存儲十進制的數(shù),且我們用的 LED 燈是共陽極的,所以在要輸出顯示鬧鐘的時間前,要進行鬧鐘數(shù)制轉(zhuǎn)換。故該模塊的功能是實現(xiàn)對鬧鐘時間寄存器中的內(nèi)容進行數(shù)制轉(zhuǎn)換。 對鬧鐘設(shè)計成六個子模塊,使我們更容易得設(shè)計出鬧鐘所要實現(xiàn)的功能,這也就是模塊化的好處,將一個大型的問題劃分為若干個小問題,對這若干小問題進行設(shè)計,最好通過參數(shù)把這些小模塊連成一個大的模塊,從而解決問題。下 圖34 是對這六個模塊之間的聯(lián)系的描述。 圖 34 鬧鐘輸入輸出模塊 13 當(dāng)前時間調(diào)整模塊 當(dāng)前時間調(diào)整模塊是用來按用戶的需要對當(dāng)前所顯示的時間進行設(shè)置,本軟件的設(shè)計思路是通過對相關(guān)的時間設(shè)置按鍵的掃描進行時間設(shè)置。具體思路如下圖 35: 圖 35 時間調(diào)整模塊 14 復(fù)位模塊 復(fù)位模塊是對當(dāng)前時間和鬧鐘時間進行復(fù)位,復(fù)位后的結(jié)果是當(dāng)前時間變?yōu)?00000,鬧鐘時間變?yōu)?000000。由于該模塊較為簡單,就不展示其設(shè)計思路了。就將其結(jié)果仿真圖展示如下圖 36。 圖 36 復(fù)位結(jié)果圖 15 系統(tǒng)的調(diào)試方法 整個系統(tǒng)調(diào)試的主要思想是:先每個模塊進行調(diào)試,然后整個系統(tǒng)一起調(diào)試。先軟硬件分開調(diào)試,然后一起調(diào)試。遵循先部分后整體的原則。 系統(tǒng)的在調(diào)試過程中要注意以下幾點: ( 1)硬件電路焊完之后,在上電之前一定要先用萬用表檢測電源和地之間是否短路。 ( 2)上電之后要用示波器觀察信號的在電路中變化的情況,與設(shè)計當(dāng)初的情況相比較,找出差別,并進行分析。 ( 3)軟件調(diào)試過程中可以使用斷點、單步執(zhí)行等常用的方法。 ( 4)軟硬件聯(lián)調(diào)時,要注 意軟件部分要一個功能一個功能的調(diào)試。 輸入按鍵的調(diào)試 輸入按鍵的調(diào)試,只要按鍵按下去時,按鍵有相應(yīng)的反應(yīng)就行,通過程序來判斷,單片機 I/O 是否能夠識別出。 復(fù)位電路的調(diào)試 當(dāng)電源剛接通時,接通電源就完成了系統(tǒng)的初始化。 顯示電路的調(diào)試 在本設(shè)計中,顯示電路只需完成,當(dāng)輸入數(shù)字時能正確顯示數(shù)字。 整個系統(tǒng)的聯(lián)調(diào) 在系統(tǒng)各個部分都調(diào)試完畢之后,即可以進行整個系統(tǒng)的調(diào)試。由于前面各個部分的調(diào)試做的都比較充分,所以在實際調(diào)試過程中,能夠較順利的實現(xiàn)整個系統(tǒng)預(yù)期的功能。 16 心得體會 課程設(shè)計是培養(yǎng)學(xué)生綜合運用所學(xué)知識 ,發(fā)現(xiàn) ,提出 ,分析和解決實際問題 ,鍛煉實踐能力的重要環(huán)節(jié) ,是對學(xué)生實際工作能力的具體訓(xùn)練和考察過程 .隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機已經(jīng)成為當(dāng)今計算機應(yīng)用中空前活躍的領(lǐng)域, 在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)來說掌握單片機的開發(fā)技術(shù)是十分重要的。 回顧起此次單片機課程設(shè)計,我仍感慨頗多,的確,從選題到定稿,從理論到實踐,在這兩個星期的日子里,可以說得是苦多于甜,但是可以學(xué)到很多的東西,同時不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在 書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,比如說不懂一些元器件的使用方法,對單片機匯編語言掌握得不好??通過這次課程設(shè)計之后,一定把以前所學(xué)過的知識 重新溫故。 這次課程設(shè)計終于順利完成了,在設(shè)計中遇到了很多編程問題,最后在老師的辛勤指導(dǎo)下,終于游逆而解。同時,在老師那里我學(xué)得到很多實用的知識,在次我表示感謝! 參考文獻(xiàn) 《單片機原理及應(yīng)用》李建忠 編 西安電子科技大學(xué)出版社 《單片微型計算機原理與接口技術(shù)》 高峰 編 電子工業(yè)出版社 《單片機應(yīng)用新技術(shù)教程》鄒逢興 編 高等教育出版社 《 16 位微型計算機原理接口及其應(yīng)用》 朱宇光 編 電子工業(yè)出版社 《微型計算機原理與接口技術(shù)》 吳秀清 編 中國科學(xué)技術(shù)出版社 《微型計算 機接口技術(shù)》 鄧亞平 編 清華大學(xué)出版社 《單片機原理及及應(yīng)用》 王迎旭 編 機械工業(yè)出版社 17 附錄 附錄 A 系統(tǒng)原理圖 18 附錄 B 程序源代碼 MS50 EQU 30H SHI EQU 31H FEN EQU 32H MIAO EQU 33H BUF EQU 34H HH EQU 40H FF EQU 41H MM EQU 42H DENG BIT BIAOZ BIT SPK BIT ALB EQU K1 BIT K2 BIT K3 BIT K4 BIT K5 BIT K6 BIT K7 BIT MOV SP,60H 。 ORG 00H AJMP MAIN ORG 0BH AJMP TIME0 MAIN: SETB DENG CLR ALB ACALL CHUSHI ACALL INTO LOOP: ACALL NAOPRO ACALL CONV ACALL DISPLAY JB K6,LOOP1 ACALL BIAO SJMP LOOP LOOP1: JB K1,LOOP2 ACALL SETTIME SJMP LOOP LOOP2: JB K4,LOOP3 ACALL SETNAO SJMP LOOP 19 LOOP3: JB K7,LOOP ACALL RST SJMP LOOP 。 CONV: 。轉(zhuǎn)換子程序 MOV A,SHI 。轉(zhuǎn)換小時 存到 34 35H MOV B,10 DIV AB MOV DPTR,TAB MOVC A,@A+DPTR MOV BUF,A MOV A,B MOVC A,@A+DPTR MOV BUF+1,A MOV A,FEN 。轉(zhuǎn)換分 存到 37 38H MOV B,10 DIV AB MOV DPTR,TAB MOVC A,@A+DPTR MOV BUF+3,A MOV A,B MOVC A,@A+DPTR MOV BUF+4,A MOV A,MIAO 。轉(zhuǎn)換秒 存到 40 41H MOV B,10 DIV AB MOV DPTR,TAB MOVC A,@A+DPTR MOV BUF+6,A MOV A,B MOVC A,@A+DPTR MOV BUF+7,A MOV BUF+2,0BFH 。第三個位置顯示一杠 MOV BUF+5,0BFH 。第五個位置顯示一杠 RET TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H 。陽碼表 。 DISPLAY: 。顯示子程序 MOV R1,BUF MOV A,01H MOV R2,8 Dp1:MOV P2,A PUSH ACC MOV A,@R1 20 MOV P0,A ACALL DEL
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1