#include <msp430g2553.h>
unsigned int n,date1,date2,a;
void main()
{
WDTCTL=WDTPW+WDTHOLD;
P1DIR|=BIT0+BIT1+BIT2;
while(1)
{
date2=0xff;
date1=0x00;
for(n=0;n<8;n++)
{
P1OUT&=~BIT0;
a=date2&0x80;
if(a==0)
{
P1OUT&=~BIT2;
}
else P1OUT|=BIT2;
date2<<=1;
P1OUT|=BIT0;
_delay_cycles(30);
}
for(n=0;n<8;n++)
{
P1OUT&=~BIT0;
a=date1&0x80;
if(a==0)
{
P1OUT&=~BIT2;
}
else P1OUT|=BIT2;
date1<<=1;
P1OUT|=BIT0;
_delay_cycles(30);
}
P1OUT&=~BIT1;//拉低并出时钟信号线
_delay_cycles(30);
P1OUT|=BIT1;//拉高并出时钟信号线
_delay_cycles(30);
}
}
P1.0为串行时钟,P1.1为并行时钟,P1.2为数据输送端
请教大神为什么控制的595没反应啊 着急啊 非常感谢 |