12864画点画线画圆显示图片程序亲测可用.docx
- 文档编号:7568363
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:20
- 大小:17.79KB
12864画点画线画圆显示图片程序亲测可用.docx
《12864画点画线画圆显示图片程序亲测可用.docx》由会员分享,可在线阅读,更多相关《12864画点画线画圆显示图片程序亲测可用.docx(20页珍藏版)》请在冰豆网上搜索。
12864画点画线画圆显示图片程序亲测可用
#include
#include
#definedataPortP0//数据口
sbitrs=P2^6;//寄存器选择输入
sbitrw=P2^5;//液晶读/写控制
sbiten=P2^7;//液晶使能控制
sbitpsb=P3^2;//串/并方式控制
//sbitLCD_RST=P3^7;//液晶复位端口
unsignedcharcodePhoto1[]={
0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,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,0x3F,0xC0,
0x80,0x42,0x04,0x20,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x8A,0x1F,
0xFC,0x42,0x04,0xF8,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x80,
0x01,0xFF,0xDE,0x88,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x01,0x2A,0x87,
0xF0,0xA2,0x0A,0xF8,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xBF,0x84,
0x10,0xA2,0x0A,0x88,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x1F,
0xFC,0xA2,0x0A,0xF8,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x9F,0x90,
0x05,0x2F,0xCA,0xA4,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x03,
0xE1,0xA8,0x4A,0xA8,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xBF,0xC2,
0x24,0x48,0x44,0x90,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x92,0x84,
0x24,0xA8,0x4A,0xA8,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xA6,0x58,
0x3D,0x0F,0xD0,0xC4,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x1C,0xFF,0xC0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x23,0x08,0x37,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x40,0x10,0x08,0x40,0x00,0xFF,0x90,
0x10,0x08,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x81,0x86,0x10,0x40,0x00,0x08,0x08,
0x10,0xFF,0x86,0x00,0x00,0x00,0x00,0x00,
0x01,0x02,0x49,0x40,0x40,0x00,0x7F,0x0B,
0xFC,0x08,0x0F,0x00,0x00,0x00,0x00,0x00,
0x01,0x08,0x00,0x40,0x20,0x00,0x10,0x00,
0x10,0x49,0x0F,0x00,0x00,0x00,0x00,0x00,
0x02,0x08,0x00,0x20,0x20,0x01,0xFF,0xDD,
0x10,0x2A,0x0F,0x00,0x00,0x00,0x00,0x00,
0x04,0x31,0x83,0x20,0x20,0x00,0x20,0x04,
0x91,0xFF,0xC6,0x00,0x00,0x00,0x00,0x00,
0x04,0x52,0x44,0x90,0x20,0x00,0x7F,0x04,
0x90,0x1C,0x06,0x00,0x00,0x00,0x00,0x00,
0x09,0xA4,0x28,0x4C,0x10,0x00,0xA1,0x04,
0x10,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,
0x0E,0x44,0xE9,0xC3,0x90,0x01,0x3F,0x04,
0x70,0x49,0x06,0x00,0x00,0x00,0x00,0x00,
0x00,0x82,0xC5,0x81,0x70,0x00,0x21,0x0A,
0x01,0x88,0xC6,0x00,0x00,0x00,0x00,0x00,
0x01,0x01,0x83,0x00,0x80,0x00,0x3F,0x11,
0xFC,0x08,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0x0C,0x70,0x00,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x02,0x13,0x87,0x10,0x40,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x02,0x20,0x78,0xA0,0x40,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x02,0x20,0x00,0x60,0x40,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x02,0x21,0x80,0x60,0x40,0x00,0x00,0x71,
0xEE,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0x11,0x98,0x90,0x80,0x00,0x00,0x8E,
0x31,0xC6,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0x08,0x18,0x80,0x80,0x00,0x01,0x24,
0x24,0x83,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x96,0x01,0x01,0x00,0x00,0x01,0x40,
0x28,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x49,0x86,0x03,0x00,0x00,0x01,0x40,
0x28,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x34,0x78,0x8C,0x00,0x00,0x01,0x00,
0x20,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x0E,0x01,0x30,0x00,0x00,0x00,0x80,
0x30,0x06,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x71,0x87,0xCE,0x00,0x00,0x00,0x40,
0x68,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xE0,0x78,0x07,0x00,0x00,0x00,0x20,
0xC4,0x18,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0xAF,0xFF,0xC5,0x80,0x00,0x00,0x11,
0x82,0x30,0x00,0x00,0x00,0x00,0x00,0x00,
0x03,0xA9,0xB6,0x45,0xC0,0x00,0x00,0x0B,
0x01,0x60,0x00,0x00,0x00,0x00,0x00,0x00,
0x07,0x2F,0x03,0xC4,0xE0,0x00,0x00,0x06,
0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
0x0E,0x16,0x01,0x88,0x70,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x0F,0x08,0x00,0x10,0xF0,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x0F,0x84,0x00,0x21,0xF0,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
//89c51系列延时
/*
voiddelayms(unsignedintn)
{
unsignedchari;
for(;n>0;n--)
for(i=0;i<100;i++);
}*/
//12c5a系列延时
voiddelayms(unsignedinta)//@11.0592MHz
{
unsignedchari,j;
while(a--)
{
_nop_();
i=11;
j=190;
do
{
while(--j);
}while(--i);
}
}
//判断是否忙
voidcheckBusy(void)
{
rs=0;
rw=1;
en=1;
dataPort=0xff;
while(dataPort&0x80);
en=0;
}
//写指令函数
voidwriteCommand(unsignedcharcmd)
{
checkBusy();
rs=0;
rw=0;
en=1;
dataPort=cmd;
_nop_();
en=0;
}
//写数据函数
voidwriteData(unsignedcharadata)
{
checkBusy();
rs=1;
rw=0;
en=1;
dataPort=adata;
_nop_();
en=0;
}
//读数据函数
unsignedcharreadData(void)
{
unsignedcharRData;
dataPort=0xff;
checkBusy();
rs=1;
rw=1;
en=0;
en=1;
RData=dataPort;
en=0;
returnRData;
}
//清除rom函数,若不清除则会出现花屏现象
voidClrGDRAM(void)
{
unsignedcharx,y;
for(y=0;y<64;y++)
for(x=0;x<16;x++)
{
writeCommand(0x34);
writeCommand(y+0x80);//行地址
writeCommand(x+0x80);//列地址
writeCommand(0x30);
writeData(0x00);
writeData(0x00);
}
//writeCommand(0x30);
}
//lcd12864初始化函数
voidLcmInit(void)
{
writeCommand(0x30);
delayms(50);
writeCommand(0x01);
delayms(50);
writeCommand(0x06);
delayms(50);
writeCommand(0x0c);
ClrGDRAM();
psb=1;
}
//在坐标(x,y)处显示字符串
voidLcmPrint(unsignedcharx,unsignedchary,unsignedchar*adata)
{
unsignedcharaddress;
unsignedchari=0;
switch(y)
{
case0:
address=0x80+x;break;
case1:
address=0x90+x;break;
case2:
address=0x88+x;break;
case3:
address=0x98+x;break;
default:
break;
}
writeCommand(address);
while(*(adata+i))
{
writeData(*(adata+i));
i++;
}
}
/***********************************************************
函数名:
disp_picture
函数说明:
显示一幅128*64的图画
传入参数:
图形指针*img
传出参数:
无
返回值:
无
**********************************************************/
voiddisp_picture(unsignedchar*img)
{
unsignedchari,j;
for(j=0;j<32;j++)
{
for(i=0;i<8;i++)
{
writeCommand(0x34);
writeCommand(0x80+j);
writeCommand(0x80+i);
writeCommand(0x30);
writeData(img[j*16+i*2]);
writeData(img[j*16+i*2+1]);
}
}
for(j=32;j<64;j++)
{
for(i=0;i<8;i++)
{
writeCommand(0x34);
writeCommand(0x80+j-32);
writeCommand(0x80+(i+8));
writeCommand(0x30);
writeData(img[j*16+i*2]);
writeData(img[j*16+i*2+1]);
}
}
writeCommand(0x36);
}
/***********************************************************
函数名:
dispU_picture
函数说明:
上半屏显示一幅128*32的图画
传入参数:
图形指针*img
传出参数:
无
返回值:
无
**********************************************************/
/*
voiddispU_picture(unsignedchar*img)
{
unsignedchari,j;
for(j=0;j<32;j++)
{
for(i=0;i<8;i++)
{
writeCommand(0x34);
writeCommand(0x80+j);
writeCommand(0x80+i);
writeCommand(0x30);
writeData(img[j*16+i*2]);
writeData(img[j*16+i*2+1]);
}
}
writeCommand(0x36);
}
*/
/***********************************************************
函数名:
dispD_picture
函数说明:
下半屏显示一幅128*32的图画
传入参数:
图形指针*img
传出参数:
无
返回值:
无
**********************************************************/
/*
voiddispD_picture(unsignedchar*img)
{
unsignedchari,j;
for(j=0;j<32;j++)
{
for(i=0;i<8;i++)
{
writeCommand(0x34);
writeCommand(0x80+j);
writeCommand(0x80+(i+8));
writeCommand(0x30);
writeData(img[j*16+i*2]);
writeData(img[j*16+i*2+1]);
}
}
writeCommand(0x36);
}
*/
/***********************************************************
函数名:
drawPoint
函数说明:
画点
传入参数:
打点位置(x0,y0);color=1,点亮;color=0,擦除
传出参数:
无
返回值:
无
**********************************************************/
voiddrawPoint(unsignedcharx,unsignedchary,unsignedcharcolor)
{
unsignedcharrow,collum,cbite;
unsignedchartempH,tempL;
writeCommand(0x34);
delayms(5);
writeCommand(0x36);
collum=x>>4;
cbite=x&0x0f;
if(y<32)
row=y;
else
{row=y-32;
collum+=8;
}
writeCommand(0x80+row);
delayms(5);
writeCommand(0x80+collum);
readData();
delayms(5);
tempH=readData();
tempL=readData();
writeCommand(0x80+row);
delayms(5);
writeCommand(0x80+collum);
if(color)
{
if(cbite<8)
{
tempH|=(1<<(7-cbite));
//tempL=(1<<(7-cbite));
}
else
{
//tempH=(1<<(15-cbite)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 12864 画线 显示 图片 程序 可用