單片機課程設計---定時鬧鐘設計_第1頁
已閱讀1頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  單片機 </b></p><p><b>  課程設計報告書</b></p><p>  2011年 6 月 20日</p><p><b>  填 寫 說 明</b></p><p><b>  1、正文部分: </b&g

2、t;</p><p>  標題與正文格式定義標準如下:</p><p>  一級標題:1.標題1</p><p>  二級標題:1.1標題2</p><p>  三級標題:1.1.1標題3</p><p>  四級標題:1.1.1.1標題4</p><p> ?。?)表格:盡可能采用三線表。&l

3、t;/p><p>  (3)圖形:直接插入的插圖應有圖標、圖號,不能直接插入的圖應留出插圖空位。圖中文字、符號書寫要清楚,并與正文一致。</p><p> ?。?)文字表述:要求層次清楚,語言流暢,語句通順,無語法和邏輯錯誤,無錯字、別字、漏字。文字的表述應當以科學語言描述研究過程和研究結(jié)果,不要以口語化的方式表達,報告中科技術(shù)語和名詞應符合規(guī)定的通用詞語,并使用法定計量單位和標準符號。<

4、;/p><p><b>  2、參考文獻:</b></p><p> ?。?)數(shù)量要求:參考文獻只選擇最主要的列入,應不低于5種。</p><p>  (2)種類要求:參考文獻的引用,可以是著作[M]、論文[J]、專利文獻[P]、會議論文等。</p><p> ?。?)文獻著錄格式及示例。參考文獻用宋體五號字。</p&

5、gt;<p>  [1] 作者. 書名[M]. 版次. 出版地: 出版者, 出版年: 起止頁碼    (著作圖書文獻)</p><p>  [2] 作者. 文章名[J]. 學術(shù)刊物名稱. 年. 卷(期): 起止頁碼      (學術(shù)刊物文獻)</p><p>  示例: [1]王社國,趙建光?;?/p>

6、ARM的嵌入式語音識別系統(tǒng)研究 [J]。微計算機信息,2007,2-2:149-150.</p><p>  3、附錄或附件:(可選項) </p><p>  重要的測試結(jié)果、圖表、設計圖紙、源程序代碼、大量的公式、符號、照片等不宜放入正文中的可以附錄形式出現(xiàn)。</p><p>  如果需要可另行附頁粘貼。</p><p><b>

7、;  任務書</b></p><p>  本設計主要是對51單片機的一個方面的擴展,是能實現(xiàn)一般定時鬧鐘功能的設計。需要實現(xiàn)某一功能時,按對應的按鍵即可,經(jīng)過多次驗證,此設計靈活簡便,可以實現(xiàn)顯示、定時、修改定時、定時時間到能發(fā)出報警聲的功能。</p><p>  本設計要求實現(xiàn)的功能:</p><p>  1、能顯示時時—分分—秒秒。</p>

8、;<p>  2、能夠設定定時時間,并修改定時時間。</p><p>  3、定時時間到能發(fā)出警報聲。</p><p><b>  目 錄</b></p><p>  1、緒論………………………………………………………………………… XX</p><p>  2、方案論證………………………………………

9、………………………… XX</p><p>  3、方案說明………………………………………………………………… XX</p><p>  4、硬件方案設計………………………………………………………… XX</p><p>  5、軟件方案設計………………………………………………………… XX</p><p>  6、調(diào)試……………………………

10、………………………………………… XX</p><p>  7、技術(shù)小結(jié)…………………………………………………………………XX</p><p>  8、參考文獻………………………………………………………………… XX</p><p>  9、附錄………………………………………………………………………… XX</p><p><b>

11、  一、緒論</b></p><p>  系統(tǒng)采用單片機AT89C51作為本設計的核心元件,在其基礎(chǔ)上外圍擴展芯片和外圍電路,附加時鐘電路,復位電路,鍵盤接口及LED顯示器。鍵盤采用獨立連接式。還有定時報警系統(tǒng),即定時時間到,通過揚聲器發(fā)出報警聲,提示預先設定時間時間到,從而起到定時作用。</p><p>  外圍器件有LED顯示驅(qū)動器及相應的顯示數(shù)字電子鐘設計與制作可采用單片

