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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

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

[復制鏈接]
跳轉到指定樓層
樓主
ID:213280 發(fā)表于 2018-12-22 18:08 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
50黑幣
按照開發(fā)板做個帶12864的最小系統(tǒng)板,接口和開發(fā)板一樣,可是燒錄一樣的程序就是顯示不了,求點解決方案

  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            //數(shù)據(jù)口
  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. /*寫指令數(shù)據(jù)到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. /*寫顯示數(shù)據(jù)到LCD                                                  */
  41. /*RS=H,RW=L,E=高脈沖,D0-D7=數(shù)據(jù)。                               */
  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空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

地板
ID:213280 發(fā)表于 2018-12-23 08:25 來自觸屏版 | 只看該作者
海盜船 發(fā)表于 2018-12-22 20:22
對比度沒有調節(jié)好

調了,也顯示不了
回復

使用道具 舉報

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

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

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

使用道具 舉報

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

使用道具 舉報

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

都一樣
回復

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美一区二区免费 | 精品国模一区二区三区欧美 | 黑色丝袜三级在线播放 | 日韩久久综合网 | 日韩精品视频在线观看一区二区三区 | av片在线观看 | a欧美 | 免费看黄色视屏 | 免费在线观看黄网站 | 亚洲品质自拍视频 | 日本黄色一级视频 | 婷婷五月色综合香五月 | 超级碰在线 | 欧美综合网 | 精品欧美一区免费观看α√ | 欧美一级在线 | 成人在线精品视频 | 成人在线播放网站 | 国产在线一区二 | 亚洲电影在线播放 | 国产精品久久久久久久久久久免费看 | 免费午夜电影 | 色爱av| 亚洲一区二区精品视频 | 欧美日韩淫片 | 色婷婷精品久久二区二区蜜臂av | 精品一区二区三区在线观看 | 在线播放中文字幕 | 日本成人福利视频 | 国产精品69毛片高清亚洲 | 四虎影院免费在线 | 99免费视频| 午夜一级黄色片 | 国产午夜精品一区二区三区四区 | 黄色一级网 | 免费观看一区二区三区毛片 | av免费在线播放 | 欧美一区二区三区在线看 | 成人福利在线观看 | 亚洲成人精品国产 | 噜啊噜在线 |