tongfang2010 发表于 2010-10-18 20:41:42

8255应用发生的一点小问题!被搞的焦头烂额了!

由于无法附图,所以语言描述一下。这是一个流水灯,为了练习用8255的。可是8255的输入可以变,但输出PA PB PC都是高。我设了PA为输出,应该随着左边发生变化的。我实在找不出原因,请高手指教。
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit wr=P3^6;
sbit rd=P3^7;

uint a,b,c;

void delay(uint a)
{
        for(b=0;b<1000;b++)
                for(c=0;c<a;c++);
}

void init()
{
        wr=0;
        rd=1;
        P2=0x03;
        P0=0x80;
        P2=0x00;
}


void main()
{
        uchar i;
        uchar table[]={0xfe,0xfd,0xfb,0xf7,
                                   0xef,0xdf,0xbf,0x7f};       
        init();
        while(1)
        {
                for(i=0;i<8;i++)
                {
                        P0=table;
                        delay(100);       
                }
        }       
}
页: [1]
查看完整版本: 8255应用发生的一点小问题!被搞的焦头烂额了!