2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩41頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  學(xué)生畢業(yè)設(shè)計(論文)</p><p>  題 目: 電子定時鬧鐘設(shè)計 </p><p><b>  目錄</b></p><p>  摘要…………………………………………………………………………………3</p><p>  第一章 概述………………………………………………………………………..

2、.4</p><p>  1.1 設(shè)計本系統(tǒng)的目的和意義……………………………………………………...4</p><p>  第二章 系統(tǒng)硬件設(shè)計……………………………………………………………….4</p><p>  2.1 電路總體概念設(shè)計………………………………………………………………4</p><p>  2.2 單片機(jī)的介紹…………

3、…………………………………………………………5</p><p>  2.3 單片機(jī)的選擇……………………………………………………………………6</p><p>  2.4 復(fù)位電路………………………………………………………………………….7</p><p>  2.5 時鐘電路………………………………………………………………………….8</p><

4、;p>  2.6 LCD電路顯示部分……………………………………………………………….9</p><p>  第三章 軟件設(shè)計……………………………………………………………………9</p><p>  3.1 軟件設(shè)計概述…………………………………………………………………..9</p><p>  3.2 程序初始化…………………………………………………………

5、…………..9</p><p>  3.3 顯示程序………………………………………………………………………11</p><p>  3.4 仿真執(zhí)行………………………………………………………………………12</p><p>  總結(jié)…………………………………………………………………………………12</p><p>  參考文獻(xiàn)……………………

6、………………………………………………………12</p><p>  致謝…………………………………………………………………………………13</p><p>  附錄一、源程序代碼………………………………………………………………14</p><p>  附錄二、電路原理圖………………………………………………………………41</p><p>&l

7、t;b>  摘 要</b></p><p>  現(xiàn)代生活的人們越來越重視時間觀念,可以說是時間和金錢劃上了等號。對于那些對時間把握非常嚴(yán)格和準(zhǔn)確的人或事來說,時間的不準(zhǔn)確會帶來非常大的麻煩,電子時鐘是現(xiàn)代社會中主要計時工具之一,廣泛應(yīng)用于手機(jī),電腦,汽車等社會生活需要的各個方面,及對時間有要求的場合。</p><p>  本設(shè)計系統(tǒng)可以顯示24小時制“時時-分分-秒秒”

8、,LCD顯示;可以顯示日期,具有萬年歷功能;可以方便的設(shè)定定時時間、修改定時時間,鬧鐘功能預(yù)設(shè)定時時間到將發(fā)出音樂鬧鈴聲;能夠修改時鐘的時、分、秒,能夠修改日期的年、月、日等多種功能。硬件系統(tǒng)由復(fù)位模塊、時鐘模塊、溫度模塊、音樂模塊、光識模塊及顯示模塊共五個模塊組成,可用LCD液晶顯示來顯示時間和年、月、日。軟件部分采用時效性強(qiáng)的匯編語言,用模塊式結(jié)構(gòu)編寫程序來完成系統(tǒng)的控制要求。</p><p>  本LCD電

9、子定時鬧鐘是以一片AT89C51單片機(jī)為主體,一種基于單片機(jī)技術(shù)的多功能、多用途的電子產(chǎn)品,有電子時鐘、日期顯示、定時鬧鐘等多種功能。本設(shè)計產(chǎn)品性能卓越,功能豐富,采用LCD顯示更加直觀,是一個比較實用的電子產(chǎn)品,具有一定的市場推廣價值。</p><p>  關(guān)鍵詞:單片機(jī),電子鐘,LCD顯示</p><p><b>  第一章 概述</b></p>&

10、lt;p>  1.1 設(shè)計本系統(tǒng)的目的和意義</p><p><b> ?。ㄒ唬?目的</b></p><p>  復(fù)習(xí)和鞏固所學(xué)過的知識,利用此畢業(yè)設(shè)計正好可以對所學(xué)過的知識驚喜系統(tǒng)的回顧和總結(jié)。</p><p>  拓展知識面,課堂的知識是遠(yuǎn)遠(yuǎn)滿足不了設(shè)計的要求的,這就需要我們主動去找尋更多的資料,了解更多的知識。</p>

11、<p>  培養(yǎng)了設(shè)計能力和解決實際問題的能力,同時增強(qiáng)了自學(xué)能力,通過設(shè)計完整的單片機(jī)系統(tǒng)也初步掌握了組成系統(tǒng)、編程、調(diào)試等能力。</p><p>  通過本LED電子定時鬧鐘的設(shè)計初步了解了單片機(jī)應(yīng)用系統(tǒng)開發(fā)研制過程,軟件和硬件設(shè)計的方法。</p><p><b> ?。ǘ?意義</b></p><p>  本LCD電子定時

12、鬧鐘是以一片AT89C51單片機(jī)為主體,一種基于單片機(jī)技術(shù)的多功能、多用途的電子產(chǎn)品,有電子時鐘、日期顯示、定時鬧鐘等多種功能。本設(shè)計產(chǎn)品性能卓越,功能豐富,采用LCD顯示更加直觀,是一個比較實用的電子產(chǎn)品。</p><p><b>  系統(tǒng)硬件設(shè)計</b></p><p>  2.1 電路總體概念設(shè)計</p><p>  本LCD定時鬧鐘,是

13、以單片機(jī)及外圍借口電路為核心,輔以其他外圍硬件電路,用匯編語言設(shè)計的程序來實現(xiàn)的。根據(jù)C51單片機(jī)的外圍接口特點擴(kuò)展相應(yīng)的硬件電路,然后根據(jù)單片機(jī)的指令設(shè)計出數(shù)字鐘相應(yīng)的軟件,再利用軟件執(zhí)行一定的程序來實現(xiàn)數(shù)字鐘的功能。由于采用集成芯片性的單片機(jī),來制作電子鐘,這樣設(shè)計制作簡單而且功能多、精確度高,也可方便擴(kuò)充其他功能,實現(xiàn)也十分簡單。</p><p>  本設(shè)計是利用AT89C51單片機(jī)為主控芯片,由LCD、晶

14、振、電阻、電容、三極管,開關(guān),蜂鳴器等元件組成硬件電路,通過編寫軟件程序來實現(xiàn)和控制的數(shù)字定時鬧鐘。</p><p>  總體的硬件系統(tǒng)結(jié)構(gòu)框如圖所示:</p><p>  圖1 硬件電路概念示意圖</p><p>  2.2 單片機(jī)的介紹</p><p><b>  1.單片機(jī)定義</b></p>&

15、lt;p>  “單片機(jī)”就是將計算機(jī)的基本部件集成到一塊芯片上,包括CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、并行口(Parallel Port)、串行口(Serial Port)、定時器/計數(shù)器(Timer/Counter)、中斷系統(tǒng)(Interrupt System)、系統(tǒng)時鐘及系統(tǒng)總線等。</p>&

16、lt;p><b>  2.單片機(jī)分類</b></p><p>  單片機(jī)按照其用途可分為通用型和專用型兩大類。</p><p>  通用型單片機(jī)具有比較豐富的內(nèi)部資源,性能全面且適應(yīng)性強(qiáng),能覆蓋多種應(yīng)用需求。</p><p>  專用單片機(jī)是專門針對某個特定產(chǎn)品的,例如,專用于電機(jī)控制的單片機(jī)、車載電子設(shè)備、語音信號處理和家用電器中的單片

17、機(jī)等。</p><p>  2.3 單片機(jī)的選擇</p><p>  根據(jù)系統(tǒng)的需求選用單片機(jī)AT89C51。</p><p> ?。?) MSC-51單片機(jī)內(nèi)部總體結(jié)構(gòu):</p><p>  89C51是MSC-51系列單片機(jī)的典型產(chǎn)品,89C51單片機(jī)包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計時器、并行接口、串行

18、接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:</p><p>  下圖為單片機(jī)的內(nèi)部結(jié)構(gòu)圖:</p><p>  圖2 MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)圖</p><p>  中央處理器: 中央處理器(CPU)是整個單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)

19、的工作,完成運(yùn)算和控制輸入輸出功能等操作。</p><p>  數(shù)據(jù)存儲器(RAM): 89C51內(nèi)部有128個8位用于用戶數(shù)據(jù)存儲單元和128個專門寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個,可存放讀寫的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。</p><p>  程序存儲器(ROM): 8

20、0C51的程序存儲器的內(nèi)部結(jié)構(gòu)有64KB,包括片內(nèi)ROM和片內(nèi)ROM,ROM空間用MOVC指令實現(xiàn)讀寫操作,用PSEN信號選通讀外部ROM.</p><p>  定時/計時器(ROM):89C51有兩個16位的可編程定時/計時器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。</p><p>  并行輸入輸出(I/O)口: 89C51共有4組8位I/O口(P0、P1、P2或P3),用于外部數(shù)據(jù)

21、的傳輸。</p><p>  全雙工串行口: 89C51內(nèi)置一個全雙工行通信口,用于與其他設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。</p><p>  中斷系統(tǒng):89C51具備較完善的中斷功能,有兩個外中斷、兩個定時/計時器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。</p><p> ?。?) 單片機(jī)

22、的引腳功能</p><p>  硬件電路的核心器件選用ATMEL公司的AT89C51芯片,AT89C51是一種4K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能COMS8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機(jī)。單片機(jī)的可擦除卡存儲器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲器制作技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多

23、功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器。</p><p>  下圖是AT89C51的引腳說明圖:</p><p>  圖3 AT89C51的引腳配置圖</p><p><b>  管腳說明:</b></p><p>  電源:(1)Vcc - 芯片電源,接+5

24、V;</p><p> ?。?)Vss - 接地端;</p><p>  P0口:P0口為一個8位漏極開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0口能夠</p><p>  用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗時,P0輸出原碼,

25、此時P0外部必須被拉高。</p><p>  P1口: P1口是一個不提供上拉電阻的8位雙向I/O口,P1口緩沖器能接受輸出4TTL門電流。P1口管腳寫入1后被內(nèi)部上拉為高??捎米鬏斎耄琍1口被外部下拉為低電平時將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。</p><p>  表1 P1.0和 P1.1的第二功能</p>&l

26、t;p>  P2口:P2口作為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳內(nèi)部被上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口暑促地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)時外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接受高八位地址信號

27、和控制信號。</p><p>  P3口: P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入,作為輸入,由于外部下拉為低電平,P3口將輸出電流(TTL)這是由于上拉的緣故。</p><p>  RST : 復(fù)位輸入,當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機(jī)器周期的高電平時間。</p><

28、p>  ALE/PROG: 當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié),在FLASH編程期間,此引腳用于輸入編程脈沖,在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器的1/6,因此它可用作對外部輸出的脈沖或用于定時目的。</p><p>  /PSEN: 外部程序存儲器的選通信號。在有外部程序存儲器取指期間每個機(jī)器周期兩次/PSEN有效,但在訪問外部數(shù)據(jù)存儲器時,這兩次

29、有效的/PSEN信號將不出現(xiàn)。</p><p>  /EA/VPP: 當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器,注意加密方式1時。/EA將內(nèi)部鎖定RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器在FLASH編程期間,次引腳也用于施加12V編程電源(VPP)。</p><p>  XTAL1: 反向振蕩放大器的輸入及內(nèi)部時鐘工作

30、電路的輸入。</p><p>  XTAL2: 來自反向振蕩器的輸出。</p><p><b>  2.4 復(fù)位電路</b></p><p>  復(fù)位是單片機(jī)的初始化操作,只要RST引腳處至少保持2個及其周期的高電平就可實現(xiàn)復(fù)位。本系統(tǒng)的復(fù)位電路如下圖所示:</p><p><b>  圖4 復(fù)位電路<

31、/b></p><p><b>  2.5 時鐘電路</b></p><p>  本電子時鐘設(shè)計是采用內(nèi)部時鐘方式,用一個12MHz晶振和兩個33PF電容組成,為單片機(jī)提供標(biāo)準(zhǔn)時鐘,其中兩個電容起微調(diào)作業(yè)。</p><p>  本系統(tǒng)的時鐘電路如下圖所示:</p><p><b>  圖5 時鐘電路&l

32、t;/b></p><p>  之所以采用高性能的振蕩電路是因為:</p><p>  單片機(jī)電子鐘的計時脈沖基準(zhǔn)是由外部晶振的頻率經(jīng)過12分頻后提供的,采用內(nèi)部的定時/計數(shù)器來實現(xiàn)計時功能,所以,外接晶振頻率精確度直接影響電子鐘計時的準(zhǔn)確性。</p><p>  單片機(jī)電子鐘利用內(nèi)部定時/計數(shù)器溢出產(chǎn)生中斷(12M晶振一般為50ms)再乘以相應(yīng)的倍率來實現(xiàn)秒

33、、分、時的轉(zhuǎn)換。大家都知道從定時/計數(shù)器產(chǎn)生中斷請求到響應(yīng)中斷需要3-8個機(jī)器周期,定時中斷子程序中的數(shù)據(jù)入棧和重裝定時/計數(shù)器的初值還需要占用數(shù)個機(jī)器周期,還有從中入口轉(zhuǎn)到中斷子程序也要占用一定的機(jī)器周期。</p><p><b>  LCD顯示電路</b></p><p><b>  一、LCD的介紹</b></p><p

34、><b>  1、LCD的背景</b></p><p>  LCD(Liquid Crystal Display)對于許多的用戶而言可能是一個比較新鮮的名詞,不過這種技術(shù)存在的歷史可能遠(yuǎn)遠(yuǎn)超過了我們的想象,早在1888年,一位奧地利的植物學(xué)家F.Renitxer便發(fā)現(xiàn)了液晶特殊的物理特性。</p><p><b>  二、 LCD的選材</b&g

35、t;</p><p>  為了獲得更好的效果本設(shè)計并沒有采用常見的LED,而是采用了型號為1602的 LCD。LCD有LED數(shù)碼顯示更好的更的直觀效果,也更加經(jīng)久耐用。液晶顯示模塊體積小功耗低、顯示內(nèi)容豐富,現(xiàn)在字符型液晶顯示模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計中最常用的信息顯示器件之一了。本LCD是2行16列液晶 可顯示2行16列英文字符,有8位數(shù)據(jù)總線D0-D7,RS,R/W,EN三個控制端口(共14線),工作電壓為5V

36、。沒背光,和常用的1602B功能和引腳一樣(除了調(diào)背光的二個線腳)。該模塊也可只用D4-D7作為四位數(shù)據(jù)分兩次傳送。這樣的話可以節(jié)省MCU的I/O口資源。</p><p>  VDD:電源正極,4.5-5.5V,通常使用5V電壓;</p><p>  VL:LCD對比度調(diào)節(jié)端,電壓調(diào)節(jié)范圍為0-5V。接正電源時對比度最弱,接地電源時對比度最高,但對比度過高時會產(chǎn)生“鬼影”,因此通常使用一個

37、10K的電位器來調(diào)整對比度,或者直接串接一個電阻到地;</p><p>  RS:MCU寫入數(shù)據(jù)或者指令選擇端。MCU要寫入指令時,使RS為低電平;MCU要寫入數(shù)據(jù)時,使RS為高電平;</p><p>  R/W:讀寫控制端。R/W為高電平時,讀取數(shù)據(jù);R/W為低電平時,寫入數(shù)據(jù);</p><p>  E:LCD模塊使能信號控制端。寫數(shù)據(jù)時,需要下降沿觸發(fā)模塊。&l

38、t;/p><p>  D0-D7:8位數(shù)據(jù)總線,三態(tài)雙向。如果MCU的I/O口資源緊張的話,該模塊也可以只使用4位數(shù)據(jù)線D4-D7接口傳送數(shù)據(jù)。本充電器就是采用4位數(shù)據(jù)傳送方式;</p><p>  BLA: LED背光正極。需要背光時,BLA串接一個限流電阻接VDD,BLK接地,實測該模塊的背光電流為50mA左右;</p><p>  BLK: LED背光地端。<

39、;/p><p><b>  軟件設(shè)計</b></p><p><b>  3.1軟件設(shè)計概述</b></p><p>  這里用匯編的單片機(jī)程序構(gòu)成了本電子鐘的軟件系統(tǒng)。該程序?qū)崿F(xiàn)時間及定時(時間以0點0分0秒為基準(zhǔn)計算,鬧鈴定時以0時0分0秒為基準(zhǔn)計算)的顯示,有外中斷0和四個開關(guān)實現(xiàn)校時、鬧鐘功能。其中程序的晶振頻率為12

40、MHz,最小計時單位為1/20秒。</p><p>  主芯片p0.1-p0.7輸出數(shù)據(jù)到LCD數(shù)據(jù)總線,p2.0-2.2輸出LCD控制信號,P3.7輸出聲音信號,.P1.4-P1.5輸入外部控制信號,整個軟件系統(tǒng)也是根據(jù)這個關(guān)系連接成一個完整的系統(tǒng)。</p><p><b>  3.2程序初始化</b></p><p>  下圖為本設(shè)計的主程

41、序流程圖:</p><p>  圖6 主程序流程圖</p><p>  下圖為本設(shè)計的程序分流程圖:</p><p>  圖7 程序分流程圖</p><p>  然后就是對LCD進(jìn)行初始化,具體程序見附錄1。</p><p><b>  鬧鐘的實現(xiàn):</b></p><p

42、>  鬧鐘功能的實現(xiàn)涉及到兩個方面:鬧鈴時間設(shè)定和是否鬧鈴判別與相應(yīng)處理。鬧鈴時間設(shè)定模塊的設(shè)計可參照時間設(shè)定模塊,這里著重闡述鬧鈴判別與處理模塊的設(shè)計問題。鬧鈴判別與鬧鈴處理的關(guān)鍵在于判別何時要進(jìn)行鬧鈴。當(dāng)時十位、時個位、分十位、分個位中任一位發(fā)生改變(進(jìn)位)時,就必須進(jìn)行鬧鈴判別。</p><p>  程序設(shè)計思想如下圖:</p><p>  圖8 鬧鈴實現(xiàn)流程圖</p&

43、gt;<p><b>  3.3 顯示程序</b></p><p>  程序包括時鐘顯示和定時顯示程序。具體程序見附錄1</p><p>  液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,表3-1是TC1602EL液晶模塊的內(nèi)部

44、顯示地址。</p><p>  表2 內(nèi)部顯示地址。</p><p>  比如第二行第一個字符的地址是40H,那么是否直接寫入40H就可以將光標(biāo)定位在第二行第一個字符的位置呢?這樣不行,因為寫入顯示地址時要求最高位 D7恒定為高電平1所以實際寫入的數(shù)據(jù)應(yīng)該是01000000B(40H)+10000000B(80H)=11000000B(C0H),</p><p>

45、;  液晶模塊內(nèi)帶標(biāo)準(zhǔn)字庫,內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了192個5×7點陣字符,32個5×10點陣字符。另外還有字符生成RAM (CGRAM)512字節(jié),供用戶自定義字符。這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固 定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A”

46、。</p><p><b>  3.4 仿真執(zhí)行</b></p><p>  將完整的單片機(jī)程序保存為后綴名為.asm文件。打開偉福E6000軟件,點擊偉福E6000主菜單當(dāng)中“仿真器”,在下拉菜單中點擊“仿真器設(shè)置”。在彈出對話框中,語言對話框中選—“Keil C(V5或更高),英特爾PL/M51,英特爾匯編器”,仿真器對話框中—“G6W”—“POD—51”—“8

47、031”,晶振頻率欄填12000000(Hz),然后點擊“好”完成仿真器設(shè)置。然后點擊偉福E6000主菜單,新建項目,導(dǎo)入上述ASM文件,選擇無包含文件,保存此項目文件,再雙擊ASM文件打開,然后選擇“項目”—“編譯”或按F9,按.asm文件進(jìn)行編譯,編譯順利完成,生成.HEX文件。然后用PROTEUS7.1軟件打開設(shè)計好的硬件系統(tǒng)原理圖DZZ dan,雙擊原理圖上的AT89C51單片機(jī)加載DAA.HEX文件。然后點擊PROTEUS7.

48、1軟件窗口下方的相應(yīng)仿真運(yùn)行按鈕進(jìn)行仿真</p><p>  經(jīng)過反復(fù)的仿真和調(diào)試,此鬧鐘可以實現(xiàn)所有的功能,既可以顯示日期時間,也可以方便調(diào)整日期和時間,定鬧鐘的功能也正常,實際的仿真效果截圖如附帶大圖,至此整個設(shè)計基本成功的完成。</p><p><b>  總結(jié)</b></p><p>  單片機(jī)是計算機(jī)技術(shù)發(fā)展的產(chǎn)物,是經(jīng)濟(jì)實用開發(fā)簡便

49、的高科技產(chǎn)品,在當(dāng)今工業(yè)控制、家電等,領(lǐng)域占據(jù)廣泛的市場。通過此次單片機(jī)課程設(shè)計來設(shè)計個簡單的數(shù)字鬧鐘,我鞏固了自己學(xué)習(xí)的單片機(jī)知識,來初步了解了小型單片機(jī)系統(tǒng)的設(shè)計和運(yùn)用,并提高自己動手能力。</p><p>  課程設(shè)計過程也使我了解了自己能力的不足,不過通過資料收集和文獻(xiàn)查詢等方法,找出了設(shè)計過程中是一些問題以及解決問題的方法。從而比較順利的完成了這個設(shè)計任務(wù)。這次自己所做的設(shè)計取得了一些寶貴的經(jīng)驗,提高了

50、自己的動手能力,為將來的學(xué)習(xí)和工作很有好處。</p><p>  通過這次課程設(shè)計我學(xué)到了很多全新的在課堂上沒法學(xué)到的知識,同時也加深; 以前所學(xué)的知識的理解,也增強(qiáng)了理論聯(lián)系實際的操作能力。但是,在實際的編程以及調(diào)試程序過程中,我發(fā)現(xiàn)自己應(yīng)該學(xué)的還有太多太多。光靠書本上是遠(yuǎn)遠(yuǎn)行不通的!</p><p>  總之,理論必須和實際結(jié)合才有威力,知識必須通過應(yīng)用才能實現(xiàn)其價值!所學(xué)的東西最終是

51、要面向社會,是在以后的工作能夠更好的應(yīng)用,此時的知識積累是為以后的工作做好堅實的基礎(chǔ)。這個設(shè)計總體上不算完美,但是在這個課程設(shè)計的經(jīng)歷的好處是不可估量的</p><p>  由于本人用單片機(jī)制作實際應(yīng)用是第一次涉及,所以在設(shè)計過程中,可能忽略; 許多的問題,再加上能力與精力,還有時間的關(guān)系,對系統(tǒng)的設(shè)計中的每一個細(xì)節(jié)不能做到完全的完美。該系統(tǒng)還需要以后進(jìn)行完善。</p><p><b

52、>  參考文獻(xiàn)</b></p><p>  [1]王喜云。單片機(jī)應(yīng)用基礎(chǔ)項目教程。機(jī)械工業(yè)出版社。2009年</p><p>  [2]李伯成。單片機(jī)嵌入式系統(tǒng)(第二版)。清華大學(xué)出版社。2008年</p><p>  [3]李中發(fā)。數(shù)字電子技術(shù)(第二版)。中國水利水電出版社。2007年</p><p>  [4]趙志剛。P

53、rotel DXP實用教程(修訂本)。清華大學(xué)出版社。2007年</p><p>  [5] 耿文靜、錢珊珠。單片機(jī)原理與接口技術(shù)。國防工業(yè)出版社2007年。</p><p>  [6] 賈好來。MCS—51單片機(jī)原理及應(yīng)用。機(jī)械工業(yè)出版社。2007年</p><p>  [7] 凌陽科技大學(xué)計劃網(wǎng)站 http://www.unsp.com.cn</p>

54、<p>  [8] 徐江海。單片機(jī)實用教程。機(jī)械工業(yè)出版社。2007年。</p><p>  [9]樓然苗、李光飛。單片機(jī)課程設(shè)計指導(dǎo)。2007年</p><p>  [10] 侯媛彬。凌陽單片機(jī)原理及畢業(yè)設(shè)計精選。科學(xué)出版社。2005年。</p><p><b>  致謝:</b></p><p>  

55、光陰似箭,日月如梭,不知不覺已在美麗的婁底職業(yè)技術(shù)學(xué)院度過了自己的大學(xué)時光。三年來雖付出了許多艱辛和汗水,但有老師和同學(xué)們的教導(dǎo)和關(guān)愛,又有家人和朋友的期待與支持,我感到無比的快樂與辛福。在論文即將脫稿之時,我要向所有關(guān)心和支持我的人道一聲謝謝。</p><p>  衷心感謝我的導(dǎo)師吳水平老師,吳老師在擔(dān)任我的畢業(yè)論文指導(dǎo)老師以來,對學(xué)生言傳身教,學(xué)習(xí)上鼓勵學(xué)生要勤奮、努力、刻苦。生活上鼓勵學(xué)生要勤儉節(jié)約、自力更

56、生。吳老師嚴(yán)謹(jǐn)求實的治學(xué)態(tài)度,嚴(yán)以律己、寬以待人的崇高風(fēng)范,一絲不茍的作風(fēng)一直是學(xué)生學(xué)習(xí)的楷模。</p><p>  附錄一 源程序代碼</p><p>  按K1鍵,依次進(jìn)入鬧鐘功能,鬧鐘時間,年,月,日和時,分,秒模式,直致退出設(shè)置狀態(tài) *</p><p>  ;按K2鍵,調(diào)整是否起用鬧鐘和調(diào)節(jié)鬧鐘時,分,秒,年,月,日,時間的時,分,秒的數(shù)字 *<

57、;/p><p>  ;鬧鐘響時,按K2 即可停止鬧鐘的聲響 *</p><p>  ;K2和K1需要配合使用</p><p>  ;設(shè)置狀態(tài),LCD 上排最前面顯示"P",下排最前面設(shè)置鬧鐘時顯示"alarm:",其他顯示"time:" *</p><p>  ;鬧鐘啟用時,在LCD 下

58、排中間顯示一小喇叭,鬧鐘禁用時,無此小喇叭 *</p><p>  ;年代變化2000--2099,星期自動轉(zhuǎn)換</p><p>  **************變量的定義*****************</p><p>  RS BIT P2.0 ;LCD 數(shù)據(jù)/命令選擇端(H/L)</p><p>  RW BIT P2.1 ;LCD讀

59、/寫選擇端(H/L)</p><p>  EP BIT P2.2 ;LCD 使能控制</p><p>  PRE BIT P1.7 ;調(diào)整鍵(K1)</p><p>  ADJ BIT P1.6 ;調(diào)整鍵(K2)</p><p>  SPK BIT P3.7 ;鬧鐘聲音輸出口</p><p>  YEAR DATA 1

60、8H ;年,月,日變量</p><p>  MONTH DATA 19H</p><p>  DATE DATA 1AH</p><p>  WEEK DATA 1BH</p><p>  HOUR DATA 1CH ;時,分,秒,百分之一秒變量</p><p>  MIN DATA 1DH</p>&l

61、t;p>  SEC DATA 1EH</p><p>  SEC100 DATA 1FH</p><p>  HOUR_ARM DATA 20H ;鬧鐘時,分,秒,變量</p><p>  MIN_ARM DATA 21H</p><p>  SEC_ARM DATA 22H</p><p>  STATE DA

62、TA 23H</p><p>  ALARM BIT STATE.0 ;鬧鐘是否啟用標(biāo)志1--啟用,0--禁止</p><p>  LEAP BIT STATE.1 ;是否閏年標(biāo)志1--閏年,0--平年</p><p>  KEY_S DATA 24H ;當(dāng)前掃描鍵值</p><p>  KEY_V DATA 25H ;上次掃描鍵值</

63、p><p>  DIS_BUF_U0 DATA 26H ;LCD 上排顯示緩沖區(qū)</p><p>  DIS_BUF_U1 DATA 27H</p><p>  DIS_BUF_U2 DATA 28H</p><p>  DIS_BUF_U3 DATA 29H</p><p>  DIS_BUF_U4 DATA 2AH&l

64、t;/p><p>  DIS_BUF_U5 DATA 2BH</p><p>  DIS_BUF_U6 DATA 2CH</p><p>  DIS_BUF_U7 DATA 2DH</p><p>  DIS_BUF_U8 DATA 2EH</p><p>  DIS_BUF_U9 DATA 2FH</p>

65、<p>  DIS_BUF_U10 DATA 30H</p><p>  DIS_BUF_U11 DATA 31H</p><p>  DIS_BUF_U12 DATA 32H</p><p>  DIS_BUF_U13 DATA 33H</p><p>  DIS_BUF_U14 DATA 34H</p><p

66、>  DIS_BUF_U15 DATA 35H</p><p>  DIS_BUF_L0 DATA 36H ;LCD 下排顯示緩沖區(qū)</p><p>  DIS_BUF_L1 DATA 37H</p><p>  DIS_BUF_L2 DATA 38H</p><p>  DIS_BUF_L3 DATA 39H</p>&

67、lt;p>  DIS_BUF_L4 DATA 3AH</p><p>  DIS_BUF_L5 DATA 3BH</p><p>  DIS_BUF_L6 DATA 3CH</p><p>  DIS_BUF_L7 DATA 3DH</p><p>  DIS_BUF_L8 DATA 3EH</p><p>  

68、DIS_BUF_L9 DATA 3FH</p><p>  DIS_BUF_L10 DATA 40H</p><p>  DIS_BUF_L11 DATA 41H</p><p>  DIS_BUF_L12 DATA 42H</p><p>  DIS_BUF_L13 DATA 43H</p><p>  DIS_BU

69、F_L14 DATA 44H</p><p>  DIS_BUF_L15 DATA 45H</p><p>  FLAG DATA 46H ;標(biāo)識調(diào)整狀態(tài) 0-鬧鐘功能,1-鬧鐘時,2-鬧鐘分,3-鬧鐘秒</p><p>  ;4-年,5-月,6-日,7-時,8-分,9-秒,10-退出調(diào)整。</p><p>  DIS_H DATA 47H&

70、lt;/p><p>  DIS_M DATA 48H</p><p>  DIS_S DATA 49H</p><p>  DIS_S0 DATA 4AH</p><p>  DIS_S1 DATA 4BH</p><p>  DIS_S2 DATA 4CH</p><p>  DIS_S3 DAT

71、A 4DH</p><p>  DIS_S4 DATA 4EH</p><p>  DIS_S5 DATA 4FH</p><p>  ;**************初始化********************</p><p><b>  ORG 0000H</b></p><p>  LJMP

72、 START</p><p><b>  ORG 000BH</b></p><p>  LJMP TIMER0</p><p><b>  ORG 001BH</b></p><p>  LJMP TIMER1</p><p><b>  ORG 0100H<

73、;/b></p><p>  START: MOV SP,#60H</p><p>  MOV R0,#18H</p><p>  MOV A,#00H</p><p>  MEM_INI: MOV @R0,A</p><p><b>  INC R0</b></p><

74、p>  CJNE R0,#5FH,MEM_INI</p><p>  LCALL DELAY_5ms ;初始化LCD</p><p>  MOV R0,#38H ;設(shè)置LCD 為16X2 顯示,5X7 點陣,八位數(shù)據(jù)接口</p><p>  LCALL LCD_WCMD</p><p>  LCALL DELAY_5ms</p&g

75、t;<p>  MOV R0,#0CH ;設(shè)置LCD 開顯示及光標(biāo)形式(光標(biāo)不閃爍,不顯示"-")</p><p>  LCALL LCD_WCMD</p><p>  LCALL DELAY_5ms</p><p>  MOV R0,#06H ;LCD 顯示光標(biāo)移動設(shè)置(光標(biāo)地址指針加1,整屏顯示不移動)</p>&

76、lt;p>  LCALL LCD_WCMD</p><p>  LCALL DELAY_5ms</p><p>  MOV R0,#01H ;清除LCD的顯示內(nèi)容</p><p>  LCALL LCD_WCMD</p><p>  LCALL DELAY_5ms</p><p><b>  ;第一自定

77、義字符:</b></p><p>  MOV R0,#40H</p><p>  LCALL LCD_WCMD ;“01 000 000”第一行地址(D7D6為地址設(shè)定命令形式D5D4D3為字符存放位置)</p><p>  MOV R0,#1FH</p><p>  LCALL LCD_WDAT ;“XXX 1111

78、1”第一行數(shù)據(jù)(D7D6D5為XXX,表示為任意數(shù),一般用000)</p><p>  MOV R0,#41H</p><p>  LCALL LCD_WCMD ;“01 000 001”第二行地址</p><p>  MOV R0,#11H</p><p>  LCALL LCD_WDAT ;“XXX 10001”第2行數(shù)據(jù)&l

79、t;/p><p>  MOV R0,#42H</p><p>  LCALL LCD_WCMD ;“01 000 010”第三行地址</p><p>  MOV R0,#15H</p><p>  LCALL LCD_WDAT ;“XXX 10101”第3行數(shù)據(jù)</p><p>  MOC R0,#43H

80、</p><p>  LCALL LCD_WCMD ;“01 000 011”第四行地址</p><p>  MOV R0,#11H</p><p>  LCALL LCD_WCMD ;“XXX 10001”第四行數(shù)據(jù)</p><p>  MOV R0,#44H</p><p>  LCALL LC

81、D_WCMD ;“01 000 100”第五行地址</p><p>  MOV R0,#1FH</p><p>  LCALL LCD_WDAT ;“XXX 11111”第五行數(shù)據(jù)</p><p>  MOV R0,#45H</p><p>  LCALL LCD_WCMD ;“01 000 101”第六行地址</p>

82、<p>  MOV R0,#0AH</p><p>  LCALL LCD_WDAT ;“XXX 01010”第六行數(shù)據(jù)</p><p>  MOV R0,#46H</p><p>  LCALL LCD_WCMD ;“01 000 110”第七行地址</p><p>  MOV R0,#1FH</p>&

83、lt;p>  LCALL LCD_WDAT ;“XXX 11111”第七行數(shù)據(jù)</p><p>  MOV R0,#47H</p><p>  LCALL LCD_WCMD ;“01 000 111”第八行地址</p><p>  MOV R0,#00H</p><p>  LCALL LCD_WDAT ;“XXX 00000”第八

84、行數(shù)據(jù)</p><p><b>  第二自定義字符:</b></p><p>  MOV R0,#48H</p><p>  LCALL LCD_WCMD ;“01 001 000”第一行地址</p><p>  MOV R0,#01H</p><p>  LCALL LCD_WDAT ;“X

85、XX 00001”第一行數(shù)據(jù)</p><p>  MOV R0,#49H</p><p>  LCALL LCD_WCMD ;“01 001 001”第二行地址</p><p>  MOV R0,#1BH</p><p>  LCALL LCD_WDAT ;“XXX 11011”第二行數(shù)據(jù)</p><p>  MO

86、V R0,#4AH</p><p>  LCALL LCD_WCMD ;“01 001 010”第三行地址</p><p>  MOV R0,#1DH</p><p>  LCALL LCD_WDAT ;“XXX 11101”第三行數(shù)據(jù)</p><p>  MOV R0,#4BH</p><p>  LCALL LCD

87、_WCMD ;“01 001 011”第四行地址</p><p>  MOV R0,#19H</p><p>  LCALL LCD_WDAT ;“XXX 11001”第四行數(shù)據(jù)</p><p>  MOV R0,#4CH</p><p>  LCALL LCD_WCMD ;“01 001 100”第五行地址</p><p

88、>  MOV R0,#1DH</p><p>  LCALL LCD_WDAT ;“XXX 11101”第五行數(shù)據(jù)</p><p>  MOV R0,#4DH</p><p>  LCALL LCD_WCMD ;“01 001 101”第六行地址</p><p>  MOV R0,#1BH</p><p>  L

89、CALL LCD_WDAT ;“XXX 11011”第六行數(shù)據(jù)</p><p>  MOV R0,#4EH</p><p>  LCALL LCD_WCMD ;“01 001 110”第七行地址</p><p>  MOV R0,#01H</p><p>  LCALL LCD_WDAT ;“XXX 00001”第七行數(shù)據(jù)</p>

90、<p>  MOV R0,#4FH</p><p>  LCALL LCD_WCMD ;“01 001 111”第八行地址</p><p>  MOV R0,#00H</p><p>  LCALL LCD_WDAT ;“XXX 00000”第八行數(shù)據(jù)</p><p>  MOV YEAR,#5 ;置年初值</p>

91、<p>  MOV MONTH,#1 ;置月初值</p><p>  MOV DATE,#1 ;置日初值</p><p>  MOV DIS_S0,#43H ;“C”</p><p>  MOV DIS_S1,#72H ;“r”</p><p>  MOV DIS_S2,#61H ; “a”</p><p&g

92、t;  MOV DIS_S3,#73H ;“s”</p><p>  MOV DIS_S4.#79H ;“y”</p><p>  MOV DIS_S5,#20H ;“”</p><p>  MOV R1,#00H ;顯示一自定義字符</p><p>  LCALL WEEK_PRO</p><p>  LCALL U

93、ODATE_BUF</p><p>  LCALL DISPLAY_PRO ;屏顯初始化</p><p>  *************************主程序*************************</p><p>  MAIN:MOV IE ,#8AH ;CPU開中斷,Timer0, Timer1開中斷</p><p> 

94、 MOV TMOD,#11H ; Timer0,Timer1工作于模式1,16位定時方式</p><p>  MOV TH0,#0DCH ; Timer0置10MS定時初值</p><p>  MOV TL0,#00H</p><p>  MOV TH1,#0FFH ; Timer1置鬧鐘聲音初值</p><p>  MOV TL1,#00

95、H</p><p>  SETB ALARM ;廚師啟動鬧鐘功能</p><p>  CLR TR1 ; Timer1禁止</p><p>  SETB TR0 ; Timer0啟動</p><p>  MOV KEY_V,#03H</p><p>  MAIN_1:LCALL KEY_SCAN</p>

96、<p>  MOV A,KEY_S</p><p>  XRL A,KEY_V</p><p><b>  JZ MAIN_1</b></p><p>  LCALL DELAY_5MS</p><p>  LCALL DELAY_5MS</p><p>  LCALL KEY_SCAN

97、</p><p>  MOV A,KEY_S</p><p>  XRL A,KEY_V</p><p><b>  JZ MAIN_1</b></p><p>  MOV KEY_V,KEY_S</p><p>  MOV A KEY_V</p><p>  XRL A,

98、#01H</p><p>  JNZ MAIN_2</p><p>  CLR TR0 ;進(jìn)入調(diào)整狀態(tài),禁止Timer0</p><p>  MOV IE,#00H ;CPU禁止中斷</p><p>  LCALL KEY_PRE_PRO ;PRE按鍵按下,調(diào)用PRE按鍵處理程序</p><p>  SJMP MAIN

99、_1</p><p>  MAIN_2:MOV A,KEY_V</p><p>  XRL A,#02H</p><p>  JNZ MAIN_1</p><p>  LCALL KEY_ADJ_PRO ;DAJ按鍵按下,調(diào)用PRE按鍵處理程序</p><p>  SJMP MAIN_1</p><

100、p>  ****************************按鍵掃描程序**********************</p><p>  KEY_SCAN: CLR A </p><p>  MOV P1,#0FFH</p><p><b>  MOV C,PRE</b></p><p>  MOV ACC,

101、1,C</p><p><b>  MOV C,ADJ</b></p><p>  MOV ACC,0,C</p><p>  MOV KEY_S,A ;本次掃描鍵值存入KEY_S</p><p><b>  RET</b></p><p>  *************PR

102、E按鍵處理程序*******************</p><p>  KEY_PRE_PRO:INC FLAG</p><p>  MOV R4,FLAG</p><p>  CJNE R4,#1,KEY_PRE_1 ;注意,該指令不改變操作</p><p>  MOV R0,#0EH</p><p>  LCAL

103、L LCD_WCMD ;顯示光標(biāo)“-”,整個光標(biāo)不閃爍</p><p>  MOV DIS_S0,#61H ;“a”</p><p>  MOV DIS_S1,#6CH ;“1”</p><p>  MOV DIS_S2,#61H ;“a”</p><p>  MOV DIS_S3,#72H ;“r”</p><p>

104、  MOV DIS_S4,#6DH“m”</p><p>  MOV DIS_S5,#3AH“:”</p><p>  MOV R1,#50H“p”</p><p>  MOV DIS_H,HOUR_ARM</p><p>  MOV DIS_M,MIN_ARM</p><p>  MOV DIS_S,SEC_ARM&

105、lt;/p><p>  LCALL UPDATE_BUF</p><p>  LCALL DISPLAY_PAO ;更新屏顯內(nèi)容</p><p>  MOV R0,#47H</p><p>  LCALL LCD_POS ;使光標(biāo)位于第一個調(diào)整項下</p><p>  JMP KEY_PRE_E</p>&l

106、t;p>  KEY_PRE_1:CJNE R4,#2,KEY_PRE_2</p><p>  MOV R0,#49H</p><p>  LCALL LCD_POS ;光標(biāo)置小時報警設(shè)置位置</p><p>  JMP KEY_PRE_E</p><p>  KEY_PRE_2:CJNE R4,#3,KEY_PRE_3</p>

107、;<p>  MOV R0,#4CH</p><p>  LCALL LCD_POS ;光標(biāo)置分鐘報警設(shè)置位置</p><p>  JMP KEY_PRE_E</p><p>  KEY_PRE_3: CJNE R4,#4,KEY_PRE_4</p><p>  MOV R0,#4FH</p><p> 

108、 LCALL LCD_POS ;光標(biāo)置秒時報警設(shè)置位置</p><p>  JMP KEY_PRE_E</p><p>  KEY_PRE_4:CJNE R4,#5,KEY_PRE_5</p><p>  MOV DIS_S0,#74H ;“t”</p><p>  MOV DIS_S1,#69H ;“i”</p><p&

109、gt;  MOV DIS_S2,#6DH ;“m”</p><p>  MOV DIS_S3,#65H ;“e”</p><p>  MOV DIS_S4,#3AH ;“:”</p><p>  MOV DIS_S5,#20H ; “ ”</p><p>  MOV R1,#50H ;“P”</p><p>  MOV

110、 DIS_H,HOUR</p><p>  MOV DIS_M,MIN</p><p>  MOV DIS_S,SEC</p><p>  LCALL UPDATE_BUF</p><p>  LCALL DISPLAY_PRO ;更新屏顯內(nèi)容</p><p>  MOV R0,#05H</p><

111、p>  LCALL LCD_POS ;光標(biāo)置年調(diào)整位置</p><p>  JMP KEY_PRE_E</p><p>  KEY_PRE_5:CJNE R4,#6,KEY_PRE_6</p><p>  MOV R0,#08H</p><p>  LCALL LCD_POS ;光標(biāo)置月調(diào)整位置</p><p>

112、  JMP KEY_PRE_E</p><p>  KEY_PRE_6:CJNE R4,#7,KEY_PRE_7</p><p>  MOV R0,#0BH</p><p>  LCALL LCD_POS ;光標(biāo)置日調(diào)整位置</p><p>  JMP KEY_PRE_E</p><p>  KEY_PRE_7:CJN

113、E R4,#8,KEY_PRE_8</p><p>  MOV R0,#49H</p><p>  LCALL LCD_POS ;光標(biāo)置時調(diào)整位置</p><p>  JMP KEY_PRE_E</p><p>  KEY_PRE_8:CJNE R4,#9,KEY_PRE_9</p><p>  MOV R0,#4CH

114、</p><p>  LCALL LCD_POS ;光標(biāo)置分調(diào)整位置</p><p>  JMP KEY_PRE_E</p><p>  KEY_PRE_9:CJNE R4,#10,KEY_PRE_10</p><p>  MOV R0,#4FH</p><p>  LCALL LCD_POS ;光標(biāo)置秒調(diào)整位置<

115、;/p><p>  JMP KEY_PRE_E</p><p>  KEY_PRE_10:MOV FLAG,#0 ;FLAG到11,就清零</p><p>  MOB R0,#0CH</p><p>  LCALL LCD_WCMD ;設(shè)置LCD開顯示及光并不閃爍,不顯示“-”</p><p>  MOV R0,#01H&

116、lt;/p><p>  LCALL LCD_WCMD ;清除LCD的顯示內(nèi)容</p><p>  MOV IE,#8AH ;CPU開中斷,Timer0, Timer1開中斷</p><p>  SETB TE0 ;啟動Timer0</p><p>  KEY_PRE_E:</p><p><b>  RET<

117、;/b></p><p>  ******* ADJ 按鍵處理程序******************</p><p>  KEY_ADJ_PRO: MOV R5,FLAG</p><p>  CJNE R5,#0,KEY_ADJ_0 ;FLAG=0,如果有鬧鐘聲音,就停止鬧鐘聲音</p><p><b>  MOV C,TR

118、1</b></p><p>  JNC KEY_ADJ_A</p><p><b>  CLR TR1</b></p><p>  KEY_ADJ_A: JMP KEY_ADJ_E</p><p>  KEY_ADJ_0: CJNE R5,#1,KEY_ADJ_1 ;FLAG=1,調(diào)整是否啟用鬧鐘</p

119、><p><b>  CPL ALARM</b></p><p>  LCALL UPDATE_BUF</p><p>  LCALL DISPLAY_PRO</p><p>  MOV R0,#47H</p><p>  LCALL LCD_POS</p><p>  JMP

120、 KEY_ADJ_E</p><p>  KEY_ADJ_1: CJNE R5,#2,KEY_ADJ_2 ;FLAG=2,調(diào)整鬧鐘時</p><p>  INC HOUR_ARM</p><p>  MOV A,HOUR_ARM</p><p>  CJNE A,#24,KEY_ADJ_1_1</p><p>  MO

121、V HOUR_ARM,#0</p><p>  KEY_ADJ_1_1: MOV DIS_H,HOUR_ARM</p><p>  LCALL UPDATE_BUF</p><p>  LCALL DISPLAY_PRO</p><p>  MOV R0,#49H</p><p>  LCALL LCD_POS<

溫馨提示

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

評論

0/150

提交評論