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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  單片機課程設計報告</b></p><p>  題目名稱: 智能電子數字鐘設計 </p><p>  系: 電氣工程系 </p><p>  專 業(yè): 電氣自動化 </p><p>

2、  班 級: </p><p>  學 號: </p><p>  學生姓名: </p><p>  指導教師: </p><p>  職

3、 稱: </p><p>  2012年 06 月 27日</p><p><b>  目錄</b></p><p>  摘要………………………………………………………………………………</p><p>  智能電子數字時鐘總體方案的設計………………………………………

4、………</p><p>  1.1 系統(tǒng)方案的確定…………………………………………………………………..</p><p>  智能電子數字鐘硬件系統(tǒng)的設計…………………………………………………….</p><p>  2.1. AT89C51單片機簡介………………………………………………………..</p><p>  2.1.1 AT89C5

5、1概述…………………………………………………………………</p><p>  2.1.2 主要性能特點………………………………………………………………..</p><p>  2.1.3 AT89C51單片機引腳功能…………………………………………………….</p><p>  2.2 顯示電路的設計…………………………………………………………………</p&g

6、t;<p>  2.3 鍵盤電路的設計…………………………………………………………………..</p><p>  2.3.1 鍵盤的任務………………………………………………………………….</p><p>  2.3.2 獨立式鍵盤的特點及優(yōu)點………………………………………………………</p><p>  2.3.3 中斷掃描方式……………………………

7、……………………………………….</p><p>  2.3.4 鍵盤實現的功能………………………………………………………………… .</p><p>  2.4 晶振電路的設計…………………………………………………………………..</p><p>  2.5 復位電路的設計…………………………………………………………………..</p><p&g

8、t;  2.6 整點報時電路的設計……………………………………………………………</p><p>  3. 智能電子數字鐘軟件系統(tǒng)的設計……………………………………………….</p><p>  3.1主程序…………………………………………………………………………..</p><p>  3.2數碼管顯示子程序…………………………………………………………….<

9、/p><p>  3.3定時器/計數器中斷服務子程序……………………………………………….</p><p>  3.4鍵盤處理子程序………………………………………………………………….</p><p>  4. 結論和總結…………………………………………………………………………..</p><p>  參考文獻………………………………………………

10、…………………………………….</p><p>  附錄一:智能電子數字程序………………………………………………………………</p><p>  附錄二智能電子數字鐘電路圖…………………………………………………………</p><p><b>  摘要</b></p><p>  單片機自20世紀70年代問世以來,已對人類

11、社會產生了巨大影響。由于其具有集成度高、處理功能強、可靠性高、系統(tǒng)結構簡單、體積小、低功耗、易于使用等優(yōu)點,在智能控制、智能儀器儀表、辦公自動化、家用電器等諸多領域得到廣泛的應用。</p><p>  本設計介紹了一種基于AT89C51單片機設計智能電子數字鐘的方法,首先概述了智能電子數字鐘的總體方案,并介紹了硬件設計和軟件設計以及系統(tǒng)的主程序流程圖和中斷程序流程圖。它以AT89C51單片機為核心,能通過鍵盤預置

12、時間、星期;采用七段共陽數碼管顯示星期、時、分、秒;具有整點報時的功能;在軟件方面,利用AT89C51單片機內部定時器T0的工作方式1實現定時功能,利用單片機的串口和74LS164擴展并口實現LED靜態(tài)驅動,從而完成數字時鐘設計。</p><p>  關鍵詞:AT89C51單片機 中斷 定時 靜態(tài)驅動 74LS164擴展并口</p><p>  1.智能電子數字鐘總體方案

13、 </p><p>  1.1系統(tǒng)方案的確定</p><p>  單片機芯片作為控制系統(tǒng)的核心部件,它除了具備微機CPU的數值計算功能外,還具有靈活強大的控制功能,以便實時檢測系統(tǒng)的輸入量、控制系統(tǒng)的輸出量,實現自動控制。在本次設計中采用單片機技術來實現智能電子數字鐘的功能。方案的設計可以從以下幾個方面來確定

14、:微處理器的選擇,在本次設計中采用AT89C51單片機;顯示電路的設計,采用7個共陽極LED數碼顯示管靜態(tài)顯示;該設計采用獨立式鍵盤,使用了4個按鍵,分別有:調整鍵、加一鍵、整點報時鍵、復位鍵;實時控制電路是時鐘電路的一個重要組成部分,采用的是AT89S51單片機內部定時器T0,還有一些其他控制電路如復位電路、晶振電路等。通過這些控制電路的連接構成了完整的電路,系統(tǒng)的整體框圖如圖所示。</p><p>  2.

15、智能數字電子時鐘硬件系統(tǒng)的設計</p><p>  本設計的硬件主要包括:單片機芯片AT89C51、晶振電路、數碼管顯示電路、鍵盤電路、整點報時電路、復位電路等,在硬件電路中采用AT89C51的串行口工作方式0發(fā)送,串行數據由P3.0(RXD)送出,移位時鐘由P3.1(TXD)送出,在移位時鐘的作用下,串行口發(fā)送緩沖器的數據一位一位的從P3.0移入74LS164中,并由數碼管靜態(tài)顯示。</p>&l

16、t;p>  2.1. AT89C51單片機簡介</p><p>  2.1.1 AT89C51概述</p><p>  AT89C51是一個低功耗,高性能CMOS 8位單片機,片內含4KB的可反復擦寫1000次的Flash只讀程序存儲器,兼容標準MCS-51指令系統(tǒng)及80C51引腳結構,芯片內集成了通用8位中央處理器和Flash存儲單元,AT89C51在眾多嵌入式控制應用系統(tǒng)中得到廣

17、泛應用 .</p><p>  2.1.2 主要性能特點</p><p> ?。?)8位微處理器(CPU):包括運算器和控制器兩大部分。</p><p>  數據存儲器(128B RAM):片內為128B,片外最多可擴64KB。</p><p> ?。?)程序存儲器(4KB Flash ROM):片內集成有4KB的Flash存儲器,如片內容量

18、不夠,片外可外擴至64KB。</p><p> ?。?)4個8位可編程并行I/O口(P0口、P1口、P2口、P3口);</p><p>  (5)1個全雙工的異步串行口;</p><p> ?。?)2個可編程的16位定時器/計數器;</p><p>  (7)1個看門狗定時器;</p><p>  (8)中斷系統(tǒng)具有5

19、個中斷源、5個中斷向量;</p><p> ?。?)特殊功能寄存器(SFR)26個;</p><p>  (10)低功耗模式有空閑模式和掉電模式,且具有掉電模式下的中斷恢復模式;</p><p>  2.1.3 AT89C51單片機引腳功能</p><p> ?。?)電源及時鐘引腳—VCC、VSS;XTAL1、XTAL2。</p>

20、<p> ?。?)控制引腳— PSEN、ALE、EA RST。</p><p> ?。?)I/O口引腳——P0口:8位,漏極開路的雙向I/O口,P0口可用作通用的I/O口,需加上拉電阻。 </p><p>  P1口:8位,準雙向I/O口,具有內部上拉電阻。</p><p>  P2口:8位,準雙向I/O口,具有內部上拉電阻。</p>

21、<p>  P3口:8位,準雙向I/O口,具有內部上拉電阻。P3口還可提供第二功能。</p><p>  2.2 顯示電路的設計 在本次設計中采用共陽極LED數碼顯示管靜態(tài)顯示。顯示原理如下:LED 數碼顯示管工作于靜態(tài)顯示方式時,各位的共陽極連接在一起并接+5V電源,每位的斷碼線分別與一個8位的I/O口鎖存器輸出相連,如果送往各個LED數碼管所顯示字符的斷碼一經確定,則相應I/O口鎖存器鎖存的

22、斷碼輸出將維持不變,直到送入另一個字符的斷碼為止。正因為如此,靜態(tài)顯示方式的顯示無閃爍、亮度都比較高,軟件控制比較容易。</p><p>  2.3 鍵盤電路的設計</p><p>  2.3.1 鍵盤的任務:</p><p>  1.首先判別是否有鍵按下,若有進入下一步工作。</p><p>  2.識別哪一個鍵被按下,并求出相應的鍵值。&

23、lt;/p><p>  3.根據鍵值,找到相應鍵值的處理程序入口。</p><p>  2.3.2 獨立式鍵盤的特點及優(yōu)點:</p><p>  本設計采用獨立式鍵盤,它的特點是:一鍵一線,各鍵相互獨立,每個按鍵各接一個I/O口線,通過檢測I/O輸入線的電平狀態(tài),可以很容易的判斷哪個按鍵被按下。圖中上拉電阻保證按鍵釋放時,輸入檢測線上有穩(wěn)定的高電平,當某一按鍵按下時,對

24、應的檢測線就變成了低電平,與其他按鍵相連的檢測線仍為高電平,只需讀入I/O輸入線的狀態(tài),判別哪一條I/O輸入線為低電平,就很容易的識別出哪個鍵被按下。</p><p>  這種鍵盤的優(yōu)點是:電路簡單,各條檢測線獨立,識別按下按鍵的軟件編寫簡單,適用于按鍵數目較少的場合。</p><p>  2.3.3 中斷掃描方式:</p><p>  為了進一步提高單片機掃描鍵盤

