基于AT89S51單片機(jī)的擴(kuò)展時(shí)鐘系統(tǒng)設(shè)計(jì)說明_第1頁
基于AT89S51單片機(jī)的擴(kuò)展時(shí)鐘系統(tǒng)設(shè)計(jì)說明_第2頁
基于AT89S51單片機(jī)的擴(kuò)展時(shí)鐘系統(tǒng)設(shè)計(jì)說明_第3頁
基于AT89S51單片機(jī)的擴(kuò)展時(shí)鐘系統(tǒng)設(shè)計(jì)說明_第4頁
基于AT89S51單片機(jī)的擴(kuò)展時(shí)鐘系統(tǒng)設(shè)計(jì)說明_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 . . . 基于AT89S51單片機(jī)的擴(kuò)展時(shí)鐘系統(tǒng)設(shè)計(jì) 摘 要:隨著人類科技文明的發(fā)展,人們對于時(shí)鐘的要求在不斷地提高,時(shí)鐘已不僅僅被看成一種來顯示時(shí)間的工具。在很多實(shí)際應(yīng)用中它還需要能夠?qū)崿F(xiàn)更多其他的功能。時(shí)鐘的數(shù)字化、多功能化已經(jīng)成為現(xiàn)代時(shí)鐘生產(chǎn)研究的主導(dǎo)設(shè)計(jì)方向。本文正式基于這種方向,以AT89S51單片機(jī)為核心,結(jié)合新型時(shí)鐘芯片DS12887,并利用液晶LCD1602顯示數(shù)字時(shí)鐘。 關(guān)鍵字:AT89S51單片機(jī);時(shí)鐘芯片DS12887;液晶LCD1602Abstract:With the development of the technological society,require

2、ments for clock is constantly improving,the clock has not only been seen as a time to show tools.It also needs to be able to achieve more in many practical applications.Digital clock, multi-functional modern clock production has become the dominant design direction.In this paper, formally based on t

3、his direction,AT89S51 microcontroller as the core,Combined with the new clock chip DS12887,And LCD1602 LCD display digital clock。Key words:AT89S51 microcontroller;Time clock DS12887;LCD16021 引言數(shù)字時(shí)鐘已經(jīng)成為人們?nèi)粘I钪斜夭豢缮俚谋匦杵?,廣泛應(yīng)用于個(gè)人家庭以與辦公室公共場所,給人們的生活、學(xué)習(xí)、工作、娛樂帶來了極方便。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了新進(jìn)的石英技術(shù),是數(shù)字鐘具有走時(shí)準(zhǔn)確、性能穩(wěn)定、攜

4、帶方便等優(yōu)點(diǎn)。它還用于計(jì)時(shí)、自動報(bào)時(shí)等各個(gè)領(lǐng)域。盡管目前市場上已有現(xiàn)成的數(shù)字集成電路芯片出售,價(jià)格便宜,使用也方便,但鑒于單片機(jī)的定時(shí)器功能也可以完成數(shù)字中電路的設(shè)計(jì),因此進(jìn)行數(shù)字鐘的設(shè)計(jì)是必要的。在這里我將以學(xué)過的比較零散的電路知識有機(jī)的、系統(tǒng)的結(jié)合起來用于實(shí)際,來培養(yǎng)我們的綜合分析和設(shè)計(jì)電路,寫程序、調(diào)試電路的能力。文中詳細(xì)論述了以89S51單片機(jī)位核心,應(yīng)用新型時(shí)鐘芯片DS12887的數(shù)字時(shí)鐘設(shè)計(jì)原理以與使用的各種芯片的介紹,闡明了本實(shí)例所使用的設(shè)計(jì)方案、詳細(xì)的電路圖以與程序代碼。2 總體設(shè)計(jì) 本次設(shè)計(jì)的題目是單片機(jī)控制時(shí)鐘芯片DS12887的時(shí)分秒定時(shí)系統(tǒng)設(shè)計(jì),可以正常的顯示年、月、日

5、、時(shí)、分、秒。程序第一次運(yùn)行后,初始化時(shí)間顯示為00:00:00,即6位數(shù)碼管顯示為00.00.00。通過鍵盤MON設(shè)定小時(shí)為00,通過鍵盤LAST設(shè)定分鐘為34,通過鍵盤NEXT設(shè)定秒為52,為00:34:52.兩分鐘后即在00.52時(shí)關(guān)掉電源,等待2分鐘后再打開電源,這時(shí)時(shí)間應(yīng)為00.36.52,本設(shè)計(jì)總體大致分為兩部分:硬件部分、軟件部分。硬件部分包括:89S51單片機(jī)、DS12887時(shí)鐘芯片、1602LCD液晶顯示器。主要由89S51單片機(jī)、實(shí)時(shí)時(shí)鐘芯片電路、液晶顯示輸出電路、鍵盤輸入電路組成等幾大部分組成。軟件部分包括了主程序模塊,DS12C887模塊,LCD1602模塊,按鍵控制模

6、塊。本設(shè)計(jì)是以89S51單片機(jī)為核心,結(jié)合新型實(shí)時(shí)時(shí)鐘芯片DS12887,并利用液晶LCD1602顯示的數(shù)字時(shí)鐘。在液晶上顯示、時(shí)、分、秒等信息。因?yàn)镈S12887本身的特點(diǎn),本設(shè)計(jì)還具有掉電后繼續(xù)計(jì)時(shí)的功能。另外,它的計(jì)時(shí)周期為24小時(shí),采用24小時(shí)制的計(jì)時(shí)方式,顯示滿刻度為23時(shí)59分59秒,這也是DS12887的計(jì)時(shí)圍。本設(shè)計(jì)的數(shù)字時(shí)鐘,可以通過按鍵來設(shè)置時(shí)間,也可以通過按鍵來設(shè)置鬧鐘的時(shí)間,不過與設(shè)置正常時(shí)間相比,僅限于設(shè)置時(shí)、分、秒。每按一次按鍵,蜂鳴器就會發(fā)出很短的滴聲,當(dāng)達(dá)到設(shè)定的時(shí)間時(shí),數(shù)字時(shí)鐘會也發(fā)出聲音,來提醒使用者時(shí)間到了。以上是本設(shè)計(jì)的大致功能和簡介??傇O(shè)計(jì)如圖1所示

7、圖1 接線圖3 系統(tǒng)硬件組成3.1 芯片的選擇 經(jīng)多種單片機(jī)性能的分析與現(xiàn)有實(shí)驗(yàn)設(shè)備的限制,在本設(shè)計(jì)中單片機(jī)芯片采用了AT89S51單片機(jī)芯片。AT89S51是美國ATMEL公司生產(chǎn)的低功耗,高性能CMOS8位單片機(jī)片含4K bytes的可系統(tǒng)編程的Flash只讀程序儲存器。器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)80C51指令系統(tǒng)與引腳。它集Flash程序存儲器既可在線編程也可用傳統(tǒng)方法進(jìn)行編程既通用8位微處理器于單片機(jī)芯片中,ATMEL公司的功能強(qiáng)大,低價(jià)位AT89S51單片機(jī)可提供許多高性價(jià)比的應(yīng)用場合, 可靈活應(yīng)用于各種控制領(lǐng)域。3.2 AT89S51單片機(jī)的硬件

8、組成AT89S51是一個(gè)低功耗,高性能CMOS8位單片機(jī),片含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)與89S51引腳結(jié)構(gòu),芯片集成了通用8位中央處理器和ISP Flash存儲單元,AT89S51在眾多嵌入式控制應(yīng)用系統(tǒng)中得到廣泛應(yīng)用。如圖2所示(1)8位微處理器(CPU);(2)數(shù)據(jù)存儲器(128B RAM);(3)程序存儲器(4KB Flash ROM);(4)4個(gè)8位可編程并行I/O口;(5)1個(gè)全雙工的異步串行口;(6)2個(gè)

9、可編程的16位定時(shí)器/計(jì)數(shù)器;(7)1個(gè)看門狗定時(shí)器;(8)中斷系統(tǒng)具有5個(gè)中斷源、5個(gè)中斷向量;(9)特殊功能寄存器(SFR)26個(gè)。圖2 AT89S51引腳圖 AT89S51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。AT89S51是一種帶K字節(jié)閃爍可編程可擦除只讀存儲器的單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將

