?? pproject.c
字號:
if(Word_Number<3) //若未顯示完“第13站”,則
{
for(m=0;m<32;m++)
next[m]=State1[Word_Number][m]; //依次換字顯示“第13站”
}
else //否則
for(m=0;m<32;m++)
next[m]=DL[Word_Number-3][m]; //依次換字顯示“到了”
Word_Number++; //顯示字數+1
}
else //若全部顯示完,則
Word_Number=0; //顯示字數清0
break;
case 14: //若為第14站
if(Word_Number<5) //判斷已顯示字數
{
if(Word_Number<3) //若未顯示完“第14站”,則
{
for(m=0;m<32;m++)
next[m]=State2[Word_Number][m]; //依次換字顯示“第14站”
}
else //否則
for(m=0;m<32;m++)
next[m]=DL[Word_Number-3][m]; //依次換字顯示“到了”
Word_Number++; //顯示字數+1
}
else //若全部顯示完,則
Word_Number=0; //顯示字數清0
break;
case 15: //若為第15站
if(Word_Number<5) //判斷已顯示字數
{
if(Word_Number<3) //若未顯示完“第15站”,則
{
for(m=0;m<32;m++)
next[m]=State1[Word_Number][m]; //依次換字顯示“第15站”
}
else //否則
for(m=0;m<32;m++)
next[m]=DL[Word_Number-3][m]; //依次換字顯示“到了”
Word_Number++; //顯示字數+1
}
else //若全部顯示完,則
Word_Number=0; //顯示字數清0
break;
case 16: //若為第16站
if(Word_Number<5) //判斷已顯示字數
{
if(Word_Number<3) //若未顯示完“第16站”,則
{
for(m=0;m<32;m++)
next[m]=State2[Word_Number][m]; //依次換字顯示“第16站”
}
else //否則
for(m=0;m<32;m++)
next[m]=DL[Word_Number-3][m]; //依次換字顯示“到了”
Word_Number++; //顯示字數+1
}
else //若全部顯示完,則
Word_Number=0; //顯示字數清0
break;
}
}
else //預報站情形
{
switch(State) //判斷站數
{
case 1: //若為“第1站”
if(Word_Number<7) //判斷已顯示字數
{
if(Word_Number<4) //若未顯示完“前方到站”
{
for(m=0;m<32;m++)
next[m]=QFDZ[Word_Number][m]; //依次換字顯示“前方到站”
}
else //若顯示完“前方到站”
for(m=0;m<32;m++)
next[m]=State1[Word_Number-4][m]; //依次換字顯示“第1站”
Word_Number++; //顯示字數+1
}
else //若全部顯示完
Word_Number=0; //顯示字數清0
break;
case 2: //若為“第2站”
if(Word_Number<7) //判斷已顯示字數
{
if(Word_Number<4) //若未顯示完“前方到站”
{
for(m=0;m<32;m++)
next[m]=QFDZ[Word_Number][m]; //依次換字顯示“前方到站”
}
else //若顯示完“前方到站”
for(m=0;m<32;m++)
next[m]=State2[Word_Number-4][m]; //依次換字顯示“第2站”
Word_Number++; //顯示字數+1
}
else //若全部顯示完
Word_Number=0; //顯示字數清0;
break;
case 3: //若為“第3站”
if(Word_Number<7) //判斷已顯示字數
{
if(Word_Number<4) //若未顯示完“前方到站”
{
for(m=0;m<32;m++)
next[m]=QFDZ[Word_Number][m]; //依次換字顯示“前方到站”
}
else //若顯示完“前方到站”
for(m=0;m<32;m++)
next[m]=State1[Word_Number-4][m]; //依次換字顯示“第1站”
Word_Number++; //顯示字數+1
}
else //若全部顯示完
Word_Number=0; //顯示字數清0
break;
case 4: //若為“第4站”
if(Word_Number<7) //判斷已顯示字數
{
if(Word_Number<4) //若未顯示完“前方到站”
{
for(m=0;m<32;m++)
next[m]=QFDZ[Word_Number][m]; //依次換字顯示“前方到站”
}
else //若顯示完“前方到站”
for(m=0;m<32;m++)
next[m]=State2[Word_Number-4][m]; //依次換字顯示“第2站”
Word_Number++; //顯示字數+1
}
else //若全部顯示完
Word_Number=0; //顯示字數清0;
break;
case 5: //若為“第5站”
if(Word_Number<7) //判斷已顯示字數
{
if(Word_Number<4) //若未顯示完“前方到站”
{
for(m=0;m<32;m++)
next[m]=QFDZ[Word_Number][m]; //依次換字顯示“前方到站”
}
else //若顯示完“前方到站”
for(m=0;m<32;m++)
next[m]=State1[Word_Number-4][m]; //依次換字顯示“第1站”
Word_Number++; //顯示字數+1
}
else //若全部顯示完
Word_Number=0; //顯示字數清0
break;
case 6: //若為“第6站”
if(Word_Number<7) //判斷已顯示字數
{
if(Word_Number<4) //若未顯示完“前方到站”
{
for(m=0;m<32;m++)
next[m]=QFDZ[Word_Number][m]; //依次換字顯示“前方到站”
}
else //若顯示完“前方到站”
for(m=0;m<32;m++)
next[m]=State2[Word_Number-4][m]; //依次換字顯示“第2站”
Word_Number++; //顯示字數+1
}
else //若全部顯示完
Word_Number=0; //顯示字數清0;
break;
case 7: //若為“第7站”
if(Word_Number<7) //判斷已顯示字數
{
if(Word_Number<4) //若未顯示完“前方到站”
{
for(m=0;m<32;m++)
next[m]=QFDZ[Word_Number][m]; //依次換字顯示“前方到站”
}
else //若顯示完“前方到站”
for(m=0;m<32;m++)
next[m]=State1[Word_Number-4][m]; //依次換字顯示“第1站”
Word_Number++; //顯示字數+1
}
else //若全部顯示完
Word_Number=0; //顯示字數清0
break;
case 8: //若為“第8站”
if(Word_Number<7) //判斷已顯示字數
{
if(Word_Number<4) //若未顯示完“前方到站”
{
for(m=0;m<32;m++)
next[m]=QFDZ[Word_Number][m]; //依次換字顯示“前方到站”
}
else //若顯示完“前方到站”
for(m=0;m<32;m++)
next[m]=State2[Word_Number-4][m]; //依次換字顯示“第2站”
Word_Number++; //顯示字數+1
}
else //若全部顯示完
Word_Number=0; //顯示字數清0;
break;
case 9: //若為“第9站”
if(Word_Number<7) //判斷已顯示字數
{
if(Word_Number<4) //若未顯示完“前方到站”
{
for(m=0;m<32;m++)
next[m]=QFDZ[Word_Number][m]; //依次換字顯示“前方到站”
}
else //若顯示完“前方到站”
for(m=0;m<32;m++)
next[m]=State1[Word_Number-4][m]; //依次換字顯示“第1站”
Word_Number++; //顯示字數+1
}
else //若全部顯示完
Word_Number=0; //顯示字數清0
break;
case 10: //若為“第10站”
if(Word_Number<7) //判斷已顯示字數
{
if(Word_Number<4) //若未顯示完“前方到站”
{
for(m=0;m<32;m++)
next[m]=QFDZ[Word_Number][m]; //依次換字顯示“前方到站”
}
else //若顯示完“前方到站”
for(m=0;m<32;m++)
next[m]=State2[Word_Number-4][m]; //依次換字顯示“第2站”
Word_Number++; //顯示字數+1
}
else //若全部顯示完
Word_Number=0; //顯示字數清0;
break;
case 11: //若為“第11站”
if(Word_Number<7) //判斷已顯示字數
{
if(Word_Number<4) //若未顯示完“前方到站”
{
for(m=0;m<32;m++)
next[m]=QFDZ[Word_Number][m]; //依次換字顯示“前方到站”
}
else //若顯示完“前方到站”
for(m=0;m<32;m++)
next[m]=State1[Word_Number-4][m]; //依次換字顯示“第1站”
Word_Number++; //顯示字數+1
}
else //若全部顯示完
Word_Number=0; //顯示字數清0
break;
case 12: //若為“第12站”
if(Word_Number<7) //判斷已顯示字數
{
if(Word_Number<4) //若未顯示完“前方到站”
{
for(m=0;m<32;m++)
next[m]=QFDZ[Word_Number][m]; //依次換字顯示“前方到站”
}
else //若顯示完“前方到站”
for(m=0;m<32;m++)
next[m]=State2[Word_Number-4][m]; //依次換字顯示“第2站”
Word_Number++; //顯示字數+1
}
else //若全部顯示完
Word_Number=0; //顯示字數清0;
break;
case 13: //若為“第13站”
if(Word_Number<7) //判斷已顯示字數
{
if(Word_Number<4) //若未顯示完“前方到站”
{
for(m=0;m<32;m++)
next[m]=QFDZ[Word_Number][m]; //依次換字顯示“前方到站”
}
else //若顯示完“前方到站”
for(m=0;m<32;m++)
next[m]=State1[Word_Number-4][m]; //依次換字顯示“第1站”
Word_Number++; //顯示字數+1
}
else //若全部顯示完
Word_Number=0; //顯示字數清0
break;
case 14: //若為“第14站”
if(Word_Number<7) //判斷已顯示字數
{
if(Word_Number<4) //若未顯示完“前方到站”
{
for(m=0;m<32;m++)
next[m]=QFDZ[Word_Number][m]; //依次換字顯示“前方到站”
}
else //若顯示完“前方到站”
for(m=0;m<32;m++)
next[m]=State2[Word_Number-4][m]; //依次換字顯示“第2站”
Word_Number++; //顯示字數+1
}
else //若全部顯示完
Word_Number=0; //顯示字數清0;
break;
case 15: //若為“第15站”
if(Word_Number<7) //判斷已顯示字數
{
if(Word_Number<4) //若未顯示完“前方到站”
{
for(m=0;m<32;m++)
next[m]=QFDZ[Word_Number][m]; //依次換字顯示“前方到站”
}
else //若顯示完“前方到站”
for(m=0;m<32;m++)
next[m]=State1[Word_Number-4][m]; //依次換字顯示“第1站”
Word_Number++; //顯示字數+1
}
else //若全部顯示完
Word_Number=0; //顯示字數清0
break;
case 16: //若為“第16站”
if(Word_Number<7) //判斷已顯示字數
{
if(Word_Number<4) //若未顯示完“前方到站”
{
for(m=0;m<32;m++)
next[m]=QFDZ[Word_Number][m]; //依次換字顯示“前方到站”
}
else //若顯示完“前方到站”
for(m=0;m<32;m++)
next[m]=State2[Word_Number-4][m]; //依次換字顯示“第2站”
Word_Number++; //顯示字數+1
}
else //若全部顯示完
Word_Number=0; //顯示字數清0;
break;
}
}
}
//滾動
void move(void)
{
uchar b;
if(Move_Flag==16) //若當前漢字已向左移動16列,則
{
Move_Flag=0; //滾動標志清0
change(); //更換下一個字
}
for(b=0;b<15;b++) //上半屏字型向左移一列
text[b]=text[b+1];
text[15]=next[0]; //上半屏最后一列為下一個字上半部分的第1列
for(b=0;b<15;b++) //下一個字的上半部分也左移一列
next[b]=next[b+1];
for(b=16;b<31;b++) //下半屏字型向左移一列
text[b]=text[b+1];
text[31]=next[16]; //下半屏最后一列為下一個字下半部分的第1列
for(b=16;b<31;b++) //下一個字的下半部分也左移一列
next[b]=next[b+1];
Move_Flag++; //滾動標志+1
}
//顯示屏顯示
void Lattice_Display(void)
{
uchar k;
while(1)
{
if(k==Speed)
{
move();
k=0;
}
display();
k++;
}
}
//****************************主程序****************************//
void main()
{
AVR_Initialize();
MAX6959_Initialize();
Welcome();
while(1)
NOP();
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -