?? lcd.c
字號:
#include "2407c.h"
#include "LCD.h"
unsigned int str1[80]=
{ //教學實驗箱
0x910,0x914,0x4894,0x88D4,0x7eBF,0x594,0x449C,0x4414,
0x2050,0x20F8,0x130F,0xC08,0x3388,0xC078,0x4008,0x00,
0x40,0x230,0x210,0x212,0x25C,0x254,0x4250,0x8251,
0x7F5E,0x2D4,0x250,0x218,0x257,0x232,0x210,0x00,
0x00,0x8210,0x820C,0x4204,0x424C,0x23B4,0x1294,0xA05,
0x7F6,0xA04,0x1204,0xE204,0x4214,0x20C,0x204,0x00,
0x802,0x8FA,0x482,0x2482,0x40FE,0x3F80,0x2240,0x2C60,
0x2158,0x2E46,0x2048,0x3050,0x2C20,0x2320,0x2020,0x00,
0x2010,0x1088,0xC87,0x382,0xFFF6,0x28A,0xC82,0x12,
0xFFE8,0x4927,0x4922,0x4926,0x493A,0xFFE2,0x02,0x00
};
unsigned int ledkey[10][8]=
{
{0x00,0x00,0x7C,0x82,0x82,0x82,0x7C,0x00}, //0
{0x00,0x00,0x00,0x84,0xFE,0x80,0x00,0x00}, //1
{0x00,0x00,0x84,0xC2,0xA2,0x92,0x8C,0x00}, //2
{0x00,0x00,0x44,0x92,0x92,0x92,0x6C,0x00},
{0x00,0x00,0x30,0x28,0x24,0xFE,0x20,0x00},
{0x00,0x00,0x4E,0x92,0x92,0x92,0x62,0x00},
{0x00,0x00,0x7C,0x92,0x92,0x92,0x64,0x00},
{0x00,0x00,0x02,0xC2,0x32,0x0A,0x06,0x00},
{0x00,0x00,0x6C,0x92,0x92,0x92,0x6C,0x00},
{0x00,0x00,0x4C,0x92,0x92,0x92,0x7C,0x00}
};
unsigned int nScreenBuffer[30*128];
#define CTRSTATUS (*(unsigned int *)0x108000) //port8000
int w,ww,www;
main()
{
unsigned int uWork,* pWork;
int x,y,a,b,color,i;
*WDCR=0x6f;
*WDKEY=0x5555;
*WDKEY=0xaaaa; /*關閉看門狗中斷*/
*SCSR1=0x81fe; //打開所有外設,設置時鐘頻率為40MHz
*IMR=0x0;
*IFR=0xffff; //清所有中斷標志
uWork=(*WSGR);//設置I/O等待狀態為0
uWork&=0x0fe3f;
(*WSGR)=uWork;
LCDTurnOff();
LCDSetScreenBuffer(nScreenBuffer);
for ( uWork=0,pWork=nScreenBuffer;uWork<30*128;uWork++,pWork++ ) (*pWork)=0;
LCDSetDelay(1);
LCDTurnOn(); // 打開顯示
LCDCLS();
//for(;;)
//{
LCDPutCString(str1,0,128,5,3);//顯示字符教學實驗箱
//_Delay(200);
//}
w=0; ww=500,www=5000;
x=0;y=0;color=1;
for(i=0;i<50;i++) //在左下角畫斜線
{
LCDPutPixel(x,y,color);
x++;
y++;
}
x=0;y=8;color=0;
for(i=0;i<10;i++) //循環顯示0到9
{
LCDWriteBytes(ledkey[i],x,y,color);
_Delay(www);
}
x=0;y=8;color=1;
for(i=9;i>=0;i--) //循環顯示9到0
{
LCDWriteBytes(ledkey[i],x,y,color);
_Delay(www);
}
while ( 1 )
{
if ( w ) break;
x=0; y=0; a=1; b=1; color=2;
for (i=0;i<1024;i++) //畫移動方框
{
LCDDrawLine(x,y,x+10,y,color);
LCDDrawLine(x,y,x,y+10,color);
LCDDrawLine(x+10,y,x+10,y+10,color);
LCDDrawLine(x,y+10,x+10,y+10,color);
LCDRefreshScreen();
_Delay(ww);
LCDDrawLine(x,y,x+10,y,color);
LCDDrawLine(x,y,x,y+10,color);
LCDDrawLine(x+10,y,x+10,y+10,color);
LCDDrawLine(x,y+10,x+10,y+10,color);
x+=a; y+=b;
if ( x>230 || x<0 ) a=-a;
if ( y>118 || y<0 ) b=-b;
if ( w ) break;
}
}
LCDCLS(); // 清除顯示內存
LCDTurnOff();
LCDSetDelay(0);
exit(0);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -