本帖最后由 大哈欠E 于 2013-8-5 21:59 编辑
没用过点阵,看了下驱动原理,做了个仿真,但是怎么达不到效果了?不知是程序 还是硬件?小弟刚学汇编,请高手帮忙。。 但是用c写也是一样效果 麻烦大神看看。。
想达到的效果如图一
实际效果如图二
ORG 0000H
START: MOV R0,#00H
MOV R2,#08H
LOOP1: MOV DPTR,#PORT2
MOV A,R0
MOVC A,@A+DPTR
MOV P2,A
MOV A,R0
MOV DPTR,#PORT3
MOVC A,@A+DPTR
MOV P3,A
INC R0
DJNZ R2,LOOP1
SJMP START
PORT2: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH
PORT3: DB 01H,00H,00H,18H,18H,00H,00H,00H
END
;----------------------------------------------
#include<reg52.h>
unsigned char port[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,0x01,0x00,0x00,0x18,0x18,0x00,0x00,0x00};
int main(void)
{
unsigned char i;
while(1)
{
for(i=0;i<8;i++)
{
P2=port;
P3=port[i+8];
}
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
诶?我程序上是port【i】的 可能是复制错了 可是还是不行啊。。
P2=1<<i??不是这样的他是移动的是0 其余的都是1
嗯 怎么这样就行了 我分别赋值就不行 纳闷????
一周热门 更多>