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

正文內(nèi)容

基于單片機的多功能時鐘(編輯修改稿)

2025-02-14 16:24 本頁面
 

【文章內(nèi)容簡介】 電源地2VDD+電源電壓3V0液晶顯示器驅(qū)動電壓4D/I(RS)H/LD/I=“H”,表示DB7∽DB0為顯示數(shù)據(jù)D/I=“L”,表示DB7∽DB0為顯示指令數(shù)據(jù)5R/WH/LR/W=“H”,E=“H”數(shù)據(jù)被讀到DB7∽DB0R/W=“L”,E=“H→L”數(shù)據(jù)被寫到IR或DR6EH/LR/W=“L”,E信號下降沿鎖存DB7∽DB0R/W=“H”,E=“H”DDRAM數(shù)據(jù)讀到DB7∽DB07DB0H/L數(shù)據(jù)線8DB1H/L數(shù)據(jù)線管腳號管腳名稱level管腳功能描述9DB2H/L數(shù)據(jù)線10DB3H/L數(shù)據(jù)線11DB4H/L數(shù)據(jù)線12DB5H/L數(shù)據(jù)線13DB6H/L數(shù)據(jù)線14DB7H/L數(shù)據(jù)線15PSBH/LH:并口 L:串口16NC空腳17RSTH/L復位信號,低電平復位18VOUT10VLCD驅(qū)動負電壓19LED+LED背光板正極20LEDLED背光板負極液晶顯示模塊的特殊寄存器說明:在使用12864LCD前先必須了解以下功能器件才能進行編程。12864內(nèi)部功能器件及相關功能如下:1. 指令寄存器(IR)IR是用于寄存指令碼,與數(shù)據(jù)寄存器數(shù)據(jù)相對應。當D/I=0時,在E信號下降沿的作用下,指令碼寫入IR。2.數(shù)據(jù)寄存器(DR)DR是用于寄存數(shù)據(jù)的,與指令寄存器寄存指令相對應。當D/I=1時,在下降沿作用下,圖形顯示數(shù)據(jù)寫入DR,或在E信號高電平作用下由DR讀到DB7∽DB0數(shù)據(jù)總線。DR和DDRAM之間的數(shù)據(jù)傳輸是模塊內(nèi)部自動執(zhí)行的。3.忙標志:BFBF標志提供內(nèi)部工作情況。BF=1表示模塊在內(nèi)部操作,此時模塊不接受外部指令和數(shù)據(jù)。BF=0時,模塊為準備狀態(tài),隨時可接受外部指令和數(shù)據(jù)。利用STATUS READ指令,可以將BF讀到DB7總線,從檢驗模塊之工作狀態(tài)。4.顯示控制觸發(fā)器DFF此觸發(fā)器是用于模塊屏幕顯示開和關的控制。DFF=1為開顯示(DISPLAY OFF),DDRAM的內(nèi)容就顯示在屏幕上,DFF=0為關顯示(DISPLAY OFF)。DDF的狀態(tài)是指令DISPLAY ON/OFF和RST信號控制的。5.XY地址計數(shù)器XY地址計數(shù)器是一個9位計數(shù)器。高3位是X地址計數(shù)器,低6位為Y地址計數(shù)器,XY地址計數(shù)器實際上是作為DDRAM的地址指針,X地址計數(shù)器為DDRAM的頁指針,Y地址計數(shù)器為DDRAM的Y地址指針。X地址計數(shù)器是沒有記數(shù)功能的,只能用指令設置。Y地址計數(shù)器具有循環(huán)記數(shù)功能,各顯示數(shù)據(jù)寫入后,Y地址自動加1,Y地址指針從0到63。6.顯示數(shù)據(jù)RAM(DDRAM)DDRAM是存儲圖形顯示數(shù)據(jù)的。數(shù)據(jù)為1表示顯示選擇,數(shù)據(jù)為0表示顯示非選擇。DDRAM與地址和顯示位置的關系見DDRAM地址表。7.Z地址計數(shù)器Z地址計數(shù)器是一個6位計數(shù)器,此計數(shù)器具備循環(huán)記數(shù)功能,它是用于顯示行掃描同步。當一行掃描完成,此地址計數(shù)器自動加1,指向下一行掃描數(shù)據(jù),RST復位后Z地址計數(shù)器為0。Z地址計數(shù)器可以用指令DISPLAY START LINE預置。因此,顯示屏幕的起始行就由此指令控制,即DDRAM的數(shù)據(jù)從哪一行開始顯示在屏幕的第一行。此模塊的DDRAM共64行,屏幕可以循環(huán)滾動顯示64行。8. 字符顯示FYD128640402B每屏可顯示4行8列共32個1616點陣的漢字,每個顯示RAM可顯示1個中文字符或2個168點陣全高ASCII碼字符,即每屏最多可實現(xiàn)32個中文字符或64個ASCII碼字符的顯示。FYD128640402B內(nèi)部提供1282字節(jié)的字符顯示RAM緩沖區(qū)(DDRAM)。字符顯示是通過將字符顯示編碼寫入該字符顯示RAM實現(xiàn)的。根據(jù)寫入內(nèi)容的不同,可分別在液晶屏上顯示CGROM(中文字庫)、HCGROM(ASCII碼字庫)及CGRAM(自定義字形)的內(nèi)容。三種不同字符/字型的選擇編碼范圍為:0000~0006H(其代碼分別是0000、0000000006共4個)顯示自定義字型,02H~7FH顯示半寬ASCII碼字符,A1A0H~F7FFH顯示8192種GB2312中文字庫字形。 顯示模塊電路顯示模塊電路如圖12所示,液晶模塊的1管腳接電源地,20管腳接電源地,19管腳用于接電源。2管腳接電源給液晶顯示器供電,3管腳接電源用于提供液晶顯示器顯示驅(qū)動電壓,。圖11 LCD顯示電路模塊4 系統(tǒng)軟件設計軟件是系統(tǒng)的主要組成部分,也是整個調(diào)試的重點和難點工作。本設計采用了匯編語言,因為匯編語言更接近機器語言,可以直接存取寄存器和I/O,編寫的代碼可以非常精確的被執(zhí)行,可以編寫出比一般編譯系統(tǒng)高效的代碼,可以作為不同語言或不同標準的接口。因此,依據(jù)課題設計的要求,采用匯編語言進行軟件編程,用模塊化程序設計思想,將軟件劃分成若干模塊單元;包括:DS12887時鐘顯示模塊、延時等模塊,鍵盤掃描子程序,按鍵處理子程序模塊,通信中斷子程序。 編程語言的選擇匯編語言的實質(zhì)和機器語言是相同的,都是直接對硬件操作,只不過指令采用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。匯編程序通常由三部分組成:指令、偽指令和宏指令。匯編程序的每一句指令只能對應實際操作過程中的一個很細微的動作,例如移動、自增,因此匯編源程序一般比較冗長、復雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業(yè)知識,但匯編語言的優(yōu)點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能實現(xiàn)的,而且源程序經(jīng)匯編生成的可執(zhí)行文件不僅比較小,而且執(zhí)行速度很快。匯編語言程序歸納起來大概有以下幾個主要特性。與機器相關性執(zhí)行的高效率編寫程序的復雜性調(diào)試的復雜性下面簡單列舉幾個領域以示說明,但不能把它們絕對化: 適用的領域 要求執(zhí)行效率高、反應快的領域,如:操作系統(tǒng)內(nèi)核,工業(yè)控制,實時系統(tǒng)等; 系統(tǒng)性能的瓶頸,或頻繁被使用子程序或程序段; 與硬件資源密切相關的軟件開發(fā),如:設備驅(qū)動程序等; 受存儲容量限制的應用領域,如:家用電器的計算機控制功能等; 沒有適當?shù)母呒壵Z言開發(fā)環(huán)境。 不宜使用的領域 大型軟件的整體開發(fā);沒有特殊要求的一般應用系統(tǒng)的開發(fā)等。綜上所說,匯編語言的特點明顯,其誘人的優(yōu)點直接導致其嚴重的缺點,其“與機器相關”和“執(zhí)行的高效率”導致其可移植性差和調(diào)試難。所以,我們在選用匯編語言時要根據(jù)實際的應用環(huán)境,盡可能避免其缺點對整個應用系統(tǒng)的影響。 系統(tǒng)主程序及流程圖主程序的主要功能是顯示日期時間信息。在主程序中,系統(tǒng)上電自動復位以后首先進行系統(tǒng)的液晶顯示、時鐘芯片DS12887初始化,然后讀寫日期、時間等信息,待數(shù)據(jù)讀寫結束后顯示時鐘。再通過掃描鍵盤判斷是否按鍵,如果有按鍵發(fā)生,那就顯示時間調(diào)整,進行鍵值得判斷,然后根據(jù)鍵值的多少相應的調(diào)整時間,通過顯示子程序顯示出來。如果沒有按鍵,則返回掃描子程序,循環(huán)掃描。主程序流程如圖13所示。開始清屏初始化讀DS1302子程序顯示子程序掃描鍵盤判斷是否按鍵顯示時間調(diào)整屏鍵值判斷調(diào)整時間圖13 主程序流程圖 DS1302時鐘芯片的讀操作流程圖首先對時鐘芯片DS1302初始化,經(jīng)過對狀態(tài)寄存器判斷之后,對DS1302進行讀操作,讀操作時利用時鐘日歷地址相鄰的特點,直接使地址增加,隨后判斷數(shù)據(jù)是否讀完了。若讀完了,則返回主程序;若沒有讀完,則繼續(xù)增加地址,直到讀數(shù)據(jù)完成為止。如圖14所示。判斷DS1302是否可讀讀DS1302開始初始化返回圖12 DS1302的讀寫操作 液晶模塊的顯示流程本設計用的液晶模塊是12864液晶模塊,這個模塊可以進行串口通信也可以進行并口通信,由于單片機口線限制,在這里采用了串口設計思路。本設計采用了分屏顯示的原理,在時間顯示時顯示屏一,在時間調(diào)整時顯示屏二,其流程圖分別如圖1圖16所示。開始清屏顯示設置設置顯示字符的首地址發(fā)送要顯示字符代碼顯示返回圖13 時間顯示,屏一流程圖在屏一顯示流程圖中,顯示設置液晶顯示設置為全屏顯示,顯示界面沒有光標顯示,年月日的顯示從第二行第一個字符開始,時分秒的顯示從第三行第一個字符開始。有調(diào)整按鍵顯示設置設置顯示字符的首地址顯示當前時間判斷按鍵顯示時間修改是否完成返回時間顯示圖14 時間顯示,屏二時間調(diào)整顯示流程圖在顯示屏二時應先判斷是否有調(diào)整時間的請求,如果有時間調(diào)整的要求即有按鍵按下則顯示此屏,顯示此屏時先進行顯示設置,因為要調(diào)整時間因此要用光標表示出要調(diào)整的位,因此顯示設置中要調(diào)整出光標,調(diào)整時間時先調(diào)出當前時間,從當前時間開始調(diào)整,然后判斷按鍵,根據(jù)按鍵來調(diào)整時間,調(diào)整完成之后再返回時間顯示即顯示屏一。 按鍵調(diào)整模塊顯示流程圖程序模塊是用來調(diào)整時間的,,依次調(diào)整的參量為年、月、日、時、分、秒。當調(diào)整完畢之后,從剛才調(diào)整好的時間開始顯示、計時。其流程圖如圖17所示。判斷按鍵記錄按鍵次數(shù)根據(jù)按鍵次數(shù)改變要調(diào)整的位顯示調(diào)整結果返回圖15 按鍵調(diào)整模塊流程圖5 實驗與調(diào)試驗證理論的最好的方法是實踐,因此本設計通過實驗,用實物的調(diào)試來驗證之上設計的可行性。雖然現(xiàn)在很多設計采用仿真來模擬結果,但是放著和實際還是有一定差距的,而且有些實際問題是仿真所不能顯示的,為了更好的驗證本設計方案,因此本設計采用實物來驗證。 硬件調(diào)試本設計的硬件驗證電路完全由按照上述理論進行焊接。其電路焊接如圖18所示。由于電路比較簡單在焊接中遇到的問題不是很多。主要遇到的問題有電路焊接時地線和電源線的排布,由于電路中的電源線和地線的連接點比較多,在實際的印刷電路板中,采用了一些跳線。圖16 整體電路實物圖硬件焊接好后需要測試是否都連接好了,本設計采用的測試方法是用萬用表來測量,用萬用表的兩個表筆分別接連線的兩端,測試是否電阻為零,如果電阻為零說明連接正確,如果有電阻說明沒有連接好。由于實驗板上的有些焊點離的比較近,在焊接時可能由于不小心將焊錫滴落在兩個焊點之間造成短路,短路是對電路板最大的危害之一,因此要細心的檢查每兩個相鄰的焊點之間是否有短路發(fā)生。 軟件調(diào)試本設計采用偉福編譯軟件來編譯程序,是目前使用廣泛的單片機開發(fā)軟件,它集成了源程序編輯和程序調(diào)試于一體,支持匯編語言編譯,另外它還支持第三方編譯器,可以編譯C語言和PL/M語言。源程序的編寫:首先從菜單的“文件”中“新建文件”,建立文件;然后為文件選擇好單片機型號,語言設置項選擇偉福匯編器;確定后新的文件就算建立了。接下來進行編輯、修改等操作。如圖19所示。圖17 編譯程序編譯:加載好要編譯的文件,在工具欄的右上方找到編譯按鈕,按下編譯按鈕,開始編譯,編譯后會提示編譯是否通過,如果編譯通過就可以進行程序下載,實驗;如果編譯沒有通過說明程序存在錯誤需要修改這時會在軟件下方提示哪里有錯誤,是什么錯誤類型,如圖20所示。雙擊下邊的錯誤提示,軟件會將光標自動移到錯誤處以便于修改。編譯通過后會顯示編譯成功提示,如圖21所示。圖18 編譯錯誤提示圖19 編譯通過提示 軟件調(diào)試由于實物調(diào)試中遇到的問題可能是軟件的問題也可能是硬件的問題,因此需要采取好的調(diào)試過程,制定一個好的調(diào)試原則。本設計在調(diào)試時采用了遇到問題先排查是否是硬件故障,然后再排查軟件故障的順序。在排查硬件故障時可以利用已有的設計成功的軟件來測試。例如在調(diào)試過程中,最先遇到的問題是液晶顯示器不能顯示。我在排查故障時采用了一個原有的能夠正常運行的程序來測試電路是否能夠顯示,結果是能夠顯示,如圖22所示。這說明電路的硬件連接沒有問題,然后再排查軟件問題,結果發(fā)現(xiàn)是程序中查詢?nèi)諝v芯片時的地址賦錯值了,在排除這個錯誤之后再燒寫程序測試就能夠正常顯示了,如圖23所示。圖20 測試程序顯示結果圖21 正確程序顯示結果程序能夠正常顯示時間之后是調(diào)試按鍵子程序,要測試是否能掃描到按鍵及按鍵功能是否正確。由于按鍵程序設計時跳轉(zhuǎn)比較麻煩因此出了些小錯誤,在按鍵調(diào)整之后總是不能返回時間顯示界面。經(jīng)過細心檢查發(fā)現(xiàn)是在返回顯示程序的跳轉(zhuǎn)標號寫錯了,經(jīng)過改進,終于成功了。按鍵調(diào)整圖如圖24所示。圖22 按鍵調(diào)整顯示6 結論 本文的主要工作和成果系統(tǒng)采用了以廣泛使用的單片機STC89C52為核心,配合時鐘芯片DS12887,并采用LCD顯示電路,鍵盤掃描電路所設計的一款可以進行遠程調(diào)控的時鐘電路。主要工作和成果如下:(1)介紹基于單片機的時鐘電路的設計方法,并對基于單片機的時鐘的應用進行了初步探討。(2)介紹了時鐘芯片DS12887的基本原理、特性及使用方法。對單片機軟硬件資源和接口擴展都有了深入的學習。(3)在系統(tǒng)的軟件仿真調(diào)試中,運用了PROTEL、WAVE等軟件;學習了他們的基本操作,掌握了程序的編譯過程、電路圖的繪制過程。(4)系統(tǒng)設計出的實時時鐘除了可以顯示時間之外,還可以進行遠程通信,利用遠程電腦對時鐘進行時間設置。課題設計取得了較好的效果,達到了課題的基本要求。 課題設計中不足及其展望本設計重點研究實現(xiàn)了基于單片機與時鐘芯片這種模式的時鐘,從原理上對單片機和時鐘芯片有了深一步的認識。但是,時鐘除了能夠顯示基本日期時間功能外,還可以顯示、設置鬧鐘并可在工業(yè)測量控制系統(tǒng)中起到定時、監(jiān)控作用,以及對某些影像數(shù)據(jù)的實時記錄功能等。所以說,實時時鐘在工農(nóng)業(yè)的監(jiān)控中,它能發(fā)揮的作用會更多更大!它的這些功能還沒有完善,希望以后有機會可繼續(xù)完善其相應的功能。
點擊復制文檔內(nèi)容
黨政相關相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1