久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2137|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)驅(qū)動(dòng)lcd12864亂碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:278457 發(fā)表于 2020-9-12 17:08 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
視頻: 1.rar (1.15 MB, 下載次數(shù): 7)
  1. #include<reg51.h>
  2. #include<intrins.h>
  3. #include<stdlib.h>
  4. #define uchar unsigned char
  5. #define uint unsigned int
  6. #define LCD_data P0   //數(shù)據(jù)口
  7. #define ushort unsigned short int
  8. ushort b;

  9. /*******引腳定義*******/
  10. sbit LCD_RS=P3^5;
  11. sbit LCD_RW=P3^6;
  12. sbit LCD_EN=P3^4;
  13. sbit LCD_PSB=P3^7;
  14. sbit wela=P2^6;
  15. sbit dula=P2^7;
  16. uchar code dis1[]={"abcdefg"};
  17. uchar code dis2[]={"您好"};
  18. uchar code dis3[]={"歡迎光臨"};
  19. uchar code dis4[]={"www.baidu.com"};

  20. uchar code dis5[]={"數(shù)值:"};
  21. uchar dis6[5]={"L 000"};
  22. uchar dis7[5]={"R 000"};
  23. uchar code dis8[]={""};

  24. /*******延時(shí)函數(shù)*******/
  25. void delay_1ms(uint x)
  26. {
  27.         uint i,j;
  28.     for(j=0;j<x;j++)
  29.       for(i=0;i<110;i++);
  30. }

  31. void quzhi()
  32. {
  33.   uint f=dis6[5],g=dis7[5];
  34.    for(f=0;f<5;f++)
  35.     for(g=0;g<5;g++);
  36. }

  37. /*******寫(xiě)指令*******/
  38. void write_cmd(uchar cmd)
  39. {
  40.         LCD_RS=0;
  41.     LCD_RW=0;
  42.     LCD_EN=0;
  43.     P0=cmd;
  44.     delay_1ms(5);
  45.     LCD_EN=1;
  46.     delay_1ms(5);
  47.     LCD_EN=0;
  48. }

  49. /*******顯示數(shù)據(jù)*******/
  50. void write_dat(uchar dat)
  51. {
  52.         LCD_RS=1;
  53.     LCD_RW=0;
  54.     LCD_EN=0;
  55.     P0=dat;
  56.     delay_1ms(5);
  57.     LCD_EN=1;
  58.     delay_1ms(5);
  59.     LCD_EN=0;
  60. }

  61. /*******設(shè)定初始顯示位置*******/
  62. void lcd_pos(uchar x,uchar y)
  63. {
  64.         uchar pos;
  65.     if(x==0)
  66.           x=0x82;
  67.         else if(x==1)
  68.       x=0x91;
  69.         else if(x==2)
  70.       x=0x8A;
  71.         else if(x==3)
  72.       x=0x98;
  73.         pos=x+y;
  74.     write_cmd(pos);
  75. }

  76. void lcd_pos2(uchar x,uchar y)
  77. {
  78.         uchar pos2;
  79.     if(x==0)
  80.           x=0x80;
  81.         else if(x==1)
  82.       x=0x93;
  83.         else if(x==2)
  84.       x=0x8B;
  85.         else if(x==3)
  86.       x=0x98;
  87.         pos2=x+y;
  88.     write_cmd(pos2);
  89. }

  90. /*******LCD初始化程序*******/
  91. void lcd_init()
  92. {
  93.         LCD_PSB=1;                 //并口方式
  94.         write_cmd(0x30);           
  95.     delay_1ms(5);
  96.     write_cmd(0x0c);           //顯示開(kāi),關(guān)光標(biāo)
  97.         delay_1ms(5);
  98.     write_cmd(0x01);           //清除LCD的顯示內(nèi)容
  99.         delay_1ms(5);
  100. }

  101. /*******LCD數(shù)據(jù)顯示位置*******/
  102. void shuju()
  103. {
  104.    uchar i;
  105.    lcd_pos(0,0);                               //第一行
  106. while(dis1[i]!='\0')
  107.   {                        
  108.    write_dat(dis1[i]);
  109.    i++;
  110.   }  
  111.    lcd_pos(1,0);                               //第二行
  112.    i=0;
  113. while(dis2[i]!='\0')
  114.   {
  115.    write_dat(dis2[i]);
  116.    i++;
  117.   }
  118.    lcd_pos(2,0);                               //第三行
  119.    i=0;
  120. while(dis3[i]!='\0')
  121.   {
  122.    write_dat(dis3[i]);
  123.    i++;
  124.   }
  125.    lcd_pos(3,0);                               //第四行
  126.    i=0;
  127. while(dis4[i]!='\0')
  128.   {
  129.    write_dat(dis4[i]);
  130.    i++;
  131.   }
  132.   delay_1ms(2000);
  133.   write_cmd(0x01);
  134.   lcd_pos2(0,0);                              //第一行
  135.   i=0;
  136. while(dis5[i]!='\0')
  137.   {
  138.    write_dat(dis5[i]);
  139.    i++;
  140.   }
  141. lcd_pos2(1,0);                              //第二行
  142. i=0;
  143. while(dis6[i]!='\0')
  144.   {
  145.    write_dat(dis6[i]);
  146.    i++;
  147.   }
  148. lcd_pos2(2,0);                              //第三行
  149. i=0;
  150. while(dis7[i]!='\0')
  151.   {
  152.    write_dat(dis7[i]);
  153.    i++;
  154.   }
  155. lcd_pos2(3,0);                              //第四行
  156. i=0;
  157. while(dis8[i]!='\0')
  158.   {
  159.    write_dat(dis8[i]);
  160.    i++;
  161.   }
  162. }

  163. /*******主程序*******/
  164. void main()
  165. {
  166.     uchar i;
  167.     wela=0;
  168.     dula=0;
  169.         TMOD=0x01;
  170.         TH0=(65536-45872)/256;
  171.     TL0=(65536-45872)%256;
  172.         EA=1;
  173.         ET0=1;
  174.         TR0=1;
  175.         delay_1ms(10);
  176.         lcd_init();
  177.     shuju();
  178.     quzhi();
  179.     while(1)
  180.      {
  181.        lcd_pos2(2,0);                               //第三行
  182.            i=0;
  183.        while(dis7[i]!='\0')
  184.         {
  185.          write_dat(dis7[i]);
  186.          i++;
  187.         }
  188.        lcd_pos2(1,0);                              //第二行
  189.        i=0;
  190.       while(dis6[i]!='\0')
  191.       {
  192.         write_dat(dis6[i]);
  193.         i++;
  194.       }
  195.     }
  196. }

  197. void T0_time() interrupt 1
  198. {
  199.         TH0=(65536-45872)/256;
  200.     TL0=(65536-45872)%256;
  201.     b++;
  202.     dis7[2]='0'+b;
  203.      if (b>9)
  204.            {
  205.         b=0;
  206.        }
  207.     dis7[3]='0'+b;
  208.      if (b>99)
  209.            {
  210.         b=0;
  211.        }
  212.     dis7[4]='0'+b;
  213.      if (b>999)
  214.            {
  215.         b=0;
  216.        }
  217.     dis6[2]='0'+b;
  218.      if (b>9)
  219.            {
  220.         b=0;
  221.        }
  222.     dis6[3]='0'+b;
  223.      if (b>9)
  224.            {
  225.         b=0;
  226.        }
  227.     dis6[4]='0'+b;
  228.      if (b>9)
  229.            {
  230.         b=0;
  231.        }
  232. }