10、多功能8位CPU和閃爍存儲器組合在單個(gè)芯片中,ATMEL的AT89S51是一種高效微控制器,AT89S1是它的一種精簡版本。AT89S51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。3.3 電源與時(shí)鐘引腳3.3.1 電源引腳(1)VCC(40腳):+5V電源。(2)VSS(20腳):數(shù)字地。3.3.2 時(shí)鐘引腳 (1)XTAL1(19腳):片振蕩器反相放大器和時(shí)鐘發(fā)生器電路輸入端。用片振蕩器時(shí),該腳接外部石英晶體和微調(diào)電容。外接時(shí)鐘源時(shí),該腳接外部時(shí)鐘振蕩器的信號。(2) XTAL2(18腳):片振蕩器反相放大器的輸出端。當(dāng)使用片振蕩器,該腳連接外部石英晶體和微調(diào)電容。當(dāng)使用外部

11、時(shí)鐘源時(shí),本腳懸空。3.3.3并行I/O口(1)P0口:8位,漏極開路的雙向I/O口當(dāng)外擴(kuò)存儲器與I/O接口芯片時(shí),P0口作為低8位地址總線與數(shù)據(jù)總線的分時(shí)復(fù)用端口。P0口也可用作通用的I/O口,需加上拉電阻,這時(shí)為準(zhǔn)雙向口。作為通用I/O輸入,應(yīng)先向端口寫入1??沈?qū)動8個(gè)LS型TTL負(fù)載。(2)P1口:8位,準(zhǔn)雙向I/O口,具有部上拉電阻。準(zhǔn)雙向I/O口,作為通用I/O輸入時(shí),應(yīng)先向端口鎖存器寫1。P1口可驅(qū)動4個(gè)LS型TTL負(fù)載。P1.5/MOSI、P1.6/MISO和P1.7/SCK可用于對片F(xiàn)lash存儲器串行編程和校驗(yàn),它們分別是串行數(shù)據(jù)輸入、輸出和移位脈沖引腳。(3)P2口:8位,

12、準(zhǔn)雙向I/O口,具有部上拉電阻。當(dāng)AT89S51擴(kuò)展外部存儲器與I/O口時(shí),P2口作為高8位地址總線用,輸出高8位地址。P2口也可作為普通的I/O口使用。當(dāng)作為通用I/O輸入時(shí),應(yīng)先向端口輸出鎖存器寫1。P2口可驅(qū)動4個(gè)LS型TTL負(fù)載。(4) P3口:8位,準(zhǔn)雙向I/O口,具有部上拉電阻??勺鳛橥ㄓ玫腎/O口使用。作為通用I/O輸入,應(yīng)先向端口輸出鎖存器寫入1??沈?qū)動4個(gè)LS型TTL負(fù)載。P3口還可提供第二功能。第二功能定義見圖3-3,應(yīng)熟記。綜上所述,P0口可作為總線口,為雙向口。作為通用的I/O口使用時(shí),為準(zhǔn)雙向口,這時(shí)需加上拉電阻。P1口、P2口、P3口均為準(zhǔn)雙向口。P3口如圖3,圖3

13、 P3口引腳圖3.4 時(shí)鐘芯片DS12887DS12887是美國DALLAS半導(dǎo)體公司最新推出的8位串行接口并自帶RAM的實(shí)時(shí)日歷時(shí)鐘芯片,部有14個(gè)時(shí)鐘控制寄存器,包括10個(gè)時(shí)標(biāo)寄存器,4個(gè)狀態(tài)寄存器和114 bit作掉電保護(hù)用的低功耗RAM。CPU通過讀DS12887的部時(shí)標(biāo)寄存器得到當(dāng)前的時(shí)間和日歷,也可通過選擇二進(jìn)制或BCD碼初始化芯片的10個(gè)時(shí)標(biāo)寄存器,其4個(gè)狀態(tài)寄存器用來控制和指出DS12887的當(dāng)前工作狀態(tài),114 bit非易失性靜態(tài)RAM可在掉電時(shí)保存一些重要數(shù)據(jù)。 DS12887功能強(qiáng)大,應(yīng)用廣泛。DS12887引腳分布圖和存儲器分布圖:圖4 引腳分布圖和存儲器分布通過對寄存

14、器A、B、C、D的編程可以控制 DS12887的工作方式:寄存器A 當(dāng) UIP 位為0時(shí)指示更新在244S不會發(fā)生;當(dāng)DV2DV1DV0其為010時(shí),打開晶振,并允許時(shí)鐘開始計(jì)時(shí);RS3 RS2 RS1 RS0用于選擇周期中斷或輸出方波的頻率,當(dāng)其分別為0111、1000、1001、1011、1100、1101、當(dāng)其分別為0111、1000、1001、1011、1100、1101、1110、1111時(shí),對應(yīng)頻率為512Hz、256Hz、128Hz、64Hz、32Hz、16Hz、8Hz、4Hz、2Hz。 SET位為0時(shí),每秒計(jì)數(shù)一次,置1后,更新轉(zhuǎn)換被禁止;當(dāng)PIE、AIE、UIE位為1時(shí),分別

15、允許周期中斷、報(bào)警中斷和時(shí)鐘數(shù)據(jù)更新結(jié)束中斷,為0時(shí),禁止中斷產(chǎn)生;SQWE位為1時(shí),按以寄存器A中由RS3 RS2 RS1 RS0選定的頻率從SQW引腳輸出方波,為0時(shí),SQW為低電平;當(dāng)DM為1時(shí)選用二進(jìn)制數(shù)據(jù)格式,反之為BCD數(shù)據(jù)格式;12/24位為1時(shí),指定24小時(shí)時(shí)間格式,否則為12小時(shí)時(shí)間格式;DSE為1時(shí)允許夏時(shí)制發(fā)生。 寄存器 C的容是周期中斷標(biāo)志位PF、報(bào)警中斷標(biāo)志位AF、更新結(jié)束中斷標(biāo)志位UF和中斷請求標(biāo)志位IRQF,它們之間的關(guān)系為IRQF=PF*PIE+AF*AIE+UF*UIE,只要IRQF為1,/IRQ引腳輸出就保持低電平,讀寄存器C將清除所有標(biāo)志器 C的容是周期中

16、斷標(biāo)志位PF、報(bào)警中斷標(biāo)志位AF、更新結(jié)束中斷標(biāo)志位UF和中斷請求標(biāo)志位IRQF,它們之間的關(guān)系為IRQF=PF*PIE+AF*AIE+UF*UIE,只要IRQF為1,/IRQ引腳輸出就保持低電平,讀寄存器C將清除所有標(biāo)志。 寄存器 D中僅D7有定義,讀時(shí)應(yīng)若寄存器 D中僅D7有定義,讀時(shí)應(yīng)總為1,若為0則說明部鋰電池已耗盡。 為防止鋰電池在芯片裝入系統(tǒng)前被耗盡,DS12887在出廠時(shí)先關(guān)掉了其部的晶振,編程時(shí)必須首先給寄存器A的DV2DV1DV0位寫入010以打開晶振,然后,讀寄存器D以檢查部鋰電池是否有效;接著根據(jù)需要對寄存器A、B進(jìn)行設(shè)置。當(dāng)需要修改日歷時(shí)鐘時(shí),必須先使SET位置1,當(dāng)需

17、要讀日歷時(shí)鐘數(shù)據(jù)時(shí),必須先查詢寄存器A中的UIP位,只有當(dāng)其為0時(shí),才能進(jìn)行讀取數(shù)據(jù)。 CPU通過讀DS12887的部時(shí)標(biāo)寄存器得到當(dāng)前的時(shí)間和日歷,也可通過選擇二進(jìn)制碼或BCD碼初始化芯片的10個(gè)時(shí)標(biāo)寄存器。其114bit非易失性靜態(tài)RAM可供用戶使用,對于沒有RAM的單片機(jī)應(yīng)用系統(tǒng),可在主機(jī)掉電時(shí)來保存一些重要的數(shù)據(jù)。DS12887的4個(gè)狀態(tài)寄存器用來控制和指出DS12887模塊的當(dāng)前工作狀態(tài),除數(shù)據(jù)更新周期外,程序可隨時(shí)讀寫這4個(gè)寄存器。3.5 液晶LCD16021602液晶顯示模塊,是點(diǎn)陣字符型液晶顯示模塊,可以用來顯示字母,符號,數(shù)字以與簡單的漢字和圖案等信息?!?602”的含義是這

18、類液晶顯示模塊每行能夠顯示16個(gè)字符,一共可以顯示兩行。該液晶顯示模塊,分為帶背光和不帶背光兩類,兩者在應(yīng)用過程中功能基本類似,只是帶背光的模塊更厚一些,通常的背光顏色以黃綠色和藍(lán)色為主。4 軟件系統(tǒng)設(shè)計(jì)4.1 程序流程圖在這個(gè)設(shè)計(jì)中,89S51主要功能是存儲程序、根據(jù)程序的容對各個(gè)端口進(jìn)行判斷并做出相應(yīng)的處理;DS12887主要的功能是控制時(shí)、分、秒的顯示LCD1602主要的功能是將所要顯示的顯示出來。主程序主要實(shí)現(xiàn)了從DS12887各時(shí)間單元中讀出數(shù)據(jù)并送到LCD1602中顯示的功能,同時(shí)檢測有沒有按鍵按下,如果有鍵被按下,則執(zhí)行按鍵處理子程序。首先進(jìn)行DS12887時(shí)鐘芯片和LCD160

19、2的初始化函數(shù),然后進(jìn)行按鍵掃描,不斷地檢測按鍵是否按下,讀取DS12887時(shí)鐘芯片的數(shù)據(jù),并且送到液晶顯示器顯示;當(dāng)數(shù)據(jù)發(fā)生變化時(shí)候,重新進(jìn)行掃描寫入。流程圖如圖5所示,圖5 程序流程圖5 調(diào)試結(jié)果(如圖6-1和6-2)圖6-1 程序第一次運(yùn)行后,初始化時(shí)間顯示為00:00:00,即6位數(shù)碼管顯示為00.00.00。通過鍵盤MON設(shè)定小時(shí)為00,通過鍵盤LAST設(shè)定分鐘為34,通過鍵盤NEXT設(shè)定秒為52,為00:36:52兩分鐘后即在00.52時(shí)關(guān)掉電源,等待2分鐘后再打開電源,這時(shí)時(shí)間應(yīng)為00.36.52,圖6-26 小結(jié)通過這次課程設(shè)計(jì),我對單片機(jī)的應(yīng)用有了更深的認(rèn)識。同時(shí),也初步掌握

20、了通過芯片資料所給出的各種信息,應(yīng)用該芯片的能力。我在設(shè)計(jì)過程中,學(xué)會了總線的應(yīng)用以與標(biāo)號規(guī)則。這是一個(gè)很大收獲,可以在以后的應(yīng)用中簡化電路,在以后的實(shí)際工作和學(xué)習(xí)中帶來很大的便利。通過這次設(shè)計(jì),我對LCD1602有了進(jìn)一步的了解和認(rèn)識,對它的應(yīng)用更加熟練。雖然在這次設(shè)計(jì)中沒有用到該功能。在這次設(shè)計(jì)中我要感我的指導(dǎo)老師牟琳,是在牟琳老師的幫助下我才能順利的完成該設(shè)計(jì)。對此我表示深深的誠摯的意和崇高的敬意。 參考文獻(xiàn):1 何立民.單片機(jī)應(yīng)用技術(shù)選編M. :航空航天大學(xué),1993.2 毅剛. 單片機(jī)原理與應(yīng)用M. :高等教育,2004.3 郭天祥.新概念51單片機(jī)C語言教程M:入門、提高、開發(fā)、拓

21、展全攻略.電子工業(yè),2009.4 莫樹.培夏.基于DS12887的時(shí)鐘設(shè)計(jì)M.科技創(chuàng)新導(dǎo)報(bào),2011.5 佳玲.基于單片機(jī)的多功能數(shù)字時(shí)鐘系統(tǒng)設(shè)計(jì)M.工程技術(shù)師學(xué)院學(xué)報(bào),2009. 6 大有.單片機(jī)應(yīng)用與設(shè)計(jì)M.電子工業(yè)大學(xué),1998年.7 鐘睿.MCS-51 單片機(jī)原理與應(yīng)用開發(fā)技術(shù)M.:中國鐵道,2006.8王幸之.AT89系列單片機(jī)原理與接口技術(shù)M.:航空航天大學(xué),2004.附件 程序代碼;按“NEXT”鍵,調(diào)整秒位;按“LAST”鍵,調(diào)整分位;按"MON"鍵,調(diào)整時(shí)位;OUTBIT equ 0e101h ; 位控制口 CLK164 equ 0e102h ; 段控制口

22、(接164時(shí)鐘位)DAT164 equ 0e102h ; 段控制口(接164數(shù)據(jù)位)IN equ 0e103h ; 鍵盤讀入口LEDBuf equ 60h ; 顯示緩沖 ljmp StartLEDMAP: ; 八段管顯示碼 db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h db 00HDelay: ; 延時(shí)子程序 mov r7, #00DelayLoop: djnz r7, DelayLoop djnz r6, Delay retDisplayLED: mov r0, #LED

