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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

求助萬能的網友,單片機+12864不能顯示

[復制鏈接]
跳轉到指定樓層
樓主
50黑幣
按照開發板做個帶12864的最小系統板,接口和開發板一樣,可是燒錄一樣的程序就是顯示不了,求點解決方案

  1. #include <reg51.h>
  2. #include <intrins.h>
  3. #include <stdlib.h>        
  4. #define uchar unsigned char
  5. #define uint  unsigned int
  6. /* 端口定義*/
  7. #define LCD_data  P0            //數據口
  8. sbit LCD_RS  =  P2^6;            //寄存器選擇輸入
  9. sbit LCD_RW  =  P2^5;            //液晶讀/寫控制
  10. sbit LCD_EN  =  P2^7;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            //液晶使能控制
  11. sbit LCD_PSB =  P3^4;            //串/并方式控制
  12. sbit LCD_RST =  P3^2;

  13. uchar code dis1[] = {"  123456  "};
  14. uchar code dis2[] = {"    0123456789 "};

  15. void delay_1ms(uint x)
  16. {
  17. uint i,j;
  18. for(j=0;j<x;j++)  
  19.         for(i=0;i<110;i++);
  20. }

  21. /*******************************************************************/
  22. /*                                                                 */
  23. /*寫指令數據到LCD                                                  */
  24. /*RS=L,RW=L,E=高脈沖,D0-D7=指令碼。                             */
  25. /*                                                                 */
  26. /*******************************************************************/
  27. void write_cmd(uchar cmd)
  28. {                          
  29.     LCD_RS = 0;
  30.     LCD_RW = 0;
  31.     LCD_EN = 0;

  32.         P0 =cmd;
  33.         delay_1ms(5);
  34.     LCD_EN = 1;
  35.         delay_1ms(5);
  36.     LCD_EN = 0;  
  37. }

  38. /*******************************************************************/
  39. /*                                                                 */
  40. /*寫顯示數據到LCD                                                  */
  41. /*RS=H,RW=L,E=高脈沖,D0-D7=數據。                               */
  42. /*                                                                 */
  43. /*******************************************************************/
  44. void write_dat(uchar dat)
  45. {                          
  46.     LCD_RS = 1;
  47.     LCD_RW = 0;
  48.     LCD_EN = 0;

  49.         P0=dat;
  50.         delay_1ms(5);
  51.     LCD_EN = 1;
  52.         delay_1ms(5);
  53.     LCD_EN = 0;  
  54. }

  55. /*********************************************************/
  56. /*                                                       */
  57. /* 設定顯示位置                                          */
  58. /*                                                       */
  59. /*********************************************************/
  60. void lcd_pos(uchar X,uchar Y)
  61. {                          
  62.    uchar  pos;
  63.    if (X==0)
  64.      {X=0x80;}
  65.    else if (X==1)
  66.      {X=0x90;}
  67.    else if (X==2)
  68.      {X=0x88;}
  69.    else if (X==3)
  70.      {X=0x98;}
  71.    pos = X+Y ;  
  72.    write_cmd(pos);     //顯示地址
  73. }

  74. /*******************************************************************/
  75. /*                                                                 */
  76. /*  LCD初始化設定                                                  */
  77. /*                                                                 */
  78. /*******************************************************************/
  79. void lcd_init()
  80. {
  81.     LCD_PSB = 1;         //并口方式  
  82.     write_cmd(0x30);      //基本指令操作
  83.     delay_1ms(5);
  84.     write_cmd(0x0C);      //顯示開,關光標
  85.     delay_1ms(5);
  86.     write_cmd(0x01);      //清除LCD的顯示內容
  87.     delay_1ms(5);
  88. }

  89. /*********************************************************/
  90. /*                                                                                                                 */
  91. /* 主程序                                                                                    */
  92. /*                                                       */
  93. /*********************************************************/
  94. main()
  95. {
  96.     uchar i,j;

  97.     delay_1ms(10);                 //延時
  98.     lcd_init();                 //初始化LCD
  99.         
  100.          
  101.     lcd_pos(0,0);             //設置顯示位置為第一行的第1個字符
  102.     i = 0;
  103.          while(dis1[i]!= '\0')
  104.     {
  105.        write_dat(dis1[i]);      //顯示字符
  106.          i++;
  107.     }

  108.     lcd_pos(1,0);  
  109.         j=0;
  110.         
  111.                    while(dis2[j]!= '\0')
  112.     {
  113.        write_dat(dis2[j]);      //顯示字符
  114.          j++;
  115.     }
  116.         while(1);



  117. }
