找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1556|回复: 3
收起左侧

一位数码管显示的 51单片机逻辑笔制作 附汇编源程序

[复制链接]
ID:997011 发表于 2022-3-7 10:59 | 显示全部楼层 |阅读模式
制作出来的实物图如下:
327fcb7db4d6200c7c95edbac3cd4c85.jpg
  这是我二十多年前的第一个51单片机作品。功能如下:
1。逻辑检测;高电平显示H,低电平显示L,开漏输出显示O。
2。时钟频率测量;1M赫以下,由高位到低位依次显示。
3。1000赫兹方波信号发生器,也由数码管显示频率。

   单片机汇编程序如下:
      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

评分

参与人数 1黑币 +100 收起 理由
admin + 100 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:72088 发表于 2022-3-7 21:55 | 显示全部楼层
电路图呢,总不能只能识别5V电平吧,这样容易损坏单片机
回复

使用道具 举报

ID:997011 发表于 2022-4-18 19:00 | 显示全部楼层
新乡家电维修 发表于 2022-3-7 21:55
电路图呢,总不能只能识别5V电平吧,这样容易损坏单片机

由于没直接给我回复,我是无意看自己贴子才看到你的回复的。它是用做检测TTL电路逻辑状态的,若要测5V以上还得设计分挡。
回复

使用道具 举报

ID:88256 发表于 2022-4-18 19:34 | 显示全部楼层
看起来是升压使用的,现在倒是可以改用聚合物锂电,再换用贴片元件,甚至于数码管可以采用两位或者四位的用于像是频率。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表