23、Buf mov r1, #6 ; 共6個(gè)八段管 mov r2, #00000001b ; 從左邊開始顯示Loop: mov dptr, #OUTBIT mov a, #0 movx dptr, a ; 關(guān)所有八段管 mov a, r0 mov B, #8 ; 送164DLP: rlc a mov r3, a mov acc.0, c mov dptr, #DAT164 anl a,#0fdh movx dptr, a mov dptr, #CLK164 orl a,#02h movx dptr, a anl a,#0fdh movx dptr, a mov a, r3 djnz B, DLP

24、mov dptr, #OUTBIT mov a, r2 movx dptr, a ; 顯示一位八段管 mov r6, #1 call Delay mov a, r2 ; 顯示下一位 rl a mov r2, a inc r0 djnz r1, Loop retTestKey: mov dptr, #OUTBIT mov a, #0 movx dptr, a ; 輸出線置為0 mov dptr, #IN movx a, dptr ; 讀入鍵狀態(tài) cpl a anl a, #0fh ; 高四位不用 retKeyTable: ; 數(shù)字鍵碼定義 db 00h, 01h, 04h, 07h db 0fh

25、, 02h, 05h, 08h db 0eh, 03h, 06h, 09h db 0dh, 0ch, 0bh, 0ah db 10H,11H,12H,13H,14H db 15H,16H,10H,10H,10HGetKey: mov dptr, #OUTBIT mov P2, dph mov r0, #Low(IN) mov r1, #00100000b mov r2, #6KLoop: mov a, r1 ; 找出鍵所在列 cpl a movx dptr, a cpl a rr a mov r1, a ; 下一列 movx a, r0 cpl a anl a, #0fh jnz Goon1

26、; 該列有鍵入 djnz r2, KLoop mov r2, #0ffh ; 沒有鍵按下, 返回 0ffh sjmp ExitGoon1: mov r1, a ; 鍵值 = 列 X 4 + 行 mov a, r2 dec a rl a rl a mov r2, a ; r2 = (r2-1)*4 mov a, r1 ; r1中為讀入的行值 mov r1, #4LoopC: rrc a ; 移位找出所在行 jc Exit inc r2 ; r2 = r2+ 行值 djnz r1, LoopCExit: mov a, r2 ; 取出鍵碼 mov dptr, #KeyTable movc a, a+

27、dptr mov r2, aWaitRelease: mov dptr, #OUTBIT ; 等鍵釋放 clr a movx dptr, a mov r6, #10 call Delay call TestKey jnz WaitRelease mov a, r2 retStart: mov r6,#02h call delay mov 20h,#00h mov 21h,#00h mov 22h,#00h mov sp, #40h mov dptr,#0e100h mov a,#03h movx dptr,aStart1:mov dptr,#0fe0ah movx a,dptr anl a,#

28、70h cjne a,#20h,start2 ;判斷晶振打開否? sjmp start3start2: mov dptr,#0fe0bh ;設(shè)置SET=0,芯片正常工作.24/12=1,選24小時(shí)制. mov a,#82h movx dptr,a mov r0,#06h mov dptr,#0fe00h ;時(shí)分秒清零 mov a,#00hretun0:movx dptr,a inc dptr djnz r0,retun0 mov dptr,#0fe0ah mov a,#27h movx dptr,a ;打開晶振,輸出方波。 inc dptr mov a,#5ah movx dptr,astar

29、t3: mov dptr,#0fe0ah movx a,dptr jnb acc.7,loop12 mov r5,#4dh djnz r5,$loop12:mov dptr,#0fe0bh mov a,#5ah movx dptr,aloop13:mov dptr,#0fe00h ;讀秒,分,時(shí) mov r1,#60h mov r0,#03hloop11:movx a,dptr lcall Ptreg ;讀取的值,進(jìn)行拆字后送顯示緩沖器60H-65H inc dptr inc dptr djnz r0,loop11 mov dptr,#0fe0bh call DisplayLED ; 調(diào)用顯示子程序 call TestKey ; 有鍵入? jz loop12 ; 無鍵入, 繼續(xù)顯示 call GetKey ; 有鍵入,讀入鍵碼 cjne a,#14h,keep0 sjmp keep1 ;是NEXT

溫馨提示

  • 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

提交評論