復制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:282519 發表于 2018-12-22 20:22 | 只看該作者
對比度沒有調節好
回復

使用道具 舉報

板凳
ID:403593 發表于 2018-12-23 07:51 | 只看該作者
硬件問題居多
回復

使用道具 舉報

地板
ID:213280 發表于 2018-12-23 08:25 來自手機 | 只看該作者
海盜船 發表于 2018-12-22 20:22
對比度沒有調節好

調了,也顯示不了
回復

使用道具 舉報

5#
ID:213280 發表于 2018-12-23 09:54 | 只看該作者

換了個串行程序可以顯示了,可是并行的為啥不行呢
回復

使用道具 舉報

6#
ID:432823 發表于 2018-12-23 10:08 | 只看該作者
對比度調節不正確,調節R7,另連接也檢查一下。
回復

使用道具 舉報

7#
ID:432823 發表于 2018-12-23 10:14 | 只看該作者
寫命令、數據前檢查LCD忙,寫命令、數據中設好RS等加一點延時NOP();
回復

使用道具 舉報

8#
ID:425222 發表于 2018-12-23 11:50 | 只看該作者
兩個芯片的型號是否完全一樣,晶振是否一樣,如果不一樣那就該延時,如果一樣那上網找12864硬件的接線資料
回復

使用道具 舉報

9#
ID:213280 發表于 2018-12-23 12:45 | 只看該作者
yaoji123 發表于 2018-12-23 10:08
對比度調節不正確,調節R7,另連接也檢查一下。

可以調,線也沒錯,但是換個串行程序又可以顯示
回復

使用道具 舉報

10#
ID:452561 發表于 2018-12-23 14:22 | 只看該作者
兩個芯片的型號是不是一樣的?晶振是不是一樣的?
回復

使用道具 舉報

11#
ID:213280 發表于 2018-12-23 15:12 | 只看該作者
yangcong1314 發表于 2018-12-23 14:22
兩個芯片的型號是不是一樣的?晶振是不是一樣的?

都一樣
回復

使用道具 舉報

12#
ID:303383 發表于 2018-12-24 14:28 | 只看該作者
提示: 作者被禁止或刪除 內容自動屏蔽
回復

使用道具 舉報

13#
ID:451718 發表于 2018-12-24 19:55 | 只看該作者
我也和你一樣碰到了同樣的情況, 但是,我的現象是恰恰相反,自己做的板子上有顯示,但有時會花屏,開發板上就完全沒有顯示,就是兩條橫崗。持續關注你,一起學習哈。
回復

使用道具 舉報

14#
ID:449525 發表于 2018-12-24 22:26 來自手機 | 只看該作者
你單獨做的話,自己焊接線,初始化部分需要延時,查下線別接錯了,應該沒有其它問題了
回復

使用道具 舉報

15#
ID:420031 發表于 2018-12-24 23:49 | 只看該作者
C語言還沒學會。如果要匯編的可以轉發一個給你試試。我測試過是可以的
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产伦精品一区二区三区视频金莲 | 色婷婷综合久久久中文字幕 | 欧美日韩一二三区 | 欧美精品一区二区三区蜜臀 | 一区二区三区视频在线观看 | 天天天操操操 | 国产精品一区在线 | 中文字幕高清一区 | 一区二区日韩 | 欧美成人一区二区三区 | 久久综合狠狠综合久久综合88 | 久久久久国产精品 | 高清一区二区三区 | 国产伦精品一区二区三区精品视频 | 国产在线观看免费 | 黄色一级网 | 国产精品视频不卡 | 欧美阿v | 天天插天天操 | 毛片网站在线观看视频 | 四虎影院久久 | 日本中文在线视频 | 国产精品视频一区二区三区四区国 | 久草视频在线播放 | 国产亚洲一区二区三区 | 美日韩视频 | 操视频网站 | 欧美在线一区二区三区四区 | 四虎最新视频 | 国产精品免费在线 | 国产一区二区三区四 | 成人国产精品一级毛片视频毛片 | 日韩精品免费在线观看 | 亚洲区一区二 | 亚洲精品一区中文字幕乱码 | 久久99精品久久久久婷婷 | 日韩电影a | 久热国产精品 | 久久久女女女女999久久 | 国产精品毛片久久久久久 | 欧美日韩亚洲国产 |