找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1227|回复: 0
打印 上一主题 下一主题
收起左侧

模块化51单片机库程序1602液晶显示程序,保证好用

[复制链接]
跳转到指定楼层
楼主
ID:603523 发表于 2019-8-25 11:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
模块化51库程序1602液晶显示,保证好用,有需要的拿走吧!!!!!

单片机源程序如下:
  1. #include <REGX52.H>
  2. #define io P0        // 1602的宏定义。

  3. //=======1602显示位申明========//
  4. sbit dula=P2^6;
  5. sbit wela=P2^7;
  6. sbit lcden=P3^4;
  7. sbit rs=P3^5;
  8. //=====1602显示位申明完成=====//

  9. //===============================================//
  10. //====11.0592Mhz晶振前提下,延时1毫秒左右=====//

  11. void delay1ms(unsigned int ms)
  12. {
  13.    unsigned int x,y;
  14.    for(x=ms;x>0;x--)
  15.    for(y=112;y>0;y--);
  16. }
  17. //================延时1毫秒完毕==============//

  18. //=======1602显示的函数申明=========//
  19. void write_1602com(unsigned char com);
  20. void write_1602dat(unsigned char dat);
  21. void add_1602(unsigned char line,unsigned char list);
  22. void display_1602(unsigned char *p);
  23. void init_1602(void);
  24. //=======1602显示的函数申明完成=========//

  25. //=======1602显示需要的函数=========//
  26. void write_1602com(unsigned char com)
  27. {
  28.         delay1ms(15);
  29.         rs=0;
  30.         io=com;

  31.         lcden=0;
  32.         lcden=1;
  33.         lcden=0;
  34. }

  35. void write_1602dat(unsigned char dat)
  36. {
  37.         delay1ms(15);
  38.         rs=1;
  39.         io=dat;
  40.         
  41.         lcden=0;
  42.         lcden=1;
  43.         lcden=0;        
  44. }

  45. void add_1602(unsigned char line,unsigned char list)
  46. {
  47.         if(line==1)
  48.         {
  49.                 write_1602com(0x80+list);
  50.         }
  51.         else
  52.         {
  53.                 write_1602com(0x80+0x40+list);
  54.         }
  55. }

  56. void display_1602(unsigned char *p)
  57. {
  58.         while(*p!='\0')
  59.         {
  60.                 write_1602dat(*p);
  61.                 p++;
  62.         }
  63. }

  64. void init_1602(void)
  65. {
  66.         dula=0;
  67.         wela=0;
  68.         delay1ms(15);
  69.         write_1602com(0x38);
  70.         delay1ms(5);
  71.         write_1602com(0x38);
  72.         delay1ms(5);
  73.         write_1602com(0x38);
  74.         write_1602com(0x08);
  75.         write_1602com(0x01);
  76.         write_1602com(0x0c);
  77.         write_1602com(0x06);
  78. }
  79. //=======1602显示需要的函数完成=========//

  80. void main()
  81. {
  82.         init_1602();
  83.         while(1)
  84.         {
  85.                  add_1602(1,1);
  86.                  display_1602("hello!");
  87.         }
  88. }
复制代码

所有资料51hei提供下载:
1602显示.rar (17.85 KB, 下载次数: 17)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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