///数据输出函数
void WR_DATA(char dat)
{
int q;
IO0SET=1<<3; ///当A0为1时表示当前传输的是命令,为0时表示当前传输的是数据
for(q=0;q<8;q++)
{
if((dat&(1<<(7-q)))==0)
IO0CLR = 1<<1;
else
IO0SET =1<<1;
IO0CLR = 1; ///来一个上升沿发一串数据
IO0SET =1;
}
}
//命令输出函数
void WR_CMD(char cmd)
{
uint8 j,k;
IO0CLR=1<<3; ///当A0为1时表示当前传输的是命令,为0时表示当前传输的是数据
for(k=0;k<8;k++)
{
if((cmd&(1<<(7-k)))==0)
IO0CLR = 1<<1;
else
IO0SET =1<<1;
IO0CLR = 1; ///来一个上升沿发一串数据
IO0SET =1;
}
}
/****************************************************************************
* 名 称:main()
* 功 能:控制LED灯闪烁。
****************************************************************************/
int main(void)
{
int i1,j1,k=0;
PINSEL0=0 ;
IO0DIR =0xf;
WR_CMD(0xa1); //翻转
for(j1=0;j1<8;j1++)
{
WR_CMD(0xb0+j1);
WR_CMD(0x10);
WR_CMD(0x00);
// for(i1=j1*128;i1<128*(j1+1);i1++)
for(i1=0;i1<128;i1++)
{
WR_DATA(z[j1][i1]);
}
}
转载于:https://my.oschina.net/wwyyjj/blog/537480