📄 sms0619.c
字号:
#define CMDOFF 0x00
#define CMDON 0x01
#define CMDLCDOFF 0x02
#define CMDLCDON 0x03
#define CMDB3C4 0x29
sbit CSPIN = P3^2; //用户自定义CS对应引脚
sbit CLKPIN = P3^3; //用户自定义CLK对应引脚
sbit DIPIN = P3^4; //用户自定义DI对应引脚
uchar idata DISP_HC[7]; //定义显示缓冲区
void lcdwbit(bit n)
{ DIPIN = n;
_nop_();
CLKPIN = 1;
_nop_();
CLKPIN = 0;
_nop_();
CLKPIN = 1;
}
void lcdwc(unsigned char cmdcode) //送控制字
{ unsigned char i;
CSPIN=1;
CSPIN=0;
lcdwbit(1);
lcdwbit(0);
lcdwbit(0);
for (i=0;i<8;i++)
{ if((cmdcode&0x80)==0x80)
lcdwbit(1);
else
lcdwbit(0);
cmdcode<<=1;
}
lcdwbit(0);
DIPIN=1;
CSPIN=1;
}
void lcdreset() //初始化
{ lcdwc(CMDOFF); //掉电0
lcdwc(CMDLCDOFF); //关闭2
lcdwc(CMDON); //上电1
lcdwc(CMDLCDON); //显示3
lcdwc(CMDB3C4); //模式设置29
}
void lcdwd(unsigned char address,unsigned char data1) //送6位地址+8位数据
{ unsigned char i;
CSPIN = 1;
CSPIN = 0;
lcdwbit(1);
lcdwbit(0);
lcdwbit(1);
address<<=2;
for (i=0;i<6;i++)
{ if((address&0x80)==0x80)
lcdwbit(1);
else
lcdwbit(0);
address<<=1;
}
for (i=0;i<8;i++)
{ if((data1&0x01)==0x01)
lcdwbit(1);
else
lcdwbit(0);
data1>>=1;
}
DIPIN=1;
CSPIN=1;
}
void LCD_DISP()//显示程序
{
uchar code ZM[]={0x5f,0x50,0x3d,0x79,0x72,0x6b,0x6f,0x51,0x7f,0x7b,0x76,0x20,0x5e,0x37,0x29};//0~9,10:H,11:-,12:U 13:P 14:三
uchar idata i;
for(i=0;i<6;i++)
{
if((DISP_HC[i]&0x80)==0x80)
lcdwd(2*i,ZM[DISP_HC[i]&0x0f]|0x80);//显示小数点
else
lcdwd(2*i,ZM[DISP_HC[i]]);
}
//lcdwd(0,ZM[DISP_HC[0]]);
//lcdwd(2,ZM[DISP_HC[1]]);
//lcdwd(4,ZM[DISP_HC[2]]);
//lcdwd(6,ZM[DISP_HC[3]]);
//lcdwd(8,ZM[DISP_HC[4]]);
//lcdwd(10,ZM[DISP_HC[5]]);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -