基于單片機(jī)的可調(diào)電子鐘的設(shè)計(jì)(共26頁)_第1頁
基于單片機(jī)的可調(diào)電子鐘的設(shè)計(jì)(共26頁)_第2頁
基于單片機(jī)的可調(diào)電子鐘的設(shè)計(jì)(共26頁)_第3頁
基于單片機(jī)的可調(diào)電子鐘的設(shè)計(jì)(共26頁)_第4頁
基于單片機(jī)的可調(diào)電子鐘的設(shè)計(jì)(共26頁)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上編號(hào): 基礎(chǔ)工程設(shè)計(jì)題 目: 基于單片機(jī)設(shè)計(jì)的可調(diào)電子時(shí)鐘 院 (系): 信息與通信學(xué)院 專 業(yè): 微電子科學(xué)與工程 學(xué)生姓名: 盧 鏡 學(xué) 號(hào): 指導(dǎo)教師: 宋保林 2016 年 1 月 6 日 摘 要本人設(shè)計(jì)的是一個(gè)以單片機(jī)STC89C52為核心部件的電子鐘,結(jié)合LCD液晶顯示屏。可以在液晶屏上顯示時(shí)間和字符,并可任意調(diào)整時(shí)間。本來想用數(shù)碼管來顯示,但是想到數(shù)碼管僅能顯示數(shù)字,所以采用了液晶顯示屏。它不僅能顯示數(shù)字,還能顯示字符。它的計(jì)時(shí)周期為24小時(shí),顯滿刻度為“23時(shí)59分59秒”。文中詳細(xì)論述了可調(diào)電子鐘設(shè)計(jì)原理、使用的各芯片的介紹,闡明了本實(shí)例所使用的設(shè)計(jì)

2、方案、詳細(xì)的電路圖以及程序。本文編寫的主導(dǎo)思想是軟硬件相結(jié)合,以硬件為基礎(chǔ),來進(jìn)行各功能模塊的編寫。本系統(tǒng)以單片機(jī)的C語言進(jìn)行軟件設(shè)計(jì),并著重介紹了所應(yīng)用的各硬件接口技術(shù)和各個(gè)接口模塊的功能及工作過程,其次,詳細(xì)闡述了程序的各個(gè)模塊和實(shí)現(xiàn)過程,并且還進(jìn)行了軟件仿真調(diào)試和硬件調(diào)試。關(guān)鍵詞:單片機(jī)STC89C52 ;可調(diào)電子鐘;液晶顯示;仿真目 錄摘要4結(jié)語謝辭前 言電子時(shí)鐘是現(xiàn)代電子技術(shù)在時(shí)鐘領(lǐng)域的具體實(shí)現(xiàn)方式。時(shí)鐘,自從它發(fā)明的那天起,就成為我們的朋友,但隨著時(shí)間的推移,科學(xué)技術(shù)的不斷發(fā)展,人們對(duì)時(shí)間計(jì)量的精度要求越來越高,應(yīng)用越來越廣。這就要求人們不斷設(shè)計(jì)出新型時(shí)鐘。現(xiàn)今,高精度的計(jì)時(shí)工具大

3、多數(shù)都使用了石英晶體振蕩器,由于電子時(shí)鐘采用了石英技術(shù),因此走時(shí)精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)校,數(shù)字式電子時(shí)鐘用集成電路計(jì)時(shí)時(shí),譯碼代替機(jī)械式傳動(dòng),用LCD顯示器代替指針顯示時(shí)間,減小了計(jì)時(shí)誤差,這種表具有時(shí),分,秒顯示時(shí)間的功能,還可以進(jìn)行時(shí)、分、秒的校對(duì)。電子時(shí)鐘廣泛應(yīng)用于個(gè)人家庭,車站,碼頭辦公室等公共場(chǎng)所,成為人們常生活中不可缺少的必需品,給人們的生活帶來極大的方便 。隨著社會(huì)不斷的發(fā)展,科學(xué)技術(shù)不斷的進(jìn)步,單片機(jī)的問世和飛速發(fā)展掀起了計(jì)算機(jī)工程應(yīng)用的一場(chǎng)新革命,使計(jì)算機(jī)技術(shù)沖破了實(shí)驗(yàn)室和機(jī)房的界限,廣泛地應(yīng)用于工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、自動(dòng)測(cè)試系統(tǒng)、智能儀表和接口以及各

4、類功能模塊等廣闊的領(lǐng)域。單片機(jī)應(yīng)用系統(tǒng)已經(jīng)成為實(shí)現(xiàn)許多控制系統(tǒng)的常規(guī)性工具。我們說,單片機(jī)開辟了計(jì)算機(jī)應(yīng)用的一個(gè)新時(shí)代是并不過分的。單片機(jī)的發(fā)展歷史雖然只有短短20年,但由于計(jì)算機(jī)科學(xué)和微電子集成技術(shù)的飛速發(fā)展,單片機(jī)自身也在不斷地向更高層次和更大規(guī)模發(fā)展。世界各大半導(dǎo)體廠商紛至沓來爭(zhēng)先擠入這一市場(chǎng),激烈的市場(chǎng)競(jìng)爭(zhēng)也促進(jìn)了單片機(jī)迅速更新?lián)Q代,帶來了它們更為廣泛的應(yīng)用。由于單片機(jī)應(yīng)用系統(tǒng)的高可靠性,硬、軟件的高利用系數(shù),優(yōu)異的性能價(jià)格比,使它的應(yīng)用范圍由開始傳統(tǒng)的過程控制,逐步進(jìn)入數(shù)值處理、數(shù)字信號(hào)處理以及圖像處理等高技術(shù)領(lǐng)域。我們?cè)诒敬蔚脑O(shè)計(jì)中廣泛用到了單片機(jī)的應(yīng)用系統(tǒng)。本文提出了一種基于ST

5、C89C52單片機(jī)的可調(diào)電子鐘設(shè)計(jì)方案,本方案以STC89C52單片機(jī)作為主控核心,按鍵、LCD液晶顯示等模塊組成硬件系統(tǒng)。在硬件系統(tǒng)中設(shè)有獨(dú)立按鍵和LCD顯示器,能顯示豐富的信息,根據(jù)使用者的需要可以隨時(shí)對(duì)時(shí)間進(jìn)行校準(zhǔn)、選擇時(shí)間等,綜上所述此電子鐘具有讀取方便、顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點(diǎn),符合電子儀器儀表的發(fā)展趨勢(shì),具有廣闊的市場(chǎng)前景。第1章 設(shè)計(jì)說明 1.1 設(shè)計(jì)目的和內(nèi)容 本系統(tǒng)開機(jī)時(shí)液晶屏顯示00:O0:O0開始計(jì)時(shí),用三個(gè)電位按鍵來實(shí)現(xiàn)對(duì)電子時(shí)鐘的調(diào)試工作,當(dāng)按第一下總控鍵時(shí)進(jìn)入時(shí)鐘的調(diào)整狀態(tài),有兩個(gè)電位按鍵分別來調(diào)整時(shí)鐘的時(shí)、分、秒加一減一,它的計(jì)時(shí)周期為24

6、小時(shí),顯滿刻度為“23時(shí)59分59秒”。本課題所研究的電子鐘是單片機(jī)控制技術(shù)的一個(gè)具體應(yīng)用,主要研究內(nèi)容包括以下幾個(gè)方面:(1)選用電子鐘芯片時(shí),應(yīng)重點(diǎn)考慮功能實(shí)在、使用方便、單片存儲(chǔ)、低功耗、抗斷電的器件。(2)根據(jù)選用的芯片設(shè)計(jì)外圍電路。(3)在硬件設(shè)計(jì)時(shí),結(jié)構(gòu)要盡量簡單實(shí)用、易于實(shí)現(xiàn),使系統(tǒng)電路盡量簡單。(4)根據(jù)設(shè)計(jì)的硬件電路,編寫控制STC89C52芯片的單片機(jī)程序。(5)通過編程、編譯、調(diào)試,把程序下載到單片機(jī)上運(yùn)行,并實(shí)現(xiàn)本設(shè)計(jì)的功能。(6)在硬件電路和軟件程序設(shè)計(jì)時(shí),主要考慮提高人機(jī)界面的友好性,方便用戶操作等因素。(7)軟 件設(shè)計(jì)時(shí)必須要有完善的思路,要做到程序簡單,調(diào)試方便

7、。1.2 設(shè)計(jì)方案選擇單片機(jī)電子鐘的制作有多種方法,可供選擇的器件和運(yùn)用的技術(shù)也有很多種。所以,系統(tǒng)的總體設(shè)計(jì)方案應(yīng)在滿足系統(tǒng)功能的前提下,充分考慮系統(tǒng)使用的環(huán)境,所選的結(jié)構(gòu)要簡單使用、易于實(shí)現(xiàn),器件的選用著眼于合適的參數(shù)、穩(wěn)定的性能、較低的功耗以及低廉的成本。單片機(jī)模塊的選擇:由于STC89C52單片機(jī)片內(nèi)有8K字節(jié)的在線編程Flash存儲(chǔ)器,可多次擦寫,具有掉電模式,而且具有掉電狀態(tài)下的中斷恢復(fù)功能,對(duì)設(shè)計(jì)開發(fā)非常實(shí)用。所以選用STC89C52單片機(jī)作為可調(diào)電子鐘芯片的控制單片機(jī)。時(shí)鐘模塊的選擇:直接采用單片機(jī)定時(shí)計(jì)數(shù)器提供秒信號(hào),使用程序?qū)崿F(xiàn)時(shí)、分、秒計(jì)數(shù)。采用此種方案減少芯片的使用,節(jié)

8、約成本。顯示模塊的選擇:數(shù)碼管亮度高、體積小、重量輕,但其顯示信息簡單、有限,需要驅(qū)動(dòng),使用復(fù)雜,在本題目中應(yīng)用受到很大的限制。液晶顯示功耗低,輕便防震。采用液晶顯示界面友好清晰,操作方便,顯示信息豐富。 按鍵模塊的選擇:為了使系統(tǒng)電路更簡單,按鍵只設(shè)計(jì)了3個(gè),分別是 “設(shè)置” 、“+” 、“-” ,用來設(shè)置及調(diào)整系統(tǒng)的時(shí)鐘。1.3 設(shè)計(jì)總體框圖數(shù)字電子鐘設(shè)計(jì)框圖如圖1-1所示:顯示電路時(shí)鐘電路STC89C51AT按鍵電路圖1-1 系統(tǒng)總統(tǒng)框圖第2章 系統(tǒng)主要硬件設(shè)計(jì)2. 單片機(jī)主控模塊2.1.1 STC89C52芯片簡介單片機(jī)是微型機(jī)的一個(gè)主要分支,在結(jié)構(gòu)上的最大特點(diǎn)是把CPU、存儲(chǔ)器、定時(shí)

9、器和多種輸入/輸出接口電路集成在一塊超大規(guī)模集成電路芯片上。就其組成和功能而言,一塊單片機(jī)芯片就是一臺(tái)計(jì)算機(jī)。它是一種高性能、低功耗的8位CMOS微處理芯片,市場(chǎng)應(yīng)用最多。8KB Flash ROM,可以擦除1000次以上,數(shù)據(jù)保存10年。2.1.2 封裝和引腳說明STC89C52單片機(jī)為雙列直插式(DIP)芯片,是最常用的有總線擴(kuò)展引腳的DIP40封裝。如圖2-1所示。(1) .電源及時(shí)鐘引腳Vcc:接入電源Vss:接地XTAL1和XTAL2:時(shí)鐘引腳,外接晶體引線端。當(dāng)使用芯片內(nèi)部時(shí)鐘時(shí),此兩引腳端用于外接晶振和微調(diào)電容;當(dāng)使用外部時(shí)鐘時(shí),用于接外部時(shí)鐘脈沖信號(hào)。(2).控制線引腳RST:

10、RST是復(fù)位信號(hào)輸入端。ALE/PROG:地址鎖存允許信號(hào)輸入端。在存取外存儲(chǔ)器時(shí),用于鎖存低8位地址信號(hào)。當(dāng)單片機(jī)正常工作后,ALE端就周期性地以時(shí)鐘振蕩頻率的1/6固定頻率向外輸出正脈沖信號(hào)。此引腳的第2功能PROG是作為編程脈沖輸入端。PSEN:程序存儲(chǔ)器允許輸出端。CPU從外部程序存儲(chǔ)器取指令時(shí),PSEN信號(hào)會(huì)自動(dòng)產(chǎn)生負(fù)脈沖,作為外部程序存儲(chǔ)器的選通信號(hào)。EA/Vpp:程序存儲(chǔ)器地址允許輸入端。當(dāng)EA為高電平時(shí),CPU執(zhí)行片內(nèi)程序存儲(chǔ)器指令,但當(dāng)PC中的值超過0FFFH時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行片外程序存儲(chǔ)器指令;當(dāng)EA為低電平時(shí),CPU只執(zhí)行片外程序存儲(chǔ)器指令。(3) .并行I/O引腳P0.

11、0P0.7:P0口為8位雙向I/O口或地位地址/數(shù)據(jù)總線復(fù)用引腳。P1.0P1.7:P1口為8位雙向I/O口。P2.0P2.7:P2口為8位雙向I/O口或高位地址總線引腳。P3.0P3.7:P3口為8位雙向I/O口或第二功能引腳。P3口也可以作為一些特殊功能口,如表1所示。如圖2-1是單片機(jī)的功能引腳。圖2-1 是STC89C52單片機(jī)引腳封裝口管腳備選功能P3.0 RXD串行輸入口P3.1 TXD串行輸出口P3.2 /INT0外部中斷0P3.3 /INT1外部中斷1P3.4 T0記時(shí)器0外部輸入P3.5 T1記時(shí)器1外部輸入P3.6 /WR外部數(shù)據(jù)存儲(chǔ)器寫選通P3.7 /RD外部數(shù)據(jù)存儲(chǔ)器讀

12、選通表1 P3特殊功能口2.2 液晶顯示模塊液晶顯示模塊由于具有低功耗、 壽命長、 體積小、 顯示內(nèi)容豐富,價(jià)格低、 接口控制方便等優(yōu)點(diǎn),因此在各類電子產(chǎn)品中被極廣泛地推廣和應(yīng)用。 字符型液晶顯示模塊是一類專用于顯示字母、 數(shù)字、 符號(hào)等點(diǎn)陣式液晶顯示模塊。 針對(duì)目前電子鐘常采用LED作為顯示電路,造成硬件電路復(fù)雜、 功耗高、 產(chǎn)品體積龐大等特點(diǎn);本系統(tǒng)設(shè)計(jì)采用字符型液晶顯示模塊1602作為顯示器件,這樣不僅簡化了電路的硬件設(shè)計(jì),而且極大地提高了系統(tǒng)的可靠性。2.2.1 LCD1602模塊簡介LCD1602可以顯示2行16個(gè)字符,具有8位數(shù)據(jù)總線D0-D7,和RS、R/W、E三個(gè)控制端口,工作

13、電壓為5V,并且?guī)в凶址麑?duì)比度調(diào)節(jié)和背光設(shè)置。引腳介紹如下:第1腳:VSS為電源地,接GND。 第2腳:VDD接5V正電源。 第3腳:VL為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10歐的電位器調(diào)整對(duì)比度。 第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。 第5腳:RW為讀寫控制信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和RW共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平RW為低電平時(shí)可以寫入數(shù)據(jù)。 第6腳:E端為使能信號(hào)端,當(dāng)E端由

14、高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。 第714腳:D0D7為8位雙向數(shù)據(jù)線。 第15腳:BLA背光電源正極(+5V)輸入引腳。 第16腳:BLK背光電源負(fù)極,接GND。2.2.2 LCD1602的控制指令及操作流程1602液晶模塊內(nèi)部的控制器共有11條控制指令,。它的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。(說明:1為高電平、0為低電平),控制命令如表2所示。表2 11條控制指令指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置 指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H 指令3:光標(biāo)和顯示模式設(shè)置 I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右

15、移。高電平表示有效,低電平則無效。 指令4:顯示開關(guān)控制。 D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示 C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo) B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。 指令5:光標(biāo)或顯示移位 S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。 指令6:功能設(shè)置命令 DL:高電平時(shí)4位總線,低電平為8位總線 N:低電平為單行顯示,高電平時(shí)雙行顯示 F: 低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符。 指令7:字符發(fā)生器RAM地址設(shè)置指令8:DDRAM地址設(shè)置指令9:讀忙信號(hào)和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此

16、時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。 指令10:寫數(shù)據(jù) 指令11:讀數(shù)據(jù) LCD1602可以在8根I/O線上讀寫數(shù)據(jù),因此LCD的控制器接口有嚴(yán)格的通信協(xié)議來保證讀寫數(shù)據(jù)傳輸?shù)恼_性和完整性。1602字符LCD基本操作有以下四種:1.讀狀態(tài):輸入信號(hào):RS=0,RW=1,E=1 輸出信號(hào):D0D7=狀態(tài)字2.讀數(shù)據(jù):輸入信號(hào):RS=1,RW=1,E=1輸出信號(hào):D0D7=數(shù)據(jù)3.寫指令:輸入信號(hào):RS=0,RW=0,E=1-0 輸出信號(hào):D0D7=指令4.寫數(shù)據(jù):輸入信號(hào):RS=1,RW=0,E=1-0 輸出信號(hào):D0D7=數(shù)據(jù)2.3時(shí)鐘電路及按鍵電路2.3.1時(shí)鐘電路時(shí)鐘是單片

17、機(jī)的心臟,單片機(jī)各功能部件的運(yùn)行都是以時(shí)鐘頻率為基準(zhǔn),有條不紊的一拍一拍地工作。因此,時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。常用的時(shí)鐘電路有兩種方式:一種是內(nèi)部時(shí)鐘方式,另一種為外部時(shí)鐘方式。如圖2-2為內(nèi)部時(shí)鐘方式的電路圖。圖2-2 內(nèi)部時(shí)鐘方式本文用的是內(nèi)部時(shí)鐘方式(如圖2-4所示)。內(nèi)部時(shí)鐘方式只要在單片機(jī)的XTAL1和XTAL2引腳外接即可。圖中電容C1和C2的作用是穩(wěn)定頻率和快速起振,電容值為530pF,典型值為30pF。晶振CYS的振蕩頻率要小于12MHz,典型值為6MHz,12MHz或11.0592MHz。實(shí)際應(yīng)用中一般采用外接晶振的內(nèi)接電路。

18、2.3.2按鍵電路 按鍵的開關(guān)狀態(tài)通過一定的電路轉(zhuǎn)換為高、低電平狀態(tài)。按鍵閉合過程在相應(yīng)的I/O端口形成一個(gè)負(fù)脈沖。閉合和釋放過程都要經(jīng)過一定的過程才能達(dá)到穩(wěn)定,這一過程是處于高、低電平之間的一種不穩(wěn)定狀態(tài),稱為抖動(dòng)。抖動(dòng)持續(xù)時(shí)間的常長短與開關(guān)的機(jī)械特性有關(guān),一般在5-10ms之間。為了避免CPU多次處理按鍵的一次閉合,應(yīng)采用措施消除抖動(dòng)。本文采用的是獨(dú)立式按鍵,直接用I/O口線構(gòu)成單個(gè)按鍵電路,每個(gè)按鍵占用一條I/O口線,每個(gè)按鍵的工作狀態(tài)不會(huì)產(chǎn)生互相影響。它是整個(gè)系統(tǒng)中最簡單的部分,根據(jù)功能要求,本系統(tǒng)共需三個(gè)按鍵:功能移位鍵、功能加鍵、功能減鍵(如圖2-3所示)。 P1.0口表示功能移位

19、鍵,按鍵選擇要調(diào)整的時(shí)、分秒。 P1.1口表示數(shù)字“+“鍵,按一下則對(duì)應(yīng)的數(shù)字加1。 P1.2口表示數(shù)字“-”鍵,按一下則對(duì)應(yīng)的數(shù)字減1。圖2-3 三個(gè)按鍵的電路圖第三章 系統(tǒng)軟件設(shè)計(jì)3.1 系統(tǒng)程序流程圖 用51單片機(jī)(STC89C52)通過程序控制來產(chǎn)生時(shí)間信號(hào),利用P0端口使之顯示于LCD1602液晶顯示屏上,程序開始進(jìn)行標(biāo)識(shí)位初始化,對(duì)時(shí)鐘單元進(jìn)行初始化,開始讀取時(shí)間信息,通過讀取程序,液晶顯示器顯示時(shí)間,當(dāng)有按鍵按下時(shí)進(jìn)行鍵值的處理,沒有按鍵按下時(shí)則程序重新讀取時(shí)間信息。系統(tǒng)程序流程圖如圖3-1所示。圖3-1 系統(tǒng)程序流程圖3.2程序設(shè)計(jì)電子時(shí)鐘清單:設(shè)計(jì)電路所用的原件如圖3-2所示

20、。圖3-2 原件清單第四章 系統(tǒng)調(diào)試 一般調(diào)試都是在編寫代碼完之后用來驗(yàn)證電路的準(zhǔn)確與否,通過反復(fù)修改程序代碼來來使電路盡可能完善,但是單單依靠軟件來仿真并不能保證電路能實(shí)現(xiàn)想要的功能,因?yàn)檐浖抡娌⒉幌瘳F(xiàn)實(shí)的一樣。所以還要依靠硬件電路來實(shí)現(xiàn),不斷修改。4.1軟件調(diào)試部分使用ISIS和uVision4軟件來仿真,ISIS軟件是用來仿真電路圖,而uVision4用來編譯代碼和編寫代碼的。調(diào)試軟件:用軟件來調(diào)試查找編程上的錯(cuò)誤,可以比較好的修改電路和程序,使得電路能盡可能完善和正確。如圖4-1為電路連接圖在Proteus的接法。圖4-1 Proteus電路原理圖而uVision4用來檢查語法和編譯

21、上的錯(cuò)誤,用起來比較方便,它是和Proteus軟件相結(jié)合的,只有編譯沒有問題、正確后才能導(dǎo)入Proteus中得到正確的結(jié)果。如圖4-2是編譯檢查正確后的結(jié)果。圖4-2 Uvision4編寫程序其次,用Uvision4編寫程序,編譯無誤后生成HEX文件,通過在網(wǎng)上買的最小系統(tǒng)來燒錄程序,最小系統(tǒng)燒錄程序很簡單,只需插到電腦的USB接口,在網(wǎng)上下載燒錄STC系列的單片機(jī)的燒錄軟件,找到生成HEX文件,即可下載。如圖4-3為Proteus仿真出來后正確的結(jié)果。圖4-3 Proteus仿真結(jié)果4.2源代碼:#include#define uchar unsigned char #define uint

22、 unsigned intsbit lcdrs=P20; /液晶數(shù)據(jù)命令選擇端sbit lcswr=P21;/設(shè)置寫入端口sbit lcden=P22; /液晶使能端sbit s1=P10;sbit s2=P11;sbit s3=P12;uchar count,s1num;char miao,shi,fen;uchar code table= time; /第一行寫入uchar code table1= 00:00:00;/第二行寫入void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void write_com(uchar co

23、m)lcdrs=0;lcswr=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;void write_date(uchar date)lcdrs=1;lcden=0;P0=date;delay(5);lcden=1;delay(5);lcden=0;void init()uchar num; lcden=0;write_com(0x38); /設(shè)置16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù)接口write_com(0x0c);/設(shè)置開顯示,不顯示光標(biāo)write_com(0x06); /寫一個(gè)字符后的地址指針加1write_com(0x01); /顯示清零,數(shù)據(jù)指針清

24、零write_com(0x80);for(num=0;num15;num+)write_date(tablenum);delay(5);write_com(0x80+0x40);for(num=0;num12;num+)write_date(table1num);delay(5);TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;void write_sfm(uchar add,uchar date)uchar shi,ge;shi=date/10;ge=date%10;write_com(0x80+0

25、x40+add);write_date(0x30+shi);write_date(0x30+ge);void keyscan()rd=0;if(s1=0)delay(5);if(s1=0)s1num+;while(!s1);if(s1num=1)TR0=0;write_com(0x80+0x40+10);write_com(0x0f);if(s1num=2)write_com(0x80+0x40+7);if(s1num=3)write_com(0x80+0x40+4);if(s1num=4)s1num=0;write_com(0x0c);TR0=1;if(s1num!=0)if(s2=0)de

26、lay(5);if(s2=0)while(!s2);if(s1num=1)miao+;if(miao=60)miao=0;write_sfm(10,miao);write_com(0x80+0x40+10);if(s1num=2)fen+;if(fen=60)fen=0;write_sfm(7,fen);write_com(0x80+0x40+7);if(s1num=3)shi+;if(shi=24)shi=0;write_sfm(4,shi);write_com(0x80+0x40+4);if(s3=0)delay(5);if(s3=0)while(!s3);if(s1num=1)miao-

27、;if(miao=-1)miao=59;write_sfm(10,miao);write_com(0x80+0x40+10);if(s1num=2)fen-;if(fen=-1)fen=59;write_sfm(7,fen);write_com(0x80+0x40+7);if(s1num=3)shi-;if(shi=-1)shi=24;write_sfm(4,shi);write_com(0x80+0x40+4);void main()init();while(1)keyscan();void timer0() interrupt 1TH0=(65536-50000)/256;TL0=(655

28、36-50000)%256;count+;if(count=18)count=0;miao+;if(miao=60)miao=0;fen+;if(fen=60)fen=0;shi+;if(shi=24)shi=0;write_sfm(4,shi);write_sfm(7,fen);write_sfm(10,miao);4.3硬件調(diào)試因?yàn)镻CB用起來比較好看而且好連線,所以選擇用PCB來做,不過由于太久不使用DXP來做PCB了。4.3.1原理圖因?yàn)槭褂肞CB板來焊接電路,所以還會(huì)用DXP軟件,這個(gè)軟件里面必須先畫原理圖,如圖4-1為所設(shè)計(jì)的電路在原理圖中。圖4-1 原理圖4.3.2 PCB圖在原

29、理圖編譯沒有錯(cuò)誤后就可以直接導(dǎo)入到PCB工程中,生成設(shè)計(jì)電路的PCB圖,然后進(jìn)行布線排版,調(diào)到合適的位置后可以進(jìn)行自動(dòng)布線,不過也可以自己布線,但是必須設(shè)計(jì)好規(guī)則。如圖4-2是布線好的PCB圖。圖4-2 PCB圖4.3.3用跳線修改電路如下:由于仿真上的電路并不像想象中的那樣,所以我在硬件電路的原理圖中并沒有給LCD1602的1、2、3、和15、16接任何東西,所以做出來后液晶屏并沒有亮,后面查閱了一下資料,發(fā)現(xiàn)了這個(gè)嚴(yán)重的問題,后面用跳線來連接了,導(dǎo)致電路看起來并沒有原來的那么美觀,不過液晶屏能顯示時(shí)間了。并且能調(diào)節(jié)液晶屏的亮度和背光度。在原來基礎(chǔ)上把1腳接地,2腳接到電源上并和滑動(dòng)變阻器的一端接在一起,滑動(dòng)變阻器另一端接地,3腳接在滑動(dòng)變阻器的中間端,滑阻是用來調(diào)節(jié)液晶顯示屏的背

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論