本帖最后由 zzbaizhi 于 2014-9-23 10:38 编辑
唉,写数据不行
主频:20M/8
void main(void)
{ WDTCTL = WDTPW+WDTHOLD; //关闭看门狗定时器
P8DIR |=BIT5+BIT6+BIT7;
P8OUT |=BIT5+BIT6+BIT7;//CS,WR,DATA置高
Init_Clk();
delay_ms(10);
Ht1621WrCmd(BIAS); //1/3
Ht1621WrCmd(RC256); //使用内部振荡器
Ht1621WrCmd(SYSDIS);
Ht1621WrCmd(WDTDIS);
Ht1621WrCmd(SYSEN);
Ht1621WrCmd(LCDON);
//Ht1621WrCmd(LCDOFF);
delay_ms(20);
//Ht1621WrOneData(1,0);
display(A);//清屏
_NOP();
}
void Ht1621Wr_Data(uchar Data,uchar cnt)
{
uchar i;
for (i=0;i
{
WR_0;
_NOP();
_NOP();
_NOP();
// _NOP();
if((Data&0x80)==0x80)
DATA_1;
else DATA_0;
//_NOP();
WR_1;
_NOP();
_NOP();
_NOP();
//_NOP();
Data<<=1;
}
}
void display(uchar Data0)
{
uchar i;
uchar Addr=0;
CS_0;
_NOP();
Ht1621Wr_Data(0xa0,3); //写入数据标志101
Ht1621Wr_Data(Addr<<2,6); //写入地址数据
for (i=0;i<16;i++)
{ //Ht1621Wr_Data(Addr<<=2,6); //写入地址数据
Ht1621Wr_Data(Data0,8); //写入数据
}
CS_1;
}
|