標題: 一位數(shù)碼管顯示的 51單片機邏輯筆制作 附匯編源程序 [打印本頁]

作者: lwq1947    時間: 2022-3-7 10:59
標題: 一位數(shù)碼管顯示的 51單片機邏輯筆制作 附匯編源程序
制作出來的實物圖如下:

  這是我二十多年前的第一個51單片機作品。功能如下:
1。邏輯檢測;高電平顯示H,低電平顯示L,開漏輸出顯示O。
2。時鐘頻率測量;1M赫以下,由高位到低位依次顯示。
3。1000赫茲方波信號發(fā)生器,也由數(shù)碼管顯示頻率。

   單片機匯編程序如下:
      ORG 0000H
      AJMP FIST
      ORG 000BH
      AJMP TOIP
      ORG 001BH
      AJMP TIIP
FIST: MOV P1, #0FFH
      MOV P3, #0F7H
      MOV IP, #08H
      MOV TMOD, #25H
      MOV TH1, #06H
      MOV TL1, #06H
      MOV 23H, #0
      MOV R3, #1
      MOV R4, #1
      MOV R5, #1
      SETB TR1
      SETB ET0
      SETB ET1
      SETB EA
LOOP: CLR P1.7
      ACALL D125
      SETB P1.7
      ACALL D125
      AJMP LOOP
CHPC: CJNE R2, #0, IBT1
      CJNE R1, #0, IBT1
      CJNE R0, #0, IBT1
      JNB P3.4, GAOU
      SETB P3.3
      NOP
      MOV TL0, #0
      JNB P3.4, OPEN
      CLR P3.3
      MOV P1, #0C7H
      AJMP LOOP
GAOU: MOV P1, #89H
      AJMP LOOP
OPEN: CLR P3.3
      MOV P1, #0C0H
      AJMP LOOP
IBT1: SETB PSW.1
      CLR A
      MOV 20H, #0
      MOV 21H, #0
      MOV 22H, #0
      MOV B, #24
IBT2: CLR C
      MOV A, R2
      RLC A
      MOV R2, A
      MOV A, R1
      RLC A
      MOV R1, A
      MOV A, R0
      RLC A
      MOV R0, A
BTOD: MOV A, 20H
      ADDC A, 20H
      DA A
      MOV 20H, A
      MOV A, 21H
      ADDC A, 21H
      DA A
      MOV 21H, A
      MOV A, 22H
      ADDC A, 22H
      DA A
      MOV 22H, A
      DJNZ B, IBT2
      MOV DPTR, #DATE
      CLR PSW.5
      MOV R0, #22H
ROOP: MOV R1, #2
      MOV A, @R0
      MOV B, #10H
      DIV AB
      CJNE A, #0, DOOM
      JNB PSW.5, DOOK
      AJMP DOOM
XOOP: XCH A, B
      CJNE A, #0, DOOM
      JNB PSW.5,DOOK
DOOM: SETB PSW.5
      MOVC A, @A+DPTR
      MOV P1, A
      ACALL D125
      ACALL D125
      DOOK: MOV P1, #0FFH
      ACALL D125
      ACALL D125
      DJNZ R1, XOOP
      DEC R0
      CJNE R0, #1FH, ROOP
      CLR PSW.1
      AJMP LOOP
TOIP: INC 23H
      RETI
TIIP: DJNZ R3, BACK
      CPL P3.5
      MOV R3, #15
      DJNZ R4, BACK
      MOV R4, #8
      DJNZ R5, BACK
      MOV R5, #0FAH
      CLR TR0
      JB PSW.1, BACK
      MOV R2, TL0
      MOV TL0, #0
      SETB TR0
      MOV R1, TH0
      MOV TH0, #0
      MOV R0, 23H
      MOV 23H, #0
      MOV DPTR, #CHPC
      POP 7FH
      POP 7FH
      MOV 7FH, DPL
      PUSH 7FH
      MOV 7FH, DPH
      PUSH 7FH
BACK: RETI
D125: MOV 24H, #2
MAIN: MOV R6, #0FAH
SUBP: MOV R7, #0FAH
      DJNZ R7, $
      DJNZ R6, SUBP
      DJNZ 24H, MAIN
      RET
DATE: DB 0C0H, 0F9H, 0A4H, 0B0H, 99H
      DB 92H, 82H, 0F8H, 80H, 90H
      END

作者: 新鄉(xiāng)家電維修    時間: 2022-3-7 21:55
電路圖呢,總不能只能識別5V電平吧,這樣容易損壞單片機
作者: lwq1947    時間: 2022-4-18 19:00
新鄉(xiāng)家電維修 發(fā)表于 2022-3-7 21:55
電路圖呢,總不能只能識別5V電平吧,這樣容易損壞單片機

由于沒直接給我回復,我是無意看自己貼子才看到你的回復的。它是用做檢測TTL電路邏輯狀態(tài)的,若要測5V以上還得設計分擋。
作者: hhdsdy    時間: 2022-4-18 19:34
看起來是升壓使用的,現(xiàn)在倒是可以改用聚合物鋰電,再換用貼片元件,甚至于數(shù)碼管可以采用兩位或者四位的用于像是頻率。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1