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

📄 m7219d.asm

📁 c语言和汇编语言混合编程实例详解.rar
💻 ASM
字号:
; 这是三片MAX7219级连显示24位LED时所用汇编程序, 文件名为      
; M7219D.ASM 。三片MAX7219级连,是在两片MAX7219级连的基础上,
;  再加一片。连法和两片相连类似。第三片的12脚、13脚依次接第二 
; 片的12脚、13脚,第三片的第1脚接第二片的第24脚。               
; 功能:本程序主要是将显示缓冲区的24位数在LED上显示出来,因所
;       用单片机为华邦的W77E58,所用显示缓冲区分两部份,第一
;       部份为单片机的内部DATA RAM区的40H,41HH,...,4FH连续的 
;       16个字节, 第二部份为单片机的内部XDATA区的0050H,0051H,...,
;       0057H连续的8个字节, 这里显示的3个8位数依次为0.1234567,
;       3.1415926,0.12655361。其中扫描界、数码亮度、译码方式均
;       可选,参见程序中的注释 。     

PMR      EQU 0C4H
DIN      EQU P0.0
LOAD     EQU P0.1
CLK      EQU P0.2

      ORG 0000H
      LJMP MAIN
      ORG 0050H
MAIN: MOV SP,#0CFH
      CLR EA
      MOV PMR,#01H
      MOV 40H,#06H    ;0.12655361
      MOV 41H,#03H
      MOV 42H,#05H
      MOV 43H,#05H
      MOV 44H,#06H
      MOV 45H,#02H
      MOV 46H,#01H
      MOV 47H,#80H
      MOV 48H,#06H    ;3.1415926
      MOV 49H,#02H
      MOV 4AH,#09H
      MOV 4BH,#05H
      MOV 4CH,#01H
      MOV 4DH,#04H
      MOV 4EH,#01H
      MOV 4FH,#83H
      MOV DPTR,#0050H   ;0.1234567
      MOV A,#07H
      MOVX @DPTR,A
      INC DPTR
      MOV A,#06H
      MOVX @DPTR,A
      INC DPTR
      MOV A,#05H
      MOVX @DPTR,A
      INC DPTR
      MOV A,#04H
      MOVX @DPTR,A
      INC DPTR
      MOV A,#03H
      MOVX @DPTR,A
      INC DPTR
      MOV A,#02H
      MOVX @DPTR,A
      INC DPTR
      MOV A,#01H
      MOVX @DPTR,A
      INC DPTR
      MOV A,#80H
      MOVX @DPTR,A
      NOP
      SETB LOAD
      LCALL INI2
      LCALL DISP
      SJMP $
 INI2:MOV R2,#0CH   ;选择扫描界0-7
      MOV R3,#01H
      MOV R4,#01H
      MOV R7,#01H
      LCALL WRIT
      MOV R2,#0AH   ;选择码亮度 01-0FH
      MOV R3,#01H
      MOV R4,#01H
      MOV R7,#01H
      LCALL WRIT
      MOV R2,#09H   ;选择译码方式00,0FFH
      MOV R3,#0FFH
      MOV R4,#0FFH
      MOV R7,#0FFH
      LCALL WRIT
      MOV R2,#0BH   ;选择正常工作状态00,01
      MOV R3,#07H
      MOV R4,#07H
      MOV R7,#07H
      LCALL WRIT
      RET
DISP: MOV R5,#8
      MOV R0 ,#40H
      MOV R1 ,#48H
      MOV DPTR,#0050H
      MOV R2 ,#1
LOP3: MOV A,@R0
      MOV R3 ,A
      MOV A,@R1
      MOV R4 ,A
      MOVX A,@DPTR
      MOV R7 ,A
      LCALL WRIT
      INC R0
      INC R1
      INC R2
      INC DPTR
      DJNZ R5, LOP3
      RET
WRIT: CLR LOAD
      MOV A,R2
      LCALL SEND
      MOV A,R3
      LCALL SEND
      MOV A,R2
      LCALL SEND
      MOV A,R4
      LCALL SEND
      MOV A,R2
      LCALL SEND
      MOV A,R7
      LCALL SEND
      CLR LOAD
      NOP
      NOP
      SETB LOAD
      NOP
      RET
SEND:
      MOV R6,#08H
LOP1: NOP
      NOP
      CLR CLK
      RLC A
      MOV DIN,C
      NOP
      NOP
      SETB CLK
      DJNZ R6,LOP1
      RET
      END

⌨️ 快捷键说明

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