怎么修改能显示更多的字 ?
#include <reg51.h>
#include <intrins.h>
#include <stdio.h>
#define uchar unsigned char
#define uint unsigned int
sbit RCK_Pin = P3^2;//
sbit k1 = P1^0;
sbit k2 = P1^1;
uchar flag=0;
uchar code DSY_CONTENT_8x8_0[]=
{
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xF7,0xE3,0x81,0x00,0xC3,0xC3,
0xC3,0xC3,0xC3,0xC3,0xC3,0xE7,0xE7,0xFF,
0xEE,0xAD,0xAB,0x87,0xA3,0xAD,0xEE,0xFF,
0xEE,0xAD,0xAB,0x87,0xA3,0xAD,0xEE,0xFF,
0xFF,0xC0,0xB7,0xD3,0xD3,0xDF,0xC0,0xFF,
0xFF,0xFD,0xFD,0x81,0xED,0xED,0xFD,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
};
uchar code DSY_CONTENT_8x8_1[]=
{
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xF7,0xE3,0x81,0x00,0xC3,0xC3,
0xC3,0xC3,0xC3,0xC3,0xC3,0xE7,0xE7,0xFF,
0xEE,0xAD,0xAB,0x87,0xA3,0xAD,0xEE,0xFF,
0xEE,0xAD,0xAB,0x87,0xA3,0xAD,0xEE,0xFF,
0xFF,0xC0,0xB7,0xD3,0xD3,0xDF,0xC0,0xFF,
0xFF,0xFD,0xFD,0x81,0xED,0xED,0xFD,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
};
uchar Scan_BIT = 0x01, Scan_BIT1 = 0x80;
uchar Offset,Data_Index = 0, Offset1,Data_Index1 = 0;
void Delay(uint t)
{
uchar i;
while(t--)
for(i=0;i<120;i++);
}
void T0_Led_Display_Control() interrupt 1
{
TH0 = (65536-1000)/256;
TL0 = (65536-1000)%256;
if(flag==0)
{
Scan_BIT1=0x80;
Data_Index1 = 0;
Scan_BIT = _cror_(Scan_BIT,1);
putchar(Scan_BIT);
while(TI == 0);
putchar( DSY_CONTENT_8x8_0[Offset + Data_Index + 8]);
while (TI==0);
putchar( DSY_CONTENT_8x8_0[Offset + Data_Index ]);
while(TI == 0);
Data_Index = (Data_Index + 1) % 8;
RCK_Pin = 1;
RCK_Pin = 0;
}
if(flag==1)
{
Scan_BIT=0x01;
Data_Index = 0;
Scan_BIT1 = _crol_(Scan_BIT1,1);
putchar(Scan_BIT1);
while(TI == 0);
putchar( DSY_CONTENT_8x8_1[Offset1 + Data_Index1]);
while (TI==0);
putchar( DSY_CONTENT_8x8_1[Offset1 + Data_Index1 + 8 ]);
while(TI == 0);
Data_Index1 = (Data_Index1 + 1) % 8;
RCK_Pin = 1;
RCK_Pin = 0;
}
}
void main(){
uchar i;
TMOD = 0x01;
TH0 = (65536-1000) / 256;
TL0 = (65536-1000) % 256;
IE = 0x82;
TCON =0x00; TI = 1;
while(1)
{
for(i=0;i<64;i++)
{
if(k1==0)
{
flag=1;
}
if(k2==0)
{
flag=0;
}
Offset = i;
Offset1 = i;
TR0 = 1;
Delay(50);
TR0 = 0;
}
}
}
|