📄 km12232f.c
字号:
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
//sbit _PS = P3^4; /* 串口模式 仅适用于12864-12/12864-19 模块12864接口的第15脚 */
sbit CS = P1^3; /*片选端 高电平有效 模块接口的第4脚 */
sbit SID = P1^1; /*串行数据输入端 模块接口的第5脚 */
sbit CLK = P1^0; /*同步时钟输入端 模块接口的第6脚 */
void delay(void)
{
uchar i,j;
for (i =200;i>0;i--)
for (j =200;j>0;j--) ;
}
void sendBYTE(uchar BYTE)/*串行传送一字节数据*/
{
uchar i;
for (i=0;i<8;i++)
{
CLK = 0;
if ((BYTE & 0x80)!=0)
SID = 1;
else
SID = 0;
CLK = 1;
BYTE = BYTE<<1;
}
}
void sendCMD(uchar cmd)/*写控制指令*/
{
CS = 1;
sendBYTE(0xf8);
sendBYTE(cmd & 0xf0);
sendBYTE((cmd<<4)&0xf0);
CS = 0;
}
void sendDAT(uchar dat)/*写显示数据;也可以写一个单字节字符*/
{
CS = 1;
sendBYTE(0xfa);
sendBYTE(dat & 0xf0);
sendBYTE((dat<<4)&0xf0);
CS = 0;
}
void display(uchar x_add,uchar dat,uchar dat1)
/*写汉字到LCD屏指定位置*/
/*x_add 显示RAM地址*/
/*dat/dat1 显示汉字编码*/
{
sendCMD(x_add);
sendDAT(dat);
sendDAT(dat1);
}
void initlcm(void)/*初始化LCM*/
{
// _PS = 0; /*Serial Mode*/
delay();
sendCMD(0x30);/*功能设置:一次送8位数据,基本指令集*/
sendCMD(0x04);/*点设定:显示字符/光标从左到右移位,DDRAM地址加一*/
sendCMD(0x0f);/*显示设定:开显示,显示光标,当前显示位反白闪动*/
sendCMD(0x01);/*清DDRAM*/
sendCMD(0x02);/*DDRAM地址归位*/
sendCMD(0x80);/*DDRAM*/
}
void main(void)
{
initlcm();
sendDAT(0x4c);/*L*/
sendDAT(0x43);/*C*/
sendDAT(0x44);/*D*/
sendDAT(0x20);/**/
display(0x82,0xd7,0xc7);/*浊*/
display(0x83,0xb6,0xc8);/*度*/
display(0x84,0xd6,0xb5);/*值*/
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -