📄 st7565.c
字号:
#include "..\st7565.h"
void busy()
{
uchar read_data=0xff;
RS_L;
RW_H;
CS_L;
P5DIR = 0X00;
while (read_data&0x80)
{
E_H;
_NOP();
_NOP();
read_data = P5IN;
E_L;
}
E_L;
CS_H;
}
void send(uchar flag,uchar content)
{
busy();
if (flag)
RS_H ;//数据
else
RS_L ;//指令
RW_L;
CS_L;
P5DIR=0XFF;
P5OUT=content;
E_H;
_NOP();
_NOP();
E_L;
_NOP();
_NOP();
CS_H;
}
void Lcddelay (uint tt)
{
while(tt--);
}
void LCD_init(void)
{
RES_H;
Lcddelay (20000);
send(0,0xe2);
send(0,0xa3);
send(0,0x30);
send(0,0xc8);
send(0,0x24);
send(0,0x81);
send(0,0x14);
send(0,0x2c);
send(0,0x2e);
send(0,0x2f);
send(0,0x40);
send(0,0xb0);
send(0,0x10);
send(0,0x00);
send(0,0xaf);
}
void LCDSetPos(uchar Page, uchar Col)
{
uchar tmp;
send(0,0xb0|Page);
tmp=Col>>4;
send(0,0x10|tmp); //送列地址高三位
tmp=0x0f&Col;
send(0,tmp); //送列地址低四位
}
void Display_hz(uchar const *pic)
{
uchar i,j;
for(i=0;i<8;i++)
{
LCDSetPos(i,0x00);
for(j=0;j<0x80;j++)
{
if ((i+1)%2)
send(1,*(pic+0x80*i+2*j));
else
send(1,*(pic+0x80*(i-1)+2*j+1));
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -