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

📄 max7219串行驱动led数码管.asm

📁 基于Proteus的51系列单片机设计与仿真
💻 ASM
字号:
         ORG   00H
         AJMP  MAIN
 MAIN:   MOV   SP,#70H
         LCALL START             ;设置MAX7129初始值
         LCALL DISP              ;调显示子程序
; MAX7219初始化子程序
START:   MOV   A,#0FBH            ;设置扫描限制
         MOV   B,#07H             ;可接8个LED数码管
         LCALL WRite                 ;写扫描限制初始值
         MOV   A,#0F9H            ;设置译码模式
         MOV   B,#00H             ;不译码
         LCALL WRite                 ;写译码模式
         MOV   A,#0FAH            ;设置亮度值
         MOV   B,#0CH             ;亮度设为25/32
         LCALL WRite
         MOV   A,#0FCH            ;设置正常工作状态
         MOV   B,#01H
         LCALL WRite
         RET
;MAX7219驱动LED显示子程序
DISP:    MOV   DPTR,#TABLE       ;装入显示数据
         MOV   A,#00H
	 MOV   R3,#01H            ;第一个LED
         MOV   R2,#09H            ;显示8个LED
DISP1:   MOVC  A,@A+DPTR
         MOV   B,A                ;需显示的数据暂存B寄存器中
         MOV   A,R3
         LCALL WRite              ;LED显示数据
	 LCALL DELAY
	 INC   DPTR
	 INC   R3         
         DJNZ  R2,DISP1
         RET
WRite:   CLR   P2.1               ;LOAD="0"
         LCALL SEND               ;传送MAX7219的地址
         MOV   A,B
         LCALL SEND               ;传送数据
         SETB  P2.1               ;装载数据
         RET
;MAX7219地址或数据串行写子程序
 SEND:   MOV   R5,#08H            ;向MAX7219送地址或数据
 SEND1:  RLC   A
         MOV   P2.0,C             ;移位装载
         CLR   P2.2
	 NOP
	 NOP
	 NOP
	 NOP
	 NOP
         SETB  P2.2
         DJNZ  R5,SEND1
         RET
 TABLE:  DB  7EH,30H,6D,79H,33H,5BH,5FH,70H
         RET
 DELAY:  MOV  R7,#14H
  DEL:   MOV  R6,#8AH
         DJNZ R6,$
	 DJNZ R7,DEL
	 RET	 
         END

⌨️ 快捷键说明

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