📄 fu.c
字号:
#include <reg52.h>
#include<stdio.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define lcddataport P0
sbit res= P2^2;
sbit ce =P2^1;
sbit cd=P2^0;
sbit wr=P3^6;
sbit rd=P3^7;
void delay(uint m) //延时函数
{
uint i,j;
for(i=0;i<m;i++)
for(j=0;j<109;j++) ;
}
void sendcommand(uchar command) //从P0口写入指令
{
delay(100);
cd=1;
ce=0;
wr=0;
lcddataport=command;
wr=1;
ce=1;
}
void senddata(uchar data1)//从P0口写入数据
{
delay(10);
cd=0;
ce=0;
wr=0;
lcddataport=data1;
wr=1;
ce= 1;
}
void dispalytextscreen ( uint startaddress,uchar line,uint column,uchar code *s) // 显示文本子程序
{
startaddress = startaddress+line*16+column;//
senddata((uchar) (startaddress));//强制类型转换成八位
senddata((uchar) (startaddress>>8));// 右移8位 ,即将转换成的两个八位数据送入P0口
sendcommand (0x24);//设置地址
while(*s>0)
{
senddata((*s)-0x20);
sendcommand(0xc0);//数据写入,地址自动增量
s++;
}
}
void displaygraphicscreen(uint startaddress,uchar line,uchar column,uchar *g)
{
uchar i,j; //图形显示子程序
startaddress=startaddress+16*line+column; //首地址设置
senddata((uchar) (startaddress)); //强制类型转换后送入P0口
senddata((uchar) (startaddress>>8));
sendcommand (0x24);//设置地址
for(i=0;i<64;i++)
{
for(j=0;j<8;j++)
{
senddata(g[i*15+j]); //送入图形地址,地址自动加一
sendcommand(0xc0);
}
startaddress=startaddress+30; //由于图形尺寸小于屏幕宽度,故每显示完一行地址加三十
senddata((uchar) (startaddress));
senddata((uchar) (startaddress>>8));
sendcommand(0x24);
}
}
void clearscreen() // 清屏子程序
{ uchar i;
senddata(0x00); //设置清屏起始地址
sendcommand(0x24);
delay(10);
sendcommand(0xb0); //设置自动写
for(i=0;i<0x2000;i++)
senddata(0xff); //写入0x00,清理屏幕
sendcommand(0xb2); //关闭自动写
}
void lcminitial()
{
// res=0 ;
delay(50000);
delay(50000);
delay(50000);
res=1;
delay(100);
sendcommand(0x00);sendcommand(0x00);sendcommand(0x40); /*文本首址*/
sendcommand(0x10);sendcommand(0x00);sendcommand(0x41);/*文本区域*/ //每行显示16个字符
sendcommand(0x00);sendcommand(0x01);sendcommand(0x42); /*图形首址*/
sendcommand(0x10);sendcommand(0x00);sendcommand(0x43); /*图形区域*/
sendcommand(0x81); /*显示方式*/
sendcommand(0x9c); /*显示开关*/
sendcommand(0xac); /*光标形状*/
clearscreen();
}
unsigned char code topwaylogo[]={
/*-- 调入了一幅图像:C:\Documents and Settings\zhaochao288\桌面\picture\test1.bmp --*/
/*-- 宽度x高度=96x48 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x82,0x80,
0x00,0x00,0x00,0x02,0x10,0x00,0x0F,0xFB,0x00,0x02,0x42,0x80,0x00,0x00,0x00,0x19,
0x18,0x00,0x0B,0xFF,0x00,0x02,0xC2,0x80,0x00,0x00,0x00,0x21,0xFF,0x00,0x0F,0xFF,
0x00,0x3B,0xC1,0x80,0x00,0x00,0x00,0x57,0xFF,0xE0,0x0F,0xFF,0x00,0x45,0xB9,0x80,
0x80,0x00,0x00,0x8F,0xFF,0xF1,0x0F,0xFF,0x00,0x82,0x44,0xA0,0x80,0x00,0x01,0x1E,
0x8F,0xFE,0x0F,0xFF,0x00,0x82,0x5C,0x10,0x60,0x00,0x00,0xF9,0x07,0xFC,0x0F,0xFF,
0x0F,0x83,0xF8,0x49,0xF8,0x00,0x00,0x33,0x06,0x7E,0x0F,0xFE,0x10,0x8A,0x20,0x47,
0xFE,0x00,0x00,0x67,0x06,0x7F,0x0E,0x0E,0x10,0x92,0x10,0xA7,0x1F,0x00,0x00,0x6F,
0x8F,0xFF,0x0C,0x04,0x10,0x44,0x11,0x26,0x0F,0x00,0x00,0x4F,0xF3,0xFF,0x8C,0xE4,
0x08,0x78,0x51,0x3D,0x0F,0x80,0x00,0x1F,0xF3,0x9D,0xC9,0x02,0x0F,0xCC,0x22,0x2D,
0x9F,0x80,0x00,0x1F,0xCE,0x9E,0x89,0x02,0x10,0x5F,0xC4,0x0B,0xE7,0xC0,0x00,0x1F,
0xCF,0xF6,0x93,0xC2,0x20,0x7C,0x49,0x5A,0x67,0xC0,0x00,0x1F,0xFF,0xFE,0x84,0x22,
0x21,0x7C,0x30,0x12,0x7F,0xC0,0x00,0x1F,0xFF,0xFE,0x05,0x22,0x22,0x84,0x21,0x0B,
0xFF,0xC0,0x00,0x1F,0xFF,0xF6,0x04,0x22,0x11,0xA4,0x20,0x0B,0xFF,0xC0,0x00,0x0F,
0xFF,0xD6,0x06,0x44,0x0E,0x86,0x41,0x4B,0xFF,0xC0,0x00,0x0F,0xFF,0xCC,0x00,0x05,
0x10,0x97,0xFC,0x07,0xFF,0xC0,0x00,0x07,0xF0,0x1C,0x00,0x08,0x20,0x8F,0xE9,0x15,
0xFE,0xC0,0x00,0x07,0xE0,0x38,0x10,0x09,0xF8,0x7F,0xF0,0x05,0xE2,0x80,0x1F,0xC3,
0x80,0x78,0x10,0x10,0xF4,0x5F,0xD5,0x49,0xE1,0x8F,0xE0,0x40,0xC1,0xF0,0x2C,0x65,
0x7A,0x5F,0xA0,0x08,0xC3,0x08,0x1F,0xC3,0xFF,0xC0,0x23,0x80,0xBE,0xEE,0xD1,0x09,
0x7E,0x07,0xFF,0xC0,0xFF,0x00,0x50,0x71,0x6B,0x5F,0x00,0x08,0x00,0x07,0xFF,0xC0,
0x00,0xE0,0x40,0x88,0x1D,0xC0,0x55,0x48,0x74,0x03,0xFF,0xC0,0x20,0x20,0x95,0x05,
0x77,0xFE,0x00,0x04,0x8A,0x03,0xFF,0xC0,0x20,0x41,0x01,0x04,0xBF,0xFF,0xC1,0x14,
0x48,0x01,0xFF,0xC0,0x1F,0x83,0x87,0x04,0xFF,0xFF,0xF0,0x02,0x38,0x01,0xFE,0x40,
0x00,0x05,0x58,0x8F,0xF0,0x40,0xF5,0x55,0x00,0x01,0xF0,0x40,0x00,0x18,0x30,0x70,
0xB8,0xA1,0xD0,0x00,0x80,0x00,0xE0,0x40,0x00,0x20,0x10,0x70,0xC7,0xDE,0x21,0x11,
0x60,0x00,0x40,0x80,0x00,0xC0,0x10,0xF0,0xF8,0x29,0xD0,0x00,0x18,0x00,0x3F,0x00,
0x03,0x00,0x0F,0x10,0xBE,0x73,0x35,0x45,0x46,0x00,0x00,0x00,0x1C,0x00,0x02,0x0F,
0x6C,0x33,0x20,0x00,0x01,0xC0,0x00,0x01,0xFF,0x80,0x02,0x08,0xBF,0xFC,0xD1,0x11,
0x10,0x3D,0xFC,0x3F,0x00,0x60,0x02,0x08,0x3F,0xFC,0xC0,0x00,0x00,0x06,0x03,0xC8,
0x00,0x1C,0x01,0x18,0x2E,0x33,0x04,0x44,0x44,0x18,0x00,0x70,0x00,0x03,0xC1,0xE8,
0x3F,0x73,0x00,0x00,0x00,0x60,0x00,0x20,0x00,0x00,0x39,0x08,0x3F,0x6F,0xD0,0x10,
0x11,0x80,0x00,0x40,0x00,0x00,0x06,0x04,0x3F,0x5F,0xC0,0x00,0x06,0x20,0x00,0x40,
0x00,0x20,0x01,0x04,0xEF,0x3F,0xF7,0xFF,0xFF,0xF0,0x00,0x40,0x00,0x7F,0xFF,0xFF,
0x17,0x7F,0x80,0x00,0x00,0x0C,0x00,0x40,0x00,0x80,0x00,0x00,0x1E,0x3F,0x80,0x00,
0x00,0x03,0x81,0xA0,0x07,0x00,0x00,0x00,0x0F,0xFF,0x00,0x00,0x00,0x00,0x7E,0x1F,
0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
void main()
{
lcminitial();
displaygraphicscreen(0x0800,0x00,0x07,topwaylogo);
delay(2000);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -