⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 99秒计时.asm

📁 51单片机 用汇编语言写的应用程序 配合学习板使用
💻 ASM
字号:
;利用中断的99秒计时器 ,动态扫描两位数码管
ORG 00H
JMP START
ORG 0BH
JMP TIM0
START:MOV R3,#00   ;中断循环次数
      MOV R4,#00H  ;时间初值
      MOV DPTR,#TABLE
      MOV SP,#40H
      MOV TMOD,#01H  ;定时器工作方式
      MOV TH0,#HIGH(65536-3800)
      MOV TL0,#LOW(65536-3800)  ;初值4MS
      SETB TR0
      MOV IE,#82H  ;开中断
TIM0:
     MOV TH0,#HIGH(65536-3800)
     MOV TL0,#LOW(65536-3800)
     INC R3
     CJNE R3,#250,X1  ;1S
     MOV R3,#00
     MOV A,R4       ;十进制转换
     MOV B,#10H
     DIV AB
     MOV 20H,B ; 个位
     MOV 21H,A  ; 十位
     MOV A,R4
     ADD A,#01H
     DA A
     MOV R4,A
     CALL SCAN  ;调用数码管扫描
X1:   PUSH ACC
      PUSH PSW
      CALL SCAN
      POP PSW
      POP ACC
      RETI
SCAN:MOV P2,#11111101B ;扫描子程序
     MOV A,21H
     MOVC A,@A+DPTR
     MOV P0,A
     CALL DELAY1
     MOV P2,#11111110B  ;0代表选通该位数码管
     MOV A,20H
     MOVC A,@A+DPTR
     MOV P0,A
     CALL DELAY1
     RET
DELAY:MOV R5,#50         ;典型延时程序
D1:   MOV R6,#40
D2:   MOV R7,#248
      CALL SCAN
      DJNZ R7,$
      DJNZ R6,D2
      DJNZ R5,D1
      RET
DELAY1:MOV R6,#4    ;扫描延时
D3:    MOV R7,#248
       DJNZ R7,$
       DJNZ R6,D3
       RET
TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H    ;共阳字码表
END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -