📄 lcd.c
字号:
#include "2407c.h"
#include <math.h>
#include <CTR.h>
unsigned char 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 str1[64]=
{ //瑞泰创新
0x1042,0x1042,0x0FFE,0x0842,0x0442,0x00,0xFF40,0x15E,
0x150,0x7FD0,0x15F,0x3F50,0x4150,0x815E,0x7F40,0x00,
0x420,0x2422,0x222A,0x112A,0x12AA,0x4C6A,0x843F,0x7FAA,
0x82A,0xC6A,0x12AA,0x212A,0x232A,0x622,0x220,0x00,
0x40,0x20,0x3FD0,0x404C,0x4043,0x4244,0x4448,0x43D8,
0x7830,0x10,0x00,0x7FC,0x2000,0x4000,0x3FFF,0x00,
0x2120,0x1124,0x4D2C,0x8135,0x7FE6,0x534,0x592C,0x2124,
0x1800,0x7FC,0x24,0x24,0xFFE2,0x22,0x22,0x00
};
unsigned int str2[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 str3[24]=
{ //LED
0x2008,0x3FF8,0x2008,0x2000,0x2000,0x2000,0x3000,0x00,
0x2008,0x3FF8,0x2088,0x2088,0x23E8,0x2008,0x1810,0x00,
0x2008,0x3FF8,0x2008,0x2008,0x2008,0x1010,0xFE0,0x00
};
unsigned int str4[48]=
{ //蜂鸣器
0x1000,0x31F8,0x1108,0x1FFF,0x908,0x1DF8,0x1890,0x1548,
0x1547,0x152A,0xFF92,0x152A,0x1546,0x15C0,0x1040,0x00,
0x00,0x3FC,0x204,0xA04,0xBFC,0x800,0xBFC,0xA04,
0xa16,0xa65,0xa04,0x4a84,0x82FC,0x7e00,0x00,0x00,
0x240,0x240,0x7E4F,0x4549,0x4549,0x44C9,0x7CCF,0x70,
0x7CC0,0x44CF,0x4549,0x4559,0x7E69,0x64F,0x200,0x00
};
unsigned int str5[32]=
{ //键盘
0x140,0x130,0x7FEF,0x2128,0x5128,0x2244,0x1464,0xFDC,
0x1410,0x2554,0x3FFF,0x4554,0x4554,0x457C,0x4410,0x00,
0x4420,0x4220,0x41A0,0x7C7C,0x4424,0x4426,0x7C6D,0x45B4,
0x4424,0x7D24,0x4624,0x45FC,0x7C20,0x4020,0x4020,0x00
};
unsigned int str6[32]=
{ //电机
0x00,0x00,0xFF8,0x448,0x448,0x448,0x448,0x3FFF,
0x4448,0x4448,0x4448,0x4448,0x4FF8,0x4000,0x7000,0x00,
0x408,0x308,0xC8,0xFFFF,0x48,0x4188,0x3008,0x0C00,
0x3FE,0x02,0x02,0x02,0x3FFE,0x4000,0x7800,0x00
};
struct struLCDGraph struGraph,struGraph1;
unsigned int nScreenBuffer[1024];
int nData[256],nData1[256];
main()
{
int i,nCount=0,x,y,a,b,color;
unsigned int uWork;
float fWork,pi=3.1415926;
*WDCR=0x6f;
*WDKEY=0x5555;
*WDKEY=0xaaaa;
*SCSR1=0x81fe;
*IMR=0x0;
*IFR=0xffff;
uWork=(*WSGR);
uWork&=0x0fe3f;
(*WSGR)=uWork;
LCDSetScreenBuffer(nScreenBuffer);
LCDTurnOn(); // 打开显示
LCDCLS(); // 清除显示内存
/*
DrawLine(0,0,128,64,1);
DrawLine(0,64,128,0,1);
RefreshScreen(0,0,0,0,0);
x=0; y=0; a=1; b=1; color=2;
for (;;)
{
DrawLine(x,y,x+10,y,color);
DrawLine(x,y,x,y+10,color);
DrawLine(x+10,y,x+10,y+10,color);
DrawLine(x,y+10,x+10,y+10,color);
RefreshScreen();
_Delay(256);
DrawLine(x,y,x+10,y,color);
DrawLine(x,y,x,y+10,color);
DrawLine(x+10,y,x+10,y+10,color);
DrawLine(x,y+10,x+10,y+10,color);
x+=a; y+=b;
if ( x>118 || x<0 ) a=-a;
if ( y>54 || y<0 ) b=-b;
}
*/
for ( i=0;i<256;i++ )
{
// nData[i]=2048*(sin(i*2*pi/256)*3/4+sin(i*2*pi/32)/4)+2048;
nData[i]=2048*sin(i*2*pi/256)+2048;
nData1[i]=( i%32<16 )?(4095):(0);
}
struGraph.pData=nData;
struGraph.uDataMode=DATAUINTMODE;
struGraph.uDataLength=256;
struGraph.uMaxValue=4096;
struGraph.uWindowX0=0;
struGraph.uWindowY0=0;
struGraph.uWindowX1=128;
struGraph.uWindowY1=64;
struGraph.nOriginX=0;
struGraph.nOriginY=0;
struGraph.uLineMode=LINEMODE;
LCDGraph(&struGraph);
_Delay(5120);
LCDCLS(); // 清除显示内存
struGraph.pData=nData;
struGraph.uDataMode=DATAUINTMODE;
struGraph.uDataLength=256;
struGraph.uMaxValue=4096;
struGraph.uWindowX0=0;
struGraph.uWindowY0=0;
struGraph.uWindowX1=128;
struGraph.uWindowY1=32;
struGraph.nOriginX=0;
struGraph.nOriginY=0;
struGraph.uLineMode=LINEMODE;
struGraph1.pData=nData1;
struGraph1.uDataMode=DATAUINTMODE;
struGraph1.uDataLength=256;
struGraph1.uMaxValue=4096;
struGraph1.uWindowX0=0;
struGraph1.uWindowY0=32;
struGraph1.uWindowX1=128;
struGraph1.uWindowY1=64;
struGraph1.nOriginX=0;
struGraph1.nOriginY=32;
struGraph1.uLineMode=LINEMODE;
struGraph1.bShowXCcoordinate=0;
struGraph1.bShowYCcoordinate=0;
LCDGraph2(&struGraph,&struGraph1);
for ( i=0;i<10;i++ )
{
LCDWriteBytes((unsigned int *)ledkey[i],0,63,1);
_Delay(1024);
}
_Delay(5120);
LCDPutCString(str2,32,63,5,0);
_Delay(20480);
LCDCLS(); // 清除显示内存
LCDTurnOff();
while ( 1 )
{
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -