找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机lcd1602屏幕左移显示程序

[复制链接]
跳转到指定楼层
楼主
电路原理图如下:


单片机源程序如下:
  1. #include<reg51.h>
  2. #include<sting.h>
  3. #define        uchar unsigned char
  4. #define uint unsigned int

  5. sbit  RS=P2^0;
  6. sbit  RW=P2^1;
  7. sbit   E=P2^2;

  8. uchar tab1[]={"1433223        "};
  9. uchar tab2[]={"        1433223"};

  10. void delay(uint x)
  11. {
  12. uint i,j;
  13. for(i=0;i<x;i++)
  14.         for(j=0;j<110;j++);
  15. }
  16. void writecmd(uchar com)
  17. {
  18. E=0;
  19. RS=0;
  20. RW=0;
  21. P3=com;
  22. delay(2);
  23. E=1;  
  24. delay(2);
  25. E=0;
  26. }
  27. void writedata(uchar dat)
  28. {  
  29.   E=0;
  30.   RS=1;
  31.   RW=0;
  32.   P3=dat;
  33.   delay(2);
  34.   E=1;  
  35.   delay(2);
  36.   E=0;
  37. }
  38. void init(void)               
  39. {
  40. delay(15);
  41. writecmd(0x38);
  42. delay(5);
  43. writecmd(0x38);
  44. delay(5);
  45. writecmd(0x38);
  46. writecmd(0x38);
  47. writecmd(0x08);
  48. writecmd(0x01);
  49. writecmd(0x06);
  50. writecmd(0x0c);
  51. }
  52. void main()
  53. {  uchar j;
  54.   init();
  55.   writecmd(0x80);   
  56.   for(j=0;j<16;j++)  
  57.   {
  58.    writedata(tab1[j]);
  59.         delay(100);
  60.   }
  61.   writecmd(0x80+0x40);

  62.   for(j=0;j<16;j++)   
  63.   { writedata(tab2[j]);
  64.          delay(100);
  65.   }
  66.   while(1)
  67.   {
  68.   delay(200);
  69.    writecmd(0x18);
  70.    delay(200);
  71.   }   

  72. }

复制代码


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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