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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1962|回復: 1
打印 上一主題 下一主題
收起左側

單片機12864串行驅動不顯示,照著各種資料都調試了還是不行

[復制鏈接]
跳轉到指定樓層
樓主
ID:247342 發表于 2019-4-18 09:16 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
代碼如下:
  1. #ifndef lcd_h
  2. #define lcd_h

  3. #include <reg51.h>
  4. #include <intrins.h>

  5. #define uchar unsigned char
  6. #define uint unsigned int

  7. #define R_D 0xfe       //讀數據
  8. #define R_C 0xfa      //讀指令
  9. #define W_D 0xfc       //寫數據
  10. #define W_C 0xf8      //寫指令

  11. sbit CS=P3^4;
  12. sbit SID=P3^3;
  13. sbit SCLK=P3^2;
  14. sbit PSB=P2^7;
  15. sbit RST=P2^6;

  16. void init_LCD();
  17. void Write_LCD(uchar con,uchar date);
  18. //uchar Read_BF(uchar con);

  19. /********************************************
  20. 延時毫秒程序
  21. ********************************************/
  22. void delay_ms(uint i)
  23. {
  24.     uint j;
  25.                 for(;i>0;i--)
  26.                  for(j=114;j>0;j--)
  27.                          ;
  28.    }

  29. void delay_us(uchar i)
  30. {
  31.         
  32.         for(i;i>0;i--)
  33.         _nop_();

  34.     }

  35. void Send_Byte(uchar date)
  36. {
  37.      uchar i;
  38.            //SCLK=0;
  39.            for (i=0;i<8;i++)
  40.              {
  41.                             SCLK=0;
  42.                                   if(date&0x80)
  43.                                                 SID=1;
  44.                                         else
  45.                                                 SID=0;        
  46.                                         SCLK=1;
  47.                                         date<<=1;
  48.                                        
  49.                             }
  50.   }

  51. uchar Read_Byte()
  52.         {
  53.            uchar i;
  54.                  uchar temp,temp1,temp2;
  55.                  for(i=0;i<8;i++)
  56.                          {
  57.                                          temp1<<=1;
  58.                                    SCLK=0;
  59.                                    SCLK=1;
  60.                                    SCLK=0;
  61.                                    if(SID)
  62.                                                  temp1+=1;
  63.                                          //SCLK=1;
  64.                     }
  65.                          for(i=0;i<8;i++)
  66.                          {
  67.                                          temp2<<=1;
  68.                                    SCLK=0;
  69.                                    SCLK=1;
  70.                                    SCLK=0;
  71.                                    if(SID)
  72.                                                  temp2+=1;
  73.                                          //SCLK=1;
  74.                     }
  75.                          temp1=0xf0&temp1;
  76.                          temp2>>=4;
  77.                          temp=temp1+temp2;
  78.                          return temp;
  79.          
  80.         }

  81. void CheckBusy()
  82. {

  83.         Send_Byte(0xfc);
  84.           while(0x80&Read_Byte());
  85.         
  86. }
  87.         
  88.         void Write_LCD(uchar con,uchar date)
  89.         {
  90.                  uchar date_h,date_l;
  91.                  date_h=date&0xf0;
  92.                  date_l=(date&0x0f)<<4;
  93.                  CS=1;
  94.                  CheckBusy();
  95.                  Send_Byte(con);
  96.                  //delay_us(100);
  97.                  Send_Byte(date_h);
  98.                  //delay_us(100);
  99.                  Send_Byte(date_l);            
  100.                  CS=0;
  101.                  delay_us(100);        
  102.            }

  103. void init_LCD()
  104. {
  105.                  
  106.            delay_ms(40);
  107.            RST=0;
  108.            delay_us(100);
  109.            RST=1;
  110.                  PSB=0;           
  111.            Write_LCD(W_C,0x30);
  112.      delay_us(100);        
  113.            Write_LCD(W_C,0x30);        
  114.      delay_us(137);        
  115.            Write_LCD(W_C,0x0c);
  116.            delay_us(100);
  117.            Write_LCD(W_C,0x01);
  118.            delay_ms(10);
  119.            Write_LCD(W_C,0x06);

  120.    }
  121. #endif
復制代碼




main函數
  1. #include <reg51.h>
  2. #include "lcd.h"
  3. //#include "sht11.h"

  4. uchar str[]={"1234567890123456"};
  5. void main()
  6. {
  7.         uchar i;
  8.         init_LCD();
  9.         while(1)
  10.         {
  11.          
  12.                 Write_LCD(W_C,0x80);
  13.                 for(i=0;i<16;i++)
  14.                   {
  15.                                 Write_LCD(W_D,str[i]);
  16.                         }
  17.         }
  18.   }
復制代碼


照著各種資料都調試了,就是不行,跪求大神指點
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:524818 發表于 2019-5-6 13:15 | 只看該作者
可能是LCD12864串并設置有誤,測量一下PSB電壓:5v是并行模式,0v是串行模式,有的屏,是在背面改焊0電阻實現的,仔細看看應該是電路連接問題
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久福利电影 | 国产一区二区三区视频 | 亚洲欧洲成人av每日更新 | 亚洲一区二区三区在线 | 亚洲视频一区在线观看 | 亚洲精品一区二区三区四区高清 | 亚洲日本欧美 | 婷婷免费视频 | 亚洲天堂影院 | 久久精品一区二区三区四区 | 成人1区2区| 热99视频| a在线观看 | 国精产品一品二品国精在线观看 | 色婷婷综合久久久中字幕精品久久 | 狠狠爱网址| 国产在线网站 | 一区二区三区四区在线视频 | 国产成人精品综合 | 久草视频在线播放 | 99精品久久99久久久久 | av三级| 国产日韩精品一区 | 成人免费看 | 色婷婷一区二区三区四区 | 涩在线 | 亚洲精品久久久蜜桃 | 中文字幕视频在线 | 美女视频一区二区三区 | 欧美国产日韩在线 | 欧美色综合一区二区三区 | 国产欧美一级二级三级在线视频 | 成人依人| 电影午夜精品一区二区三区 | 精品国产黄a∨片高清在线 成人区精品一区二区婷婷 日本一区二区视频 | 精品国产区 | 欧美精品影院 | 天天射夜夜操 | 综合色影院 | 亚洲精品久久久久久下一站 | 国产精品一区三区 |