"); //-->
#include <AT51.h>
#include <string.h>
#define uchar unsigned char
#define uint unsigned int
void canyou();
void zifu(uchar,uchar,uchar *);
sbit K1 = P3^0;
sbit K2 = P3^1;
sbit K3 = P3^2;
uchar code Prompt[]="tf K1--K4 TO START DEMO PROG";
uchar const Line_Count = 6;
uchar code smg[][80]=
{
"wps users dismiss",
"process of creating PCB",
"of view.with PCB layout",
"placement and track routing,",
"can often be the most time",
"And if you use circuit simulation",
"you are going to spend even more"
};
uchar Disp_Buffer[32];
void delay(uint ms)
{
uchar i;
while(ms--)
{
for(i=0;i<120;i++);
}
}
void play()
{
uchar i,j,k = 0;
uchar *p = smg[0];
uchar *q = smg[Line_Count] + strlen(smg[Line_Count]);
while(p<q)
{
for(i=0;(i<16)&&(p<q);i++)
{
if(((i==0)||(i==15))&& *p == ' ')
p++;
if(*p != '\0')
{
Disp_Buffer[i] = *p++;
}
else
{
if(++k>Line_Count)
break;
p = smg[k];
Disp_Buffer[i] = *p++;
}
}
for(j=i;j<16;j++)
Disp_Buffer[j]=' ';
while(F0)
delay(5);
zifu(0,0," ");
delay(150);
while(F0)
delay(5);
zifu(0,1,Disp_Buffer);
delay(150);
while(F0)
delay(5);
zifu(0,0,Disp_Buffer);
zifu(0,1," ");
delay(150);
}
zifu(0,0," ");
zifu(0,1," ");
}
void H_Scroll_Display()
{
uchar m,n,t = 0,L=0;
uchar *p = smg[0];
uchar *q = smg[Line_Count] + strlen(smg[Line_Count]);
for(m=0;m<16;m++)
Disp_Buffer[m]=' ';
while(p<q)
{
if((m=16||m==31)&& *p == ' ')
p++;
for(m=16;m<32&&p<q;m++)
{
if(*p != '\0')
{
Disp_Buffer[m] = *p++;
}
else
{
if(++t>Line_Count)
break;
p = smg[t];
Disp_Buffer[m] = *p++;
}
}
for(n=m;n<32;n++)
Disp_Buffer[n]=' ';
for(m=0;m<=16;m++)
{
while(F0)
delay(5);
zifu(0,L,Disp_Buffer+1);
while(F0)
delay(5);
delay(20);
}
L = (L==0)? 1:0;
delay(200);
}
if(L==1)
zifu(0,1," ");
}
void EX_INT0() interrupt 0
{
F0 = !F0;
}
void main()
{
uint Count = 0;
IE = 0x81;
IT0 = 1;
F0 = 0;
canyou();
zifu(0,0,Prompt);
zifu(0,1,Prompt+16);
while(1)
{
if(K1 == 0)
{
play();
delay(200);
}
else if(K2 == 0)
{
H_Scroll_Display();
delay(200);
}
}
}
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。