- 11-21 21:22
- Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7
-
yesever
秀才
头衔 --

注册 09-03-12
来自
-
串口液晶的使用-普通IO串口程序
深圳炜烨兴电子公司推出的串口液晶通常有两到三个白色插座,一个两芯,另外的是三芯。两芯的是电源输入,要注意看PCB上的标注(+-号)的正负电源极性,如果接反了有可能会烧坏整个模块!
三芯的两个座(部分为旧版产品只有一个三芯座)为通信端,标为COM2的为普通IO串口(TTL电平),对应的PCB旁边上会有标明相关的字母(MCK,SCK,SDA),请按相应的接线连接到你的控制端电路上。
// 以下为相应的驱动程序代码:(C51)
#include <reg51.h> //51单片机头文件
sbit MCLK=P1^0;
sbit SCLK=P1^1;
sbit SDA =P1^2;
unsigned char bdata DATA;
sbit BIT0=DATA^0;
// 发送一个数据到模块,
void Send_byte_IO(unsigned char ch)
{
unsigned char i;
if(!MCLK)return; //
MCLK=0; //申请通讯
DATA=ch;
for(i=4;i!=0;i--)
{
while(SCLK); //检测从机响应
SDA=BIT0; //放一个bit到SDA
MCLK=1;
DATA=DATA>>1; //准备下一个bit
while(!SCLK); //检测从机响应
SDA=BIT0; //放一个bit到SDA
MCLK=0;
DATA=DATA>>1; //准备下一个bit
}
while(SCLK); //检测从机收完
MCLK=1;
while(!SCLK);//等待从机准备好
SDA=1;
}
//发送一个清屏指令:clr
void lcd_clr()
{
Send_byte_IO('c');
Send_byte_IO('l');
Send_byte_IO('r');
Send_byte_IO(0x0d);
delay(200); //延时程序(大概需要50-80ms时间)
}
void delay(uchar t) //延时程序
{
while(t--)
_nop_();
}
//显示字符串 str
void lcd_string(bit char_bit, unsigned char *pst)
{
Send_byte_IO('s');
Send_byte_IO('t');
Send_byte_IO('r');
Send_byte_IO(char_bit);
while(*pst!=0)
Send_byte_IO(*pst++);
//Send_byte_IO
; //字符串结束标志\0
Send_byte_IO(0x0d); //串口发送结束标志
delay(200); //延时大概需要50-80ms
}
//显示直线(x1,y1)-(x2,y2)
void dis_line(unsigned char x1,unsigned char y1,unsigned char x2,unsigned char y2)
{
Send_byte_IO('l');
Send_byte_IO('i');
Send_byte_IO('n');
Send_byte_IO(x1);
Send_byte_IO(y1);
Send_byte_IO(x2);
Send_byte_IO(y2);
Send_byte_IO(0x0d);
}
//主程序
void main(void)
{
delay(100);
lcd_clr(); //清屏
lcd_string(0,"I like the SLCM. 我喜欢串口液晶"); //显示一个字符串
dis_line(1,4,121,46);//显示一条直线(1,4)-(121,46)
while(1); //程序停止
}
/////////显示的图片效果如下:

本帖最后由 yesever 于 2011-4-22 15:42:03 编辑
-
183.15.190.* 楼主
-




Copyright 2002-2011©深圳市炜烨兴电子有限公司-LCD在线 All Right Reserved
QQ:56154083 电话:13714759758 0755-86230486 86230436
粤ICP备05054967号