欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 1602液晶第一排顯示黑色方塊亂碼是怎么回事?然后已經(jīng)加了初始化程序,求教 [打印本頁(yè)]

作者: hbiken_    時(shí)間: 2018-11-3 14:41
標(biāo)題: 1602液晶第一排顯示黑色方塊亂碼是怎么回事?然后已經(jīng)加了初始化程序,求教
如圖:

有背光顯示,第一排顯示黑色方塊

單片機(jī)源程序如下:
  1. /***********************lcd1602寫(xiě)命令函數(shù)************************/
  2. void write_com(uchar com)
  3. {
  4.         e=0;
  5.         rs=0;
  6.         rw=0;
  7.         P0=com;
  8.         delay_uint(3);
  9.         e=1;
  10.         delay_uint(25);
  11.         e=0;
  12. }

  13. /***********************lcd1602寫(xiě)數(shù)據(jù)函數(shù)************************/
  14. void write_data(uchar dat)
  15. {
  16.         e=0;
  17.         rs=1;
  18.         rw=0;
  19.         P0=dat;
  20.         delay_uint(3);
  21.         e=1;
  22.         delay_uint(25);
  23.         e=0;      
  24. }

  25. /*********************光標(biāo)控制***********************/
  26. void lcd1602_guanbiao(uchar open_off,uchar add)
  27. {
  28.         if(open_off == 1)   //開(kāi)光標(biāo)
  29.         {
  30.                 write_com(0x80+add);              //將光標(biāo)移動(dòng)到秒個(gè)位
  31.                 write_com(0x0f);                //顯示光標(biāo)并且閃爍
  32.         }
  33.         else
  34.         {
  35.                 write_com(0x0c);   //關(guān)光標(biāo)
  36.         }               
  37. }

  38. /***********************lcd1602上顯示兩位十進(jìn)制數(shù)************************/
  39. void write_sfm2(uchar hang,uchar add,uchar date)
  40. {
  41.         uchar shi,ge;
  42.         if(hang==1)   
  43.                 write_com(0x80+add);
  44.         else
  45.                 write_com(0x80+0x40+add);
  46.         shi=date%100/10;
  47.         ge=date%10;                  
  48.         write_data(0x30+shi);
  49.         write_data(0x30+ge);      
  50. }

  51. /***********************lcd1602上顯示這字符函數(shù)************************/
  52. void write_string(uchar hang,uchar add,uchar *p)
  53. {
  54.         if(hang==1)   
  55.                 write_com(0x80+add);
  56.         else
  57.                 write_com(0x80+0x40+add);
  58.                 while(1)                                                                                                                 
  59.                 {
  60.                         if(*p == '\0')  break;
  61.                         write_data(*p);
  62.                         p++;
  63.                         delay_uint(50);
  64.                 }      
  65. }


  66. /***********************lcd1602初始化設(shè)置************************/
  67. void init_1602()
  68. {
  69.         write_com(0x38);        //
  70.         write_com(0x0c);
  71.         write_com(0x06);
  72.         delay_uint(1000);
  73.         write_string(1,0," Password Lock  ");      
  74.         write_string(2,0," Input:         ");
  75.         lcd1602_guanbiao(1,7+0x40);  //開(kāi)光標(biāo)
  76. }

復(fù)制代碼



作者: admin    時(shí)間: 2018-11-3 15:28
這是51黑論壇里面別人相似問(wèn)題的解決過(guò)程:http://m.raoushi.com/bbs/dpj-39388-1.html
作者: hbiken_    時(shí)間: 2018-11-3 15:42
admin 發(fā)表于 2018-11-3 15:28
這是51黑論壇里面別人相似問(wèn)題的解決過(guò)程:http://m.raoushi.com/bbs/dpj-39388-1.html

謝謝。1602的電氣該怎么設(shè)置呢?

作者: 475345347    時(shí)間: 2018-11-3 21:38
寫(xiě)命令函數(shù),lcd1602寫(xiě)數(shù)據(jù)函數(shù) 延時(shí)太久,如是c51延時(shí)一個(gè)機(jī)器周期就好





歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1