倒計時單片機課設(shè)(共20頁)_第1頁
倒計時單片機課設(shè)(共20頁)_第2頁
倒計時單片機課設(shè)(共20頁)_第3頁
倒計時單片機課設(shè)(共20頁)_第4頁
倒計時單片機課設(shè)(共20頁)_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上學(xué) 號 天津城建大學(xué)單片機原理及接口技術(shù)課程設(shè)計設(shè)計說明書LCD1602顯示的倒計時裝置設(shè)計 起止日期: 2014 年 1 月 6 日 至 2014 年 1 月 17 日學(xué)生姓名彭建超班級10電信2班成績指導(dǎo)教師(簽字)計算機與信息工程學(xué)院2014年 1月 17日專心-專注-專業(yè)天津城建大學(xué)課程設(shè)計任務(wù)書20132014學(xué)年 第1學(xué)期計算機與信息工程學(xué)院 電子信息工程專業(yè) 班級 10電信2 學(xué)號 課程設(shè)計名稱: 單片機原理及接口技術(shù) 設(shè)計題目: LCD1602顯示的倒計時裝置設(shè)計 完成期限:自 2014 年 1 月 6 日至 2014 年 1 月 17 日共 2 周設(shè)

2、計依據(jù)、要求及主要內(nèi)容:一設(shè)計的目的1.進一步熟悉和掌握單片機系統(tǒng)設(shè)計和編程原理。2.掌握單片機的接口技術(shù)及相關(guān)外圍芯片的外特性、控制方法。3.通過設(shè)計,掌握以單片機核心的電路設(shè)計的基本方法和技術(shù)。4.通過實際程序設(shè)計和調(diào)試,掌握模塊化程序設(shè)計方法和調(diào)試技術(shù)。5.通過完成一個包括電路設(shè)計和程序開發(fā)的完整過程,了解開發(fā)單片機應(yīng)用系統(tǒng)的全過程,為今后從事相應(yīng)開發(fā)打下基礎(chǔ)。二設(shè)計的基本要求1.認真認識設(shè)計的意義,掌握設(shè)計工作程序,學(xué)會使用工具書和技術(shù)參考資料,并培養(yǎng)科學(xué)的設(shè)計思想和良好的設(shè)計作風(fēng)。2.提高模型建立和設(shè)計能力,學(xué)會應(yīng)用相關(guān)設(shè)計資料進行設(shè)計計算的方法。3.提高獨立分析、解決問題的能力,逐

3、步增強實際應(yīng)用訓(xùn)練。4.設(shè)計的說明書要求簡潔、通順,電路圖內(nèi)容完整、清楚、規(guī)范。三設(shè)計主要內(nèi)容a) 設(shè)計實現(xiàn)功能STC12C5A60S2(引腳排序及基本功能同AT89S51)作為主控芯片,設(shè)計利用LCD1602顯示時間和倒計時時間(最大99:59:59)的裝置。一是擴展DS12C887時鐘電路設(shè)計;二是利用LCD1602顯示時間和倒計時剩余時間;三是在倒計時時間減為零以后,進行加1時間顯示;四是設(shè)計啟動、暫停、停止按鍵。b) 原理圖設(shè)計1.原理圖設(shè)計要符合項目的工作原理,連線要正確。2.圖中所使用的元器件要合理選用,電阻、電容等器件的參數(shù)要正確標明。3.原理圖要完整,CPU、外圍器件、外擴接口

4、、輸入/輸出裝置要一應(yīng)俱全。c) 程序調(diào)計1.根據(jù)要求,將總體功能分解成若干個子功能模塊,每個功能模塊完成一個特定的功能。2.根據(jù)總體要求及分解的功能模塊,確定各功能模塊之間的關(guān)系,設(shè)計出完整的程序流程圖。d) 程序調(diào)試1.編寫相關(guān)程序,并進行仿真。2.將程序下載到單片機,進行運行調(diào)試。e) 設(shè)計說明書1.原理圖設(shè)計說明簡要說明設(shè)計目的,原理圖中所使用的元器件功能及在圖中的作用,各器件的工作過程及順序。2.程序設(shè)計說明對程序設(shè)計總體功能及結(jié)構(gòu)進行說明,對各子模塊的功能以及各子模塊之間的關(guān)系作較詳細的描述。3.畫出工作原理圖,程序流程圖并給出相應(yīng)的程序清單。指導(dǎo)教師(簽字): 教研室主任(簽字)

5、: 批準日期: 2014 年 1 月 2 日目 錄第一章 設(shè)計原理11.1 設(shè)計內(nèi)容11.2 設(shè)計思路說明11.3 設(shè)計原理框圖1第二章 硬件的選擇22.1 主控制芯片AT89S5122.1.1 主要性能特點22.1.2 管腳說明22.2 DS12C887時鐘芯片42.2.1 器件特性42.2.2 引腳功能52.3 LCD1602液晶顯示屏62.3.1 性能說明62.3.2 管腳功能及特性7第三章 軟件程序設(shè)計83.1 主程序模塊83.3 1602顯示模塊83.4 鍵盤輸入模塊103.2 DS12C887時鐘模塊10第四章 心得總結(jié)12第五章 參考文獻13附錄一(電路原理圖)14附錄二(C程序

6、)15第一章 設(shè)計原理1.1 設(shè)計內(nèi)容STC12C5A60S2(引腳排序及基本功能同AT89S51)作為主控芯片,設(shè)計利用LCD1602顯示時間和倒計時時間(最大99:59:59)的裝置。一是擴展DS12C887時鐘電路設(shè)計;二是利用LCD1602顯示時間和倒計時剩余時間;三是在倒計時時間減為零以后,進行加1時間顯示;四是設(shè)計啟動、暫停、停止按鍵。1.2 設(shè)計思路說明本文主要對使用單片機設(shè)計電子時鐘進行了分析,并介紹了基于單片機電子時鐘硬件組成。利用單片機為控制核心,以液晶屏LCD1602顯示器為顯示模塊,依靠DS12C887芯片高精度計時的特點,可以設(shè)計出一個具有顯示年月日,星期,時分秒,以

7、及定時鬧鐘功能為一體的高精度電子時鐘。并且本文分別從原理圖,主要芯片,以及程序的調(diào)試來詳細闡述。如果直接使用單片機進行定時、計時,那么單片機運行代碼時,難免會因環(huán)境、人為操作等因素導(dǎo)致時間不能準確,產(chǎn)生一定的誤差等,如果沒有特殊的方法,系統(tǒng)意外掉電時,時間數(shù)據(jù)會丟失,重啟系統(tǒng)時還需重設(shè)時間,所以本設(shè)計采取使用高精度計時芯片DS12C887方案。1.3 設(shè)計原理框圖 LCD液晶顯示倒計時器以AT89C52單片機為核心,起著控制作用,系統(tǒng)包括液晶顯示電路,按鍵電路,復(fù)位電路,DS12C887時鐘模塊和矩陣鍵盤電路。倒計時的總體框圖如下圖1.1所示: 圖1.1系統(tǒng)原理框圖第2章 硬件的選擇2.1 主

8、控制芯片AT89S51單片微型計算機是大規(guī)模集成電路技術(shù)發(fā)展的產(chǎn)物,屬第四代電子計算機,它具有高性能、高速度、體積小、價格低廉、穩(wěn)定可靠、應(yīng)用廣泛的特點。它的應(yīng)用必定導(dǎo)致傳統(tǒng)的控制技術(shù)從根本上發(fā)生變革。因此,單片機的開發(fā)應(yīng)用已成為高科技和工程領(lǐng)域的一項重大課題。AT89S51是一個低功耗,高性能CMOS 8位單片機,片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標準MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash

9、存儲單元,AT89S51在眾多嵌入式控制應(yīng)用系統(tǒng)中得到廣泛應(yīng)用。2.1.1 主要性能特點1、4k Bytes Flash片內(nèi);2、128 bytes的數(shù)據(jù)存儲器();3、32個外部雙向輸入/輸出(I/O)口;4、2個、2層中斷;5、5個;6、2個16位可編程/;7、2個全雙工口;8、()電路;9、片內(nèi)和;10、與MCS-51兼容;11、全靜態(tài)工作:0Hz-33MHz;12、三級保密鎖定;13、可編程串行通道;14、低功耗的閑置和掉電模式。2.1.2 管腳說明VCC:電源電壓輸入端。GND:。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定

