📄 12864+nrf405.c
字号:
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x08,0x04,0x24,0x24,0xD8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x92,0x54,0xFF,0x54,0x82,0x95,0x96,0xFC,0x96,0x95,0x94,0x00,0x38,
0x00,0xFF,0x08,0xA4,0xA7,0xAC,0x94,0xAA,0xA2,0x32,0x00,0x48,0x4A,0xEA,0x5E,0x4A,
0xFE,0x49,0x5D,0xEB,0x49,0x48,0x00,0x01,0x41,0x5D,0xD5,0x5F,0x75,0x55,0x5F,0x75,
0xDD,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x01,0x82,0x42,0xE2,0x01,0x00,0x00,0x02,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0x88,0x8F,0x88,0xFE,0x88,0x8E,0x88,0x8E,0x08,0x06,0x00,0x04,
0x23,0x24,0x25,0x22,0xF9,0x20,0x27,0x34,0x24,0x06,0x00,0xE8,0x38,0xEF,0x3D,0xED,
0x97,0x75,0x95,0x9F,0x70,0x90,0x00,0x52,0x92,0x11,0xF7,0x05,0xF5,0x15,0xDD,0x95,
0xF7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x02,0x05,0x04,0x1F,0x14,0x00,0x00,0x10,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x20,0x20,0x20,0x3C,0x23,0x20,0x20,0x20,0x3F,0x20,0x20,0x00,0x21,
0x21,0x11,0x09,0x05,0x03,0x05,0x09,0x11,0x21,0x21,0x00,0x3F,0x15,0x14,0x15,0x3F,
0x04,0x04,0x04,0x3F,0x04,0x04,0x00,0x10,0x0C,0x03,0x1C,0x00,0x0B,0x0A,0x2A,0x2A,
0x22,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
unsigned char code FirstPage4[]={
/*-- 调入了一幅图像:C:\Documents and Settings\freelover\桌面\未标题-1.bmp --*/
/*-- 宽度x高度=128x64 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0xF8,0x00,0x00,0xFC,0x00,0x00,
0x08,0x68,0xA8,0x3C,0x28,0xE8,0x3C,0x28,0xE8,0x28,0x08,0x00,0x00,0xF4,0x08,0xE0,
0x28,0xF8,0x28,0xE8,0x08,0x08,0xF8,0x00,0x08,0x68,0xA8,0x3C,0x28,0xE8,0x3C,0x28,
0xE8,0x28,0x08,0xFF,0xDB,0x37,0xEF,0xEF,0x03,0x6F,0xFF,0x07,0xB7,0x3B,0xBB,0xFF,
0xF7,0x97,0x57,0xC3,0xD7,0x17,0xC3,0xD7,0x17,0xD7,0xF7,0xFF,0x24,0xC8,0x20,0xA0,
0xFC,0x20,0x20,0xF8,0x48,0x48,0xF8,0x00,0x08,0x68,0xA8,0x3C,0x28,0xE8,0x3C,0x28,
0xE8,0x28,0x08,0x00,0x04,0xE4,0x24,0x24,0xFC,0x24,0xFC,0x24,0x24,0xE4,0x04,0x00,
0xA0,0xB8,0x50,0xBC,0x54,0xA4,0x40,0xAC,0x94,0x2C,0x44,0x00,0x00,0x00,0x00,0x00,
0x20,0x20,0x20,0x20,0x30,0x2C,0x23,0x20,0x20,0x20,0x27,0x20,0x20,0x3F,0x20,0x20,
0x32,0x32,0x2A,0x27,0x22,0x3F,0x22,0x27,0x2A,0x32,0x32,0x20,0x20,0x3F,0x28,0x29,
0x29,0x27,0x25,0x27,0x2C,0x30,0x3F,0x20,0x32,0x32,0x2A,0x27,0x22,0x3F,0x22,0x27,
0x2A,0x32,0x32,0x7F,0x61,0x7E,0x76,0x6E,0x70,0x6F,0x77,0x78,0x7F,0x60,0x7F,0x7F,
0x6D,0x6D,0x75,0x78,0x7D,0x60,0x7D,0x78,0x75,0x6D,0x6D,0x7F,0x3E,0x21,0x22,0x21,
0x3F,0x21,0x20,0x3F,0x29,0x29,0x3F,0x20,0x32,0x32,0x2A,0x27,0x22,0x3F,0x22,0x27,
0x2A,0x32,0x32,0x20,0x20,0x3F,0x34,0x32,0x31,0x30,0x33,0x32,0x32,0x3F,0x20,0x20,
0x22,0x22,0x21,0x3F,0x35,0x35,0x2D,0x35,0x3F,0x35,0x21,0x20,0x20,0x20,0x20,0x20,
0x00,0x00,0x00,0x00,0x00,0x08,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x20,0x22,0x22,0x22,0x22,0xFE,0x22,0x22,0x23,0x22,0x20,0x00,0x00,
0x20,0x18,0x00,0xC0,0x3F,0xC0,0x20,0x10,0x08,0x00,0x00,0x08,0x8C,0xBB,0xAA,0xEA,
0x2F,0xEA,0xAA,0xBA,0x8A,0x08,0x00,0x08,0x08,0x08,0x08,0xC8,0x3F,0xC8,0x08,0x08,
0x0C,0x08,0x00,0x7C,0x44,0xFF,0x44,0x7E,0x02,0x02,0xFE,0x12,0x22,0x42,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x80,0x42,0x43,0x42,0x80,0x00,0x00,0x02,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x60,0xA0,0x20,0x70,0xA0,0xE7,0xA0,0xF0,0xA0,0xA0,0x20,0x00,0x24,
0x24,0xA2,0xA1,0xA0,0xF0,0xA0,0xA1,0xA2,0xA4,0x24,0x00,0x02,0xE2,0x22,0x22,0xA7,
0x70,0xA7,0x22,0x22,0xE2,0x02,0x00,0x44,0x44,0x42,0x41,0xC0,0x50,0x60,0x41,0x42,
0x64,0x44,0x00,0x06,0x02,0x03,0x02,0x07,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x31,0x28,0x24,0x22,0x21,0x00,0x00,0x20,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x44,0x3D,0x20,0x50,0x56,0x55,0x54,0x7F,0x54,0x54,0x50,0x00,0x08,
0x08,0x27,0x22,0x29,0x2B,0x51,0x42,0x04,0x0B,0x08,0x00,0x00,0x7F,0x02,0x11,0x08,
0x06,0x08,0x51,0x40,0x7F,0x00,0x00,0x40,0x40,0x20,0x18,0x07,0x41,0x41,0x41,0x3F,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x08,0x04,0x24,0x24,0xD8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x92,0x54,0xFF,0x54,0x82,0x95,0x96,0xFC,0x96,0x95,0x94,0x00,0x38,
0x00,0xFF,0x08,0xA4,0xA7,0xAC,0x94,0xAA,0xA2,0x32,0x00,0x48,0x4A,0xEA,0x5E,0x4A,
0xFE,0x49,0x5D,0xEB,0x49,0x48,0x00,0x01,0x41,0x5D,0xD5,0x5F,0x75,0x55,0x5F,0x75,
0xDD,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x01,0x82,0x42,0xE2,0x01,0x00,0x00,0x02,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0x88,0x8F,0x88,0xFE,0x88,0x8E,0x88,0x8E,0x08,0x06,0x00,0x04,
0x23,0x24,0x25,0x22,0xF9,0x20,0x27,0x34,0x24,0x06,0x00,0xE8,0x38,0xEF,0x3D,0xED,
0x97,0x75,0x95,0x9F,0x70,0x90,0x00,0x52,0x92,0x11,0xF7,0x05,0xF5,0x15,0xDD,0x95,
0xF7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x02,0x05,0x04,0x1F,0x14,0x00,0x00,0x10,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x20,0x20,0x20,0x3C,0x23,0x20,0x20,0x20,0x3F,0x20,0x20,0x00,0x21,
0x21,0x11,0x09,0x05,0x03,0x05,0x09,0x11,0x21,0x21,0x00,0x3F,0x15,0x14,0x15,0x3F,
0x04,0x04,0x04,0x3F,0x04,0x04,0x00,0x10,0x0C,0x03,0x1C,0x00,0x0B,0x0A,0x2A,0x2A,
0x22,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
/*------------------延时子程序-----------------------------*/
void delay1(unsigned int t)
{
unsigned int i,j;
for(i=0;i<t;i++)
for(j=0;j<10;j++)
;
}
/*------------------写命令到LCD------------------------------*/
void write_com(unsigned char cmdcode)
{
Di=0;
RW=0;
Lcd_Bus=cmdcode;
delay1(0);
Enable=1;
delay1(0);
Enable=0;
}
/*-------------------写数据到LCD----------------------------*/
void write_data(unsigned char Dispdata)
{
Di=1;
RW=0;
Lcd_Bus=Dispdata;
delay1(0);
Enable=1;
delay1(0);
Enable=0;
}
/*------------------显示12864图片---------------------------*/
void Disp_Img(unsigned char code *img)
{
unsigned char j,k;
for(k=0;k<8;k++){
Mcs=1;Scs=0;delay1(10);
write_com(Page_Add+k);
write_com(Col_Add+0);
for(j=0;j<64;j++) write_data(img[k*128+j]);
Mcs=0;Scs=1; delay1(10);
write_com(Page_Add+k);
write_com(Col_Add+0);
for(j=64;j<128;j++) write_data(img[k*128+j]);
}
}
/*---------------------指定位置显示汉字16*16-----------------------*/
void hz_disp16(unsigned char pag,unsigned char col, unsigned char code *hzk)
{
unsigned char j=0,i=0;
for(j=0;j<2;j++){
write_com(Page_Add+pag+j);
write_com(Col_Add+col);
for(i=0;i<16;i++) write_data(hzk[16*j+i]);
}
}
/*------------------初始化LCD屏--------------------------*/
void init_lcd()
{
Lcd_Rst=0;
delay1(100);
Lcd_Rst=1;
delay1(100);
Mcs=1;
Scs=1;
delay1(100);
write_com(Disp_Off);
write_com(Page_Add+0);
write_com(Start_Line+0);
write_com(Col_Add+0);
write_com(Disp_On);
}
/*------------------------------信息显示------------------------*/
void Msg(int flg,int hang)
{
//Clr_Scr();
//frame();
if(flg==0){ //显示“测试开始”
Mcs=1;Scs=0;
hz_disp16(6,32,ce);
delay1(2000);
}
else if(flg==1){ //显示“测试完毕”
Mcs=0;Scs=1;
hz_disp16(hang,32,ce);
}
}
uchar kbscan(void)
{
uchar sccode,recode;
P2=0xf0; //置所有行为低电平,行扫描,列线输入(此时)
if((P2&0xf0)!=0xf0) //判断是否有有键按下(读取列的真实状态,若第4列有键按下则P1的值会变成0111 0000),有往下执行
{
delay10ms(); //延时去抖动(10ms)
if((P2&0xf0)!=0xf0) //再次判断列中是否是干扰信号,不是则向下执行
{
sccode=0xFE; //逐行扫描初值(即先扫描第1行)
while((sccode&0x10)!=0) //行扫描完成时(即4行已经全部扫描完成)sccode为1110 1111 停止while程序
{
P2=sccode; //输出行扫描码
if ((P2&0xf0)!=0xf0) //本行有键按下(即P1(真实的状态)的高四位不全为1)
{
recode=(P2&0xf0)|0x0f; //列
return(~(sccode&recode)); //返回行和列
}
else //所扫描的行没有键按下,则扫描下一行,直到4行都扫描,此时sccode值为1110 1111 退出while程序
{
sccode=(sccode<<1)|0x01;//行扫描码左移一位
}
}
}
}
else
{
return 0; //无键按下,返回0
}
}
uchar readnumber(uchar tmp) //按键扫描的结果,转换为数字,便于程序对按键数据处理
{
switch(tmp)
{
case 0x28:return 0 ;break;
case 0x14:return 1 ;break;
case 0x24:return 2 ;break;
case 0x44:return 3 ;break;
case 0x84:return 12;break;
case 0x12:return 4 ;break;
case 0x22:return 5 ;break;
case 0x42:return 6 ;break;
case 0x11:return 7 ;break;
case 0x21:return 8 ;break;
case 0x41:return 9 ;break;
case 0x88:return 10 ;break;
case 0x82:return 11 ;break;
case 0x18:return 13 ;break;
default:break;
}
}
uchar choic(uchar ch_tmp)
{
switch(ch_tmp)
{
case 4:
if(count==1)menu[0]='1';
else if(count==2)menu[4]='5';
else if(count==3)menu[8]='9';
else if(count==4)menu[12]='d';
break;
case 5:
if(count==1)menu[1]='2';
else if(count==2)menu[5]='6';
else if(count==3)menu[9]='a';
else if(count==4)menu[13]='e';
break;
case 6:
if(count==1)menu[2]='3';
else if(count==2)menu[6]='7';
else if(count==3)menu[10]='b';
else if(count==4)menu[14]='f';
break;
case 11:
if(count==1)menu[3]='4';
else if(count==2)menu[7]='8';
else if(count==3)menu[11]='c';
else if(count==4)menu[15]='g';
break;
default:break;
}
return 0;
}
void main(void)
{
init_lcd();
Ini_System();
Disp_Img(FirstPage3);
delay1(10000);
while(1){
key=kbscan();
if(key!=0){
do{
key1=kbscan();
}while(key1!=0);//等待按键释放
if(readnumber(key)==0){
count++;
if(count>=5)count=1;}
if(readnumber(key)==13){
count--;
if(count==0)count=4;}
if(count==1)
Disp_Img(FirstPage1);
if(count==2)
Disp_Img(FirstPage2);
if(count==3)
Disp_Img(FirstPage4);
if(count==4)
Disp_Img(FirstPage3);}
//if(count==4)count=0;
//if(count==4)count=0;
temkey=readnumber(key);
if(temkey==4)
Msg(1,2);
if(temkey==5)
Msg(1,4);
if(temkey==6)
Msg(1,5);
if(temkey==11)
Msg(1,6);
choic(temkey);
if(readnumber(key)==10)
TxPacket();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -