怎么会错呢?小生愚笨。。。(点阵)

2020-01-27 11:33发布

本帖最后由 大哈欠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];
           }
     }
  }
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
little_Monkey
1楼-- · 2020-01-27 12:22
P2=port?P2=port[i]吧?另外,P2=1<<i也行
大哈欠E
2楼-- · 2020-01-27 16:02
little_Monkey 发表于 2013-8-5 21:29
P2=port?P2=port吧?另外,P2=1

诶?我程序上是port【i】的 可能是复制错了 可是还是不行啊。。
大哈欠E
3楼-- · 2020-01-27 16:35
little_Monkey 发表于 2013-8-5 21:29
P2=port?P2=port吧?另外,P2=1

P2=1<<i??不是这样的他是移动的是0 其余的都是1
little_Monkey
4楼-- · 2020-01-27 18:58
 精彩回答 2  元偷偷看……
大哈欠E
5楼-- · 2020-01-27 20:53
little_Monkey 发表于 2013-8-5 22:26
不好意思看错了 ,那P2=~(1

嗯 怎么这样就行了 我分别赋值就不行 纳闷????

一周热门 更多>