max7219汇编程序
;==========================================================
; funcTIon: sd_7219 ;向7219送地址或数据
; input: a
; output: MAX7219
; usage: a,r2
;========================================================
sd_7219: ;向7219送地址或数据
mov r2, #08h ;向7219送地址或数据
c_sd: nop
clr disp_clk
rlc a
mov disp_din, c ;准备数据
nop
setb disp_clk ;上升沿将数据传入
djnz r2, c_sd
ret
;==========================================================
; funcTIon: w_7219 ;显示驱动程序
; input: a----------传送7219的地址
; b----------传送7219数据
; output: -----------------
; usage: a,r2
;=========================================================
w_7219: ;显示驱动程序
clr disp_load ;置load=0
lcall sd_7219 ;传送7219的地址
mov a, b
lcall sd_7219 ;传送数据
setb disp_load ;数据装载
ret
;=========================================================
; funcTIon: MAX7219 iniTIalization 初始化Max7219
; input: -------------
; output: -------------
; usage: a,b
;========================================================
;Set_Model equ 0ffh //将BCD码译成B码;
;Set_Bright equ 04h //占空比为15/32;
;Set_Limit equ 07h //8位显示方式;
;Set_Sart equ 01h //进入启动工作方式?
;Set_Halt
Init_Max7219: ;初始化Max7219
mov a, #0ch
mov b, #Set_Halt ;进入停机工作方式
lcall w_7219
mov a, #0bh ;设置扫描界限
mov b, #Set_Limit ;
lcall w_7219
mov a, #09h ;将BCD码译成B码
mov b, #Set_Model ;
lcall w_7219
mov a, #0ah ;设置亮度
mov b, #Set_Bright ;15/32亮度
lcall w_7219
mov a, #0fh ;设置正常工作方式
mov b, #Set_Normal ;
lcall w_7219
mov a, #0ch ;进入启动工作方式?
mov b, #Set_Sart ;
lcall w_7219
mov a, judge_er
rl a
mov judge_er, a
ret