找回密码
 立即注册

QQ登录

只需一步,快速开始

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

1602液晶滑动显示程序

[复制链接]
跳转到指定楼层
楼主
ID:568129 发表于 2019-12-15 16:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
液晶滑动显示,基于51单片机的c语言设计

单片机源程序如下:
  1. #include<reg51.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. #define LCD P0              //数据口
  6. sbit A=P3^2;                               
  7. sbit RW=P3^1;                               
  8. sbit E=P3^0;                               
  9. int num=0,x1=0,x2=0,x3=0;
  10. unsigned char code h[]=
  11. {0x00,0x00,0x01,0xFF,0xFF,0xFF,0x81,0x80,0x80,0x81,0xFF,0xFF,0xFF,0x01,0x00,0x00,
  12. 0x00,0x00,0x80,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x80,0x00,0x00,};
  13. unsigned char code u[]=
  14. {0x00,0x00,0x00,0x01,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x01,0x01,0xFF,0xFF,0x01,0x00,
  15. 0x00,0x00,0x00,0x00,0x3F,0x7F,0xFF,0xC0,0x80,0x80,0xC0,0xE0,0x7F,0x3F,0x00,0x00,};
  16. unsigned char code a[]=
  17. {0x00,0x00,0x00,0x00,0x00,0x80,0xF8,0xFF,0x0F,0xFF,0xFE,0xE0,0x00,0x00,0x00,0x00,
  18. 0x00,0x00,0x00,0x80,0xF8,0xFF,0x8F,0x02,0x02,0x02,0x9F,0xFF,0xFE,0xE0,0x80,0x00,};
  19. unsigned char code w[]=
  20. {0x00,0x07,0xFF,0xFF,0xF1,0xC1,0xFF,0xFF,0xFF,0xC1,0xFF,0x7F,0x03,0x00,0x00,0x00,
  21. 0x00,0x00,0x01,0x7F,0xFF,0xFF,0x0F,0x3F,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,};
  22. unsigned char code e[]=
  23. {0x00,0x01,0xFF,0xFF,0xFF,0x81,0x81,0x81,0xF1,0xF3,0x07,0x0F,0x08,0x00,0x00,0x00,
  24. 0x00,0x80,0xFF,0xFF,0xFF,0x80,0x80,0x80,0x87,0xC7,0xE0,0xF0,0x30,0x00,0x00,0x00,};
  25. unsigned char code i[]=
  26. {0x00,0x00,0x01,0x01,0x01,0xFF,0xFF,0xFF,0xFF,0x01,0x01,0x01,0x00,0x00,0x0,0x00,
  27. 0x00,0x00,0x80,0x80,0x80,0xFF,0xFF,0xFF,0xFF,0x80,0x80,0x80,0x00,0x00,0x00,0x00,};
  28. unsigned char code hao[]=
  29. {0x10,0x10,0xF0,0x1F,0x10,0xF0,0x00,0x80,0x82,0x82,0xE2,0x92,0x8A,0x86,0x80,0x00,
  30. 0x40,0x22,0x15,0x08,0x16,0x61,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,};
  31. unsigned char code xue[]=
  32. {0x40,0x30,0x11,0x96,0x90,0x90,0x91,0x96,0x90,0x90,0x98,0x14,0x13,0x50,0x30,0x00,
  33. 0x04,0x04,0x04,0x04,0x04,0x44,0x84,0x7E,0x06,0x05,0x04,0x04,0x04,0x04,0x04,0x00,};
  34. unsigned char code xi[]=
  35. {0x00,0x02,0x02,0x02,0x12,0x22,0xC2,0x02,0x02,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,
  36. 0x00,0x08,0x18,0x08,0x04,0x04,0x04,0x02,0x02,0x41,0x81,0x40,0x3F,0x00,0x00,0x00,};
  37. unsigned char code dan[]=
  38. {0x00,0x00,0xF8,0x49,0x4A,0x4C,0x48,0xF8,0x48,0x4C,0x4A,0x49,0xF8,0x00,0x00,0x00,
  39. 0x10,0x10,0x13,0x12,0x12,0x12,0x12,0xFF,0x12,0x12,0x12,0x12,0x13,0x10,0x10,0x00,};
  40. unsigned char code pian[]=
  41. {0x00,0x00,0x00,0xFE,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x00,0x00,
  42. 0x00,0x80,0x60,0x1F,0x02,0x02,0x02,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x00,};
  43. unsigned char code ji[]=
  44. {0x10,0x10,0xD0,0xFF,0x90,0x10,0x00,0xFE,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,
  45. 0x04,0x03,0x00,0xFF,0x00,0x83,0x60,0x1F,0x00,0x00,0x00,0x3F,0x40,0x40,0x78,0x00,};
  46. unsigned char code dou[]=
  47. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  48. 0x00,0x00,0x58,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};
  49. unsigned char code tian[]=
  50. {0x40,0x40,0x42,0x42,0x42,0x42,0x42,0xFE,0x42,0x42,0x42,0x42,0x42,0x40,0x40,0x00,
  51. 0x80,0x80,0x40,0x20,0x10,0x0C,0x03,0x00,0x03,0x0C,0x10,0x20,0x40,0x80,0x80,0x00,};
  52. unsigned char code xiang[]=
  53. {0x00,0xF8,0x08,0x08,0x0C,0xCA,0x49,0x48,0x48,0xC8,0x08,0x08,0x08,0xF8,0x00,0x00,
  54. 0x00,0xFF,0x00,0x00,0x00,0x1F,0x08,0x08,0x08,0x1F,0x00,0x40,0x80,0x7F,0x00,0x00,};
  55. unsigned char code shang[]=
  56. {0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x00,
  57. 0x40,0x40,0x40,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,};
  58. unsigned char code gan[]=
  59. {0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  60. 0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};
  61. unsigned char code li[]=
  62. {0x80,0x84,0x44,0x44,0x24,0x14,0x0C,0xFF,0x0C,0x14,0x24,0x44,0x44,0x84,0x80,0x00,
  63. 0x08,0x08,0x08,0x08,0x09,0x49,0x89,0x79,0x0D,0x0B,0x09,0x08,0x08,0x08,0x08,0x00,};
  64. unsigned char code jian[]=
  65. {0x04,0x84,0xC4,0xB4,0x8C,0x10,0x54,0x54,0x54,0xFF,0x54,0x54,0x7C,0x10,0x10,0x00,
  66. 0x80,0x44,0x28,0x18,0x27,0x28,0x49,0x49,0x49,0x7F,0x49,0x49,0x49,0x48,0x40,0x00,};
  67. unsigned char code bin[]=
  68. {0x10,0x90,0x12,0x14,0xF0,0x10,0x20,0x24,0xA4,0x24,0x20,0xFF,0x20,0x22,0x2C,0x00,
  69. 0x40,0x20,0x19,0x06,0x39,0x40,0xFE,0x40,0x3F,0x22,0x20,0x0F,0x30,0x40,0xF0,0x00,};
  70. unsigned char code chao[]=
  71. {0x40,0x48,0x48,0x48,0xFF,0x48,0x48,0x42,0xA2,0x9E,0x82,0xA2,0xC2,0xBE,0x00,0x00,
  72. 0x80,0x60,0x1F,0x20,0x7F,0x44,0x44,0x40,0x4F,0x48,0x48,0x48,0x48,0x4F,0x40,0x00,};
  73. unsigned char code lii[]=
  74. {0x10,0x60,0x02,0x0C,0xC0,0x00,0xFE,0x02,0x42,0x42,0xFA,0x42,0x42,0xC2,0x02,0x00,
  75. 0x04,0x04,0x7C,0x83,0x40,0x30,0x8F,0x40,0x30,0x0C,0x43,0x80,0x40,0x3F,0x00,0x00,};
  76. unsigned char code lu[]=
  77. {0x00,0xFE,0x02,0x22,0xDA,0x06,0x80,0x88,0x88,0x88,0xFF,0x88,0x88,0x88,0x80,0x00,
  78. 0x00,0xFF,0x08,0x10,0x08,0x07,0x00,0x7C,0x40,0x40,0x7F,0x40,0x40,0xFC,0x00,0x00,};
  79. unsigned char code fu[]=
  80. {0x10,0x0C,0x14,0xD4,0x54,0x54,0x55,0x56,0x54,0x54,0x54,0xD4,0x14,0x14,0x0C,0x00,
  81. 0x00,0x00,0xFC,0x55,0x55,0x55,0x55,0x7D,0x55,0x55,0x55,0x55,0xFC,0x00,0x00,0x00,};
  82. unsigned char code jiang[]=
  83. {0x10,0x60,0x02,0x0C,0xC0,0x04,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0x04,0x00,0x00,
  84. 0x04,0x04,0x7C,0x03,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x20,0x00,};
  85. unsigned char code wen[]=
  86. {0x08,0x08,0x08,0x38,0xC8,0x08,0x09,0x0E,0x08,0x08,0xC8,0x38,0x08,0x08,0x08,0x00,
  87. 0x80,0x80,0x40,0x40,0x20,0x11,0x0A,0x04,0x0A,0x11,0x20,0x40,0x40,0x80,0x80,0x00,};
  88. unsigned char code qp[]=
  89. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  90. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};
  91. unsigned char code gun1[]=
  92. {0x18,0x18,0x18,0x18,0x18,0x17,0x16,0x15,0x14,0x13,0x12,0x11,0x10,0x18,0x18,0x18,
  93. 0x18,0x18,};
  94. unsigned char code gun2[]=
  95. {0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x17,0x16,0x15,0x14,
  96. 0x13,0x12,0x11,0x10,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
  97. 0x18,0x18,0x18,};
  98. unsigned char code gun3[]=
  99. {0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x17,0x16,0x15,
  100. 0x14,0x13,0x12,0x11,0x10,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
  101. 0x18,0x18,0x18,0x18,0x18,};
  102. unsigned char code hang[]=
  103. {0xB0,0xB2,0xB4,0xB6,};
  104. unsigned char code lie[]=
  105. {0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,};
  106. void delay(int num)    //延时函数
  107. {                                                          
  108.   int i,j;
  109.   for(i=num;i>0;i--)
  110.   for(j=120;j>0;j--);
  111. }
  112. void busytest()
  113. {
  114. A=0;
  115. RW=1;
  116. P1=0x00;
  117. E=1;
  118. while(P1&0x08);
  119. E=0;
  120. }
  121. void writevalue(uchar value)    //写命令数据
  122. {
  123. busytest();
  124. A=0;
  125. RW=0;
  126. LCD=value;
  127. E=1;
  128. E=0;
  129. }
  130. void writedata(uchar data1)    //写显示数据
  131. {
  132. busytest();
  133. A=1;
  134. RW=0;
  135. LCD=data1;
  136. E=1;
  137. E=0;
  138. }
  139. void display(int a,int b,char *c)
  140. {
  141. int n;
  142. for(n=0;n<=15;n++)
  143. {
  144. writevalue(a);      //列(页)设置
  145. writevalue(b);    //行设置高四位
  146. writevalue(0x00+n);    //行设置低四位
  147. writedata(c[n]);
  148. writevalue(a+1);      //列(页)设置
  149. writevalue(b);      //行设置高四位
  150. writevalue(0x00+n);      //行设置低四位
  151. writedata(c[n+16]);
  152. }
  153. }
  154. void T0_time() interrupt 1    //定时器
  155. {
  156.   num++;
  157.   if(num==9215)
  158. {  
  159.     num=0;
  160.         x1++;
  161.         x2++;
  162.         x3++;
  163.         if(x1>12)
  164.         {
  165.           x1=0;
  166.         }
  167.         if(x2>19)
  168.         {
  169.           x2=0;
  170.         }
  171. }
  172. }
  173. main()
  174. {
  175. int A,B;
  176. writevalue(0xaf);      //显示开
  177. writevalue(0xa1);      //正显示
  178.     TMOD=0x02;                   //定时器0的为工作方式2
  179.         TH0=6;                           //装初值
  180.         TL0=6;                           //装初值
  181.         EA=1;                           //开总中断
  182.         ET0=1;                           //开启定时器0
  183.         TR0=1;                           //启动定时器0
  184. while(1)
  185. {
  186. display(0xB1,gun1[x1+5],h);
  187. display(0xB1,gun1[x1+4],u);
  188. display(0xB1,gun1[x1+3],a);
  189. display(0xB1,gun1[x1+2],w);
  190. display(0xB1,gun1[x1+1],e);
  191. display(0xB1,gun1[x1],i);
  192. display(0xB4,gun2[x2+12],hao);
  193. display(0xB4,gun2[x2+11],hao);
  194. display(0xB4,gun2[x2+10],xue);
  195. display(0xB4,gun2[x2+9],xi);
  196. display(0xB4,gun2[x2+8],dan);
  197. display(0xB4,gun2[x2+7],pian);
  198. display(0xB4,gun2[x2+6],ji);
  199. display(0xB4,gun2[x2+5],dou);
  200. display(0xB4,gun2[x2+4],tian);
  201. display(0xB4,gun2[x2+3],tian);
  202. display(0xB4,gun2[x2+2],xiang);
  203. display(0xB4,gun2[x2+1],shang);
  204. display(0xB4,gun2[x2],gan);
  205. display(0xB6,gun3[x2+13],li);
  206. display(0xB6,gun3[x2+12],jian);
  207. display(0xB6,gun3[x2+11],bin);
  208. display(0xB6,gun3[x2+9],li);
  209. display(0xB6,gun3[x2+8],chao);
  210. display(0xB6,gun3[x2+7],lii);
  211. display(0xB6,gun3[x2+5],lu);
  212. display(0xB6,gun3[x2+4],fu);
  213. display(0xB6,gun3[x2+2],li);
  214. display(0xB6,gun3[x2+1],jiang);
  215. display(0xB6,gun3[x2],wen);
  216. delay(2000);    //延时        
  217. for(A=0;A<8;A++)    //清空液晶屏
  218. {       
  219.     for(B=0;B<4;B++)
  220.         {
  221.             display(hang[B],lie[A],qp);
  222.         }
  223. }
  224. }
  225. }
复制代码

所有资料51hei提供下载:
液晶滑动显示(1602)c语言.rar (59.32 KB, 下载次数: 5)

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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