25、的工作效率,本設計采用中斷掃描方式。圖中的鍵盤只有在鍵盤有按鍵按下時,對應節(jié)點處為低電平,經過74LS11反相后向單片機的中斷請求輸入INTO發(fā)出中斷請求信號,單片機響應中斷,執(zhí)行鍵盤掃描程序中斷服務子程序,識別按下的按鍵,并跳向該按鍵的處理程序。如果無鍵按下,單片機將不理睬鍵盤。此種方式的優(yōu)點是:只有按鍵按下時,才進行處理,所以其實時性強,工作效率高。</p><p>  2.3.4 鍵盤實現的功能 </

26、p><p>  該設計使用了4個按鍵,分別有:調整鍵、加一鍵、整點報時鍵、復位鍵。按一下調整鍵第一個數碼管小數點(DP位)點亮,再按一下,第二位數碼管(DP位)點亮,如果想調整哪一位就按幾下,這樣的目的是清楚的知道正在調整哪位;加一鍵自動實現加一功能;當按下整點報時鍵時,發(fā)光二極管點亮,當到整點時蜂鳴器發(fā)出聲音;再按一下此鍵,發(fā)光二極管熄滅,到整點時,蜂鳴器不會發(fā)聲。</p><p>  2.

27、4 晶振電路的設計</p><p>  AT89C51單片機有一個用于構成內部振蕩器的反相放大器,XTAL1和XTAL2分別是放大器的輸入、輸出端。石英晶體和陶瓷諧振器都可以用來一起構成自激振蕩器。從外部時鐘源驅動器件,XTAL2可以不接,而從XTAL1接入,由于外部時鐘信號經過二分頻觸發(fā)后作為外部時鐘電路輸入的,所以對外部時鐘信號的占空比沒有其它要求,最長低電平持續(xù)時間和最少高電平持續(xù)時間等還是要符合要求的。反

28、相放大器的輸入端為XTALl,輸出端為XTAL2,兩端連接石英晶體及兩個電容形成穩(wěn)定的自激振蕩器。電容通常取30PF左右。振蕩頻率范圍是1.2~12MHz。本設計采用的頻率是12MHz。</p><p>  2.5 復位電路的設計 單片機復位是使CPU和系統(tǒng)中的其他功能部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作斷電后或者發(fā)生故障后都要復位。復位電路比較簡單,10uF電解電容與按鍵并聯,+5V供電,實

29、現復位。</p><p>  2.6 整點報時電路的設計</p><p>  整點報時是數字鐘的一個重要功能,整點報時功能采用蜂鳴器來實現。當按下整點報時鍵時,發(fā)光二極管點亮,當到整點時蜂鳴器發(fā)出聲音;再按一下此鍵,發(fā)光二極管熄滅,到整點時,蜂鳴器不會發(fā)聲。</p><p>  3. 智能數字電子鐘軟件系統(tǒng)的設計</p><p>  單片機的

30、程序設計有其自身的特點。在單片機系統(tǒng)中,硬件與軟件緊密結合,由于硬件電路的設計不具有通用性,所以必須根據具體的硬件電路來設計對應的軟件,硬件設計的優(yōu)劣直接影響到軟件設計的難易,軟件設計的優(yōu)劣又直接影響到硬件的發(fā)揮。在很多時候,軟件可以替代硬件的功能,當然,需要付出額外占用CPU時間的代價。</p><p>  軟件程序的設計是根據硬件電路圖的連接和各個元器件的功能進行設計。在編寫軟件時,可以按各個程序的功能將軟件

31、細分為各個功能模塊,再通過主程序的調用來實現整個軟件系統(tǒng)。而一般編寫的程序都是根據事前所用的流程圖來編寫的,而且,流程圖中也包含了對設計所得結果的要求,因此,流程圖的設計直接影響到源程序的設計。</p><p>  智能電子數字鐘系統(tǒng)軟件程序由主程序和子程序組成。主程序包括:初始化參數設置、定時器/中斷服務子程序、按鍵處理程序、數碼管顯示模塊等。</p><p><b>  3.

32、1主程序</b></p><p>  主程序流程圖如圖所示,主程序先對定時器/計數器和顯示單元初始化,然后重復調用數碼管顯示模塊和按鍵處理模塊,當有鍵按下,則轉入相應的功能程序。</p><p>  ORG0100H</p><p>  MAIN:MOVDAY,#1</p><p>  MOVTMOD,#01H&l

33、t;/p><p>  MOVTH0,#3CH</p><p>  MOVTL0,#0B0H</p><p><b>  SETBTR0</b></p><p><b>  SETBPX0</b></p><p>  MOVIE,#83H</p>&l

34、t;p>  MOVR7,#20</p><p>  LCALLDISPLAY</p><p>  WAIT:JNBRING,WAIT</p><p><b>  CLRP1.3</b></p><p><b>  SETBEX0</b></p><p&g

