單片機(jī)課程設(shè)計(jì)_基于89C51的數(shù)字電子時(shí)鐘的設(shè)計(jì)(共28頁)_第1頁
單片機(jī)課程設(shè)計(jì)_基于89C51的數(shù)字電子時(shí)鐘的設(shè)計(jì)(共28頁)_第2頁
單片機(jī)課程設(shè)計(jì)_基于89C51的數(shù)字電子時(shí)鐘的設(shè)計(jì)(共28頁)_第3頁
單片機(jī)課程設(shè)計(jì)_基于89C51的數(shù)字電子時(shí)鐘的設(shè)計(jì)(共28頁)_第4頁
單片機(jī)課程設(shè)計(jì)_基于89C51的數(shù)字電子時(shí)鐘的設(shè)計(jì)(共28頁)_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 課程設(shè)計(jì)單片機(jī)系統(tǒng)(xtng)課 程 設(shè) 計(jì)成績(chngj)評定表設(shè)計(jì)(shj)課題 基于89C51的數(shù)字電子時(shí)鐘設(shè)計(jì) 學(xué)院名稱 : 電氣工程學(xué)院 專業(yè)班級 : 學(xué)生姓名 : 學(xué) 號 : 指導(dǎo)教師 : 設(shè)計(jì)地點(diǎn) : 設(shè)計(jì)時(shí)間 : 指導(dǎo)教師意見:成績: 簽名: 年 月 日單片機(jī)系統(tǒng)(xtng)課 程 設(shè) 計(jì)課程設(shè)計(jì)名稱(mngchng): 基于89C51的數(shù)字電子時(shí)鐘(shzhng)設(shè)計(jì) 專 業(yè) 班 級 : 學(xué) 生 姓 名 : 學(xué) 號 : 指 導(dǎo) 教 師 : 課程設(shè)計(jì)地點(diǎn)(ddin): 課程設(shè)計(jì)時(shí)間(shjin): 2014-01-012015-01-12 單片機(jī)系統(tǒng)(xtng) 課程設(shè)計(jì)任

2、務(wù)書學(xué)生姓名 專業(yè)班級學(xué)號題 目課題性質(zhì)工程設(shè)計(jì)課題來源自擬指導(dǎo)教師主要內(nèi)容(參數(shù))利用89C51設(shè)計(jì)數(shù)字電子時(shí)鐘,實(shí)現(xiàn)以下功能:1開機(jī)時(shí)顯示00-00-00,并開始連續(xù)計(jì)時(shí);2記時(shí)滿23-59-59時(shí),返回00-00-00重新開始計(jì)時(shí);3在單片機(jī)的P1.0P1.3口分別接入4個(gè)按鍵,P1.0P1.2分別用于“秒”“分”“時(shí)”的調(diào)整,P1.3用做復(fù)位鍵。任務(wù)要求(進(jìn)度)第1-2天:熟悉課程設(shè)計(jì)任務(wù)及要求,查閱技術(shù)資料,確定設(shè)計(jì)方案。第3-4天:按照確定的方案設(shè)計(jì)單元電路。要求畫出單元電路圖,元件及元件參數(shù)選擇要有依據(jù),各單元電路的設(shè)計(jì)要有詳細(xì)論述。第5-6天:軟件設(shè)計(jì),編寫程序。第7-8天:實(shí)

3、驗(yàn)室調(diào)試。第9-10天:撰寫課程設(shè)計(jì)報(bào)告。要求內(nèi)容完整、圖表清晰、文理流暢、格式規(guī)范、方案合理、設(shè)計(jì)正確,篇幅不少于6000字。主要參考資料1 張迎新等.單片微型計(jì)算機(jī)原理、應(yīng)用與接口技術(shù).北京:國防工業(yè)出版社,2009.8;2 謝維成等.單片機(jī)原理與運(yùn)用及匯編程序設(shè)計(jì).北京:清華大學(xué)出版社2006.8;3周潤景,劉曉霞等.單片機(jī)實(shí)用系統(tǒng)設(shè)計(jì)與仿真經(jīng)典實(shí)例.北京:電子工業(yè)出版社,2014.1;4夏路易,石宗義.Protel 99sSE設(shè)計(jì)教程.北京:北京希望電子出版社.2002.6。審查意見系(教研室)主任簽字: 年 月 日 目錄(ml) TOC o 1-3 h z u HYPERLINK l

