欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1939|回復: 0
打印 上一主題 下一主題
收起左側

單片機匯編電子時鐘設計

[復制鏈接]
跳轉到指定樓層
樓主
源程序

ORG 0000H

             LJMP MAIN

             ORG 000BH

             LJMP TIME

            ;主程序部分

             ORG 0100H

       MAIN:MOVSP,#50H

             MOV 20H,#00H        ;秒鐘

             MOV 21H,#00H        ;分鐘 

             MOV 22H,#00H        ;小時 

             MOV 23H,#01H

             MOV 24H,#01H

             MOV 25H,#00H

             MOV 30H,#00H   

             MOV 31H,#00H   

             MOV 32H,#00H   

             MOV 33H,#00H   

             MOV 34H,#00H   

             MOV 35H,#00H

             MOV TMOD,#01H   ;16位計數器

             MOV TH0,#03CH    ;賦計數初值

             MOV TL0,#0B0H

             MOV IE,#87H ;允許外部中斷1和外部中斷0和T0溢出中斷

            SETB TR0             ;啟動計數器T0

             MOV R2,#14H

             MOV P2,#0FFH

       LOOP:LCALL  DISPLAY1

             JB P1.1,LOOP         

             LCALL SETTIME   ;調用設定時間程序

             LJMP LOOP

       DELAY:MOV R4,#030H          ;延時時間

             DL00:MOV R5,#0FFH

             DL11:MOV R6,#9H

             DL12:DJNZ R6,DL12

             DJNZ R5,DL11

             DJNZ R4,DL00

              RET

            ;設定時間程序

             SETTIME:

          L0:LCALL DISPLAY1          ;調用時間允許程序

        MM1: JB P1.2,L1            

             MOV C,P1.2

             JC MM1

             LCALL DELAY1          ;調用延時

             JC MM1

     MSTOP1: MOV C,P1.2

            JNC MSTOP1           ;判斷P1.2是否釋放釋放則繼續

             LCALL DELAY1         ;調用延時

             MOV C,P1.2

             JNC MSTOP1

             INC 22H               ;小時增加1

             MOV A,22H

            CJNE A,#18H,GO12     ;判斷小時是否到24時未到繼續循環

             MOV 22H,#00H           ;小時復位

             MOV 34H,#00H

             MOV 35H,#00H

             LJMP L0

          L1:JBP1.3,L2                 

             MOV C,P1.3

             JC L1

             LCALL DELAY1          ;延時

             JC L1

   MSTOP2: MOV C,P1.3

            JNC MSTOP2               ;判斷P1.3是否釋放釋放則繼續

             LCALL DELAY1            ;調用延時

             MOV C,P1.3

             JNC MSTOP2

             INC 21H                   ;分鐘增加一

             MOV A,21H

             CJNE A,#3CH,GO11         

             MOV 21H,#00H             ;分鐘復位

             MOV 32H,#00H

             MOV 33H,#00H

             LJMP L0

      GO11:MOV B,#0AH         ;將A中的內容分成高低兩部分

            DIV AB

            MOV 32H,B

            MOV 33H,A

            LJMP L0

     GO12: MOV B,#0AH

            DIV AB

            MOV 34H,B

            MOV 35H,A

            LJMP L0

         L2:JB P1.4,L0               

            MOV C,P1.4

            JC L2

            LCALL DELAY1         ;調用延時

            MOV C,P1.4

            JC L2

   STOP1:   MOV C,P1.4             ;判斷按鍵P1.4是否釋放?

            JNC STOP1

            LCALL DELAY1          ;調用延時

            MOV C,P1.4

            JNC STOP1

            LJMP LOOP

DELAY1:  MOV R4,#14H              ;時間延時

   DL001:   MOV R5,#0FFH

   DL111:   DJNZ R5,DL111

            DJNZ R4,DL001

            RET  

   TIME:   PUSH ACC                   ;現場保護

           PUSH PSW

          MOV TH0,#03CH             ;賦初值

           MOV TL0,#0B0H

           DJNZ R2,RET0

           MOV R2,#14H

           MOV A,20H

           CLR C

           INC A                           ;秒鐘自加1

           CJNE A,#3CH,GO1                ;判斷秒鐘是否到60秒?

           MOV 20H,#0                     ;到60秒復位

          MOV 30H,#0

          MOV 31H,#0

           MOV A,21H

           INC    A                              ;分鐘自加1

          CJNE A,#3CH,GO2                ;判斷分鐘是否到60分?

          MOV 21H,#0H                     ;到60分復位

          MOV 32H,#0

          MOV 33H,#0

           MOV A,22H

           INC A                              ;時鐘自加1

           CJNE A,#18H,GO3                ;判斷時鐘是否到24時?

           MOV 22H,#00H                   ;到24時復位

          MOV 34H,#0

          MOV 35H,#0

           AJMP RET0

   GO1:    MOV 20H,A            

           MOV B,#0AH

           DIV AB

           MOV 31H,A

           MOV 30H,B

           AJMP RET0

     GO2: MOV 21H,A

           MOV B,#0AH

           DIV AB

           MOV 33H,A

           MOV 32H,B

           AJMP RET0

     GO3: MOV 22H,A

           MOV B,#0AH

           DIV AB

           MOV 35H,A

           MOV 34H,B

           AJMPRET0

   RET0:   POP PSW                  ;恢復現場

           POP ACC

           RETI

         ;運行部分

DISPLAY1: MOV R0,#30H

           MOV R3,#0FEH

           MOV A,R3

PLAY1:  MOV P2,A

          MOV A,@R0

          MOV DPTR,#DSEG1       ;表首地址送DPTR

          MOVC A,@A+DPTR      

          MOV P0,A               

          LCALL DL1

          MOV P2,#0FFH              ;送高電平到P2

          MOV A,R3

          RL A                 ;

          JNB ACC.6,LD1

          INC R0

         MOV R3,A

          LJMP PLAY1               ;調用查表程序

LD1:RET

         ;延時時間

   DL1:   MOV R7,#02H              ;延時時間

   DL:     MOV R6,#020H

   DL6:   DJNZ R6,$

           DJNZ R7,DL

           RET

    DSEG1:DB 3FH,06H,5BH,4FH,66H    ;共陰極數碼管編碼表

          DB6DH,7DH,07H,7FH,6FH

         END

調試運行



1.jpg (9.2 KB, 下載次數: 18)

1.jpg
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表