找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6884|回复: 2
收起左侧

at89c51控制的lcd1602显示

[复制链接]
ID:187188 发表于 2017-5-2 22:31 | 显示全部楼层 |阅读模式
自己学了很长时间,功夫不负有心人,终于懂点了!!
0.png

0.png

  1. #include <reg51.h>
  2. #define uint  unsigned int
  3. #define uchar unsigned char
  4. uchar code table1[]="SMILE -_-!"; //第一行需要的字符
  5. uchar code table2[]="HI,HONEY!_HYC";//第二行需要的字符
  6. sbit RS=P2^0;
  7. sbit RW=P2^1;
  8. sbit E=P2^2;
  9. void delay(uint t)//延时程序
  10. {
  11.         uint i,j;
  12.         for(i=t;i>0;i--);
  13.         for(j=110;j>0;j--);
  14. }
  15. void write_com(uchar com)//写指令
  16. {
  17.         RS=0;
  18.         RW=0;
  19.         P0=com;
  20.         delay(5);//延时,给硬件反应时间
  21.         E=1;
  22.         delay(5);
  23.         E=0;
  24. }
  25. void write_date(uchar date)//写数据
  26. {
  27.         RS=1;
  28.         RW=0;
  29.         P0=date;
  30.         delay(5);
  31.         E=1;
  32.         delay(5);
  33.         E=0;
  34. }
  35. void init()//LCD初始化
  36. {
  37.         E=0;
  38.         delay(15);
  39.         write_com(0x38); //设置8位格式
  40.         delay(5);       
  41.         write_com(0x38);
  42.         delay(5);
  43.         write_com(0x38); //连续3次,确保成功
  44.         delay(5);
  45.   write_com(0x0c);//设置开显示,不显示光标
  46.         delay(5);               
  47.   write_com(0x06);//每次写数据后地址指针加1
  48.         delay(5);
  49.         write_com(0x01);//清屏
  50.         delay(5);
  51. }
  52. void main()//主程序
  53.         {
  54.                 uchar x,y;
  55.                 init();
  56.                 write_com(0x80);//第一行地址基数
  57.                 for(x=0;x<10;x++)
  58.                 {
  59.                         write_date(table1[x]);
  60.                         delay(5);
  61.                 }
  62.                 write_com(0xC0);//第二行地址基数
  63.                 for(y=0;y<13;y++)
  64.                 {
  65.                         write_date(table2[y]);
  66.                         delay(5);
  67.                 }
  68.                 while(1);
  69.         }
复制代码

下载:
lcd1602.zip (34.92 KB, 下载次数: 44)
回复

使用道具 举报

ID:73182 发表于 2018-6-20 14:12 | 显示全部楼层
学习了,感谢分享
回复

使用道具 举报

ID:729993 发表于 2020-4-17 19:14 | 显示全部楼层
前辈可以留个联系方式吗
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表