10532|1

367

帖子

0

TA的资源

裸片初长成(高级)

楼主
 

LCD1602 C语言驱动程序 [复制链接]

用P2口作读写数据口,P3.0--P3.2连接RS,RW,E.未使用查忙,而使用延时足够长的时间来满足写指令和数据. #i nclude <reg52.h> #i nclude "intrins.h" #define nop _nop_() #define PtData P2 #define uint unsigned int #define uchar unsigned char sbit RS=P3^0; sbit RW=P3^1; sbit E=P3^2; void WriteInstr(uint); void WriteData(uint); void Delay(uint); main() { nop; P0=0;//调试时候用于观察,P0口共阳极LED亮 WriteInstr(0x01);//初始化 WriteInstr(0x02); WriteInstr(0x06); WriteInstr(0x0c); WriteInstr(0x38); WriteInstr(0x01); Delay(30000); P0^=0x01;//调试时候用于观察,P0.0口LED状态取反 while(1) { WriteInstr(0x81);//写第一行DDRAM WriteData(0x65); WriteData(0x6c); WriteData(0x65); WriteData(0x63); WriteData(0x6c); WriteData(0x69); WriteData(0x6b); WriteData(0x65); WriteInstr(0xc1);//写第二行DDRAM WriteData(0x31); WriteData(0x36); WriteData(0x30); WriteData(0x32); Delay(10000); P0^=0x02;//调试时候用于观察一次循环,P0.1口LED状态取反 } } //---写指令 void WriteInstr(uint Temp) { Delay(10);//晶振为6M时,延时0.272ms RS=0; RW=0; E=0; nop; nop; nop; E=1; nop; PtData=Temp; nop; E=0; } //---写数据 void WriteData(uint Temp) { Delay(10); RS=1; RW=0; E=0; nop; nop; nop; E=1; nop; PtData=Temp; nop; E=0; } //---延时 void Delay(uint N) {uint i; for(i=0;i<N;i++){} }
此帖出自单片机论坛

最新回复

收藏了,谢谢  详情 回复 发表于 2007-8-26 18:17
点赞 关注
 

回复
举报

96

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

回复:LCD1602 C语言驱动程序

收藏了,谢谢
此帖出自单片机论坛
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表