12、機來完成。由于其功能的實現(xiàn)主要通過軟件編程來完成,那么就降低了硬件電路的復雜性,而且其成本也有所降低,所以在該設計與制作中采用單片機AT89C51,它是低功耗、高性能的CMOS型8位單片機。片內(nèi)帶有4KB的Flash存儲器,且允許在系統(tǒng)內(nèi)改寫或用編程器編程。另外, AT89C51的指令系統(tǒng)和引腳與8051完全兼容,片內(nèi)有128B 的RAM、32條I/O口線、2個16位定時計數(shù)器、5個中斷源、一個全雙工串行口等。</p>&

13、lt;p>  在LED顯示器中,分成靜態(tài)顯示和動態(tài)顯示兩類,在這個設計的最小系統(tǒng)中主要用了它的動態(tài)顯示功能,動態(tài)顯示器利用了人視覺的短暫停留,在數(shù)據(jù)的傳輸中是一個一個傳輸?shù)?,且先傳輸?shù)臀弧?lt;/p><p><b>  二、方案論證</b></p><p>  使用是單片機作為核心的控制元件,使得電路的可靠性比較高,功能也比較強大, 而且可以隨時的更新系統(tǒng),進行不

14、同狀態(tài)的組合。 本系統(tǒng)采用單片機AT89C51作為本設計的核心元件,利用7段共陰LED作為顯示器件。接入共陰LED顯示器,可顯示時,分鐘,秒,單片機外圍接有定時報警系統(tǒng),定時時間到,揚聲器發(fā)出報警聲,提示預先設定時間到。</p><p>  電路由下列部分組成:時鐘電路、復位電路、控制電路、LED顯示,報警電路,芯片選用AT89C51 單片機。 </p><p><b>

15、  系統(tǒng)基本框圖:</b></p><p><b>  圖 1系統(tǒng)基本框圖</b></p><p><b>  三、方案說明</b></p><p>  此設計主要是通過單片機系統(tǒng),綜合運用定時器、中斷、數(shù)碼顯示等知識設計一個可定時的電子鐘。它包括系統(tǒng)總體方案及硬件設計,軟件設計,Proteus軟件仿真等部分。

16、</p><p>  系統(tǒng)總體方案及硬件設計是本設計的重要組成部分,在這部分詳細介紹了時鐘原理,硬件設計,數(shù)碼管LED,以及在設計過程中考慮到技術(shù)指標,機型的選擇,器件的選擇等一系列問題。</p><p>  硬件設計的主要任務是根據(jù)總體設計要求,以及在所選機型的基礎(chǔ)上,確定系統(tǒng)擴展所要用的存儲器,I/O電路及有關(guān)外圍電路等然后設計出系統(tǒng)的電路原理圖。</p><p&g

17、t;  合理的軟件結(jié)構(gòu)是設計出一個性能優(yōu)良的單片機應用性系統(tǒng)軟件的基礎(chǔ),因此必須充分重視。在本設計中采用應用廣泛的匯編語言,便于調(diào)試。用Proteus軟件仿真檢查設計是否合理。</p><p><b>  硬件方案設計</b></p><p>  1、單片機AT89S51</p><p>  AT89C51是一個低電壓,高性能CMOS型 8位單

18、片機,片內(nèi)含4KB的可反復擦寫的Flash只讀程序存儲器(ROM)和128 B的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,內(nèi)置功能強大的微型計算機的AT89C51提供了高性價比的解決方案。</p><p><b>  2、時鐘電路</b></p><p&

19、gt;  單片機的時鐘產(chǎn)生方法有兩種:內(nèi)部時鐘方式和外部時鐘方式。本系統(tǒng)中AT89C51單片機采用內(nèi)部時鐘方式。最常用的內(nèi)部時鐘方式是采用外接晶體和電容組成的并聯(lián)諧振回路。振蕩晶體可在1.2MHz~12MHz之間。電容值無嚴格要求,但電容取值對振蕩頻率輸出的穩(wěn)定性、大小和振蕩電路起振速度有少許影響,一般可在20pF~100pF之間取值。AT98S51單片機的時鐘電路如圖2所示。</p><p><b>

20、  圖2 時鐘電路</b></p><p>  3、 數(shù)碼管顯示電路</p><p>  單片機中通常使用7段LED,LED是發(fā)光二極管顯示器的縮寫。LED顯示器由于結(jié)構(gòu)簡單,價格便宜,體積小,亮度高,電壓低,可靠性高,壽命長,響應速度快,顏色鮮艷,配置靈活,與單片機接口方便而得到廣泛應用。LED顯示器是由若干個發(fā)光二極管組成顯示字段的顯示部件,當發(fā)光二極管導通時,相應的一個點

21、或一個筆劃發(fā)光,控制不同組合的二極管導通,就能顯示出各種字符。LED顯示器有多種形式,如:“米”字型顯示器,點陣顯示器和七段數(shù)碼顯示器等,在單片機系統(tǒng)中使用最多的是七段數(shù)碼顯示器。</p><p>  LED七段數(shù)碼顯示器由8個發(fā)光二極管組成顯示字符,根據(jù)內(nèi)部發(fā)光二極管</p><p>  的連接形式不同,LED有共陰極和共陽極兩種,如圖3所示:</p><p> 

22、 采用高亮共陰型數(shù)位數(shù)碼管,為示區(qū)別,顯示秒的兩個數(shù)碼管個頭較小,另外4個較大。共陰數(shù)碼管連接線路如下:一般用7個發(fā)光二極管構(gòu)成顯示數(shù)字和符號,另外還用一段發(fā)光二極管顯示小數(shù)點。這種顯示器一般分為兩種,共陽極顯示器和共陰極顯示器,共陽極顯示器是把每個二極管的正端連在一起,共陰極顯示器是把每個二極管的陰極連在一起。一只顯示器是有8個發(fā)光二極管構(gòu)成,當把某段加正向電壓時,則該段所對應的筆劃亮,不加正向電壓則暗,為了保護各段不受損壞需要加限流

23、電阻,無論是共陽極顯示器還是共陰極顯示器,它的8段排列順序都是一樣的:A段、B段、C段、D段、E段、F段、G段和DP段。在單片機中通常使用7段LED。</p><p><b>  軟件方案設計</b></p><p><b>  1、系統(tǒng)軟件設計</b></p><p>  該系統(tǒng)軟件主要有主程序模塊,定時中斷服務程序,中

24、斷等待服務程序,鍵盤程序,顯示子程序服務程序等六大模塊組成,因為匯編語言使用助記符,符號和數(shù)字等來表示指令程序的語言,容易理解和記憶,所以我們用匯編語言來寫此程序。 2、鍵盤程序</p><p>  鍵盤采用查詢的方式,放在主程序中,當沒有按鍵按下的時候,單片機循環(huán)主程序,一旦有鍵按下,便轉(zhuǎn)向相應的子程序處理,處理結(jié)束后再返回。</p><p><b>  3 、LED<

25、/b></p><p>  七段LED由七個發(fā)光二極管按日字排開,所有發(fā)光二極管的陽極連在一起成共陽極,陰極連在一塊稱共陰極接法。當采用芯片驅(qū)動時不需要加限流電阻,其他情況下一般應外接限流電阻。動態(tài)顯示電路有顯示塊,字形碼封鎖驅(qū)動器,字位鎖存驅(qū)動器三部分組成。</p><p><b>  4、音響報警電路</b></p><p>  在A

26、T89C51外圍的一個管口上加蜂鳴器,通過軟件與硬件的結(jié)合可實現(xiàn)定時鬧鐘功能。</p><p>  5、系統(tǒng)流程圖 圖4 程序流程圖</p><p><b>  調(diào)試</b></p><p>  設幾個按鍵從上往下為k1,k2,k3,k4 。k1與p1.0相連,k2與p1.1相連,

27、k3與p1.2相連,k4與p1.3相連。</p><p>  當需要設定當前時間時,按一下k1鍵,進入時間設定狀態(tài),按一下k2,小時加1;按一下k3,分加1。如此反復來設定當前時間。調(diào)好時間后按k4退出當前時間設定狀態(tài)。如下圖5。</p><p>  當要設定定時時間時,按下k2,進入定時時間設定狀態(tài),按一下k3,小時加1;按一下k1,分鐘加1。如此反復來設定要設定的定時時間。設好后,按下

28、k4退出定時時間設定狀態(tài)。如下圖6。</p><p><b>  圖5 調(diào)時仿真圖</b></p><p><b>  圖6 定時仿真圖</b></p><p><b>  技術(shù)小結(jié)</b></p><p>  在做課程設計的過程中,我進一步認識到全面專業(yè)知識以及邏輯思考方式對

29、研究問題的重要性,同時我也更加具體的掌握了課程設計的基本方法。</p><p>  經(jīng)過不斷的的努力,我終于完成了這次課程設計,總的來說,我學到了不少的東西,知道了理論聯(lián)系實際的重要性。在設計過程中我遇到了很多的困難,但沒放棄,查閱了許多相關(guān)的書籍,自己獨立思考和借鑒了前人的許多優(yōu)秀成果,并與所學的知識緊密的結(jié)合了起來。我相信這過程對我今后的學習和工作給與積極的影響,搭好了平臺。</p><p

30、>  通過這次設計,我對這門課有了更好的理解,尤其結(jié)合了這幾年學的相關(guān)的專業(yè)知識,對各門課都有了一個較全面的理解。這必將對我以后的學習和工作有很大的幫助。本次課程設計的定時鬧鐘電路,可以滿足人們的基本要求,但因為知識水平有限,此電路中存在一定的問題,雖可以通過增加電路解決,但過于復雜和現(xiàn)有水平有限,本次設計就未深入涉及,想要更好的改進電路,需要進一步的努力,,如果有好的意見,希望老師給以支持。</p><p&g

31、t;<b>  八、參考文獻</b></p><p>  [1] 何立民.單片機應用技術(shù)選編10.北京:北京航空航天大學出版社</p><p>  [2] 何立民.單片機應用技術(shù)選編8.北京:北京航空航天大學出版社</p><p>  [3] 沙占友等.單片機外圍電路設計.西安:電子工業(yè)出版社</p><p>  [4]

32、 江力.蔡駿.王艷春.董澤芳.單片機原理與應用技術(shù).北京,清華大學出版社</p><p>  [5] 潘永紅.柳殊.單片機原理與應用.西安,西安電子科技大學出版社 </p><p>  附1 定時鬧鐘源程序代碼</p><p><b>  ORG 0000H</b></p><p><b>  LJMP MAI

33、N</b></p><p><b>  ORG 000BH</b></p><p><b>  LJMP TIME</b></p><p>  ;×××××主程序部分:×××××</p><p

34、><b>  ORG 0100H</b></p><p>  MAIN:MOV SP,#50H</p><p>  MOV 20H,#00H ;秒鐘 BIN</p><p>  MOV 21H,#00H ;分鐘 BIN</p><p>  MOV 22H,#00H ;小時 

35、BIN</p><p>  MOV 23H,#01H</p><p>  MOV 24H,#01H</p><p>  MOV 25H,#00H</p><p>  MOV 30H,#00H </p><p>  MOV 31H,#00H </p><p>  MOV 32H,#00H

36、 </p><p>  MOV 33H,#00H </p><p>  MOV 34H,#00H </p><p>  MOV 35H,#00H</p><p>  MOV 36H,#01H</p><p>  MOV 37H,#00H</p><p>  MOV 38H,#01H&l

37、t;/p><p>  MOV 39H,#00H</p><p>  MOV TMOD,#01H ;16位計數(shù)器</p><p>  MOV TH0,#03CH ;賦計數(shù)初值</p><p>  MOV TL0,#0B0H</p><p>  MOV IE,#10000111B </p><p&

38、gt;  SETB TR0 ;T0啟動計數(shù)</p><p>  MOV R2,#14H</p><p>  MOV P2,#0FFH</p><p>  LOOP: LCALL TIMEPRO</p><p>  LCALL DISPLAY1</p><p>  JB P1.0,M1

39、 </p><p>  LCALL SETTIME ;調(diào)用設定時間程序</p><p>  LJMP LOOP</p><p>  M1:JB P1.1,M2 </p><p>  LCALL SETATIME ;調(diào)用設定時間程序</p><p>  LJMP LOOP</

40、p><p>  M2:JB P1.3,M4 </p><p>  LCALL LOOKATIME ;調(diào)用設定鬧鐘時間程序</p><p>  M4:LJMP LOOP</p><p>  DELAY:MOV R4,#030H ;延時時間</p><p>  DL00:MOV R5

41、,#0FFH</p><p>  DL11:MOV R6,#9H</p><p>  DL12:DJNZ R6,DL12</p><p>  DJNZ R5,DL11</p><p>  DJNZ R4,DL00</p><p><b>  RET</b></p><p>

42、  ;×××××設定時間程序:×××××</p><p><b>  SETTIME:</b></p><p>  L0:LCALL DISPLAY1 ;調(diào)用時間允許程序</p><p>  MM1: JB P1.1,L1

43、 </p><p>  MOV C,P1.1</p><p><b>  JC MM1</b></p><p>  LCALL DELAY1 ;調(diào)用延時</p><p><b>  JC MM1</b></p><p>  MSTOP1:

44、 MOV C,P1.1</p><p>  JNC MSTOP1 ;判斷P1.1是否釋放?釋放則繼續(xù)</p><p>  LCALL DELAY1 ;調(diào)用延時</p><p>  MOV C,P1.1</p><p>  JNC MSTOP1</p><p>  

45、INC 22H ;小時增加1</p><p><b>  MOV A,22H</b></p><p>  CJNE A,#18H,GO12 ;判斷小時是否到24時?未到繼續(xù)循環(huán)</p><p>  MOV 22H,#00H ;小時復位</p><p&g

46、t;  MOV 34H,#00H</p><p>  MOV 35H,#00H</p><p><b>  LJMP L0</b></p><p>  L1:JB P1.2,L2 </p><p>  MOV C,P1.2</p><p><b>  JC

47、 L1</b></p><p>  LCALL DELAY1 ;延時</p><p><b>  JC L1</b></p><p>  MSTOP2: MOV C,P1.2</p><p>  JNC MSTOP2 ;判斷P1.2是否釋放?釋放則繼續(xù)<

48、;/p><p>  LCALL DELAY1 ;調(diào)用延時</p><p>  MOV C,P1.2</p><p>  JNC MSTOP2</p><p>  INC 21H ;分鐘增加一</p><p><b>  MOV A,21H</b&

49、gt;</p><p>  CJNE A,#3CH,GO11 </p><p>  MOV 21H,#00H ;分鐘復位</p><p>  MOV 32H,#00H</p><p>  MOV 33H,#00H</p><p><b>  LJMP L0</b&

50、gt;</p><p>  GO11:MOV B,#0AH ;將A中的內(nèi)容分成高低兩部分</p><p>  DIV AB</p><p>  MOV 32H,B</p><p>  MOV 33H,A</p><p>  LJMP L0</p>

51、<p>  GO12: MOV B,#0AH</p><p>  DIV AB</p><p>  MOV 34H,B</p><p>  MOV 35H,A</p><p>  LJMP L0</p><p>  L2:JB P1.3,L0

52、 </p><p>  MOV C,P1.3</p><p><b>  JC L2</b></p><p>  LCALL DELAY1 ;調(diào)用延時</p><p>  MOV C,P1.3</p><p><b>  JC L2</b

53、></p><p>  STOP1: MOV C,P1.3 ;判斷按鍵P1.3是否釋放?</p><p><b>  JNC STOP1</b></p><p>  LCALL DELAY1 ;調(diào)用延時</p><p>  MOV C,P1.3</p>

54、<p><b>  JNC STOP1</b></p><p>  LJMP LOOP</p><p>  ;×××××設置鬧鐘時間×××××</p><p>  SETATIME:LCALL DISPLAY2 ;調(diào)用

55、時間運行</p><p>  N0:LCALL DISPLAY2</p><p>  MM2: JB P1.2,N1 ;判斷P1.2是否按下?</p><p>  MOV C,P1.2</p><p><b>  JC MM2</b></p><p>  LCAL

56、L DELAY1 </p><p><b>  JC MM2</b></p><p>  MSTOP3: MOV C,P1.2 ;判斷P1.2是否釋放?</p><p>  JNC MSTOP3</p><p>  LCALL DELAY1 </p>

57、<p>  MOV C,P1.2</p><p>  JNC MSTOP3</p><p>  INC 24H ;設定小時增加1</p><p><b>  MOV A,24H</b></p><p>  CJNE A,#24,GO22 </p>&

58、lt;p>  MOV 24H,#00H ;時鐘復位</p><p>  MOV 38H,#00H</p><p>  MOV 39H,#00H</p><p><b>  LJMP N0</b></p><p>  N1:JB P1.0,N2 ;判斷P1.0是否按下?&l

59、t;/p><p>  MOV C,P1.0</p><p><b>  JC N1</b></p><p>  LCALL DELAY1 </p><p><b>  JC N1</b></p><p>  MSTOP4: MOV C,P1.0

60、 ;判斷P1.0是否釋放?</p><p>  JNC MSTOP4</p><p>  LCALL DELAY1 </p><p>  MOV C,P1.0</p><p>  JNC MSTOP4</p><p>  INC 23H ;設定鬧鐘分鐘增加1</

61、p><p><b>  MOV A,23H</b></p><p>  CJNE A,#60,GO21 ;判斷A是否到60分?</p><p>  MOV 23H,#00H ;分鐘復位</p><p>  MOV 36H,#00H</p><p>  MOV 37H,#

62、00H</p><p><b>  LJMP N0</b></p><p>  GO21:MOV B,#0AH ;將A中的內(nèi)容分成高低兩部分</p><p>  DIV AB</p><p>  MOV 36H,B</p><p>  MOV 3

63、7H,A</p><p>  LJMP N0</p><p>  GO22: MOV B,#0AH</p><p>  DIV AB</p><p>  MOV 38H,B</p><p>  MOV 39H,A</p><p>  LJMP

64、 N0</p><p>  N2:JB P1.3 ,N0 ;判斷P1.3是否按下?</p><p>  MOV C,P1.3</p><p><b>  JC N2</b></p><p>  LCALL DELAY1 </p><p>  

65、MOV C,P1.3</p><p><b>  JC N2</b></p><p>  STOP2: MOV C,P1.3 ;判斷P1.3是否釋放?</p><p><b>  JNC STOP2</b></p><p>  LCALL DELAY1

66、</p><p>  MOV C,P1.3</p><p><b>  JNC STOP2</b></p><p><b>  LJMP LOOP</b></p><p>  TIMEPRO:MOV A,21H </p><p><b>  M

67、OV B,23H</b></p><p>  CJNE A,B,BK ;判斷分鐘是否運行到設定的鬧鐘的分鐘?</p><p><b>  MOV A,22H</b></p><p><b>  MOV B,24H</b></p><p>  CJNE A,B,BK

68、 ;判斷時鐘是否運行到設定的鬧鐘的時鐘?</p><p>  SETB 25H.0</p><p>  MOV C,25H.0</p><p><b>  JC XX</b></p><p>  XX: LCALL TIMEOUT ;調(diào)用時間鬧鐘響應程序</p><p&g

69、t;<b>  BK:RET</b></p><p><b>  TIMEOUT:</b></p><p>  X1:LCALL BZ ;調(diào)用喇叭響應程序</p><p>  LCALL DISPLAY2 </p><p>  CLR 25H.0

70、 </p><p>  JB P1.3, X1 ;判斷P1.3是否按下?</p><p>  LCALL DELAY </p><p><b>  CLR 25H.0</b></p><p>  LJMP DISPLAY1 </p

71、><p>  BZ: CLR P3.7 ;喇叭響應程序</p><p>  MOV R7,#250 ;響應延時時間</p><p>  T2: MOV R6,#124</p><p>  T3: DJNZ R6,T3</p><p>  DJNZ R7,

72、T2</p><p><b>  SETB P3.7</b></p><p><b>  RET</b></p><p>  LOOKATIME:LCALL DISPLAY2 ;調(diào)用時間運行程序</p><p>  MM: JB P1.3,LOOKATIME ;判斷按鍵P

73、1.3是否按下</p><p>  MOV C,P1.3</p><p><b>  JC MM</b></p><p>  LCALL DELAY1</p><p>  MOV C,P1.3</p><p><b>  JC MM</b></p>&l

74、t;p>  STOP3: MOV C,P1.3</p><p><b>  JNC STOP3</b></p><p>  LCALL DELAY1</p><p>  MOV C,P1.3</p><p><b>  JNC STOP3</b></p><p&g

75、t;  LJMP LOOP</p><p>  DELAY1: MOV R4,#14H ;時間延時</p><p>  DL001: MOV R5,#0FFH</p><p>  DL111: DJNZ R5,DL111</p><p>  DJNZ R4,DL001</p><p

76、><b>  RET</b></p><p>  ;×××××時間運行程序×××××</p><p>  TIME: PUSH ACC ;現(xiàn)場保護</p><p><b>  PUSH P

77、SW</b></p><p>  MOVTH0,#03CH ;賦初值</p><p>  MOVTL0,#0B0H</p><p>  DJNZR2,RET0</p><p>  MOVR2,#14H</p><p><b>  MOVA,20H</b>

78、;</p><p><b>  CLR C</b></p><p>  INC A ;秒鐘自加1</p><p>  CJNE A,#3CH,GO1 ;判斷秒鐘是否到60秒?</p><p>  MOV20H,#0

79、 ;到60秒復位</p><p>  MOV 30H,#0</p><p>  MOV 31H,#0</p><p><b>  MOVA,21H</b></p><p>  INCA ;分鐘自加1</p>

80、<p>  CJNEA,#3CH,GO2 ;判斷分鐘是否到60分?</p><p>  MOV 21H,#0H ;到60分復位</p><p>  MOV 32H,#0</p><p>  MOV 33H,#0</p><p><b>  MOV

81、A,22H</b></p><p>  INCA ;時鐘自加1</p><p>  CJNEA,#18H,GO3 ;判斷時鐘是否到24時?</p><p>  MOV 22H,#00H ;到24時復位</p>

82、<p>  MOV 34H,#0</p><p>  MOV 35H,#0</p><p><b>  AJMPRET0</b></p><p>  GO1:MOV20H,A </p><p>  MOV B,#0AH</p><p>  

83、DIV AB</p><p>  MOV 31H,A</p><p>  MOV 30H,B</p><p><b>  AJMPRET0</b></p><p>  GO2:MOV21H,A</p><p>  MOV B,#0AH</p>&

84、lt;p>  DIV AB</p><p>  MOV 33H,A</p><p>  MOV 32H,B</p><p><b>  AJMPRET0</b></p><p>  GO3:MOV22H,A</p><p>  MOV B,#0AH<

85、;/p><p>  DIV AB</p><p>  MOV 35H,A</p><p>  MOV 34H,B</p><p><b>  AJMPRET0</b></p><p>  RET0: POP PSW ;恢復現(xiàn)場</p

86、><p><b>  POP ACC</b></p><p><b>  RETI</b></p><p>  ;×××××運行部分×××××</p><p>  DISPLAY1:MOVR0,#30

87、H</p><p>  MOVR3,#0FEH</p><p><b>  MOVA,R3</b></p><p>  PLAY1: MOV P2,A</p><p>  MOV A,@R0</p><p>  MOV DPTR,#DSEG1 ;表首地址送DPTR&l

88、t;/p><p>  MOVC A,@A+DPTR </p><p>  MOV P0,A </p><p>  LCALL DL1</p><p>  MOV P2,#0FFH ;送高電平到P2</p><p>  MOV A,R3</

89、p><p>  RL A ;</p><p>  JNB ACC.6,LD1</p><p>  INC R0</p><p>  MOV R3,A</p><p>  LJMP PLAY1 ;調(diào)用查表程序</p>

90、<p>  LD1: RET</p><p>  DISPLAY2: PUSH ACC ;現(xiàn)場保護</p><p><b>  PUSH PSW</b></p><p>  MOVR0,#36H</p><p>  MOVR3,#0FBH</p><p&g

91、t;<b>  MOVA,R3</b></p><p>  PLAY2: MOV P2,A</p><p>  MOV A,@R0</p><p>  MOV DPTR,#DSEG1 ;表首地址送DPTR</p><p>  MOVC A,@A+DPTR ;查ASCII

92、特碼</p><p>  MOV P0,A ;查表結(jié)果送A</p><p><b>  LCALL DL1</b></p><p>  MOV P2,#0FFH ;送高電平到P2</p><p>  MOV A,R3</p><p

93、>  RL A</p><p>  JNB ACC.6,LD2</p><p>  INC R0</p><p>  MOV R3,A</p><p>  LJMP PLAY2</p><p>  LD2: POP PSW ;恢復現(xiàn)場&

94、lt;/p><p><b>  POP ACC</b></p><p><b>  RET</b></p><p>  ;×××××延時時間×××××</p><p>  DL1:MOVR7,#02H

95、 ;延時時間</p><p>  DL: MOVR6,#0200H</p><p>  DL6:DJNZR6,$</p><p>  DJNZR7,DL</p><p><b>  RET</b></p><p>  DSEG1:DB 3FH,06H,5B

溫馨提示

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

評論

0/150

提交評論