4、 _Toc408946040 1 引言(ynyn)5 HYPERLINK l _Toc408946041 2 設(shè)計(jì)(shj)目的5 HYPERLINK l _Toc408946042 3 系統(tǒng)方案與總體結(jié)構(gòu)設(shè)計(jì)5 HYPERLINK l _Toc408946043 3.1系統(tǒng)方案設(shè)計(jì)5 HYPERLINK l _Toc408946044 3.2數(shù)字時(shí)鐘框圖設(shè)計(jì)6 HYPERLINK l _Toc408946046 4數(shù)字時(shí)鐘的硬件構(gòu)成8 HYPERLINK l _Toc408946047 4.1 選用芯片簡介8 HYPERLINK l _Toc408946049 4.2 LED數(shù)碼顯示器簡介1

5、2 HYPERLINK l _Toc408946051 5各個(gè)模塊工作原理及原理圖12 HYPERLINK l _Toc408946052 5.1計(jì)時(shí)模塊13 HYPERLINK l _Toc408946053 5.2數(shù)字時(shí)鐘控制模塊13 HYPERLINK l _Toc408946054 5.3振蕩模塊14 HYPERLINK l _Toc408946055 5.4顯示模塊14 HYPERLINK l _Toc408946056 6系統(tǒng)軟件設(shè)計(jì)15 HYPERLINK l _Toc408946057 6.1軟件設(shè)計(jì)的要點(diǎn)(yodin)15 HYPERLINK l _Toc408946058

6、6.2 AT89C51內(nèi)部(nib)定時(shí)器/計(jì)數(shù)器0的使用(shyng)方法15 HYPERLINK l _Toc408946059 6.3 程序設(shè)計(jì)流程圖16 HYPERLINK l _Toc408946060 7系統(tǒng)調(diào)試與總結(jié)17 HYPERLINK l _Toc408946061 7.1電路調(diào)試17 HYPERLINK l _Toc408946062 7.2軟件調(diào)試17 HYPERLINK l _Toc408946063 8結(jié)論與心得18 HYPERLINK l _Toc408946064 附錄A系統(tǒng)原理圖18 HYPERLINK l _Toc408946065 附錄B 源程序20 HY

7、PERLINK l _Toc408946066 參考文獻(xiàn)261 引言數(shù)字時(shí)鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的裝置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,無機(jī)械裝置,具有更長的使用壽命。數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字時(shí)鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘表,使其得到了廣泛的使用。該課程設(shè)計(jì)為數(shù)字電子鐘的設(shè)計(jì)。以AT89C51為核心,配合8位7段共陰極LED數(shù)碼管顯示實(shí)時(shí)數(shù)據(jù),按鍵可以進(jìn)行數(shù)據(jù)調(diào)整,為用戶提供長期、連續(xù)、可靠、穩(wěn)定的工作環(huán)境。該數(shù)字電子鐘有時(shí)分秒顯示功能以及時(shí)間的調(diào)整的功能。系統(tǒng)軟件設(shè)計(jì)主要實(shí)現(xiàn)參數(shù)設(shè)置、串行口數(shù)據(jù)接收、指令發(fā)送以及數(shù)據(jù)的顯示和存儲,并且實(shí)現(xiàn)

8、鍵盤、液晶顯示器等各模塊的功能,采用匯編語言編程。關(guān)鍵詞: 數(shù)字電子鐘單片機(jī)匯編語言 2 設(shè)計(jì)(shj)目的深化和擴(kuò)充在單片機(jī)原理及相關(guān)課程方面的基本知識、基本理論和基本技能熟悉設(shè)計(jì)過程,了解設(shè)計(jì)步驟,掌握(zhngw)設(shè)計(jì)內(nèi)容,培養(yǎng)設(shè)計(jì)電路、實(shí)現(xiàn)軟件編程和編寫設(shè)計(jì)說明書能力的目的,為今后從事相關(guān)方面的實(shí)際工作打下良好基礎(chǔ)。(1)熟悉(shx)AT89C51內(nèi)部定時(shí)器/計(jì)數(shù)器原理和應(yīng)用,把理論加以實(shí)踐;(2)了解使用單片機(jī)處理復(fù)雜邏輯的方法;(3)掌握多位數(shù)碼動態(tài)顯示的方法;(4)掌握多個(gè)按鍵的讀鍵和處理方法。3 系統(tǒng)方案與總體結(jié)構(gòu)設(shè)計(jì)3.1系統(tǒng)方案設(shè)計(jì)系統(tǒng)采用通用的80C51芯片,顯示器為8

9、個(gè)共陰極LED數(shù)碼管,用1個(gè)八總線接收/發(fā)送器74LS245驅(qū)動數(shù)碼管,因?yàn)椴捎昧松鲜鰞蓚€(gè)芯片,所以在對數(shù)碼管進(jìn)行掃描顯示時(shí),只需要單片機(jī)的8條I/O線就能完成顯示功能了。 選用P0.0-P0.7作為顯示數(shù)據(jù)值的輸出,連接在八總線接收/發(fā)送器74LS245輸入端。由于LED數(shù)據(jù)管點(diǎn)亮?xí)r耗電量較大,因此使用了排阻作為電源驅(qū)動輸出,以保證數(shù)碼管的正常亮度。單片機(jī)的P1.0-P1.4口分別接在S1S4 4個(gè)按鍵上,以控制“時(shí)”,“分”,“秒”的調(diào)整。時(shí)間以24小時(shí)為一個(gè)周期,數(shù)字時(shí)鐘鐘的格式為:XX-XX-XX,由左向右分別為:“時(shí)-分-秒”(由于沒有采用小數(shù)點(diǎn),符號 “-”為分隔“時(shí)”“分”“秒”

10、的分隔符)。完成顯示由秒加1,一直加1至59,再恢復(fù)為00;分加1,一直加1至59,再恢復(fù)00;時(shí)加1,一直加1至23,再恢復(fù)00。* 按鍵功能* 啟動時(shí),數(shù)字時(shí)鐘從00-00-00 開始自動計(jì)時(shí); 按鍵(n jin)S1控制對“秒”的調(diào)整(tiozhng),每按一次時(shí)計(jì)數(shù)值加1; 按鍵(n jin)S2控制對“分”的調(diào)整,每按一次分計(jì)數(shù)值加1; 按鍵S3控制對“時(shí)”的調(diào)整,每按一次秒計(jì)數(shù)值加1; 按鍵S4用做復(fù)位鍵,在計(jì)時(shí)過程中,如果按下復(fù)位鍵,則返回00-00-00重新計(jì)時(shí)。3.2數(shù)字時(shí)鐘框圖設(shè)計(jì)數(shù)字時(shí)鐘總體結(jié)構(gòu)框圖設(shè)計(jì)如圖3-1所示。圖3-1 數(shù)字時(shí)鐘設(shè)計(jì)框圖 用AT89C51單片機(jī)的定

11、時(shí)器/計(jì)數(shù)器T0產(chǎn)生1s的定時(shí)時(shí)間,作為秒計(jì)數(shù)時(shí)間,當(dāng)1s產(chǎn)生時(shí),秒計(jì)數(shù)加1開始計(jì)時(shí)。顯示00-00-00的時(shí)間,開始計(jì)時(shí);P1.0口控制“秒”的調(diào)整,每次按鍵加1s;P1.1口控制“分”的調(diào)整,每按一次按鍵加1min;P1.2口控制“時(shí)”的調(diào)整,每按一次加1h。計(jì)時(shí)滿23-59-59時(shí),返回00-00-00重新計(jì)時(shí)。P1.3口用作復(fù)位鍵,在計(jì)時(shí)過程中,如果按下復(fù)位鍵,則返回00-00-00重新計(jì)時(shí)。 3.2.1計(jì)時(shí)模塊:用AT89C51單片機(jī)的定時(shí)器/計(jì)數(shù)器T0產(chǎn)生1s的定時(shí)時(shí)間,作為秒計(jì)數(shù)時(shí)間;當(dāng)1s產(chǎn)生時(shí),秒計(jì)數(shù)加1,當(dāng)加到60s時(shí)向分鐘位進(jìn)一位,當(dāng)分鐘位加到60時(shí),向時(shí)鐘位進(jìn)一;開機(jī)時(shí)

12、,顯示(xinsh)00-00-00,并開始連續(xù)計(jì)時(shí);計(jì)時(shí)滿23-59-59時(shí),返回(fnhu)00-00-00重新開始計(jì)時(shí)。3.2.2數(shù)字時(shí)鐘(shzhng)控制模塊:在以上設(shè)計(jì)基礎(chǔ)上,在單片機(jī)的P1.0P1.3口分別接入4個(gè)按鍵。P1.0口控制“秒”的調(diào)整,每次按鍵加1s;P1.1口控制“分”的調(diào)整,每按一次按鍵加1min;P1.2口控制“時(shí)”的調(diào)整,每按一次加1h;P1.3口用作復(fù)位鍵控制,在計(jì)時(shí)過程中,如果按下復(fù)位鍵,則返回00-00-00重新計(jì)時(shí)。3.2.3振蕩模塊:晶體振蕩器電路給數(shù)字時(shí)鐘提供一個(gè)頻率穩(wěn)定準(zhǔn)確的12MHz的方波信號,不管是指針式的電子鐘還是數(shù)字顯示的電子鐘都使用了晶

13、體振蕩器電路。3.2.4顯示模塊:顯示電路采用8位7段共陰極LED數(shù)碼管顯示實(shí)時(shí)數(shù)據(jù),采用74LS245增加I/O口的驅(qū)動能力。4數(shù)字時(shí)鐘的硬件構(gòu)成4.1 選用芯片簡介 4.1.1 89C51簡介AT89C51是一種帶4K字節(jié)FLASH存儲器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機(jī),其引腳圖如圖4-1所示。AT89C51提供以下標(biāo)準(zhǔn)功能:4k 字節(jié)Flash 閃速存儲器,128字節(jié)內(nèi)部RAM,32 個(gè)I/O 口線,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量兩級中斷結(jié)構(gòu),一個(gè)全雙工串

14、行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。1.管腳說明(shumng)VCC:供電(n din)電壓。GND:接地(jid)。P0口:P0口為一個(gè)8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P0口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)F

15、IASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須接上拉電阻。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為低八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存

16、儲器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號和控制信號。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表所示:2.口管腳 備選功能P3.0 RXD(串行輸入(shr)口)P3.1 TXD(串行輸出(shch)口)P3.2

17、/INT0(外部(wib)中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(定時(shí)器0外部輸入)P3.5 T1(定時(shí)器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問外部存儲器時(shí),地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時(shí)目的。然而要注

18、意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時(shí),這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序

19、存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘(shzhng)工作電路的輸入。XTAL2:來自反向(fn xin)振蕩器的輸出。 圖4-1 89C51單片機(jī)引腳圖4.1.2 74LS245簡介(jin ji) HYPERLINK l _Toc167014042 74LS245是我們常用的芯片,用來驅(qū)動led或者其他的設(shè)備,它是8路同相三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù),其引腳圖如圖4-5。當(dāng)片選端/CE有效時(shí),74LS245的輸入/輸出方向由DIR控制。74LS245還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。其工作方式如

20、表4-1所示。 表4-1 74LS245的工作方式控制信號數(shù)據(jù)傳輸方向/EDIRLLBALHABLX高阻 由表4-1可知,當(dāng)8051單片機(jī)的P0口總線負(fù)載達(dá)到或超過P0最大負(fù)載能力時(shí),必須接入74LS245等總線驅(qū)動器。當(dāng)片選端/CE低電平有效時(shí),DIR=“0”,信號由 B 向 A 傳輸(接收);DIR=“1”,信號由 A向 B 傳輸(發(fā)送);當(dāng)/CE為高電平時(shí),A、B均為高阻態(tài)。由于P2口始終輸出地址的高8位,接口時(shí)74LS245的三態(tài)控制端1G和2G接地,P2口與驅(qū)動器輸入線對應(yīng)相連。P0口與74LS245輸入端相連,E端接地,保證數(shù)據(jù)線暢通。8051的/RD和/PSEN相與后接DIR,使

21、得RD且PSEN有效時(shí),74LS245輸入(P0.1D1),其它時(shí)間處于輸出(P0.1D1)。圖4.3 74LS245管腳圖 若將DIR接固定TTL邏輯電平(高或低),則74LS245變?yōu)閱蜗蚓彌_器,但這種方式是極少采用的。一般都是使用它的雙向輸出功能。為此,DIR必須可控,使其根據(jù)(gnj)需要變?yōu)楦唠娖交虻碗娖?,并與/E相結(jié)合控制數(shù)據(jù)傳輸方向。在單片機(jī)系統(tǒng)中,可采用讀信號或者寫信號實(shí)現(xiàn)控制。當(dāng)/WR有效時(shí)數(shù)據(jù)通過74LS245的B(B0B7)端輸入,由(A1A8)輸出;當(dāng)/RD有效時(shí)數(shù)據(jù)由A端輸入,B端輸出。由此可見,由于74LS245芯片具有雙向緩沖和驅(qū)動作用,很適合作單片機(jī)的數(shù)據(jù)總線的

22、收發(fā)器。4.2 LED數(shù)碼(shm)顯示器簡介LED數(shù)碼顯示器是1種由LED發(fā)光二極管組合顯示字符的顯示器件。它使用(shyng)了8個(gè)LED發(fā)光二極管,其中7個(gè)用于顯示字符,1個(gè)用于顯示小數(shù)點(diǎn),在本設(shè)計(jì)中用不到小數(shù)點(diǎn),故不予考慮。LED數(shù)碼顯示器有兩種連接方法。 (1)共陽極接法。把發(fā)光二極管的陽極連在一起構(gòu)成公共陽極,使用時(shí)公共陽極接+5V,每個(gè)發(fā)光二極管的陰極通過電阻與輸入端相連。當(dāng)陰極端輸入低電平時(shí),段發(fā)光二極管就導(dǎo)通點(diǎn)亮,而輸入高電平時(shí)則不點(diǎn)亮。(2)共陰極接法。把發(fā)光二極管的陰極連在一起構(gòu)成公共陰極,使用時(shí)公共陰極接地。每個(gè)發(fā)光二極管的陽極通過電阻與輸入端相連。當(dāng)陽極端輸入高電平時(shí)

23、,段發(fā)光二極管就導(dǎo)通點(diǎn)亮,而輸入低電平時(shí)則不點(diǎn)亮。在本設(shè)計(jì)中所采用的是共陰極LED數(shù)碼顯示器,其引腳排列如圖7所示: (b)圖4-4 (a)典型LED數(shù)碼(shm)顯示器 (b) 典型LED數(shù)碼顯示器共陰極、共陽極接法5各個(gè)模塊(m kui)工作原理及原理圖用AT89C51單片機(jī)的定時(shí)器/計(jì)數(shù)器T0產(chǎn)生1s的定時(shí)時(shí)間,作為秒計(jì)數(shù)時(shí)間,當(dāng)1s產(chǎn)生時(shí),秒計(jì)數(shù)加1開始(kish)計(jì)時(shí)。顯示00-00-00的時(shí)間,開始計(jì)時(shí);P1.0口控制“秒”的調(diào)整,每次按鍵加1s;P1.1口控制“分”的調(diào)整,每按一次按鍵加1min;P1.2口控制“時(shí)”的調(diào)整,每按一次加1h。計(jì)時(shí)滿23-59-59時(shí),返回00-00

24、-00重新計(jì)時(shí)。P1.3口用作復(fù)位鍵,在計(jì)時(shí)過程中,如果按下復(fù)位鍵,則返回00-00-00重新計(jì)時(shí)。5.1計(jì)時(shí)模塊用AT89C51單片機(jī)的定時(shí)器/計(jì)數(shù)器T0產(chǎn)生1s的定時(shí)時(shí)間,作為秒計(jì)數(shù)時(shí)間;當(dāng)1s產(chǎn)生時(shí),秒計(jì)數(shù)(j sh)加1,當(dāng)加到60s時(shí)向分鐘位進(jìn)一位,當(dāng)分鐘位加到60時(shí),向時(shí)鐘位進(jìn)一;開機(jī)時(shí),顯示(xinsh)00-00-00,并開始連續(xù)計(jì)時(shí);計(jì)時(shí)滿23-59-59時(shí),返回00-00-00重新(chngxn)開始計(jì)時(shí)。5.2數(shù)字時(shí)鐘控制模塊在以上設(shè)計(jì)基礎(chǔ)上,在單片機(jī)的P1.0P1.3口分別接入4個(gè)按鍵S1、S2、S3、S4??刂颇K的原理圖如圖5-1P1.0口控制“秒”的調(diào)整,每次按鍵

