怎么会错呢?小生愚笨。。。(点阵)
本帖最后由 大哈欠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: DB01H,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;
}
}
} P2=port?P2=port吧?另外,P2=1<<i也行 little_Monkey 发表于 2013-8-5 21:29 static/image/common/back.gif
P2=port?P2=port吧?另外,P2=1
诶?我程序上是port【i】的 可能是复制错了 可是还是不行啊。。 little_Monkey 发表于 2013-8-5 21:29 static/image/common/back.gif
P2=port?P2=port吧?另外,P2=1
P2=1<<i??不是这样的他是移动的是0 其余的都是1 大哈欠E 发表于 2013-8-5 21:58 static/image/common/back.gif
P2=1
不好意思看错了 ,那P2=~(1<<i)就行了 little_Monkey 发表于 2013-8-5 22:26 static/image/common/back.gif
不好意思看错了 ,那P2=~(1
嗯 怎么这样就行了 我分别赋值就不行 纳闷????
页:
[1]