点阵屏,字母显示D,存档
动态扫描,文字取模软件,
纵向取模,取消字节倒序,生成字模数据,
#include "reg52.h"
typedef unsigned int u16;
typedef unsigned char u8;
sbit SRCLK=P3^6;
sbit LCLK=P3^5;
sbit SER=P3^4;
#define LEDDZ_COL_PORTP0
u8 gled_row[8]={0x00,0x7E,0x81,0x82,0x42,0x3C,0x00,0x00};
u8 gled_col[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
void delay_10us(u16 ten_us)
{
while(ten_us--);
}
void hc595_write_data(u8 dat)
{
u8 i=0;
for(i=0;i<8;i++)
{
SER=dat>>7;
dat<<=1;
SRCLK=0;
delay_10us(1);
SRCLK=1;
delay_10us(1);
}
LCLK=0;
delay_10us(1);
LCLK=1;
}
void main()
{
u8 i=0;
while(1)
{
for(i=0;i<8;i++)
{
LEDDZ_COL_PORT=gled_col[i];
hc595_write_data(gled_row[i]);
delay_10us(100);
hc595_write_data(0x00);
}
}
}