原创
八位七段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
文章评论(0条评论)
登录后参与讨论