找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3398|回復: 0
收起左側(cè)

8421定時器程序案例匯編語言

[復制鏈接]
ID:75926 發(fā)表于 2015-4-10 18:31 | 顯示全部樓層 |閱讀模式
  這是一個非常經(jīng)典的8421定時案例

;兩段8421碼,用作計時,P1.3輸出,P1.0清零,P1.1啟動,P1.2為每秒閃爍一次。
;程序代碼如下:

                  ORG 0003H        ;

                  LCALL FUWEI;
                  ORG 000BH;


FUWEI:      MOV P1,#0FFH     ;
                  MOV P2,#0FFH     ;

;************讀兩位8421碼并合并**********


                CLR P2.5         ;準備讀十位
                CLR A            ;累加器清零
                MOV A,P2         ;讀取數(shù)據(jù)
                CPL A            ;A內(nèi)容取反
                ANL A,#0FH       ;屏蔽高四位
                MOV B,#0AH       ;把0A送入B
                MUL AB           ;把數(shù)據(jù)變?yōu)槭?br />                 MOV 21H,A        ;保存數(shù)據(jù)
                SETB P2.5        ;

                CLR P2.4         ;準備讀個位
                CLR A            ;累加器清零
                MOV A,P2         ;讀取數(shù)據(jù)
                CPL A              ;A內(nèi)容取反
                ANL A,#0FH       ;屏蔽高四位
                ADD A,21H        ;合并十位和個位
                SETB P2.4        ;
                 CJNE A,#0,BAOCHUN  ;
                 AJMP FUWEI      ;

BAOCHUN:  MOV 22H,A         ;保存BCD碼

                 
                 
;*************啟動按鍵S1******************

S1:       JNB P1.1,QIDONG     ;
              JNB P1.0,FUWEI    ;清零鍵按下轉(zhuǎn)復位
              AJMP FUWEI;

;**********啟動及輸出程序*****************

QIDONG:  JNB P1.1,QIDONG       ;
               CLR P1.3         ;啟動輸出
               LCALL YANSHI     ;轉(zhuǎn)延時
BCD:        CPL P1.2         ;
               DJNZ 22H,YANSHI  ;
               AJMP FUWEI        ;

;************延時1秒子程序***************

YANSHI:  MOV R0,#20       ;
              MOV TMOD,#10H    ;設定為定時方式1
              MOV TH1,#3CH     ;裝入定時初值高位
              MOV TL1,#0B0H    ;裝入定時初值低位,定時時間為50ms.
              SETB TR1         ;
LP1:     JNB P1.0,FUWEI   ;
             JBC TF1,LP2      ;50ms時間到就轉(zhuǎn)
              SJMP LP1         ;50ms時間沒到繼續(xù)等待
LP2:       MOV TH1,#3CH     ;重裝初值
               MOV TL1,#0B0H    ;重裝初值
                     DJNZ R0,LP1      ;把R0內(nèi)容減1不等于0轉(zhuǎn)
                   AJMP BCD         ;
                   END.


相關(guān)帖子

回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

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