35、t;<b>  SJMPWAIT</b></p><p>  3.2數碼管顯示子程序</p><p>  此次設計共用了7個數碼管,分別顯示星期、小時十位、小時個位、分十位、分個位、秒十位、秒個位。數碼管顯示的信息用7個內存單元存放,這7個內存單元為顯示緩沖區(qū),其中小時十位、小時個位、分十位、分個位、秒十位、秒個位分別由小時數據、分數據、秒數據分拆得到。采用數碼管靜

36、態(tài)顯示,在存儲器中首先建立一張顯示信息的字段碼表,顯示時,先從顯示緩沖區(qū)取出顯示的信息,然后通過查表程序在字段碼表中查出所顯示的信息字碼。</p><p>  DISPLAY:MOVR0,#SEC</p><p>  MOVR1,#BUFF</p><p>  MOVR2,#4</p><p>  DISPL1:MOVA,

37、@R0</p><p>  MOVB,#10</p><p><b>  DIVAB</b></p><p>  MOV@R1,B</p><p><b>  INCR1</b></p><p>  MOV@R1,A</p><p>

38、;<b>  DISPL1</b></p><p>  MOVR0,#BUFF</p><p>  MOVR2,#7</p><p>  MOVDPTR,#SEGTAB</p><p>  DISPL2:MOVA,@R0</p><p>  MOVCA,@A+DPTR</

39、p><p>  MOVSBUF,A</p><p>  DISPL3:JNBTI,DISPL3</p><p><b>  CLRTI</b></p><p><b>  INCR0</b></p><p>  DJNZR2,DISPL2</p>

40、<p><b>  RET</b></p><p>  3.3定時器/計數器中斷服務子程序</p><p>  定時器/計數器T0用于時間計時。選擇工作方式1,重復定時,定時時間設為50ms,定時時間到則中斷,在中斷服務程序中用一個計數器對50ms計數,計20次則對秒單元加1,秒單元到60則對分單元加1,同時秒單元清零;分單元加到60則對時單元加1,同時分

41、單元清零;時單元加到24則對星期單元加一,同時時單元清零;星期單元加到7則自動清零。在對各單元計數的同時,把它們的值放到存儲單元的指定位置。中斷程序流程圖如圖所示。</p><p>  SECINC:INCSEC</p><p>  MOVA,SEC</p><p>  CJNEA,#60,SECRET</p><p>  MOV

42、SEC,#0</p><p>  LCALLMININC</p><p>  SECRET:RET</p><p>  ;***********************************************************************</p><p>  MININC:INCMIN</p>

43、;<p>  MOVMIN,#0</p><p>  LCALLHOUINC</p><p>  MINRET:RET</p><p>  ;***********************************************************************</p><p>  HOUINC:

44、JNBRIN,HOUINC1</p><p><b>  SETBRING</b></p><p>  HOUINC1:INCHOU</p><p>  MOVA,HOU</p><p>  CJNEA,#24,HOURET</p><p>  MOVHOU,#0</p

45、><p>  LCALLDAYINC</p><p>  HOURET:RET</p><p>  ;***********************************************************************</p><p>  DAYINC:INCDAY</p><p>  

46、MOVA,DAY</p><p>  CJNEA,#8,DAYRET</p><p>  MOVDAY,#1</p><p>  DAYRET:RET</p><p>  3.4鍵盤處理子程序</p><p>  按鍵處理設置為:如沒有按鍵,則時鐘正常走時。按一下調整鍵第一個數碼管小數點(DP位)點亮,再按

47、一下,第二位數碼管(DP位)點亮,如果想調整哪一位就按幾下,這樣的目的是清楚的知道正在調整哪位;加一鍵自動實現加一功能;當按下整點報時鍵時,發(fā)光二極管點亮當到整點時蜂鳴器發(fā)出聲音;再按一下此鍵,發(fā)光二極管熄滅,到整點時,蜂鳴器不會發(fā)聲。</p><p>  INTO:LCALLDELAY</p><p>  JBP3.2,INT0RET2</p><p>

48、  JNBP1.0,KEYSWI</p><p>  JNBP1.1,KEYINC</p><p>  JNBP1.2,KEYRIN</p><p>  INT0RET2:RETI</p><p>  ;***************************************************************

49、********</p><p>  KEYSWI:PUSHPSW</p><p>  PUSHAcc</p><p>  KEYSWIW:JNBP3.2,KEYSWIW</p><p>  JBBAL,STATEON</p><p>  MOV20H,#81H</p><p

50、><b>  SETBP2.7</b></p><p><b>  CLRP2.0</b></p><p>  SJMPINT0RET</p><p>  STATEON:MOVA,20H</p><p><b>  RLA</b></p>

51、<p>  MOV20H,A</p><p><b>  CLRBSL</b></p><p><b>  CPLBAL</b></p><p><b>  MOVA,P2</b></p><p><b>  RLA</b>

52、</p><p><b>  MOVP2,A</b></p><p>  SJMPINT0RET</p><p>  ;***********************************************************************</p><p>  KEYINC:PUSHPS

53、W</p><p><b>  PUSHAcc</b></p><p>  KEYINCW:JNBP3.2,KEYINCW</p><p>  JNBBAL,INT0RET</p><p>  JBBSL,KEYBSL</p><p>  JBBSH,KEYBSH</p&

54、gt;<p>  JBBML,KEYBML</p><p>  JBBMH,KEYBMH</p><p>  JBBHL,KEYBHL</p><p>  JBBHH,KEYBHH</p><p>  JBBDA,KEYBDA</p><p>  KEYBSL:LCALLKEYBS

55、LC</p><p>  KEYBSH:LCALLKEYBSHC</p><p>  SJMPINT0RET</p><p>  KEYBML:LCALLKEYBMLC</p><p>  SJMPINT0RET</p><p>  KEYBMH:LCALLKEYBMHC</p><

56、p>  SJMPINT0RET</p><p>  KEYBHL:LCALLKEYBHLC</p><p>  SJMPINT0RET</p><p>  KEYBHH:LCALLKEYBHHC</p><p>  SJMPINT0RET</p><p>  KEYBDA:LCALLKEYBDA

57、C</p><p>  SJMPINT0RET</p><p>  ;***********************************************************************</p><p>  KEYRIN:PUSHPSW</p><p><b>  PUSHAcc</b>

58、</p><p>  KEYRINW:JNBP3.2,KEYRINW</p><p>  JNBRING,RING1</p><p><b>  CLRRING</b></p><p><b>  SETBP1.3</b></p><p>  SJMPINT

59、0RET</p><p>  RING1:CPLRIN</p><p><b>  CPLP1.4</b></p><p>  ;***********************************************************************</p><p>  INT0RET:

60、POPAcc</p><p><b>  POPPSW</b></p><p>  INT0RETI:RETI</p><p><b>  4. 結論和總結</b></p><p>  通過這段時間的課程設計,我學會了很多。起初對單片機這門課,一點都不了解,后來經過慢慢看書,才發(fā)現這

61、門課很有意思。我這次設計的課題是智能電子數字鐘,它的基本功能是能顯示星期、小時、分鐘、秒;能通過鍵盤預置時間、星期;具有整點報時的功能。本次設計采用單片機作為核心控制器,實現具有定時、校時功能的數字鐘。</p><p>  課程設計任務布置后,我首先學習了AT89S51單片機的硬件組成,各引腳的基本功能,還自學了課本上有關數碼管顯示、鍵盤的有關內容。在學習的過程中,有很多不會的地方,通過同學之間的相互交流和上網查

62、資料,基本上弄懂了。大學不光是為了學知識,還要練習實踐能力,只有理論和實踐相結合,才能把知識徹底學懂、學透。</p><p>  單片機課程設計是對單片機這門課所學知識的驗證,可以幫助我們更好的學習和鞏固所學知識。激發(fā)我們對單片機這門課的興趣,更鍛煉了我們獨立思考、遇到問題知道尋求答案、不斷創(chuàng)新的能力。</p><p>  在這次課程設計中,我首先自學了PROTEUS軟件,一步步的畫出了硬

63、件接線圖,雖然以前從未學過這個軟件,只聽同學說這個軟件很好用,懷著濃厚的興趣,學習它,最后真的學會了。后來自己編寫了中斷和定時程序,選擇了定時器0的工作方式1,它的最大定時時間為65.536毫秒,我設定了50毫秒,進行20次中斷實現1秒的定時。然后設計了系統(tǒng)總的流程圖,接著中斷流程圖,再然后就是編寫了主程序。經過這一步步的設計,使自己的思維整體化,慢慢的有條不絮。我課程設計的最大收獲是發(fā)現帶著問題去學習效率很高。</p>

64、<p><b>  參考文獻</b></p><p>  [1] 張毅剛. 單片機原理及應用. 北京: 高等教育出版社,2009</p><p>  [2] 何立民. 單片機應用技術選編. 北京: 北京航空航天大學出版社,1994</p><p>  [3] 孫育才,王榮興,孫化芳. 新型AT89S52系列單片機及其應用. 北京: 清

65、華大學出版社,2005</p><p>  [4] 蔣延彪. 單片機原理及應用(MCS-51). 重慶: 重慶大學出版社,2003</p><p>  [5] 李云剛,龍志強. 單片機原理與應用系統(tǒng)設計.北京:中國水利水電出版社,2008</p><p>  [6] 龍威林,胡山. 單片機應用入門:AT89S51和AVR. 北京: 化學工業(yè)出版社,2008</

66、p><p>  [7] 張虹. 單片機原理及應用. 北京: 中國電力出版社,2009 </p><p>  [8] 王幸之. AT89系列單片機原理與接口技術. 北京: 北京航空航天大學出版社,2004</p><p>  [9] 謝維成,楊家國. 單片機原理與應用及C51程序設計.北京:清華大學出版

67、社,2006</p><p>  [10] 李光飛. 單片機課程設計實例指導. 北京: 北京航空航天大學出版社,2005</p><p>  [11] 張培仁. 基于C語言編程MCS-51單片機原理與應用. 北京: 清華大學出版社,2003</p><p><b>  附錄一:</b></p><p>  智能電子數字鐘

68、程序如下:</p><p>  SECEQU30H;秒寄存器</p><p>  MINEQU31H;分寄存器</p><p>  HOUEQU32H;時寄存器</p><p>  DAYEQU33H;星期寄存器</p><p>  BUFFEQU40H;串行發(fā)

69、送緩沖器</p><p>  BSLBIT00H;秒低位調整標志</p><p>  BSHBIT01H;秒高位調整標志</p><p>  BMLBIT02H;分低位調整標志</p><p>  BMHBIT03H;分高位調整標志</p><p>  BHLBIT0

70、4H;時低位調整標志</p><p>  BHHBIT05H;時高位調整標志</p><p>  BDABIT06H;星期位調整標志</p><p>  BALBIT07H;總調整標志</p><p>  RINBIT08H;整點報時標志位</p><p>  R

71、INGBIT09H;響鈴標志位</p><p>  ORG0000H</p><p><b>  LJMPMAIN</b></p><p>  ORG0003H</p><p><b>  LJMPINTO</b></p><p>  ORG000B

72、H</p><p><b>  LJMPIT0P</b></p><p>  ;***********************************************************************</p><p>  ORG0100H</p><p>  MAIN:MOVDAY,#

73、1</p><p>  MOVTMOD,#01H</p><p>  MOVTH0,#3CH</p><p>  MOVTL0,#0B0H</p><p><b>  SETBTR0</b></p><p><b>  SETBPX0</b></p>

74、;<p>  MOVIE,#83H</p><p>  MOVR7,#20</p><p>  LCALLDISPLAY</p><p>  WAIT:JNBRING,WAIT</p><p><b>  CLREX0</b></p><p><b>

75、  CLRP1.3</b></p><p><b>  SETBEX0</b></p><p><b>  SJMPWAIT</b></p><p>  ;***********************************************************************<

76、;/p><p>  SECINC:INCSEC</p><p>  MOVA,SEC</p><p>  CJNEA,#60,SECRET</p><p>  MOVSEC,#0</p><p>  LCALLMININC</p><p>  SECRET:RET</p&g

77、t;<p>  ;***********************************************************************</p><p>  MININC:INCMIN</p><p>  MOVA,MIN</p><p>  CJNEA,#60,MINRET</p><p>

78、  MOVMIN,#0</p><p>  LCALLHOUINC</p><p>  MINRET:RET</p><p>  ;***********************************************************************</p><p>  HOUINC:JNBRIN,HOU

79、INC1</p><p><b>  SETBRING</b></p><p>  HOUINC1:INCHOU</p><p>  MOVA,HOU</p><p>  CJNEA,#24,HOURET</p><p>  MOVHOU,#0</p><p&

80、gt;  LCALLDAYINC</p><p>  HOURET:RET</p><p>  ;***********************************************************************</p><p>  DAYINC:INCDAY</p><p>  MOVA,DAY&l

81、t;/p><p>  CJNEA,#8,DAYRET</p><p>  MOVDAY,#1</p><p>  DAYRET:RET</p><p>  ;***********************************************************************</p><p>

82、;  DISPLAY:MOVR0,#SEC</p><p>  MOVR1,#BUFF</p><p>  MOVR2,#4</p><p>  DISPL1:MOVA,@R0</p><p>  MOVB,#10</p><p><b>  DIVAB</b><

83、/p><p>  MOV@R1,B</p><p><b>  INCR1</b></p><p>  MOV@R1,A</p><p><b>  INCR0</b></p><p><b>  INCR1</b></p>

84、<p>  DJNZR2,DISPL1</p><p>  MOVR0,#BUFF</p><p>  MOVR2,#7</p><p>  MOVDPTR,#SEGTAB</p><p>  DISPL2:MOVA,@R0</p><p>  MOVCA,@A+DPTR</p&

85、gt;<p>  MOVSBUF,A</p><p>  DISPL3:JNBTI,DISPL3</p><p><b>  CLRTI</b></p><p><b>  INCR0</b></p><p>  DJNZR2,DISPL2</p>&

86、lt;p><b>  RET</b></p><p>  ;***********************************************************************</p><p>  SEGTAB:DB0C0H,0F9H,0A4H,0B0H,99H</p><p>  DB92H,82H,0F

87、8H,80H,90H</p><p>  ;***********************************************************************</p><p>  DELAY:MOVR3,#50</p><p>  DLOO1:MOVR4,#50</p><p>  DLOO2:

88、NOP</p><p><b>  NOP</b></p><p>  DJNZR4,DLOO2</p><p>  DJNZR3,DLOO1</p><p><b>  RET</b></p><p>  ;*******************************

89、****************************************</p><p>  IT0P:MOVTH0,#3CH</p><p>  MOVTL0,#0B0H</p><p><b>  PUSHPSW</b></p><p><b>  PUSHAcc</b>

90、</p><p>  DJNZR7,IT0PRET</p><p>  MOVR7,#20</p><p><b>  CLREA</b></p><p>  LCALLSECINC</p><p>  LCALLDISPLAY</p><p><b&g

91、t;  SETBEA</b></p><p>  IT0PRET:POPAcc</p><p><b>  POPPSW</b></p><p><b>  RETI</b></p><p>  ;***************************************

92、********************************</p><p>  ;***********************************************************************</p><p>  INTO:LCALLDELAY</p><p>  JBP3.2,INT0RET2</p>

93、<p>  JNBP1.0,KEYSWI</p><p>  JNBP1.1,KEYINC</p><p>  JNBP1.2,KEYRIN</p><p>  INT0RET2:RETI</p><p>  ;******************************************************

94、*****************</p><p>  KEYSWI:PUSHPSW</p><p>  PUSHAcc</p><p>  KEYSWIW:JNBP3.2,KEYSWIW</p><p>  JBBAL,STATEON</p><p>  MOV20H,#81H</p&g

95、t;<p><b>  SETBP2.7</b></p><p><b>  CLRP2.0</b></p><p>  SJMPINT0RET</p><p>  STATEON:MOVA,20H</p><p><b>  RLA</b>&l

96、t;/p><p>  MOV20H,A</p><p><b>  CLRBSL</b></p><p><b>  CPLBAL</b></p><p><b>  MOVA,P2</b></p><p><b>  RLA&

97、lt;/b></p><p><b>  MOVP2,A</b></p><p>  SJMPINT0RET</p><p>  ;***********************************************************************</p><p>  KEYINC

98、:PUSHPSW</p><p><b>  PUSHAcc</b></p><p>  KEYINCW:JNBP3.2,KEYINCW</p><p>  JNBBAL,INT0RET</p><p>  JBBSL,KEYBSL</p><p>  JBBSH,KEYB

99、SH</p><p>  JBBML,KEYBML</p><p>  JBBMH,KEYBMH</p><p>  JBBHL,KEYBHL</p><p>  JBBHH,KEYBHH</p><p>  JBBDA,KEYBDA</p><p>  KEYBSL:LC

100、ALLKEYBSLC</p><p>  KEYBSH:LCALLKEYBSHC</p><p>  SJMPINT0RET</p><p>  KEYBML:LCALLKEYBMLC</p><p>  SJMPINT0RET</p><p>  KEYBMH:LCALLKEYBMHC</p&

101、gt;<p>  SJMPINT0RET</p><p>  KEYBHL:LCALLKEYBHLC</p><p>  SJMPINT0RET</p><p>  KEYBHH:LCALLKEYBHHC</p><p>  SJMPINT0RET</p><p>  KEYBDA:LCA

102、LLKEYBDAC</p><p>  SJMPINT0RET</p><p>  ;***********************************************************************</p><p>  KEYRIN:PUSHPSW</p><p><b>  PUSHAcc&

103、lt;/b></p><p>  KEYRINW:JNBP3.2,KEYRINW</p><p>  JNBRING,RING1</p><p><b>  CLRRING</b></p><p><b>  SETBP1.3</b></p><p> 

104、 SJMPINT0RET</p><p>  RING1:CPLRIN</p><p><b>  CPLP1.4</b></p><p>  ;***********************************************************************</p><p> 

105、 INT0RET:POPAcc</p><p><b>  POPPSW</b></p><p>  INT0RETI:RETI</p><p>  ;***********************************************************************</p><p

106、>  ;***********************************************************************</p><p>  KEYBSLC:MOVA,SEC</p><p>  MOVB,#10</p><p><b>  DIVAB</b></p><p&

107、gt;<b>  MOVA,B</b></p><p>  CJNEA,#9,KEYBSL1</p><p>  MOVA,SEC</p><p><b>  SUBBA,#9</b></p><p>  MOVSEC,A</p><p>  LCALLDI

108、SPLAY</p><p><b>  RET</b></p><p>  KEYBSL1:INCSEC</p><p>  LCALLDISPLAY</p><p><b>  RET</b></p><p>  ;*************************

109、**********************************************</p><p>  KEYBSHC:MOVA,SEC</p><p>  MOVB,#10</p><p><b>  DIVAB</b></p><p>  CJNEA,#5,KEYBSH1</p>

110、<p>  MOVSEC,B</p><p>  LCALLDISPLAY</p><p><b>  RET</b></p><p>  KEYBSH1:MOVA,SEC</p><p>  ADDA,#10</p><p>  MOVSEC,A</p&g

111、t;<p>  LCALLDISPLAY</p><p><b>  RET</b></p><p>  ;***********************************************************************</p><p>  KEYBMLC:MOVA,MIN</p>

112、<p>  MOVB,#10</p><p><b>  DIVAB</b></p><p><b>  MOVA,B</b></p><p>  CJNEA,#9,KEYBML1</p><p>  MOVA,MIN</p><p><

113、b>  SUBBA,#9</b></p><p>  MOVMIN,A</p><p>  LCALLDISPLAY</p><p><b>  RET</b></p><p>  KEYBML1:INCMIN</p><p>  LCALLDISPLAY<

114、/p><p><b>  RET</b></p><p>  ;***********************************************************************</p><p>  KEYBMHC:MOVA,MIN</p><p>  MOVB,#10</p>

115、;<p><b>  DIVAB</b></p><p>  CJNEA,#5,KEYBMH1</p><p>  MOVMIN,B</p><p>  LCALLDISPLAY</p><p><b>  RET</b></p><p>  KEY

116、BMH1:MOVA,MIN</p><p>  ADDA,#10</p><p>  MOVMIN,A</p><p>  LCALLDISPLAY</p><p><b>  RET</b></p><p>  ;*********************************

117、**************************************</p><p>  KEYBHLC:MOVA,HOU</p><p>  MOVB,#10</p><p><b>  DIVAB</b></p><p>  CJNEA,#2,KBHL2</p><p>

118、;  KBHL1:MOVA,B</p><p>  CJNEA,#3,KBHL11</p><p>  MOVA,HOU</p><p><b>  SUBBA,#3</b></p><p>  MOVHOU,A</p><p>  LCALLDISPLAY</p>

119、;<p><b>  RET</b></p><p>  KBHL11:INCHOU</p><p>  LCALLDISPLAY</p><p><b>  RET</b></p><p>  KBHL2:MOVA,B</p><p>  CJ

120、NEA,#9,KBHL21</p><p>  MOVA,HOU</p><p><b>  SUBBA,#9</b></p><p>  MOVHOU,A</p><p>  LCALLDISPLAY</p><p><b>  RET</b></p&g

121、t;<p>  KBHL21:INCHOU</p><p>  LCALLDISPLAY</p><p><b>  RET</b></p><p>  ;***********************************************************************</p>&

122、lt;p>  KEYBHHC:MOVA,HOU</p><p>  MOVB,#10</p><p><b>  DIVAB</b></p><p><b>  MOVA,B</b></p><p>  CJNEA,#4,JUDGE</p><p>

123、  JUDGE:JNCMORE</p><p>  LESS:MOVA,HOU</p><p>  MOVB,#10</p><p><b>  DIVAB</b></p><p>  CJNEA,#2,LESS2</p><p>  LESS1:MOVHOU,B

124、</p><p>  LCALLDISPLAY</p><p><b>  RET</b></p><p>  LESS2:MOVA,HOU</p><p>  ADDA,#10</p><p>  MOVHOU,A</p><p>  LCALLDIS

125、PLA</p><p><b>  RET</b></p><p>  MORE:MOVA,HOU</p><p>  MOVB,#10</p><p><b>  DIVAB</b></p><p>  CJNEA,#1,MORE2</p>

126、<p>  MORE1:MOVA,HOU</p><p>  SUBBA,#10</p><p>  MOVHOU,A</p><p>  LCALLDISPLAY</p><p><b>  RET</b></p><p>  MORE2:MOVA,HOU<

127、;/p><p>  ADDA,#10</p><p>  MOVHOU,A</p><p>  LCALLDISPLAY</p><p><b>  RET</b></p><p>  ;****************************************************

128、*******************</p><p>  KEYBDAC:MOVA,DAY</p><p>  CJNEA,#7,INC1</p><p>  MOVDAY,#1</p><p>  LCALLDISPLAY</p><p><b>  RET</b></p&

溫馨提示

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

評論

0/150

提交評論