25、加1s,;P1.1口控制“分”的調(diào)整,每按一次按鍵加1min;P1.2口控制“時(shí)”的調(diào)整,每按一次加1h;P1.3口用作復(fù)位鍵控制,在計(jì)時(shí)過程中,如果按下復(fù)位鍵,則返回00-00-00重新計(jì)時(shí)。 圖5-1 數(shù)字時(shí)鐘控制模塊原理圖5.3振蕩模塊晶體振蕩器電路給數(shù)字時(shí)鐘提供一個(gè)頻率穩(wěn)定準(zhǔn)確的12MHz的方波信號,不管是指針式的電子鐘還是數(shù)字顯示的電子鐘都使用了晶體振蕩器電路振蕩模塊的原理圖如圖5-2。圖5-2 振蕩(zhndng)模塊電路原理圖5.4顯示(xinsh)模塊 顯示電路采用8位7段共陰極LED數(shù)碼管顯示實(shí)時(shí)數(shù)據(jù)(shj),采用74LS245增加I/O口的驅(qū)動能力。圖5-3顯示模塊電路原

26、理圖6系統(tǒng)軟件(x tn run jin)設(shè)計(jì)6.1軟件設(shè)計(jì)的要點(diǎn)(yodin)由于電路設(shè)計(jì)得極其巧妙,許多(xdu)功能都可以由硬件完成,因此軟件設(shè)計(jì)就比較簡單了。下面介紹軟件設(shè)計(jì)的要點(diǎn):主程序:首先進(jìn)行初始化,設(shè)置數(shù)字時(shí)鐘的計(jì)時(shí)初值為00-00-00,啟動T0進(jìn)行50ms定時(shí),且允許T0中斷。然后檢測S1S4是否按下,當(dāng)按鍵S1S4按下時(shí),轉(zhuǎn)入時(shí)、分、秒計(jì)數(shù)值的調(diào)整程序。定時(shí)器T0中斷子程序:中斷服務(wù)子程序的作用是進(jìn)行時(shí)、分、秒的計(jì)時(shí)與顯示。定時(shí)器T0用于定時(shí),定時(shí)周期設(shè)為50ms,中斷累計(jì)20次(即1s)。時(shí)、分、秒計(jì)數(shù)值調(diào)整子程序TIME:時(shí)間計(jì)數(shù)單元在30H(s),31H(min),

27、32H(h)內(nèi)存單元中,在計(jì)數(shù)單元中采用組合BCD碼計(jì)數(shù)。TIME子程序的作用是當(dāng)滿1秒時(shí),對秒計(jì)數(shù)單元進(jìn)行加1操作,滿60向分進(jìn)位;對分計(jì)數(shù)單元進(jìn)行加1操作,滿60向時(shí)進(jìn)位;對時(shí)計(jì)數(shù)單元進(jìn)行加1操作,滿24清零。顯示子程序VIEW:VIEW子程序的作用是分別將時(shí)間計(jì)數(shù)單元30H(s),31H(min),32H(h)中的十進(jìn)制時(shí)間值轉(zhuǎn)化為個(gè)位和十位存放在顯示緩沖區(qū)中,顯示緩沖區(qū)地址為30H-34H。其中30H-31H存放秒數(shù)據(jù),31H-32H存放分?jǐn)?shù)據(jù),33H-33H存放時(shí)數(shù)據(jù)。掃描子程序SCAN:SCAN子程序的作用是把顯示緩沖區(qū)中的數(shù)據(jù)依次送往顯示器顯示。,所以用10H和40H單元存放掃描

28、指針,即10H和40H中存放的是數(shù)碼管的序號,顯示時(shí),只需取出30H-34H某一地址中的數(shù)據(jù),P0口作為掃描值輸出,就能保證數(shù)碼管的正常工作。 6.2 AT89C51內(nèi)部定時(shí)器/計(jì)數(shù)器0的使用方法AT89C51單片機(jī)的內(nèi)部16位定時(shí)/計(jì)數(shù)器是一個(gè)可編程定時(shí)/計(jì)數(shù)器,它既可以工作在13位定時(shí)方式,也可以工作在16位的定時(shí)方式或8位的定時(shí)方式,只要通過特殊功能寄存器TMOD即可完成。定時(shí)/計(jì)數(shù)器何時(shí)工作也是通過TCON特殊功能寄存器來設(shè)置的。在本課程設(shè)計(jì)中,選擇16位定時(shí)工作方式。對于T0來說,系統(tǒng)時(shí)鐘為12MHZ,最大定時(shí)時(shí)間65.536ms,無法達(dá)到(d do)1s的定時(shí),因此必須通過軟件處理

29、來解決這個(gè)問題。假設(shè)取T0的最大定時(shí)時(shí)間為50ms。既要定時(shí)1s的需要經(jīng)過20次的50ms定時(shí)。對于這20次計(jì)數(shù),可采用軟件的方法來統(tǒng)計(jì)。設(shè)定(sh dn)TMOD=00000001H,即設(shè)置定時(shí)/計(jì)數(shù)器0工作在方式1。給定時(shí)/計(jì)數(shù)器T0的TH0、TL0預(yù)置初值,通過(tnggu)下面的公式可以計(jì)算出來,即 TH0=(65536-50000)/256 TL0=(65536-50000)MOD 256這樣,當(dāng)定時(shí)/計(jì)數(shù)器0計(jì)滿50ms時(shí),產(chǎn)生一個(gè)中斷,可以在中斷服務(wù)程序中對中斷次數(shù)加以統(tǒng)計(jì),以實(shí)現(xiàn)數(shù)字鐘的邏輯功能。6.3 程序設(shè)計(jì)流程圖 綜合以上內(nèi)容設(shè)計(jì)出數(shù)字鐘程序設(shè)計(jì)流程圖,如圖6-1所示。

30、圖6-1 數(shù)字鐘程序設(shè)計(jì)(chn x sh j)流程圖7系統(tǒng)調(diào)試(dio sh)與總結(jié)7.1電路(dinl)調(diào)試把相應(yīng)編譯好的目標(biāo)源程序代碼加載到單片機(jī)芯片AT89C51,可接+5V電壓電源即開始進(jìn)行硬件電路的調(diào)試工作。如果顯示結(jié)果不符合設(shè)計(jì)要求,即檢查代碼程序是否符合硬件電路的設(shè)計(jì),若有錯(cuò)即進(jìn)行相應(yīng)的修改,編譯后,再進(jìn)行硬件電路的調(diào)試工作。如此反復(fù)操作,直到調(diào)試出正確的結(jié)果。7.2軟件調(diào)試(1)在計(jì)算機(jī)上運(yùn)行程序調(diào)試軟件Keill,進(jìn)行程序調(diào)試,若顯示0錯(cuò)誤(S), 0警告(S)即證明程序代碼正確。(2)在Protel軟件畫好的電路原理圖中加載程序代碼到單片機(jī)芯片AT89C51中,進(jìn)行模擬仿

31、真。若出現(xiàn)錯(cuò)誤,查看錯(cuò)誤后進(jìn)行相應(yīng)的修改(xigi)再進(jìn)行調(diào)試與模擬仿真,直到調(diào)試出正確的結(jié)果。系統(tǒng)調(diào)試完成之后,系統(tǒng)上電進(jìn)行功能測試,通過測試觀察(gunch)到,系統(tǒng)上電后數(shù)碼管上顯示時(shí)間:00-00-00。按下S1鍵進(jìn)行(jnxng)“秒”的調(diào)整,每次按鍵加1s如圖按S1兩次,LED數(shù)碼管由00-00-00顯示為00-00-02,如圖7-1所示 圖7-1 系統(tǒng)由初始狀態(tài)進(jìn)行秒調(diào)整兩次后的仿真圖按下S3鍵進(jìn)行“時(shí)”的調(diào)整,每按一次加1h;按下S4鍵進(jìn)行復(fù)位鍵控制,在計(jì)時(shí)過程中,按下復(fù)位鍵,則返回00-00-00重新計(jì)時(shí)。通過測試,本設(shè)按下S2鍵進(jìn)行“分”的調(diào)整,每按一次按鍵加1min;計(jì)實(shí)

32、現(xiàn)了數(shù)字電子鐘的基本功能,且系統(tǒng)工作穩(wěn)定。8結(jié)論與心得本單片機(jī)數(shù)字電子鐘系統(tǒng)的功能顯示格式為XX-XX-XX即時(shí)-分-秒,采用24小時(shí)制顯示,并且設(shè)置4個(gè)獨(dú)立式按鍵進(jìn)行時(shí)間的調(diào)整,并且可以按自己的要求設(shè)置擴(kuò)展小鍵盤個(gè)數(shù),經(jīng)過測試,系統(tǒng)的可靠性基本上能夠達(dá)到數(shù)字電子鐘的設(shè)計(jì)要求,同時(shí)本單片機(jī)數(shù)字電子鐘系統(tǒng)具有擴(kuò)展性。課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識,發(fā)現(xiàn)實(shí)際問題、提出實(shí)際問題、分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對學(xué)生實(shí)際學(xué)習(xí)能力、動手能力的具體訓(xùn)練和考察過程。在此次課程設(shè)計(jì)中,在學(xué)習(xí)新知識的同時(shí),把在課程中學(xué)到的理論和知識運(yùn)用到了實(shí)踐中去,更進(jìn)一步地熟悉掌握(zhngw)了單片機(jī)的

33、結(jié)構(gòu)及掌握了其工作原理和具體的使用方法與相關(guān)元件的計(jì)算方法、使用方法,了解了電路的開發(fā)和制作及課程設(shè)計(jì)報(bào)告的的編寫。加深了相關(guān)理論知識及專業(yè)知識的掌握度,增強(qiáng)了自身的動手能力,鍛煉及提高了理解問題、分析問題、解決問題、的能力,更深刻的體會到了理論聯(lián)系實(shí)際的重要性,進(jìn)一步掌握畫圖軟件的使用和提高相應(yīng)的畫圖操作水平及技巧。附錄(fl)A系統(tǒng)原理圖附錄(fl)B 源程序【匯編語言(hu bin y yn)源程序代碼】 S_SET BIT P1.0 ;數(shù)字(shz)秒控制位M_SET BIT P1.1 ;分控制位H_SET BIT P1.2 ;小時(shí)控制位RESET BIT P1.3 ;復(fù)位鍵SECON

34、D EQU 30HMINUTE EQU 31HHOUR EQU 32HTCNT EQU 34H ORG 00H SJMP START ORG 00H LIMP INT_T0START: MOV DPTR,#TABLEMOV HOUR,#0MOV MINUTE,#0MOV SECOND,#0MOV TCNT,#0MOV TMOD,#01HMOV TH0,#(65536-50000)/256 ;定時(shí)50msMOV TLO,# (65536-50000)MOD256MOV IE,#82HSETB TR0;*;判斷是否有控制鍵按下,若有鍵按下,掃描是哪個(gè)鍵按下;*A1:LCALL DISPLAY MO

35、V P1,#0FFHJNB S_SET,S1JNB M_SET,S2JNB H_SET,S3JNB RESET,RESETLJMP A1S1: LCALL DELAY ;去抖動(dudng)JB S_SET,A1INC SECOND ;秒值加1LCALL DISPLAYMOV A,SECONDCJNE A,#60,J0 ;判斷(pndun)是否加到60sMOV SECOND,#0LJMP K1S2: LCALL DELAYJB M_SET,A1K1:INC MINUTE ;分鐘值加1MOV A,MINUTECJNE A,#60,J1;判斷(pndun)是否加到60分鐘MOV MINUTE,#0LJMP K2S3: LCALL DELAYJB H_SET,A1K2:INC HOURMOV A,HOURCJNE A,#24,J2 ;判斷是否加到24hMOV HOUR,#0MOV MINUTE,#0MOV SECONG,#0LJMP A1;*;等待(dngdi)鍵釋放;*J0:JB S_SET,A1LCALL DISPLAYSJMP JOJ1:JB M_SET,A1LCALL DISPLAYSJMP J1J2:JB H_SET,A1LCALL DISPLAYSJMP J2;*;定時(shí)器中斷(zhng

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論