X
首页
技术
模拟电子
单片机
半导体
电源管理
嵌入式
传感器
最能打国产芯
应用
汽车电子
工业控制
家用电子
手机便携
安防电子
医疗电子
网络通信
测试测量
物联网
最能打国产芯
大学堂
首页
直播
专题
TI 培训
论坛
汽车电子
国产芯片
电机驱动控制
电源技术
单片机
模拟电子
PCB设计
电子竞赛
DIY/开源
嵌入式系统
医疗电子
颁奖专区
【厂商专区】
【电子技术】
【创意与实践】
【行业应用】
【休息一下】
最能打国产芯
活动中心
直播
发现活动
颁奖区
电子头条
参考设计
下载中心
分类资源
文集
排行榜
电路图
Datasheet
最能打国产芯
单片机
[资料分享] LCD液晶的操作
simonprince
2010-3-17 17:22
楼主
1602液晶:2行,每行16个点
主要看“写指令”和“写数据”,因为E=高脉冲,所以在初始化的时候要给E低电平,为高脉冲做准备。
1602液晶的屏幕地址,且以0x80为基地址。
在初始化中的指令码对应下表:
我写的LCD程序如下,在LCD上显示:
Hello World!
Make By xiao Xia
程序运行仿真图如下:
#include
#define uchar unsigned char
#define uint unsigned int
char code table1[]="Hello World!";
char code table2[]="Make By xiao Xia";
sbit lcden = P3^4;
//使能端连接
sbit lcdrs = P3^5;
//数据/指令选择端
uint num;
void delay(uchar z)
{
uchar x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--)
;
}
void write_com(uchar com)
//写指令函数
{
lcdrs=0;
//允许写指令
P0=com;
//指令发送到P0口(因为LCD数据接口接在了P0口上)
delay(5);
lcden=1;
delay(5);
lcden=0;
//使能端输入高脉冲有效
}
void write_data(uchar date)
//写数据函数
{
lcdrs=1;
//允许写指令
P0=date;
//数据发送到P0口(因为LCD数据接口接在了P0口上)
delay(5);
lcden=1;
delay(5);
lcden=0;
//使能端输入高脉冲有效
}
void init()
//初始化
{
//在TX-1C实验板中RW接地,始终为低电平,所以是写选择端
lcden=0;
//使能端初始化低电平,为以后的高脉冲做准备
write_com(0x38);
//设置16*2显示,5*7矩阵,8位数据接口
write_com(0x0e);
//开显示,不显示光标,不闪烁光标
write_com(0x06);
//自动右移,屏幕不动
write_com(0x01);
//清屏
write_com(0x80+0);
//设定第一行的指针位置
}
void main()
{
init();
for(num=0;num<12;num++)
{
write_data(table1[num]);
delay(20);
}
write_com(0x80+0x40);
//定位第二行的地址
for(num=0;num<16;num++)
{
write_data(table2[num]);
delay(20);
}
while(1);
}
/****************循环左移函数******************
void main()
{
init(); //定义第一行地址 0x80+0x10
for(num=0;num<12;num++)
{
write_data(table1[num]);
delay(20);
}
write_com(0x80+0x50); //定位第二行的地址
for(num=0;num<16;num++)
{
write_data(table2[num]);
delay(20);
}
for(num=0;num<16;num++)
{
write_com(0x18); //0x18代表循环左移一位
delay(200);
}
while(1);
}
/****************end******************
要把目标订的实现起来辛苦一点!
点赞
回复评论 (3)
沙发
kache023
这贴居然没人回复
点赞
2010-3-22 19:59
板凳
walkfuture
虽然没懂 但是还是学习了。
点赞
2010-3-22 21:00
4楼
minfugan
楼主可以发一个12864的吗?
山在,树在,大地在,岁月在,你们在 我还要怎样更好的世界
点赞
2010-3-24 16:50
最新活动
报名直播赢【双肩包、京东卡、水杯】| 高可靠性IGBT的新选择——安世半导体650V IGBT
30套RV1106 Linux开发板(带摄像头),邀您动手挑战边缘AI~
安世半导体理想二极管与负载开关,保障物联网应用的稳健高效运行
免费申请 | 上百份MPS MIE模块,免费试用还有礼!
PI 电源小课堂|无 DC-DC 变换实现多路高精度输出反激电源
2024 瑞萨电子MCU/MPU工业技术研讨会——深圳、上海站, 火热报名中
随便看看
【R7F0C809】DIY第六篇-CS+程序编译问题
usb读写全新资料上线
自己做的STM8批量离线烧录器
城主,关于105的CAN问题
Cyclone V开发板试用报告五 SDI设计
关于static全局变量
求助:ARM7 44b0里面外部中断和定时器中断谁的优先级高些?
学电子的女生原来可以这样
开关电源中的频率抖动
学会设计不规则形状PCB,看这一篇就够了!
四轴意外失控穿云与坠落
使用2个定时器的问题
用DriverStudio做的驱动,在Dma传输时出错了。我哪错了呢?帮帮忙吧!
eboot中断
activesync怎样手工给它添加驱动?
高级无源射频工程师、有源专家
关于CPU启动的问题
Freescale HC08单片机???
反激电源变压器设计步骤
串口-大批量数据收发
电子工程世界版权所有
京B2-20211791
京ICP备10001474号-1
京公网安备 11010802033920号
回复
写回复
收藏
回复