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

📄 m7219b.asm

📁 c语言和汇编语言混合编程实例详解.rar
💻 ASM
字号:
;/* 这是两片MAX7219级连显示16位LED时所用汇编程序, 文件名为     */
;/* M7219B.ASM 。两片MAX7219级连时,第二片的12脚、13脚依次接第一 */
;/* 片的12脚、13脚,第二片的第1脚接第一片的第24脚。              */
;/* 功能:本程序主要是将显示缓冲区的16位数在LED上显示出来,     */
;/* 显示缓冲区为单片机的RAM区的40H,41HH,...,4FH连续的16个字节,  */
;/* 其中扫描界、数码亮度、译码方式均可选,参见程序中的注释 。    */


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 40H,#07H   ;0.1234567
      MOV 41H,#06H
      MOV 42H,#05H
      MOV 43H,#04H
      MOV 44H,#03H
      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
      SETB LOAD
      LCALL INI2
      LCALL DISP
      SJMP $
INI2: MOV R2,#0CH   ;选择扫描界0-7
      MOV R3,#01H
      MOV R4,#01H
      LCALL WRIT
      MOV R2,#0AH   ;选择亮度 01-0FH
      MOV R3,#02H
      MOV R4,#02H
      LCALL WRIT
      MOV R2,#09H   ;选择译码方式00,0FFH
      MOV R3,#0FFH
      MOV R4,#0FFH
      LCALL WRIT
      MOV R2,#0BH   ;选择正常工作状态00,01
      MOV R3,#07H
      MOV R4,#07H
      LCALL WRIT
      RET
DISP: MOV R5,#8
      MOV R0 ,#40H
      MOV R1 ,#48H
      MOV R2 ,#1
LOP3: MOV A,@R0
      MOV R3 ,A
      MOV A,@R1
      MOV R4 ,A
      LCALL WRIT
      INC R0
      INC R1
      INC R2
      DJNZ R5, LOP3
      RET
WRIT: CLR LOAD
      MOV A,R2
      LCALL SEND
      MOV A,R4
      LCALL SEND
      MOV A,R2
      LCALL SEND
      MOV A,R3
      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 + -