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

📄 m7219.asm

📁 c语言和汇编语言混合编程实例详解.rar
💻 ASM
字号:
;/* 这是max7219汇编程序, 文件名为M7219.ASM                     */
;/* 功能:本程序主要是将显示缓冲区的8位数在LED上显示出来,     */
;/* 显示缓冲区为单片机的RAM区的40H,41H,...,47H连续的8个字节。*/
;/* 其中扫描界、数码亮度、译码方式均可选,参见程序中的注释。     */

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