📄 ms12864r.txt
字号:
#include <reg51.h>
#define unchar unsigned char#define unint unsigned int
sbit CS=P1^0;sbit SID=P1^1;sbit SCLK=P1^2;
unchar character1<>=" 安徽特力电子 ";unchar character2<>=" MS12864R试验 ";unchar character3<>=" 2008.11.11 ";unchar character4<>=" 试 验 成 功 ";unchar adress_table<>={ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,//第一行汉字位置 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,//第二行汉字位置 0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,//第三行汉字位置 0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F,//第四行汉字位置};
void write_byte(unchar Data)
{
unchar i,Temp_data;
for(i=0;i<8;i++)
{
Temp_data=Data;
Temp_data<<=i;
if(Temp_data&0x80) SID=1;
else SID=0;
SCLK=1;
SCLK=0;
}
}
void write_command(unchar command)
{
CS = 1;
write_byte(0xF8); //发送S_ID
write_byte(command&0xF0); //发送H_data
write_byte((command&0x0F)<<4); //发送L_data
CS = 0;
}
void write_data(unchar Data)
{
CS = 1;
write_byte(0xFA); //发送S_ID
write_byte(Data&0xF0); //发送H_data
write_byte((Data&0x0F)<<4); //发送L_data
CS = 0;
}
void LCD_Init(void)
{
write_command(0x30); //功能设置 8位数据,基本指令
write_command(0x0C); //显示状态 ON,游标OFF,反白OFF
write_command(0x01); //清除显示
write_command(0x02); //地址归位
write_command(0x80); //设置DDRAM地址
}
void display_CGROM(unchar row,unchar column,unchar *p)
{
while(row<4&&(*p)!=\'\\0\')
{
while(column<8&&(*p)!=\'\\0\')
{
write_command(adress_table);
write_data(*p++);
// write_data(*p++);
column++;
}
column=0;
row++;
}
}
void main()
{
LCD_Init();
display_CGROM(0,0,character1);
display_CGROM(1,0,character2);
display_CGROM(2,0,character3);
display_CGROM(3,0,character4);
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -