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

📄 ex9-4.asm

📁 《单片机原理实用教程——基于Proteus虚拟仿真》一书的配套光盘
💻 ASM
字号:
	DIN   BIT  P3.5    ;定义I/O口    
        LOAD  BIT  P3.6
        CLK   BIT  P3.7         
	ORG 0000H         ;复位入口
        LJMP MAIN    
        ORG 0030H         ;主程序起始地址	                  
MAIN:	MOV SP,#60H       ;设置堆栈指针
	    MOV R7,#0AH       ;亮度寄存器
        MOV R5,#07H       ;亮度值
        LCALL DINPUT      ;调用7219命令写入子程序
        MOV R7,#0BH       ;扫描界限寄存器
        MOV R5,#07H       ;显示8位数字
        LCALL DINPUT      ;调MAX7219命令写入子程序   
        MOV R7,#09H       ;译码方式寄存器
        MOV R5,#0FFH      ;#FFH=7-0位均译为B码,#00=不译码
        LCALL DINPUT      ;调MAX7219命令写入子程序    
        MOV R7,#0CH       ;停机寄存器
        MOV R5,#01H       ;正常工作
        LCALL DINPUT      ;调MAX7219命令写入子程序
        MOV 30H,#0FFH     ;30H-37H为显示缓冲区
        MOV 31H,#0FFH
        MOV 32H,#08H      ;显示..8051..
        MOV 33H,#00H
        MOV 34H,#05H
        MOV 35H,#01H
        MOV 36H,#0FFH
        MOV 37H,#0FFH
        MOV R7,#30H
        LCALL DISPLY      ;调MAX7219显示子程序
	SJMP $			 
DINPUT: MOV A,R7          ;7219命令写入子程序,传递来的第1个参数保存在R7中
        MOV R2,#08        ;作为Max7219控制寄存器的8位地址值
LOOP1:  RLC A             ;A的D7位移至DIN,依次为D6~D0
        MOV DIN, C        ;8位地址输入DIN
        CLR CLK
        SETB CLK 
        DJNZ R2,LOOP1
        MOV A,R5          ;传递来的第2个参数保存在R5中 
        MOV R2,#08        ;作为写入Max7219控制寄存器的8位命令数据值
LOOP2:  RLC A             ;A的D7位移至P1.0,依次为D6~D0
        MOV DIN, C        ;8位数据输入DIN
        CLR CLK
        SETB CLK
        DJNZ R2,LOOP2
        CLR LOAD          ;输出LOAD信号,上升沿装载寄存器数据
        SETB LOAD
        RET 
DISPLY: MOV A,R7         ;7219显示子程序,R7的内容为7219显示缓冲区入口地址
    	MOV R0,A        ;R0指向显示缓冲区首地址
    	MOV R1,#01      ;R1指向8字节显示RAM首地址
    	MOV R3,#08
LOOP3:  MOV A,@R0       ;取出显示数据→R5
    	MOV R5,A
    	MOV A,R1        ;取出显示RAM地址→R7
    	MOV R7,A
  	LCALL DINPUT    ;调MAX7219命令写入子程序
    	INC R0
    	INC R1
    	DJNZ R3,LOOP3
    	RET
	END

⌨️ 快捷键说明

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