📄 jm12864m-2.txt
字号:
/***********************************************************/
如果结尾字符时英文字母时应该在结尾的
英文字母后面加一个空格,否则有乱码
/***********************************************************/
#include<reg51.h>
#define unchar unsigned char
sbit CS=P2^6;
sbit SID=P2^7;
sbit SCLK=P2^1;
unchar word_table[]="河海大学常州校区";
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 A)
{
unchar i;
for(i=0;i<8;i++)
{
SID=(A<<i)&0x80;
SCLK=1;
SCLK=0;
}
}
//写指令到12864
void write_command(unchar A)
{
CS=1;
write_byte(0xF8);
write_byte(A&0xF0); //写高四位数据
write_byte(A<<4); //写低四位数据
CS=0;
}
//写数据到12864
void write_Data(unchar A)
{
CS=1;
write_byte(0xFA);
write_byte(A&0xF0); //写高四位数据
write_byte(A<<4); //写低四位数据
CS=0;
}
//初始化12864液晶
void initial_12864()
{
write_command(0x30);//0011,0000 功能设置,一次送8位数据,基本指令集
write_command(0x01);//0000,0001 清DDRAM
write_command(0x18);//0001,1000 显示字符/光标从左到右移位,DDRAM地址加一
write_command(0x0C);//0000,1100 整体显示,游标off,游标位置off
}
//显示汉字
void display_word(unchar row,unchar col,unchar *word)
{
write_command(0x30);//0011,0000 功能设置,一次送8位数据,基本指令集
write_command(0x01);//清除显示
for(row;row<3&&(*word)!='\0';row++){
for(col;col<8&&(*word)!='\0';col++){
write_command(adress_table[row*8+col]);
write_Data(*word++);
write_Data(*word++);
}
col=0;
}
}
void main()
{
initial_12864();
display_word(0,0,word_table);
while(1){}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -