找回密码
 立即注册

QQ登录

只需一步,快速开始

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

模块化51单片机库程序12864液晶显示程序,保证好用,有需要的拿走吧!

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

单片机源程序如下:
  1. #include <REGX52.H>

  2. //======12864位申明======//
  3. sbit dula=P2^6;
  4. sbit wela=P2^7;
  5. sbit e=P3^4;
  6. sbit rs=P3^5;
  7. sbit wr=P3^6;
  8. sbit rd=P3^7;
  9. //======12864位申明完成======//

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

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

  19. //=============================================//
  20. //====11.0592Mhz晶振前提下,延时110微秒左右====//

  21. void delay110us(unsigned int us)
  22. {
  23.    unsigned int x,y;
  24.    for(x=us;x>0;x--)
  25.    for(y=11;y>0;y--);
  26. }
  27. //=============================================//

  28. //=========12864液晶多要函数声明=======//
  29. void write_12864com(unsigned char com);
  30. void write_12864record(unsigned char record);
  31. void add_12864(unsigned char line,unsigned char list);
  32. void display_12864(unsigned char code *p);
  33. void init_12864(void);
  34. void display_plan(void);
  35. //==========12864液晶声明完成===========//

  36. //==================12864液晶的设置即显示===================//
  37. void write_12864com(unsigned char com)
  38. {
  39.     delay1ms(5);
  40.     rs=0;
  41.     wr=0;
  42.     e=0;
  43.     delay110us(1);
  44.     P0=com;
  45.     e=1;
  46.     delay110us(10);
  47.     e=0;
  48.     delay110us(1);
  49. }

  50. void write_12864record(unsigned char record)
  51. {
  52.     delay1ms(5);
  53.     rs=1;
  54.     wr=0;
  55.     e=0;
  56.     delay110us(1);
  57.     P0=record;
  58.     e=1;
  59.     delay110us(10);
  60.     e=0;
  61.     delay110us(1);
  62. }

  63. void add_12864(unsigned char line,unsigned char list)
  64. {
  65.    switch(line)
  66.    {
  67.       case 1: write_12864com(0x80+list); break;
  68.       case 2: write_12864com(0x90+list); break;
  69.       case 3: write_12864com(0x88+list); break;
  70.       case 4: write_12864com(0x98+list); break;
  71.    }   
  72. }

  73. void display_12864(unsigned char code *p)
  74. {
  75.    while(*p!='\0')                        //*****************************
  76.    {
  77.       write_12864record(*p);
  78.       p++;
  79.    }
  80. }

  81. void init_12864(void)
  82. {
  83.    dula=0;
  84.    wela=0;

  85.    rd=1;   
  86.    delay1ms(50);
  87.    write_12864com(0x30);
  88.    delay1ms(3);
  89.    write_12864com(0x30);
  90.    delay1ms(3);
  91.    write_12864com(0x0d);
  92.    delay1ms(5);
  93.    write_12864com(0x01);
  94.    delay1ms(10);
  95.    write_12864com(0x06);
  96.    delay1ms(5);
  97. }
  98. //==================12864液晶的设置即显示完成===================//

  99. void main()
  100. {
  101.         init_12864();
  102.         while(1)
  103.         {
  104.                 add_12864(1,0);
  105.                 display_12864("你好,欢迎光临!");
  106.         }
  107. }
复制代码

以上资料51hei提供下载:
12864显示.rar (18.38 KB, 下载次数: 42)


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

使用道具 举报

沙发
ID:499479 发表于 2019-9-25 22:22 | 只看该作者
你们这些有dula wela都是copy的吧
回复

使用道具 举报

板凳
ID:688460 发表于 2020-5-2 11:35 | 只看该作者
感谢楼主们的无私奉献!
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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