|
請老師發(fā)圖上來看看、我參考下!有沒什么地方不對的。
#include<reg52.h>
sbit HC595_DS = P3^0;
sbit HC595_STCP = P3^1;
sbit HC595_SHCP = P3^2;
sbit HC595_OE = P3^7;
void HC595_WriteByte(unsigned char value)
{
unsigned char i;
for(i=0;i<8;i++)
{
HC595_SHCP = 0;
HC595_DS = value&(0x80>>i);
HC595_SHCP = 1;
}
}
void Lattice_WriteData(unsigned char *buffer,unsigned char value,unsigned char value1)
{
while(*buffer)//列掃描
{
HC595_WriteByte(*buffer++);
}
HC595_WriteByte(value);//行數(shù)據(jù)低八位
HC595_WriteByte(value1);//行數(shù)據(jù)高八位
HC595_STCP = 0;
HC595_STCP = 1;
}
unsigned char buffer[8]={0x01,0,0,0,0,0,0,0};//64列
void main()
{
HC595_OE = 0;
HC595_OE = 1;
//假設(shè)行低電平有效,列高電平有效,顯示效果為第一行,第一列坐標(biāo)為(0,0)的像素點(diǎn)亮,其他均不亮
Lattice_WriteData(buffer,0xfe,0xff);
while(1);
}
還請老師指點(diǎn)下。
|
|