原创 八位七段LED驱动器MAX7219的用法

2008-10-26 20:30 2036 2 2 分类: 电源/新能源
Public  SEND2B,_rrc_                  //函数块定义
Public  ?SEND2B?byte

extrn   bit(CS_7219,DA_7219,CL_7219)
bytes     segment         data
c_common  segment         code

          rseg  bytes
          ?SEND2B?byte:
          ?_rrc_?byte:
          ds    2


rseg      c_common
;===================================================================
;*名称:SEND2B
;*功能:发送两字节数据,数据格式为:XXXX+4bit Address+8bit Data
;*入口参数:
;*说明:r7为4bit命令/地址+8bit的数据
;===================================================================
SEND2B:
 CLR CS_7219
        mov     R7,?SEND2B?byte
        mov     R6,?SEND2B?byte+1
 MOV A,R7
 MOV R5,#08H
RESEND1:
 CLR CL_7219
 RLC A
 MOV DA_7219,C
 SETB CL_7219
 DJNZ R5,RESEND1

 MOV A,R6
 MOV R5,#08H
RESEND2:
 CLR CL_7219
 RLC A
 MOV DA_7219,C
 SETB CL_7219
 DJNZ R5,RESEND2

 SETB CS_7219

 RET

;--------------------------------------
;模块名:_rrc_
;功能:带进位位向右移动N位.
;入口条件:?_rrc_?byte,?_rrc_?byte+1
;出口信息:CY
;影响资源:a,r7
;堆栈需求:  无
;说明:uchar   _rrc_(uchar m(要移位的值),uchar n(移动n位))
;----------------------------------------------
_rrc_:
      mov       A,?_rrc_?byte
      mov       r7,?_rrc_?byte+1
_rrc_1:
      rrc       A;
      djnz      r7,_rrc_1
      mov       r7,a
      ret


end
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
2
关闭 站长推荐上一条 /3 下一条