找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1887|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

c51 頻率計

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:223986 發(fā)表于 2017-8-2 08:18 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
      ORG 0000H
      AJMP MAIN
      ORG  0030H
MAIN:ADDR8279_1 EQU    0BFFFH
       ADDR8279_2 EQU    0BFFEH

      MOV     60H,#00H
      MOV     61H,#00H
      MOV     62H,#00H
      MOV     TMOD,#15H
      MOV     TL0,#00H
      MOV     TH0,#00H

      MOV     R7,#14H

      MOV     TL1,#00H
      MOV     TH1,#4CH
      SETB TR1
      SETB TR0  
HERE:JBC     TF1,NEXT1
      SJMP    HERE
NEXT1:MOV     TL1,#00H
      MOV     TH1,#4CH
      DJNZ    R7,HERE
      CLR     TR0
      CLR     TR1
      AJMP    PINYU
PINYU:MOV R6,TH0
      MOV R7,TL0
      JNB TF0 ,NEXT2
      MOV 60H,#06H
      MOV 61H,#55H
      MOV 62H,#36H     
      CLR TF0

NEXT2:LCALL  HB2
      MOV    R7,#03H
      MOV    65H,R3
      MOV    66H,R4
      MOV    67H,R5
      MOV    R0,#60H
      MOV    R1,#65H
      LCALL BCDA
      LCALL TRANS
      LCALL LED
      AJMP MAIN


  ;;(1)  標(biāo)號:  BCDA    功能:多字節(jié)BCD碼加法

;;入口條件:字節(jié)數(shù)在R7中,被加數(shù)在[R0]中,加數(shù)在[R1]中。
;;出口信息:和在[R0]中,最高位進位在CY中。
;;;影響資源:PSW、A、R2    堆棧需求:  2字節(jié)

BCDA:        MOV        A,R7        ;;;取字節(jié)數(shù)至R2中
        MOV        R2,A
        ADD        A,R0        ;;;初始化數(shù)據(jù)指針
        MOV        R0,A
        MOV        A,R2
        ADD        A,R1
        MOV        R1,A
        CLR        C
BCD1:        DEC        R0        ;;;調(diào)整數(shù)據(jù)指針
        DEC        R1
        MOV        A,@R0
        ADDC        A,@R1        ;;;按字節(jié)相加
        DA        A        ;;;十進制調(diào)整
        MOV        @R0,A        ;;;和存回[R0]中
        DJNZ        R2,BCD1        ;;;處理完所有字節(jié)
        RET






;;;入口條件:待轉(zhuǎn)換的雙字節(jié)十六進制整數(shù)在R6、R7中。
;;出口信息:轉(zhuǎn)換后的三字節(jié)BCD碼整數(shù)在R3、R4、R5中。
;;影響資源:PSW、A、R2~R7    堆棧需求:  2字節(jié)

HB2:CLR        A        ;;;BCD碼初始化
        MOV        R3,A
        MOV        R4,A
        MOV        R5,A
        MOV        R2,#10H        ;;;轉(zhuǎn)換雙字節(jié)十六進制整數(shù)
HB3:MOV        A,R7        ;;;從高端移出待轉(zhuǎn)換數(shù)的一位到CY中
        RLC        A
        MOV        R7,A
        MOV        A,R6
        RLC        A
        MOV        R6,A
        MOV        A,R5        ;;;BCD碼帶進位自身相加,相當(dāng)于乘2
        ADDC        A,R5
        DA        A        ;;;十進制調(diào)整
        MOV        R5,A
        MOV        A,R4
        ADDC        A,R4
        DA        A
        MOV        R4,A
        MOV        A,R3
        ADDC        A,R3
        MOV        R3,A        ;;;雙字節(jié)十六進制數(shù)的萬位數(shù)不超過6,不用調(diào)整
        DJNZ        R2,HB3    ;;        ;處理完16bit
        RET
       
TRANS: MOV R0,#62H
       MOV R1,#40H
       MOV R6,#03H
  LAST:MOV      A,@R0
       ANL      A,#0FH
       MOV      @R1,A
       MOV      A,@R0
       ANL      A,#0F0H
       SWAP     A
       INC  R1
       MOV      @R1,A
       INC  R1
       DEC R0
       DJNZ R6,LAST
       RET

       
            





LED:MOV      DPTR,#ADDR8279_1
       MOV      A,#0D1H
       MOVX     @DPTR,A
  WAIT:MOVX     A,@DPTR
       JB       ACC.7,WAIT
       MOV      A,#00H
       MOVX     @DPTR,A
       MOV      A,#2CH
       MOVX     @DPTR,A

       MOV      DPTR,#ADDR8279_1
       MOV      A,#90H
       MOVX      @DPTR,A
       MOV      R1,#40H
       MOV      R7,#06H
       MOV      DPTR,#ADDR8279_2
  LOOP:MOV      A,@R1
       ADD      A,#05H
       MOVC     A,@A+PC
       MOVX     @DPTR,A
       INC      R1
       DJNZ     R7,LOOP
       RET
       DB       3FH,06H,5BH,4FH,66H,6DH
       DB       7DH,07H,7FH,6FH


END

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表