久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于單片機簡易數字頻率計,可不可以根據程序推測原理圖?

[復制鏈接]
跳轉到指定樓層
樓主
ID:369804 發表于 2018-7-13 09:02 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
基于單片機的簡易數字頻率計,想知道原理圖是怎樣的,萌新求大佬指教
如下要求
1.頻率計的測頻范圍為1Hz~10KHz,被測量的信號為TTL邏輯的標準方波信號;
2.為提高測量精度,采用計數法(≥1000Hz)和測周法(<1000Hz)相結合的方法進行測量;
3. 顯示器采用6位七段數碼管,顯示器的無效零應消隱。信號≥1000Hz時不顯示小數點,信號<1000Hz時顯示小數,小數點后取兩位。
下面為程序,采用靜態顯示 。P2口用來選擇數碼管相應位,p0口輸出顯示 。信號輸入為p3.4.
程序。。
A1 EQU  40H        ;現場數據低位
A2 EQU  41H        ;現場數據高位
DBUF EQU  30H      ;顯示緩沖區
FL EQU  50H        ;頻率值低位
FM EQU  51H        ;頻率值中位
FH EQU  52H        ;頻率值高位
CLK BIT  P1. 6     ;164的時鐘信號
FRE BIT  P1.7      ;164的數據信號
INPUT BIT  P3.4     ;頻率輸入端
;除法中用到的標志位
FLAG BIT 00H
;被除數單元,商也放在這里
BCSL  EQU  3CH
BCSM  EQU  3DH
BCSH  EQU  3EH
;除數單元
CSL  EQU 42H
CSM  EQU 43H
CSH  EQU 44H
;余數單元
YSL  EQU 3FH
YSM  EQU  40H
YSH  EQU 41H
;除法運算中的暫存單元
BUF1  EQU  45H
BUF2  EQU  46H
BUF3  EQU  47H
;除法中的計算次數
TIMES1 EQU 48H
CALC_TIMES EQU 49H
      ORG   0000H
      LJMP   MAIN
      ORG   000BH
      LJMP T0_INT
      ORG   001BH
      LJMP T1_INT
      ORG   0100H
MAIN:
    MOV  A1, #00H
    MOV  A2, #00H
    MOV  R2, #00H
    MOV  R3, #00H
    CLR  PSW.5
    MOV  R0, #DBUF
    MOV R7,#06H
LOOP1:
    MOV @R0,#00H
    INC R0
    DJNZ R7,LOOP1
    LCALL DISPLAYM
    SETB EA
    SETB ET0
    SETB ET1       ;中斷初始化
LOOP2:
    LCALL JISHU   ;計數法初測
    LCALL COMPARE  ;測量結果比較
    JB PSW.5,NEXT1 ;<1000轉用測周法
    LCALL DECI      ;頻率轉為十進制   
    LCALL DISAPP    ;分離顯碼和消隱
    LCALL DISPLAYM    ;顯示
    SJMP NEXT2        ;循環
NEXT1:
   CLR PSW.5         ;清空標志位
   LCALL CEZHOU    ;用測周法重測
   LCALL MENDT  ;計算頻率轉10進制
   LCALL DISAPP     ;分離顯碼和消隱
    LCALL DISPLAYT    ;顯示
NEXT2:LCALL DY50MS     ;延時 50MS
     SJMP LOOP2;
JISHU:
     MOV TMOD,#15H    ;T1定時1ST0計數
     MOV TH1,#3CH
     MOV TL1,#0B0H
     MOV TH0,#00H
     MOV TL0,#00H
     SETB TR0
     SETB TR1
     NEXTT2:CJNE R2,#14H,$   ;等待一秒計時結束
       MOV R2,#00H
     MOV R3,#00H
     CLR TR0
     CLR TR1
     MOV A1,TL0         ;存頻率低位
     MOV A2,TH0         ;存頻率高位
     RET
T0_INT:INC R3
    MOV TH0,#00H
    MOV TL0,#00H
    RETI
T1_INT: INC R2
    MOV TH1,#3CH
    MOV TL1,#0B0H ;  定時50ms
    RETI
;T0中計數值與3E8H比較大小,若大于或等于3E8H1000
;則用高頻計數法,且置標志位為0;否則用低頻測周法,且置標志位為1
COMPARE:
       MOV A,A2
       CJNE A,#03H,NEXTC3
       MOV  A,A1
       CJNE A,#0E8H,NEXTC5
NEXTC3:JC NEXTC1    ;低頻計數法不可用
       SJMP  NEXTC4
       CLR C
NEXTC5:JNC NEXTC4   ;低頻計數法不可用
NEXTC1:SETB PSW.5
       SJMP BACKC
NEXTC4:CLR PSW.5
BACKC:RET
;入口參數 A1&2 出口參數FL&2&3
DECI:
     MOV R6,A2          ;高位
     MOV R7,A1          ;低位
     LCALL H_BCD        ;BCD
     MOV FH,R3         ;高位
     MOV FM,R4
     MOV FL,R5         ;低位
     RET
;分離顯碼&消隱
DISAPP:
      MOV R7,#06H
      MOV R0,#DBUF
      MOV R1,#FL
LOOPD1:MOV A,@R1
      PUSH ACC
      ANL A,#0FH
      MOV @R0,A
      INC R0
      POP ACC
      SWAP A
      ANL  A,#0FH
      MOV @R0,A
      INC R1
      INC R0
      DJNZ R7,LOOPD1  ;分離顯碼結束
      MOV R7,#03H
      MOV R0,#DBUF
      MOV A,R0
      ADD A,#05H
      MOV R0,A   ;R0 指向顯示緩沖區最高位
      LOOPD2:
      CJNE @R0,#00H,BACKD
      MOV @R0,#10H
      DEC R0
      DJNZ R7,LOOPD2               
      BACKD: RET
DISPLAYM:
        MOV R0,#DBUF
        MOV R7,#06H
        LOOPM2:
        MOV A,@R0
        MOV DPTR,#TAB
        MOVC A,@A+DPTR
        INC R0
        MOV R6,#08H
        LOOP3:
              RRC A
              JC LP1
              CLR CLK
              CLR FRE
              SETB CLK
              SJMP LP2
LP1:
              CLR CLK
              SETB FRE
              SETB CLK
LP2:    DJNZ R6,LOOP3
             DJNZ R7,LOOPM2
              RET
TAB:DB 42H,0F6H,13H,92H
DB 0A6H,8AH,0AH,0F2H
DB 02H,82H,22H,0EH
DB 4BH,16H,03H,2BH,0FFH
CEZHOU:
     MOV R3,#00H
     MOV TMOD,#01H
     MOV TH0,#00H
     MOV TL0,#00H
     JNB INPUT,$
     JB INPUT,$
     SETB TR0
     JNB INPUT,$
     JB INPUT,$
     CLR TR0
     MOV A1,TL0        ;時間低位
     MOV A2,TH0        ;時間高位
     RET
;入口參數r3A2A1&出口參數FL23
MENDT:                          
        MOV BCSL,#40H
        MOV BCSM,#42H
        MOV BCSH,#0FH
        MOV CSL,A1
        MOV CSM,A2
        MOV CSH,R3
        LCALL DIV33      ;計算頻率
        MOV R6,BCSM
        MOV R7,BCSL
        LCALL H_BCD
        MOV FM,R5        ;低位
        MOV FH,R4         ; 把商的整數部分轉換為BCD
                             ;并存入FMFH
        MOV R1,#YSL
        MOV R7,#03H
        ACALL LOOP10
        MOV BCSL,YSL
        MOV BCSM,YSM
        MOV BCSH,YSH
        LCALL DIV33
        MOV A,BCSL
        SWAP A
        MOV FL,A    ;頻率的小數部分
        MOV R1,#YSL
        MOV R7,#03H
        ACALL LOOP10
        MOV BCSL,YSL
        MOV BCSM,YSM
        MOV BCSH,YSH
        LCALL DIV33
        MOV A,BCSL
        ORL FL,A
        RE
DISPLAYT:
       MOV R0,#DBUF
       MOV R7,#06H
LOOP12:
       MOV A,@R0
       CJNE R0,#32H,NEXTDI1 ;如果是由低位數的第三位加小數點
       MOV DPTR,#TAB1
       MOVC A,@A+DPTR
       SJMP NEXTDI2
NEXTDI1:
       MOV DPTR,#TAB
       MOVC A,@A+DPTR
NEXTDI2:
       INC R0
       MOV R6,#08H
LOOP13:
              RRC A
              JC LP3
             CLR CLK
              CLR FRE
              SETB CLK
              SJMP NEXT11
LP3:
                  CLR CLK
                  SETB FRE
                  SETB CLK
NEXT11:DJNZ R6,LOOP13
      DJNZ R7,LOOP12
      RET
TAB1:DB 40H,0F4H,11H,90H
    DB 0A4H,88H,08H,0F0H
    DB 00H,80H,20H,0CH
    DB 49H,14H,01H,29H
H_BCD:              ;入口地址:R6R7  出口地址:R3R4R5
HB2:CLR A         ;BCD碼初始化
     MOV R3,A
     MOV R4,A
     MOV R5,A
     MOV R2,#10H   ;轉換雙字節十六進制整數
HB3:MOV A,R7      ;從高端移出待轉換數的一位到CY
      RLC A
     MOV R7,A
     MOV A,R6
     RLC A
     MOV R6,A
     MOV A,R5     ;BCD碼帶進位自身相加,相當于乘2
     ADDC A,R5
     DA A         ;十進制調整
     MOV R5,A
     MOV A,R4
     ADDC A,R4
     DA A
     MOV R4,A
     MOV A,R3
     ADDC A,R3
      MOV R3,A    ;雙字節十六進制數的萬位數不超過6,不用調整
     DJNZ R2,HB3  ;處理完16bit
     RET
DIV33:
     MOV     TIMES1,#06H
     MOV     A,CSL
     ORL     A,CSM
     ORL     A,CSH
     JNZ     DIVD0
     cpl     p1.1
     SETB    OV
     RET
DIVD0: MOV     YSL,#00H
      MOV     YSM,#00H
      MOV     YSH,#00H
      MOV     B,#24
      MOV     R0,#BCSL
      MOV     TIMES1,#06H
DIVD1: CLR     C
LPDIV33:
       MOV     A,@R0
       RLC     A
       MOV     @R0,A
       INC     R0
       DJNZ    TIMES1,LPDIV33
       MOV     R0,#BCSL
       MOV     TIMES1,#06H
       MOV     FLAG,C
       CLR     C
       MOV     A,YSL
       SUBB    A,CSL
       MOV     BUF1,A
       MOV     A,YSM
       SUBB    A,CSM
       MOV     BUF2,A
       MOV     A,YSH
        SUBB   A,CSH
       MOV     BUF3,A
       ANL     C,/FLAG
       JC      DIVD2
       MOV     YSL,BUF1
       MOV    YSM,BUF2
       MOV     YSH,BUF3
       INC     BCSL
DIVD2: DJNZ    B,DIVD1
       CLR     OV
       RET
LOOP10:
       CLR     C
       MOV     R2,#00H
LP10:  MOV     A,@R1
       MOV     B,#0AH
       MUL     AB
       ADDC    A,R2
       MOV     @R1,A
       MOV     R2,B
       INC     R1
       DJNZ    R7,LP10
       MOV     @R1,B
       RET
DY50MS:
       MOV R6,#32H
LOOPDY1:MOV R0,#0FAH
LOOPDY2:MOV R7,#70H
       DJNZ R0,LOOPDY2
       DJNZ R6,LOOPDY1
       RET
       END



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

使用道具 舉報

沙發
ID:363028 發表于 2018-7-13 11:12 | 只看該作者
不可以啊,程序能看出功能
回復

使用道具 舉報

板凳
ID:97554 發表于 2018-7-13 15:56 | 只看該作者
這個應該可以畫出來,P2位,P0段,P3.4輸入,參考其他的51頻率計圖紙,應該不難畫出來。
回復

使用道具 舉報

地板
ID:369804 發表于 2018-7-15 16:00 | 只看該作者
楊雪飛 發表于 2018-7-13 15:56
這個應該可以畫出來,P2位,P0段,P3.4輸入,參考其他的51頻率計圖紙,應該不難畫出來。

我想請問那么如果用上164應該怎么使用呢
回復

使用道具 舉報

5#
ID:345430 發表于 2018-12-28 19:36 | 只看該作者
不可以啊,得有仿真圖啊
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 二区在线观看 | 婷婷成人在线 | 欧美日韩国产一区 | 精品国产91 | 欧美激情久久久 | av毛片 | 国产乱码精品1区2区3区 | 欧美色性| 欧美a在线看 | 欧美精品一区在线 | 天堂久久网 | 大吊一区二区 | 久久精品网 | 全部免费毛片在线播放网站 | 999国产精品视频免费 | 综合国产 | 色综久久 | 亚洲一区二区高清 | 亚洲一区二区三区 | 久久神马| 九七午夜剧场福利写真 | 日韩精品一区二区三区免费观看 | 免费视频成人国产精品网站 | 成人国产精品久久 | 日韩精品一区在线 | 91 久久 | 成人欧美一区二区三区黑人孕妇 | 久久亚洲欧美日韩精品专区 | 波多野结衣二区 | 99免费视频 | 天天干天天想 | 99精品国产一区二区三区 | 国产黄色在线观看 | 91久久久久久久久久久 | 亚洲大片 | 99re99| 欧美在线视频观看 | 国产区在线 | 91av小视频 | 天天拍天天色 | 国产精品久久久久久久7电影 |