标题: LCD1602显示程序,简单易懂 [打印本页]

作者: zxl624393154    时间: 2019-1-14 01:30
标题: LCD1602显示程序,简单易懂
简单易懂的程序,方便入学者
  1. #include<reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. ucharcodetable[]="suihuaxueyuan";
  5. ucharcodetable1[]="dianzixiehui";
  6. ucharnum; sbitlcden=P3^4; //液晶使能端
  7. sbit lcdrs=P3^5; //液晶数据命令选择端 选择写数据还是写命令
  8. voiddelay(uintz) {
  9. uinti,j;
  10. for(i=z;i>0;i--)
  11. for(j=110;j>0;j--);
  12. }
  13. void write_com(uchar com) //写入
  14. {
  15. lcdrs=0; //LCD 选择输入命令
  16. P0=com; //向 P0 口输入命令
  17. delay(5); //延时
  18. lcden=1; //打开 LCD 使能
  19. delay(5); //一个高脉冲
  20. lcden=0; //关闭 LCD 使能
  21. }
  22. voidwrite_data(uchardate)
  23. {
  24. lcdrs=1; //设置为输入数据
  25. P0=date; //将数据赋给P0 口
  26. delay(5); //延时
  27. lcden=1; //置高
  28. delay(5); //高脉冲
  29. lcden=0; //置低 完成高脉冲
  30. }
  31. voidinit()
  32. {
  33. lcden=0;
  34. write_com(0x38); //设置 16x2 显示 5x7 点阵,8 位数据接口
  35. write_com(0x0c); //设置开始显示 不显示光标
  36. write_com(0x06); //写一个字符后地址指针加1
  37. write_com(0x01); //显示清零 数据指针清零
  38. }
  39. voidmain()
  40. {
  41. init();
  42. write_com(0x80); //将数据指针第一行第一个字处,
  43. for(num=0;num<13;num++)
  44. {
  45. write_data(table[num]);
  46. delay(5);
  47. }
  48. write_com(0x80+0x40); //定义指针位置
  49. for(num=0;num<12;num++)
  50. {
  51. write_data(table1[num]);
  52. delay(5);
  53. } while(1);
  54. }
复制代码


LCD显示.doc

1.17 KB, 下载次数: 25, 下载积分: 黑币 -5

简单易懂的显示程序


作者: 杨雪飞    时间: 2019-1-14 10:37
从显示的字符好像看到了绥化学院  电子协会,是黑龙江绥化的绥化学院?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1