📄 lcd5110
字号:
#include "io430.h"
#define res1 P4OUT|=BIT6; //复位,0复位
#define res0 P4OUT&=~BIT6;
#define sce1 P4OUT|=BIT5; //片选
#define sce0 P4OUT&=~BIT5; //片选
#define dc1 P4OUT|=BIT4; //1写数据,0写指令
#define dc0 P4OUT&=~BIT4;
#define sdin1 P4OUT|=BIT3;//数据
#define sdin0 P4OUT&=~BIT3;
#define sclk1 P4OUT|=BIT2; //时钟
#define sclk0 P4OUT&=~BIT2;
#define uchar unsigned char
#define uint unsigned int
void delay(uint x)
{
uint y,z;
for(y=100;y>0;y--)
{
for(z=x;z>0;z--)
{}
}
}
uchar table[]=
{
/*-- 文字: 张 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
/*0x02,0xE2,0x22,0x22,0x3E,0x80,0x80,0xFF,0x80,0xA0,0x90,0x88,0x86,0x80,0x80,0x00,
0x00,0x43,0x82,0x42,0x3E,0x00,0x00,0xFF,0x40,0x21,0x06,0x08,0x10,0x20,0x40,0x00,*/
/*-- 文字: 涛 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
/*0x10,0x60,0x02,0x8C,0x00,0x44,0x54,0x54,0xF4,0x5F,0x54,0xD4,0x54,0x44,0x40,0x00,
0x04,0x04,0x7E,0x01,0x20,0x10,0x0C,0x03,0x0A,0x52,0x82,0x7F,0x02,0x02,0x02,0x00,*/
/*-- 调入了一幅图像:C:\Users\dell\Desktop\20121202095518882_easyicon_cn_48.ico --*/
/*-- 宽度x高度=32x32 --*/
0x00,0x00,0x08,0x1C,0x3C,0x7C,0x7E,0xFE,0xFE,0xFE,0xFE,0x7F,0x3F,0x1F,0x1F,0x0F,
0x0F,0x07,0x07,0x06,0x06,0x0E,0x0C,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x07,0x07,0x1F,0x3E,0xFE,0xFC,0xF8,
0xF8,0xF0,0xE0,0xE0,0xC0,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xE0,0xF0,0xF8,0xF8,0xFC,0xFE,0xFE,0xFE,0xFE,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,0xFC,0xF8,0xE0,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x07,0x0F,0x3F,0x7F,0x7F,0x7F,0x7F,0x7F,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x3F,0x1F,0x07,0x00,0x00,
/*-- 调入了一幅图像:C:\Users\dell\Desktop\20121202100719936_easyicon_cn_48.ico --*/
/*-- 宽度x高度=32x32 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xF0,0xF8,0xFC,0xFE,0xFE,0xFE,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,0xFE,0xF8,0xF8,0xE0,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x80,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x80,0x00,0x00,0x00,
0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x78,0x00,
0x00,0x00,0x01,0x01,0x00,0x7C,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,
0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x78,0x00,0x01,0x00,0x00,
};
/***************************************写一字节****************************************/
void write_byte(uchar e,uchar com)
{
uint i;
sce0;
if(com==1)
{ dc0;}
else
{
dc1;
}
for(i=0;i<8;i++)
{
if(0x80&e)
{sdin1;}
else
sdin0;
e=e<<1;
sclk0;
sclk1;
}
}
/***************************************写一字节****************************************/
void set_xy(uchar x,uchar y)
{
write_byte(0x40 | y,1);//注意是写命令
write_byte(0x80 | x,1);//注意是写命令
}
/***************************************清屏****************************************/
void LCD_clear()
{
unsigned char t;
unsigned char k;
set_xy(0,0);
for(t=0;t<6;t++)
{
for(k=0;k<84;k++)
{
write_byte(0x00,0);
}
}
}
/***************************************清屏****************************************/
/****************************************初始化*****************************************/
void LCD_init(void)
{
res0;
//delay_ms(1);
res1;
write_byte(0x21,1);//初始化Lcd,功能设定使用扩充指令
write_byte(0xd0,1);//设定液晶偏置电压
write_byte(0x20,1);//使用基本指令
write_byte(0x0c,1);//设定显示模式,正常显示 0x0d(反显) 0x08(空白)
}
/****************************************初始化*****************************************/
/***************************************主程序*****************************************/
void main( void )
{
// uint ,;
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
P4DIR=0XFF;
LCD_init();
unsigned char i,t=0,hang=0;
/**********************************显示汉字**************************************//
/*while(1)
{
LCD_clear();
set_xy(t,x);// 列,页
for(i=0; i<16;i++)
{
write_byte(table[i],0);
}
for(i=32; i<48;i++)
{
write_byte(table[i],0);
}
set_xy(t,x+1);// 列,页
for(i=16; i<32;i++)
{
write_byte(table[i],0);
}
// set_xy(0,1);// 列,页
for(i=48; i<64;i++)
{
write_byte(table[i],0);
}
t=t+5;
if(t==82)
{ t=0;x++;
if(x==4)
x=0;
}
delay(1000);
}*/
///**********************************显示汉字**************************************//
//////******************************显示图形************************************///
LCD_clear();
for(hang=0;hang<4;hang++)
{
set_xy(t,hang+1);// 列,页
for(i=0; i<32;i++)
{
write_byte(table[hang*32+i],0);
}
for(i=128; i<160;i++)
{
write_byte(table[hang*32+i],0);
}
}
//////******************************显示图形************************************///
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -