#include "reg52.h"
#include "matrix_LCD.h"
#define uchar unsigned char
uchar code dis0[]={
/*-- 文字: 你 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x09,0x00,0x09,0x80,0x11,0x04,0x13,0xFE,0x22,0x04,0x34,0x48,0x68,0x40,0xA2,0x50,
0x23,0x48,0x22,0x48,0x24,0x44,0x24,0x46,0x28,0x44,0x21,0x40,0x20,0x80,0x00,0x00,
};
uchar code dis1[]={
/*-- 文字: 好 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x10,0x00,0x11,0xFC,0x10,0x08,0x10,0x10,0xFC,0x20,0x24,0x20,0x24,0x20,0x27,0xFE,
0x44,0x20,0x64,0x20,0x18,0x20,0x08,0x20,0x14,0x20,0x26,0x20,0x44,0xA0,0x80,0x40,
};
/*
//------------------I/O模拟串入并出------------------
sbit HC595_DIN_Col=P1^0; //串行输入端 列
sbit HC595_LOAD_Col=P1^1; //上升沿触发 将位移寄存器进入数据存储器 列
sbit HC595_SCK_Col =P1^2 ;//时钟输入端,上升沿触发 列
sbit HC595_DIN_Row=P0^0; //串行输入端 行
sbit HC595_LOAD_Row=P0^1; //上升沿触发 将位移寄存器进入数据存储器 行
sbit HC595_SCK_Row =P0^2 ;//时钟输入端,上升沿触发 行
//=========================延时================================================
void Delay_ms(unsigned int t)
{
uchar i;
for(;t>0;t--)
for(i=0;i<123;i++);
}
//==========================数据发送================================================
void SendData_Col(uchar ch1,uchar ch2)
{
uchar i;
HC595_LOAD_Col=0;
for(i=0;i<8;i++)
{
HC595_SCK_Col=0;
HC595_DIN_Col=(ch1&0x80)?1:0;
HC595_SCK_Col=1;
ch1<<=1;
}
for(i=0;i<8;i++)
{
HC595_SCK_Col=0;
HC595_DIN_Col=(ch2&0x80)?1:0;
HC595_SCK_Col=1;
ch2<<=1;
}
}
//=========================横向段选============================================
void SendData_Row(uchar ch)
{
HC595_LOAD_Row=0;
HC595_SCK_Row=0;
HC595_DIN_Row=ch;
HC595_SCK_Row=1;
}
//=============================================================================
void matrixLCD_Display(uchar *dis,uchar t)
{
uchar i;
uchar j;
uchar R;
for(;t>0;t--)
{
for(i=0,j=0,R=1;i<16;i++)
{
SendData_Col(dis[j++],dis[j++]);
SendData_Row(R);
HC595_LOAD_Col=1;
HC595_LOAD_Row=1;
R>>=1;
Delay_ms(1);
}
}
}
*/
//=====================================================================
int main(void)
{
while(1)
{
// matrixLCD_Display_Moving(dis0) ;
matrixLCD_Display(dis0,100) ;
}
}