基于單片機設(shè)計LCD顯示電子時鐘
《基于單片機設(shè)計LCD顯示電子時鐘》由會員分享,可在線閱讀,更多相關(guān)《基于單片機設(shè)計LCD顯示電子時鐘(44頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、基于單片機設(shè)計LCD顯示電子時鐘 西安高新科技職業(yè)學(xué)院畢 業(yè) 設(shè) 計(論文)課題名稱 基于單片機設(shè)計LCD顯示電子時鐘 年 級 系 別 專 業(yè) 班 級 姓 名 學(xué)號 指導(dǎo)教師 西安高新科技職業(yè)學(xué)院畢業(yè)設(shè)計(論文)成績評議年級08級系別計科系專業(yè)應(yīng)用電子姓名王偉華題目基于單片機設(shè)計LCD顯示電子時鐘指導(dǎo)教師評閱意見成績評定: 指導(dǎo)教師: 年 月 日評閱教師意見 指導(dǎo)教師: 年 月 日答辯小組意見指導(dǎo)教師: 年 月 日畢業(yè)設(shè)計(論文)任務(wù)書本任務(wù)書下達給:姓名年級系專業(yè) 設(shè)計題目: 2重點研究的問題及原始資料及依據(jù)(包括設(shè)計或論文的工作基礎(chǔ)、研究條件、應(yīng)用環(huán)境等) 設(shè)計適用于各種辦公場合、家庭生活
2、以及各種需要顯示時間的地方。 重點研究問題包括: 1 、對單片機外圍電路的熟悉。 2 、時間可調(diào)節(jié),并且時間精準(zhǔn)無誤 3 、要求盡可能考慮周到,比如:1602液晶的顯示,溫度范圍,受濕受潮;斷電后時間是否保持等等。3主要參考資料、文獻,其他要說明的問題 下達任務(wù)日期: 年 月 日 要求完成日期: 年 月 日 答辯日期: 年 月 日 指導(dǎo)教師:論文(設(shè)計)題目學(xué)生姓名專業(yè)班級指導(dǎo)教師畢業(yè)論文指導(dǎo)記錄畢業(yè)論文答辯記錄(注明答辯過程摘要、結(jié)果及日期)中文摘要本設(shè)計使用11.0592MHZ晶振與單片機AT89C52相連接,以AT89C52芯片為核心,采用1602的并行操作方式顯示,通過使用該單片機,實
3、現(xiàn)把時間顯示在1602液晶上,并且按秒實時更新。可以通過板子上的按鍵隨時調(diào)節(jié)時鐘的年、月、日、星期、時、分、秒,按鍵設(shè)計3個有效按鍵,分別有功能選擇鍵、數(shù)數(shù)值增大鍵、數(shù)值減小鍵。在每次的按鍵按下時,蜂鳴器有“滴”的提示聲。再利用AT24C02設(shè)計實現(xiàn)斷電自動保護顯示數(shù)字的功能,當(dāng)下次上電時會接著上次上電前的時間繼續(xù)運行。通過軟硬件結(jié)合達到最終目的。關(guān)鍵詞: 電子鐘 單片機 1602液晶 C語言目 錄第一章引言1第二章方案設(shè)計3第三章硬件設(shè)計4 (一) 89C52單片機的內(nèi)部結(jié)構(gòu)4 (二) 89C52單片機的引腳功能5 (三) 89C52單片機的模塊設(shè)計9 1.單片機與P0口排阻.9 2. US
4、B供電電路部分.10 3. 復(fù)位電路.10 4. 顯示模塊設(shè)計.11 5.晶振電路部分.16 6. 蜂鳴器電路.17 7. 矩正鍵盤電路.17第四章 系統(tǒng)軟件設(shè)計19 (一) 軟件程序流程19 (二) 程序設(shè)計步驟19 (三) 程序設(shè)計的主要模塊20第五章 設(shè)計總結(jié)29參考文獻30致謝31第一章 引言單片微型計算機簡稱單片機,是典型的嵌入式(Microcontroller Unit),常用英文字母的縮寫MCU表示單片機,它最早是被用在工業(yè)控制領(lǐng)域。單片機由芯片內(nèi)僅有CPU的專用處理器發(fā)展而來。最早的設(shè)計理念是通過將大量外圍設(shè)備和CPU集成在一個芯片中,使計算機系統(tǒng)更小,更容易集成進復(fù)雜的而對體
5、積要求嚴(yán)格的控制設(shè)備當(dāng)中。INTEL的Z80是最早按照這種思想設(shè)計出的處理器,從此以后,單片機和專用處理器的發(fā)展便分道揚鑣。 早期的單片機都是8位或4位的。其中最成功的是INTEL的8031,因為簡單可靠而性能不錯獲得了很大的好評。此后在8031上發(fā)展出了MCS51系列單片機系統(tǒng)?;谶@一系統(tǒng)的單片機系統(tǒng)直到現(xiàn)在還在廣泛使用。隨著工業(yè)控制領(lǐng)域要求的提高,開始出現(xiàn)了16位單片機,但因為性價比不理想并未得到很廣泛的應(yīng)用。90年代后隨著消費電子產(chǎn)品大發(fā)展,單片機技術(shù)得到了巨大提高。隨著INTEL i960系列特別是后來的ARM系列的廣泛應(yīng)用,32位單片機迅速取代16位單片機的高端地位,并且進入主流市
6、場。而傳統(tǒng)的8位單片機的性能也得到了飛速提高,處理能力比起80年代提高了數(shù)百倍。目前,高端的32位單片機主頻已經(jīng)超過300MHz,性能直追90年代中期的專用處理器,而普通的型號出廠價格跌落至1美元,最高端的型號也只有10美元。當(dāng)代單片機系統(tǒng)已經(jīng)不再只在裸機環(huán)境下開發(fā)和使用,大量專用的嵌入式操作系統(tǒng)被廣泛應(yīng)用在全系列的單片機上。而在作為掌上電腦和手機核心處理的高端單片機甚至可以直接使用專用的Windows和Linux操作系統(tǒng)。 單片機比專用處理器更適合應(yīng)用于嵌入式系統(tǒng),因此它得到了最多的應(yīng)用。事實上單片機是世界上數(shù)量最多的計算機。現(xiàn)代人類生活中所用的幾乎每件電子和機械產(chǎn)品中都會集成有單片機。手機
7、、電話、計算器、家用電器、電子玩具、掌上電腦以及鼠標(biāo)等電腦配件中都配有1-2部單片機。而個人電腦中也會有為數(shù)不少的單片機在工作。汽車上一般配備40多部單片機,復(fù)雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百臺單片機在同時工作!單片機的數(shù)量不僅遠超過PC機和其他計算的總和,甚至比人類的數(shù)量還要多。 單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。相當(dāng)于一個微型的計算機,和計算機相比,單片機只缺少了I/O設(shè)備。概括的講:一塊芯片就成了一臺計算機。它的體積小、質(zhì)量輕、價格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時,學(xué)習(xí)使用單片機是了解計算機原理與結(jié)構(gòu)的最佳選擇。 單
8、片機內(nèi)部也用和電腦功能類似的模塊,比如CPU,內(nèi)存,并行總線,還有和硬盤作用相同的存儲器件,不同的是它的這些部件性能都相對我們的家用電腦弱很多,不過價錢也是低的,一般不超過10元即可.用它來做一些控制電器一類不是很復(fù)雜的工作足矣了。我們現(xiàn)在用的全自動滾筒洗衣機、排煙罩、VCD等等的家電里面都可以看到它的身影!.它主要是作為控制部分的核心部件。 它是一種在線式實時控制計算機,在線式就是現(xiàn)場控制,需要的是有較強的抗干擾能力,較低的成本,這也是和離線式計算機的(比如家用PC)的主要區(qū)別。 單片機芯片單片機是靠程序運行的,并且可以修改。通過不同的程序?qū)崿F(xiàn)不同的功能,尤其是特殊的獨特的一些功能,這是別的
9、器件需要費很大力氣才能做到的,有些則是花大力氣也很難做到的。一個不是很復(fù)雜的功能要是用美國50年代開發(fā)的74系列,或者60年代的CD4000系列這些純硬件來搞定的話,電路一定是一塊大PCB板!但是如果要是用美國70年代成功投放市場的系列單片機,結(jié)果就會有天壤之別!只因為單片機的通過你編寫的程序可以實現(xiàn)高智能,高效率,以及高可靠性! 第章方案設(shè)計實現(xiàn)的方案較多,目前廣泛采用的是基于,本設(shè)計將介紹基于單片機實現(xiàn)的方案。單片機系統(tǒng)方案此方案采用電路+晶振電路+復(fù)位電路+AT89C52+1602液晶第三章硬件設(shè)計(一)80C52單片機的內(nèi)部結(jié)構(gòu) 圖3-1為80C52單片機功能結(jié)構(gòu)框圖 80C52 芯片
10、內(nèi)部集成了 CPU、RAM、ROM、定時/計數(shù)器和I/O口等各功能部件,并由內(nèi)部總線把這些連接在一起。80C52單片機內(nèi)部包含以下一些功能部件: 1 一個8位CPU; 2 一個片內(nèi)振蕩器和時鐘電路; 3 4KB ROM; 4 128B內(nèi)RAM; 5 可尋址64KB的外ROM和外RAM控制電路; 6 三個16位定時/計數(shù)器; 7 21個特許功能寄存器; 8 4個8位并行I/O口,共32條可編程I/O端線; 9 一個可編程全雙工串行口; 10 5個中斷源,可設(shè)置成2個優(yōu)先級。外時鐘源 外部事件計 中斷 控制 并 行 口 串行通信 圖3-1 80C52單片機功能結(jié)構(gòu)框圖(二) 80C52單片機的引腳
11、功能 89C52單片機一般采用雙列直插DIP封裝,共40個引腳,圖3-2分別為引腳排列圖和邏輯符號圖。40個引腳大致可分為4類:電源、時鐘、控制和I/O引腳。 圖3-2 80C52引腳圖1.電源 1 Vcc芯片電源,接+; 2 Vss接地端。2.時鐘 XTAL1、XTAL2晶體振蕩電路反相輸入端和輸出端。使用內(nèi)部振蕩電路時外接石英晶體。3.控制線 控制線共有4根,其中3根是復(fù)用線。所謂復(fù)用線是指具有兩種功能,正常使用時是一種功能,在某種條件下是另一種功能。 1 ALE/PROG地址鎖存允許/片內(nèi)EPROM編程脈沖。 ALE功能:用來鎖存P0口送出的低8位地址。 80C52在并行擴展外存儲器(包
12、括并行擴展I/O口)時,P0口用于分時傳送低8位地址和數(shù)據(jù)信號,且均為二進制數(shù)。那么如何區(qū)分是低8位地址還是8位數(shù)據(jù)信號呢?當(dāng)ALE信號有效時,P0口傳送的是低8位地址信號;ALE信號無效時,P0口傳送的是8位數(shù)據(jù)信號。在ALE信號的下降沿,鎖定P0口傳送的內(nèi)容,即低8位地址信號。 需要指出的是,當(dāng)CPU不執(zhí)行訪問外RAM指令(MOVX)時,ALE以時鐘振蕩頻率1 / 6的固定頻率輸出,因此ALE信號也可作為外部芯片CLK時鐘或其他需要。但是,當(dāng)CPU執(zhí)行MOVX指令時,ALE將跳過一個ALE脈沖。 ALE端可驅(qū)動8個LSTTL門電路。 PROG功能:片內(nèi)有EPROM的芯片,在EPROM編程期
13、間,此引腳輸入編程脈沖。 2 PSEN外ROM讀選通信號。 80C51讀外ROM時,沒個機器周期內(nèi)PSEN兩次有效輸出。PSEN可作為外ROM芯片輸出允許OE的選通信號。在讀內(nèi)ROM或讀外RAM時,PSEN無效。 PSEN可驅(qū)動8個LSTTL門電路。 3 RST/Vpd復(fù)位/備用電源。 正常工作時,RST(Reset)端為復(fù)位信號輸入端,只要在該引腳上連續(xù)保持兩個機器周期以上高電平,80C52芯片即實現(xiàn)復(fù)位操作,復(fù)位后一切從頭開始,CPU從0000H開始執(zhí)行指令。 Vpd功能:在Vcc掉電情況下,該引腳可接上備用電源,由Vpd向片內(nèi)供電,以保持片內(nèi)RAM中的數(shù)據(jù)不丟失。 4 EA/Vpp 內(nèi)外
14、ROM選擇/片內(nèi)EPROM編程電源。 EA功能:正常工作時,EA為內(nèi)外ROM選擇端。80C52單片機ROM尋址范圍為64KB,其中4KB在片內(nèi),60KB在片外(80C31芯片無內(nèi)ROM,全部在片外)。當(dāng)EA保持高電平時,先訪問內(nèi)ROM,但當(dāng)PC(程序計數(shù)器)值超過4KB(0FFFH)時,將自動轉(zhuǎn)向執(zhí)行外ROM中的程序。當(dāng)EA保持低電平時,則只訪問外ROM,不管芯片內(nèi)有否內(nèi)ROM。對80C31芯片,片內(nèi)無ROM,因此EA必須接地。 Vpp功能:片內(nèi)有EPROM的芯片,在EPROM編程期間,此引腳用于施加編程電源Vpp。 對4個控制引腳,應(yīng)熟記起第一功能,了解其第二功能。 嚴(yán)格來講,80C52的控
15、制線還應(yīng)該包括P3口的第二功能。4. I/O引腳 80C52共有4個8位并行I/O端口,共32個引腳 1 P0口8位雙向I/O口。 在不并行擴展外存儲器 包括并行擴展I/O口 時, P0口可用作雙向I/O口。 在并行擴展外存儲器 包括并行擴展I/O口 時, P0口可用于分時傳送低8位地址 地址總線 和8位數(shù)據(jù)信號 數(shù)據(jù)總線 。位結(jié)構(gòu)如圖3-3所示。P0口能驅(qū)動8個LSTTL門。 圖3-3 P0口位結(jié)構(gòu) 2 P1口8位準(zhǔn)雙向I/O口 “準(zhǔn)雙向”是指該口內(nèi)部有固定的上拉電阻 。位結(jié)構(gòu)如圖3-4所示。 P1口能驅(qū)動為4個LSTTL門。圖 3-4 P1口位結(jié)構(gòu) 3 P2口8位準(zhǔn)雙向I/O口。在不并行擴
16、展外存儲器 包括并行擴展I/O口 時, P2口可用作雙向I/O口。在并行擴展外存儲器 包括并行擴展I/O口 時, P2口可用于傳送高8位地址 屬地址總線 。P2口能驅(qū)動4個LSTTL門。P2口的位結(jié)構(gòu)如圖3-5所示,引腳上拉電阻同P1口。在結(jié)構(gòu)上,P2口比P1口多一個輸出控制部分。圖 3-5 P2口位結(jié)構(gòu) 4 P3口8位準(zhǔn)雙向I/O口。可作一般I/O口用,同時P3口每一引腳還具有第二功能,用于特殊信號輸入輸出和控制信號 屬控制總線 。P3口驅(qū)動能力為4個LSTTL門。 圖 3-6 P3口位結(jié)構(gòu)P3口第二功能如下: P3.0RXD:串行口輸入端; P3.1TXD:串行口輸出端; P3.2INT0
17、:外部中斷0請求輸入端; P3.3INT1:外部中斷1請求輸入端 P3.4T0:定時/計數(shù)器0外部信號輸入端; P3.5T1:定時/計數(shù)器1外部信號輸入端; P3.6WR:外RAM寫選通信號輸出端; P3.7RD:外RAM讀選通信號輸出端。上述4個I/O口,各有各的用途。 在不并行擴展外存儲器 包括并行擴展I/O口 時, 4個I/O口都可作為雙向I/O口用。在并行擴展外存儲器 包括并行擴展I/O口 時, P0口專用于分時傳送低8位地址信號和8位數(shù)據(jù)信號,P2口專用于傳送高8位地址信號。P3口根據(jù)需要常用于第二功能,真正可提供給用戶使用的I/O口是P1口和一部分未用作第二功能的P3口端線。(三)
18、模塊設(shè)計1.單片機與P0口排阻,本設(shè)計主要的硬件80C52以及上拉電阻連接線路圖。2.USB供電電路部分,從外部引入5V的直流電,按下S1可以為單片機、復(fù)位電路提供電源。3. 復(fù)位電路,復(fù)位電路主要由型號為10UF/16V的電解電容,10K,1K的電阻以及按鍵S22構(gòu)成,RST接芯片的相應(yīng)引腳RST,構(gòu)成上電復(fù)位和手動復(fù)位。上電復(fù)位是經(jīng)過電容和10K的電阻上電以后就進行復(fù)位。手動復(fù)位是當(dāng)開關(guān)S22按下時給引腳RST為高電平1,斷開時引腳為低電平0。4. 顯示模塊設(shè)計(1)LCD顯示模塊LCD顯示器分為字段顯示和字符顯示兩種。其中字段顯示與LED顯示相似,只要送對應(yīng)的信號到相應(yīng)的管腳就能顯示。字
19、符顯示是根據(jù)需要顯示基本字符。本設(shè)計采用的是字符型顯示。系統(tǒng)中采用LCD1602作為顯示器件輸出信息與傳統(tǒng)的LED數(shù)碼管顯示器件相比,液晶示模塊具有體積小、功耗低、顯示內(nèi)容豐富等優(yōu)點,而且不需要外加驅(qū)動電路,現(xiàn)在液晶顯示模塊已經(jīng)是單片機應(yīng)用設(shè)計中最常用的顯示器件了。LCD1602可以顯示2行16個漢字。LCD1602模塊的引腳如圖所示,其引腳功能如下:RS:數(shù)據(jù)和指令選擇控制端,RS 0命令狀態(tài);RS 1數(shù)據(jù)R/W:讀寫控制線,R/W 0寫操作;R/W 1讀操作A:背光控制正電源 K:背光控制地E:數(shù)據(jù)讀寫操作控制位,E線向LCD模塊發(fā)送一個脈沖,LCD模塊與單片機間將進行一次數(shù)據(jù)交換DB0D
20、B7:數(shù)據(jù)線,可以用8位連接,也可以只用高4位連接,節(jié)約單片機資源。VDD:電源端 VEE:亮度控制端(1-5V) VSS:接地端圖LCD1602模塊LCD1602的顯示操作四種基本操作LCD有四種基本操作具LCD與單片機之間有四種基本操作RSR/W操作00寫命令操作 初始化,光標(biāo)定位等 01讀狀態(tài)操作 讀忙標(biāo)志位 10寫數(shù)據(jù)操作 要顯示內(nèi)容 11讀數(shù)據(jù)操作 可以把顯示存儲區(qū)中的數(shù)據(jù)反讀出來 1 讀狀態(tài)字執(zhí)行讀狀態(tài)字操作,如表3-1滿足RS 0,R/W 1。根據(jù)管腳功能,當(dāng)為有效電平時,狀態(tài)命令字可從LCD模塊傳輸?shù)綌?shù)據(jù)總線。同時可以保持一段時間,從而實現(xiàn)讀狀態(tài)字的功能。讀狀態(tài)字流.1所示。.
21、1讀入狀態(tài)字流程圖 2 命令字.2所示為命令字,其主要介紹了指令名稱、控制信號及控制代碼。其指令名稱是指要實現(xiàn)的功能;控制代號是采用的十六進制的數(shù)值表示的。1清零操作是指輸入某命令字后即能將整個屏幕顯示的內(nèi)容全部清除;2歸home位:將光標(biāo)送到初始位;其中的號為任意,高低電平均可;3輸入方式:設(shè)光標(biāo)移動方向并指定整體顯示,是否移動。I/D 0:減量方式,S 1:移位方式,S 0:不移位;4顯示狀態(tài):D指設(shè)置整體顯示開關(guān);C指設(shè)置光標(biāo)顯示開關(guān);B指設(shè)置光標(biāo)的字符閃耀;5光標(biāo)畫面滾動:R/L指右移或左移;S/C指移動總體或光標(biāo);6功能設(shè)置:DL接口數(shù)位,L指顯示行數(shù),F(xiàn)顯示字型;如DL 1:8位
22、0,4位N 1:2行 0:1行G 1:510 0:57 點陣 7CGRAM地址設(shè)制:相當(dāng)于一個數(shù)據(jù)庫,可以在其中選擇所需要的符號;8DDRAM地址設(shè)制:顯示定位;9讀BF和AC:B為最高位忙的標(biāo)志,F(xiàn)為標(biāo)志位;10寫數(shù)據(jù):將數(shù)據(jù)按要求寫入到對應(yīng)的單元;11讀數(shù)據(jù):讀相應(yīng)單元內(nèi)的數(shù)據(jù);.2命令字 3 寫命令字.2可知當(dāng)RS 0,R/W 0時,才可以通過單片機或用戶指令把數(shù)據(jù)寫到LCD模塊,此時就對LCD進行調(diào)制??刹捎貌樵兎绞剑合茸x入狀態(tài)字,再判斷忙標(biāo)志位,最后寫命令字。.3所示為寫命令字的流程圖。.3寫命令字流程圖1定義光標(biāo)位置顯示數(shù)據(jù)的某位,就是把顯示數(shù)據(jù)寫在相應(yīng)的DDRAM地址中,DDRA
23、M地址占7位。SetDDRAMaddress命.4所示。光標(biāo)定位,寫入一個顯示字符后,DDRAM地址會自動加1或減1,加或減由輸入方式設(shè)置。.4Set DDRAM address命令RSR/WDB7DB6DB5DB4DB3DB2DB1DB0001AC6AC5AC4AC3AC2AC1AC0第1行DDRAM地址與第2行DDRAM地址并不連.4.4DDRAM地址row12345141516line180H81H82H83H84H8dH8eH8fHline20c0H0c1H0c2H0c3H0c4H0cdH0ceH0cfH2LCD初始化從通電開始延時,先經(jīng)過判忙后再進行功能設(shè)置,過一段時間后可以設(shè)制顯示
24、狀態(tài)(如設(shè)制行、位或陣列)再經(jīng)過延時清屏后才可以設(shè)置輸入方式,具體實現(xiàn)過.5所示。.5LCD初始化流程圖LCD顯示程序的設(shè)計一般先要確定LCD的初始化、光標(biāo)定位、確定顯示字符后,.6顯示。.6LCD顯示程序流程圖 單片機工作的時間基準(zhǔn)是由時鐘電路提供的,在單片機的XTAL1和XYAL2兩個管腳接一只晶振及兩只電容就構(gòu)成了單片機的時鐘電路,電路中電容器和對振蕩頻率有微調(diào)作用,通常取 3010 pF石英晶體選擇6MH或12MHMHz只是為計算串口通信的波特率精準(zhǔn))都可以。時鐘電路如圖所示 ,在單片機的FM管腳接蜂鳴器電路,電路中 ,分別連接單片機的對應(yīng)口,本設(shè)計中的時鐘調(diào)節(jié)只用到了S9,S13,S
25、17來調(diào)節(jié)時鐘進行時鐘的調(diào)節(jié)。(注:調(diào)節(jié)時,如果調(diào)節(jié)按鍵不起作用,就是下載的USB口拔掉方可調(diào)節(jié),因為那是鍵盤接口和下載口連接電路有沖突。)第四章 系統(tǒng)軟件設(shè)計(一)軟件程序流程根據(jù)需要,可將系統(tǒng)軟件按照功能劃分為4個模塊,分別是主程序模塊、液晶顯示模塊、中斷服務(wù)程序模塊,各模塊的功能關(guān)系如圖4-1所示。編寫系統(tǒng)軟件時,可首先編寫各模塊的底層驅(qū)動程序,而后是系統(tǒng)聯(lián)機調(diào)試,編寫上層主程序。圖41結(jié)合電路,程序的總體思路是:1、點復(fù)位鍵后,進行時間顯示,從0時0分0秒開始。2、按下功能鍵時,進行功能選擇,此時按下時,光標(biāo)閃爍,并且每次按下都伴隨著“滴”的一聲,同時按下功能鍵四次就會重新走時,下同。
26、3、按下增大鍵時進行增大調(diào)整,每次按下伴隨蜂鳴器響。4、按減小鍵時進行減小調(diào)整,同樣,每次按下時也伴隨著蜂鳴器響。(二)程序設(shè)計步驟在程序設(shè)計過程中,我遇到了很多困難,這部分也是讓我學(xué)到很多東西的地方。首先,我學(xué)習(xí)了定時器的相關(guān)知識,計數(shù)器的使用是很重要的組成部分,在這個設(shè)計中選擇計數(shù)器T0。T0的工作方式有:方式0:不推薦方式1:16位計數(shù)器,常用方式2:自動重裝初值的8位定時/計數(shù)器方式3:T0相當(dāng)于兩個獨立的8位定時/計數(shù)器此程序采用方式1,方式1的定時時間t為t 216-M *12/fosc。其中M為定時器初值,fosc為12MHz(本設(shè)計用的11.0592MHz),若M0t 6553
27、6*12/2*106 65.536ms。因此可取50ms為計時單位,初值M應(yīng)為50*10-3*106 216-M。M 15536 1XXXXXXXXXX000 3CB0。即定時器初值為 TH0 65536-50000 /256;TL0 65536-50000 %256;定時器中斷20次為一秒,這部分在中斷程序中用到。其次,我參看了文獻中的設(shè)計思路,做到胸有成竹后再進行具體的程序書寫工作。認(rèn)真學(xué)習(xí)了教科書中關(guān)于C語言編程的問題,熟悉了C語言的編程方法和語法習(xí)慣。第三步就是進行具體的程序編寫工作。(三)程序的主要模塊1.延遲程序在液晶顯示時,必然用到延遲程序,這里使用延遲50ms的程序,此程序需要
28、反復(fù)調(diào)用。此段程序是很簡單的,但就是在這段簡單的程序上,也會出現(xiàn)問題。void delay uint xms uint i,j; for i xms;i 0;i- for j 110;j 0;j- ; 2. 1602液晶讀寫程序void write_com uchar com rs 0; lcden 0; P0 com; delay 5 ; lcden 1; delay 5 ; lcden 0; void write_date uchar date rs 1; lcden 0; P0 date; delay 5 ; lcden 1; delay 5 ; lcden 0; void write_
29、shifenmiao uchar add,uchar date uchar shi,ge; shi date/10; ge date%10; write_com 0x80+0x40+add ; write_date 0x30+shi ; write_date 0x30+ge ; 3. 初始化程序void init uchar num;rd 0;dula 0;wela 0;lcden 0;shi 0;fen 0;miao 0;count 0;s1num 0;init_24c02 ;write_com 0x38 ;write_com 0x0c ;write_com 0x06 ;write_com
30、0x01 ; write_com 0x80 ;for num 0;num 15;num+ write_date tablenum ;delay 5 ; write_com 0x80+0x40+6 ; write_date : ; delay 5 ; write_com 0x80+0x40+9 ; write_date : ; delay 5 ; shi read_add 3 ; fen read_add 2 ; miao read_add 1 ; write_shifenmiao 4,shi ; write_shifenmiao 7,fen ; write_shifenmiao 10,miao
31、 ; TMOD 0x01; TH0 65536-50000 /256; TL0 65536-50000 %256; EA 1; ET0 1; TR0 1; 4.按鍵掃描程序void keyscan if s1 0 delay 5 ;if s1 0 s1num+;while !s1 ; di ; if s1num 1 TR0 0;write_com 0x80+0x40+10 ;write_com 0x0f ;/光標(biāo)閃爍 if s1num 2 write_com 0x80+0x40+7 ; if s1num 3 write_com 0x80+0x40+4 ; if s1num 4 s1num 0;
32、 write_com 0x0c ;TR0 1; / if s1num! 0 if s2 0 delay 5 ;if s2 0 while !s2 ; di ; if s1num 1 miao+; if miao 60 miao 0; write_shifenmiao 10,miao ; write_com 0x80+0x40+10 ; write_add 1,miao ; if s1num 2 fen+; if fen 60 fen 0; write_shifenmiao 7,fen ; write_com 0x80+0x40+7 ; write_add 2,fen ; if s1num 3
33、shi+; if shi 24 shi 0; write_shifenmiao 4,shi ; write_com 0x80+0x40+4 ; write_add 3,shi ; / / if s1num! 0 if s3 0 delay 5 ; if s3 0 while !s3 ; di ; if s1num 1 miao-; if miao -1 miao 59; write_shifenmiao 10,miao ; write_com 0x80+0x40+10 ; write_add 1,miao ; if s1num 2 fen-; if fen -1 fen 59; write_s
34、hifenmiao 7,fen ; write_com 0x80+0x40+7 ; write_add 2,fen ; if s1num 3 shi-; if shi -1 shi 23; write_shifenmiao 4,shi ; write_com 0x80+0x40+4 ; write_add 3,shi ; 5.主程序void main init ;while 1 keyscan ; 6.定時器中斷程序void timer0 interrupt 1 TH0 65536-50000 /256;TL0 65536-50000 %256;count+;if count 20 count
35、 0;miao+; if miao 60 miao 0;fen+;if fen 60 fen 0;shi+;if shi 24 shi 0; write_add 3,shi ;write_shifenmiao 4,shi ; write_add 2,fen ;write_shifenmiao 7,fen ; write_add 1,miao ;write_shifenmiao 10,miao ; 7. 2c402.h的EEPROM的操作函數(shù)程序#include24c02.h/ /bit write 0;sbit sda P20;sbit scl P21;void delay0 ; void s
36、tart sda 1;delay0 ;scl 1;delay0 ;sda 0;delay0 ; void stop sda 0;delay0 ;scl 1;delay0 ;sda 1;delay0 ; void respons uchar i;scl 1;delay0 ;while sda 1 & i 250 i+;scl 0;delay0 ; void init_24c02 sda 1;delay0 ;scl 1;delay0 ; void write_byte uchar date uchar temp,i; temp date;for i 0;i 8;i+ temp temp 1;scl
37、 0;delay0 ;sda CY;delay0 ;scl 1;delay0 ; scl 0;delay0 ;sda 1;delay0 ; uchar read_byte uchar k,i; scl 0;delay0 ;sda 1;delay0 ;for i 0;i 8;i+ scl 1;delay0 ; k k 1 |sda; scl 0; delay0 ; return k; void write_add uchar adress,uchar date start ;write_byte 0xa0 ;respons ;write_byte adress ;respons ;write_b
38、yte date ;respons ;stop ; char read_add uchar adress uchar date;start ;write_byte 0xa0 ;respons ;start ;write_byte adress ;respons ;start ;write_byte 0xa1 ;respons ;date read_byte ;stop ;return date ; /20C02*/第五章 設(shè)計總結(jié)本設(shè)計能夠很準(zhǔn)確的走時,并能夠通過硬件對時鐘進行時間調(diào)整。附件都給予明確的顯示。功能介紹:顯示 第一行: X(分別顯示 .星期)第二行:XX:XX:XX(分別顯示 )
39、 2.時間可調(diào):功能鍵(S9)按下時,伴隨著蜂鳴器“滴”的響聲,當(dāng)按鍵松開時蜂鳴器才不再發(fā)出聲音。增大鍵(S13)按下時,光標(biāo)閃爍的位置進行增大,蜂鳴器的工作如同功能鍵的按下時的工作。繼續(xù)按下減小鍵(S17)按下時,光標(biāo)閃爍的位置進行減小,蜂鳴器的工作如同功能鍵的按下時的工作。當(dāng)功能鍵按下四次,返回到正常顯示狀態(tài)。下載線和電源線插接說明:本實驗都采用兩個USB進行下載操作以及電源的供電操作,下載采用STC_ISP_V3.1軟件進行下載。調(diào)試要點:首先確保板子上各器件的完好性,檢查無誤后插上AT89S52并燒寫本程序的“電子時鐘.hex”,根據(jù)顯示現(xiàn)象調(diào)試程序直至成功。上電運行時,1602LCD
40、液晶開始顯示00:00:00,時鐘開始走時。制作心得:在這次課程設(shè)計的調(diào)試過程中,我遇到很多問題,但是經(jīng)過自己以及老師,朋友的幫助下調(diào)試好自己的程序。該電路缺少整點報時及鬧鐘功能,由于能力和時間問題只能到此為止,很是遺憾,但在查找資料的過程中學(xué)到了許多,同時在協(xié)作過程中增進同學(xué)間的友誼。參考文獻(References):1 張毅剛新編MCS51單片機應(yīng)用設(shè)計哈爾濱工業(yè)大學(xué)出版社20032 譚浩強C程序設(shè)計 清華大學(xué)出版社19913 郭天祥新概念51單片機C語言教程 電子工業(yè)出版社2009.14 楊欣等電子設(shè)計從零開始M 清華大學(xué)出版社2005-105 邱關(guān)源電路M 高等教育出版社2003-2致
41、 謝首先感謝我的論文指導(dǎo)老師趙鵬老師,我的論文是在他的悉心指導(dǎo)下完成的。趙老師嚴(yán)謹(jǐn)細(xì)致、一絲不茍的作風(fēng)一直是我工作、學(xué)習(xí)中的榜樣,他循循善誘的教導(dǎo)和不拘一格的思路給予我無盡的啟迪。其次我要感謝我的系主任白世昌老師,在我求學(xué)的三年期間,無論是在學(xué)習(xí)還是在生活上,白老師和趙老師都給了我無微不至的關(guān)心。他們正直樂觀的人格魅力一直感染著我,這必將激勵我在今后的工作和生活中不斷前進。再次我要感謝一直陪同我走完大學(xué)三年求學(xué)之路的應(yīng)用電子班所有的兄弟姐妹們,謝謝他們平時對我無微不至的照顧和關(guān)心。我很高興能生活在一個互助友愛和充滿活力的集體中,從他們的身上我學(xué)到了很多,同時他們給我的大學(xué)生活留下了許多美好的回
42、憶。最后,我要特別感謝我的父母。在我求學(xué)的過程中他們付出的不僅僅是辛勤的勞動和汗水,而是世界上最崇高、最偉大的愛。他們所做的一切是我這一生都無法回報的。真誠感謝給予我熱情幫助和關(guān)注的所有人。附件1 實驗板顯示時鐘附件2 時鐘調(diào)節(jié)顯示狀態(tài) 15 16 26 振蕩器及時序 OSC8052CPU程序存儲器4KB ROM數(shù)據(jù)存儲器256B3個16位定時器/計數(shù)器64K總線擴展控制器可編程I/O可編程全雙工串行口VCC地址/數(shù)據(jù)控制鎖存器P0.XDCPQQMUXV1V2P0.X引腳讀鎖存器寫鎖存器內(nèi)部總線讀引腳&1VCC鎖存器P1.XDCPQQP1.X引腳讀鎖存器寫鎖存器內(nèi)部總線讀引腳內(nèi)部上拉電阻鎖存器P2.XDCPQQ讀鎖存器寫鎖存器內(nèi)部總線讀引腳VCCP2.X引腳內(nèi)部上拉電阻1地址控制MUXVSS VDD VO RS R/W E DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 A KLCD 模 塊1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16系統(tǒng)主程序液晶管顯示24C02自動保護程序護程序中斷服務(wù).
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商業(yè)銀行理財產(chǎn)品托管業(yè)務(wù)培訓(xùn)
- 任務(wù)四 數(shù)字萬用表電子課件 中職 《電子測量儀器及應(yīng)用》高教版
- 八級物理全冊第八章第一節(jié)壓力的作用效果習(xí)題課件新滬科20032143
- 八級物理上冊1.3長度和時間測量的應(yīng)用 粵教滬科
- XX招商依山郡3號線公寓空看報告
- 平頂山天意項目價格確定與營銷控制
- 某樓盤二期營銷診斷PPT課件
- 7第七章政府采購合同及項目的
- 數(shù)據(jù)庫技術(shù)與應(yīng)用-第06講數(shù)據(jù)庫權(quán)限與角色管理
- 期末復(fù)習(xí)專項一----詞語..課件
- 有機玻璃演示文稿、要點課件
- 財務(wù)會計-費用的涉稅處理
- 初一數(shù)學(xué)下冊3.1認(rèn)識三角形
- 初一上冊第六課大自然的色彩
- 廣州開發(fā)區(qū)二小學(xué)