復(fù)制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:584814 發(fā)表于 2020-9-15 09:33 | 只看該作者
排除硬件肯定是程序問(wèn)題。帖多少代碼都不表示可以通吃任何12864的屏。
回復(fù)

使用道具 舉報(bào)

板凳
ID:790159 發(fā)表于 2020-9-16 10:38 | 只看該作者
調(diào)試點(diǎn)陣,先不要顯示文字等信息,先用全黑測(cè)試一下,全黑沒(méi)有問(wèn)題了在測(cè)試顯示
回復(fù)

使用道具 舉報(bào)

地板
ID:790159 發(fā)表于 2020-9-16 10:39 | 只看該作者
全黑不能顯示,那么重點(diǎn)檢查驅(qū)動(dòng)與液晶屏初始化參數(shù)
回復(fù)

使用道具 舉報(bào)

5#
ID:278457 發(fā)表于 2021-12-16 01:07 | 只看該作者
我試過(guò)了,也調(diào)試了,沒(méi)有起到什么用
回復(fù)

使用道具 舉報(bào)

6#
ID:232791 發(fā)表于 2021-12-17 14:12 | 只看該作者
搞點(diǎn)圖片吧,不然還得下載你的rar,多麻煩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 午夜私人影院在线观看 | 国产精品欧美一区二区三区 | 亚洲视频免费在线观看 | 欧美精品一区二区三区视频 | 亚洲免费影院 | 福利av在线| 成人免费一区二区三区视频网站 | 国产激情一区二区三区 | 操皮视频 | 黄色毛片网站在线观看 | 色视频在线播放 | 久久国产精品久久久久久 | 日韩午夜电影 | 中文字幕一区在线观看视频 | 日日草夜夜草 | 国产东北一级毛片 | 综合久久亚洲 | 亚洲成人一区二区三区 | 成人在线精品 | 国产精品久久久久久久久久久久冷 | 国产一区二区三区久久久久久久久 | 91精品国产综合久久精品 | 日韩在线中文字幕 | 米奇成人网 | 久久亚洲二区 | 在线中文字幕日韩 | 99免费在线观看视频 | 日韩一区二区在线播放 | 欧美一级二级三级视频 | 国产高清在线观看 | a毛片视频网站 | 成人在线观看免费 | 久久亚洲国产 | 日日操夜夜操天天操 | 噜噜噜噜狠狠狠7777视频 | 国产视频一二三区 | 91精品在线播放 | 成人免费视频久久 | 精国产品一区二区三区 | 天天影视网天天综合色在线播放 | 日本精品在线观看 |