10、義為輸入。P0能夠用于外部程序數(shù)據(jù),它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。 圖2.1 PDIP封裝的AT89S51管腳圖P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為低八位地址接收。P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管

11、腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部或16位地址存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)進行讀寫時,P2口輸出其的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和。P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口除了作為普通I/O口,還有第二功能:P3.0 RX

12、D(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部0)P3.3 /INT1(外部中斷1)P3.4 T0(T0的外部計數(shù)輸入)P3.5 T1(T1的外部計數(shù)輸入)P3.6 /WR(的寫選通)P3.7 /RD(的讀選通)P3口同時為閃爍編程和編程校驗接收一些。I/O口作為輸入口時有兩種工作方式,即所謂的讀端口與讀引腳。讀端口時實際上并不從外部讀入數(shù)據(jù),而是把端口的內(nèi)容讀入到,經(jīng)過某種運算或變換后再寫回到端口。只有讀端口時才真正地把外部的數(shù)據(jù)讀入到。89C51的P0、P1、P2、P3口作為輸入時都是。除了P1口外P0、P2、P3口都還有其他的功能。RST:復(fù)位輸入端,高電平有效

13、。當(dāng)復(fù)位器件時,要保持RST腳兩個的高電平時間。ALE/PROG:允許/脈沖信號端。當(dāng)訪問時,允許的用于鎖存地址的低位字節(jié)。在FLASH期間,此用于輸入脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令時ALE才起作用。另外,該被略微拉高。如果在外部執(zhí)行狀態(tài)ALE禁止,置位無效。PSEN:外部的選通信號,低電平有效。在由外部程序取指期間,每個兩次/PSEN有效。但在訪問存儲器時,這兩

14、次有效的/PSEN信號將不出現(xiàn)。EA/VPP:外部訪問允許。當(dāng)/EA保持低電平時,則在此期間外部(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:片內(nèi)反相放大器和時鐘發(fā)生器的輸入端。XTAL2:片內(nèi)反相放大器的輸出端。2.2 DS12C887時鐘芯片2.2.1 器件特性DS12C887 實時時鐘芯片功能豐富,可 以用來直接代替 IBM PC 上的時鐘日DS12887,同時,它的管腳也和 MCB、DS12887 相兼容。由于

15、DS12C887 能夠自動產(chǎn)生世紀、 年、月、日、時、分、秒等時間信息,其內(nèi) 部又增加了世紀寄存器,從而利用硬件電路 解決子“千年”問題;DS12C887 中自帶有鋰電 池,外部掉電時,其內(nèi)部時間信息還能夠保 持 10 年之久;對于一天內(nèi)的時間記錄,有12 小時制和 24 小時制兩種模式。在 12 小時 制模式中,用 AM 和 PM 區(qū)分上午和下午; 時間的表示方法也有兩種,一種用二進制數(shù) 表示,一種是用 BCD 碼表示;DS12C887 中 帶有 128 字節(jié) RAM,其中有 11 字節(jié) RAM 用來存儲時間信息,4 字節(jié) RAM 用來存儲DS12C887 的控制信息,稱為控制寄存器,113

16、 字節(jié)通用 RAM 使用戶使用;此外用戶還 可對DS12C887 進行編程以實現(xiàn)多種方波輸 出,并可對其內(nèi)部的三路中斷通過軟件進行屏蔽。2.2.2 引腳功能 DS12C887 的引腳排列如圖 1 所示,各管腳的功能說明如下:GND、VCC:直流電源,其中 VCC 接+5V 輸入,GND 接地,當(dāng) VCC 輸入為+5V 時,用 戶可以訪問 DS12C887 內(nèi) RAM 中的數(shù)據(jù),并可對其進行讀、寫操作;當(dāng) VCC 的輸入小于+4.25V 時,禁止用戶對內(nèi)部 RAM 進行讀、寫操作,此時用戶不能正確獲取芯片內(nèi)的時間信 息;當(dāng) VCC 的輸入小于+3V 時,DS12C887 會自動將電源發(fā)換到內(nèi)部自

17、帶的鋰電池上,以保證 內(nèi)部的電路能夠正常工作。 (1)MOT:模式選擇腳,DS12C887 有兩種工作模式,即 Motorola 模式和 Intel 模式,當(dāng) MOT 接 VCC 時,選用的工作模式是 Motorola 模式,當(dāng) MOT 接 GND 時,選用的是 Intel 模式。本 文主要討論 Intel 模式。(23)SQW:方波輸出腳,當(dāng)供電電壓 VCC 大于 4.25V 時,SQW 腳可進行方波輸出,此時用 戶可以通過對控制寄存器編程來得到 13 種方波信號的輸出。AD0AD7:復(fù)用地址數(shù)據(jù)總線,該總線采用時分復(fù)用技術(shù),在總線周期的前半部分,出 現(xiàn)在 AD0AD7 上的是地址信息,可用

18、以選通 DS12C887 內(nèi)的 RAM,總線周期的后半部分出 現(xiàn)在 AD0AD7 上的數(shù)據(jù)信息。(14) AS:地址選通輸入腳,在進行讀寫操作時,AS 的上升沿將 AD0AD7 上出現(xiàn)的地址信 息鎖存到 DS12C887 上,而下一個下降沿清除 AD0AD7 上的地址信息,(15) 不論是否有效, DS12C887 都將執(zhí)行該操作。(17) DS/RD:數(shù)據(jù)選擇或讀輸入腳,該引腳有兩種工作模式,當(dāng) MOT 接 VCC 時,選用 Motorola 工作模式,在這種工作模式中,每個總線周期的后一部分的 DS 為高電平,被稱為數(shù) 據(jù)選通。在讀操作中,DS 的上升沿使 DS12C887 將內(nèi)部數(shù)據(jù)送往

19、總線 AD0AD7 上,以供外 部讀取。在寫操作中,DS 的下降沿將使總線 AD0AD7 上的數(shù)據(jù)鎖存在 DS12C887 中;當(dāng) MOT 接 GND 時,選用 Intel 工作模式,在該模式中,該引腳是讀允許輸入腳,即 Read Enable。(15) R/W:讀/寫輸入端,該管腳也有 2 種工作模式,當(dāng) MOT 接 VCC 時,R/W 工作在 Motorola 模式。此時,該引腳的作用是區(qū)分進行的是讀操作還是寫操作,當(dāng) R/W 為高電平時 為讀操作,R/W 為低電平時為寫操作;當(dāng) MOT 接 GND 時,該腳工作在 Intel 模式,此時該作 為寫允許輸入,即 Write Enable。(

20、13) :片選輸入,低電平有效。(19) :中斷請求輸入,低電平有效,該腳有效對 DS12C887 內(nèi)的時鐘、日歷和 RAM 中的 內(nèi)容沒有任何影響,僅對內(nèi)部的控制寄存器有影響,在典型的應(yīng)用中,RESET 可以直接接 VCC,這樣可以保證 DS12C887 在掉電時,其內(nèi)部控制寄存器不受影響。在 DS12C887 內(nèi)有 11 字節(jié) RAM 用來存儲時間信息,4 字節(jié)用來存儲控制信息,其具體垢 地址及取值如表 1 所列。2.3 LCD1602液晶顯示屏2.3.1 性能說明 工業(yè)字符型液晶,能夠同時顯示16x02即32個字符。(16列2行)1602液晶也叫1602字符型液晶,它是一種專門用來顯示字

21、母、數(shù)字、符號等的型液晶模塊。它由若干個5X7或者5X11等字符位組成,每個點陣字符位都可以顯示一個字符,每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因為如此所以它不能很好地顯示圖形(用自定義CGRAM,顯示效果也不好)。1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個字符液晶模塊(顯示字符和數(shù)字)。市面上字符液晶大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。2.3.2 管腳功能及特性 管腳功能1602采用標準的16腳接口,其中: 第1腳:VSS為 圖2

22、.3 LCD1602引腳圖 第2腳:VCC接5V電源正極第3腳:V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會 產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度)。第4腳:RS為選擇,高電平1時選擇、低電平0時選擇。第5腳:RW為讀寫信號線,高電平(1)時進行讀操作,低電平(0)時進行寫操作。第6腳:E(或EN)端為使能(enable)端,高電平(1)時讀取信息,負跳變時執(zhí)行指令。第714腳:D0D7為8位雙向數(shù)據(jù)端。第1516腳:或背燈電源。15腳背光正極,16腳背光負極。 特性3.3V或5V工作電壓,對比度可調(diào)內(nèi)含復(fù)位電路提供各種控制命令,

23、如:清屏、字符閃爍、光標閃爍、顯示移位等多種功能有80顯示數(shù)據(jù)存儲器內(nèi)建有192個5X7的字型的字符發(fā)生器8個可由用戶自定義的5X7的字符發(fā)生器CGRAM第3章 軟件程序設(shè)計3.1 主程序模塊 程序設(shè)計思想是采用自頂向下、逐步求精的方法,將一個復(fù)雜的問題分解成若干獨立的子問題,每個子問題對應(yīng)一個功能獨立的程序模塊,將這些模塊有機的連接在一起,構(gòu)成完整的程序。先進行主程序模塊的設(shè)計,描述程序的總體框架,在進行子模塊的設(shè)計,完成相應(yīng)的子功能。 首先,程序啟動應(yīng)先對單片機資源進行初始化操作,其過程包括:打開中斷,向ds12c887芯片寫入控制字,讀取芯片內(nèi)相應(yīng)寄存器的時間數(shù)據(jù),并將lcd1602進行

24、初始化,寫入控制字,寫入數(shù)據(jù),完成時間日期的顯示,然后進入循環(huán)中不斷重復(fù)以下過程:掃描鍵盤,有鍵盤按下則執(zhí)行相應(yīng)的操作,進行ds12c887芯片的寄存器數(shù)據(jù)讀取,向lcd1602發(fā)送相應(yīng)數(shù)據(jù)并顯示。(1)顯示時間程序 用軟件調(diào)節(jié)時間,通過程序的調(diào)節(jié),最后用LCD現(xiàn)實時鐘 (2)調(diào)節(jié)時間程序 按鍵調(diào)節(jié)時間,能實現(xiàn)啟動,暫停,停止的調(diào)節(jié)倒計時。 3.3 1602顯示模塊1602液晶模塊內(nèi)部的發(fā)生()已經(jīng)存儲了160個不同的字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,大寫的英文字母“A”的代碼是B(41H),顯示時模塊把地址41H中的點

25、陣字符圖形顯示出來,我們就能看到字母“A”。在中還可以用字符型或賦值,如'A。因為CGROM儲存的字符代碼與我們PC中的字符代碼是基本一致的,因此我們在向DDRAM寫C51字符代碼程序時甚至可以直接用P1=A這樣的方法。PC在編譯時就把'A'先轉(zhuǎn)換為41H代碼了。字符代碼0x000x0F為用戶自定義的字符圖形RAM(對于5X8點陣的字符,可以存放8組,5X10點陣的字符,存放4組),就是CGRAM了。0x200x7F為標準的ASCII碼,0xA00xFF為日文字符和希臘文字符,其余字符碼(0x100x1F及0x800x9F)沒有定義。以下是1602的16進制ASCII碼

26、表地址:讀的時候,先讀左邊那列,再讀上面那行,如:感嘆號!的ASCII為0x21,字母B的ASCII為0x42(前面加0x表示十六進制)??刂浦噶罴缦拢褐噶畲a 功 能 指令RSR/WD7D6D5D4D3D2D1D0清除顯示0000000001將DDRAM填滿"20H",并且設(shè)定DDRAM的地址計數(shù)器(AC)到"00H"地址歸位000000001X設(shè)定DDRAM的地址計數(shù)器(AC)到"00H",并且將游標移到開頭原點位置;這個指令不改變DDRAM 的內(nèi)容顯示狀態(tài)開/關(guān)0000001DCBD=1: 整體顯示 ONC=1: 游標ONB=1

27、:游標位置反白允許進入點設(shè)定00000001I/DS指定在數(shù)據(jù)的讀取與寫入時,設(shè)定游標的移動方向及指定顯示的移位游標或顯示移位控制000001S/CR/LXX設(shè)定游標的移動與顯示的移位控制位;這個指令不改變DDRAM 的內(nèi)容功能設(shè)定00001DLXREXXDL=0/1:4/8位數(shù)據(jù)RE=0/1: 基本指令操作 / 擴充指令操作設(shè)定CGRAM地址0001AC5AC4AC3AC2AC1AC0設(shè)定CGRAM 地址設(shè)定DDRAM地址0010AC5AC4AC3AC2AC1AC0設(shè)定DDRAM 地址(顯示位址)第一行:80HA7H第二行:C0HE7H讀取忙標志和地址01BFAC6AC5AC4AC3AC2A

28、C1AC0讀取忙標志(BF)可以確認內(nèi)部動作是否完成,同時可以讀出地址計數(shù)器(AC)的值寫數(shù)據(jù)到RAM10數(shù)據(jù)將數(shù)據(jù)D7D0寫入到內(nèi)部的RAM (DDRAM/CGRAM/IRAM/GRAM)讀RAM11數(shù)據(jù)從內(nèi)部RAM讀取數(shù)據(jù)D7D0(DDRAM/CGRAM/IRAM/GRAM)3.4 鍵盤輸入模塊在中按鍵數(shù)量較多時,為了減少I/O口的占用,通常將按鍵排列成形式,如圖1所示。在式中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣,一個端口(如P1口)就可以構(gòu)成4*4=16個按鍵,比之直接將端口線用于多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成20鍵的,

29、而直接用端口線則只能多出一鍵(9鍵)。由此可見,在需要的鍵數(shù)比較多時,采用法來做鍵盤是合理的。式結(jié)構(gòu)的顯然比直接法要復(fù)雜一些,識別也要復(fù)雜一些,下圖中,列線通過電阻接正電源,并將行線所接的的I/O口作為輸出端,而列線所接的I/O口則作為輸入。這樣,當(dāng)按鍵沒有按下時,所有的輸入端都是高電平,代表無鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會被拉低,這樣,通過讀入輸入線的狀態(tài)就可得知是否有鍵按下了。具體的識別及方法如下所述。 1、判斷中有無鍵按下 將全部行線Y0-Y3置低電平,然后檢測列線的狀態(tài)。只要有一列的電平為低,則表示中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個按鍵之

30、中。若所有列線均為高電平,則中無鍵按下。2、判斷閉合鍵所在的位置 在確認有鍵按下后,即可進入確定具體閉合鍵的過程。其方法是:依次將行線置為低電平,即在置某根行線為低電平時,其它線為高電平。在確定某根行線位置為低電平后,再逐行檢測各列線的電平狀態(tài)。若某列為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。檢測到按鍵之后,再執(zhí)行相應(yīng)的程序即可實現(xiàn)時間的啟動,暫停,停止功能了。3.2 DS12C887時鐘模塊 DSl2C887引腳排列見圖1組件中包含有石英晶體、鋰電池、實時時鐘、日歷時鐘、報警時鐘、方波發(fā)生器、方波輸出電路、計數(shù)器、四個功能寄存器AB,CD和128字節(jié)的不掉電RAM等。由于DSl2C887內(nèi)部帶有鋰電池可保證其正常工作達十年之久。所以不管外部供電電壓如何一旦啟動了DSl2C887的計時功能,它將自動地進行年、月、日、星期、時、分、秒的計時。DSl2C887芯片可提供三種不同的中斷源:警報中斷、周期中斷和時鐘更新結(jié)束中斷。警報中斷:可通過編程實現(xiàn)幾時幾分幾秒申請一次中斷?;蛎刻旎蛎啃r或每分鐘發(fā)生一發(fā)中斷。周期中斷:可編程選樣一固定時間周期向外提出一次中斷請求。時鐘更新結(jié)束中斷:為保證計時的準確,DSl2C887在對內(nèi)部時間寄存器參數(shù)進行更新時不希望外界對這些寄存器進行讀寫操作。因此需用此中斷來

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論