找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

用protues做了仿真,液晶顯示器沒顯示

查看數(shù): 7612 | 評論數(shù): 14 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時(shí)間: 2020-5-16 08:32

正文摘要:

請問各位大神可以幫忙看看怎么回事嗎?

回復(fù)

ID:753047 發(fā)表于 2020-5-16 19:43
kakakakaka 發(fā)表于 2020-5-16 16:31
你寫的代碼是針對液晶A的,但是你仿真軟件里添加的是液晶B。你用A的驅(qū)動(dòng)代碼肯定驅(qū)動(dòng)不了B。要么你找A的器 ...

我找到那個(gè)液晶了,但是還是不顯示
ID:753386 發(fā)表于 2020-5-16 16:31
你寫的代碼是針對液晶A的,但是你仿真軟件里添加的是液晶B。你用A的驅(qū)動(dòng)代碼肯定驅(qū)動(dòng)不了B。要么你找A的器件描述添加進(jìn)proteus;要么改自己的代碼,按照你proteus選擇的液晶型號進(jìn)行驅(qū)動(dòng)它打代碼編寫。
ID:753047 發(fā)表于 2020-5-16 15:54
qwersde 發(fā)表于 2020-5-16 14:48
http://www.torrancerestoration.com/bbs/dpj-80017-1.html 用這個(gè)顯示屏應(yīng)該可以解決你帶不能顯示的問題

謝謝,我找到那個(gè)液晶了
ID:753047 發(fā)表于 2020-5-16 15:52
xxpp2011 發(fā)表于 2020-5-16 14:11
可以自己添加到元件庫
LCD12864A.dll Proteus中文字庫元件下載(ST7920)單片機(jī)控制DS18B20溫度傳感器 - 單 ...

不知道哪里又錯(cuò)了
ID:752659 發(fā)表于 2020-5-16 14:48
http://www.torrancerestoration.com/bbs/dpj-80017-1.html 用這個(gè)顯示屏應(yīng)該可以解決你帶不能顯示的問題
ID:452950 發(fā)表于 2020-5-16 14:11
可以自己添加到元件庫
LCD12864A.dll Proteus中文字庫元件下載(ST7920)單片機(jī)控制DS18B20溫度傳感器 - 單片機(jī)仿真論壇 單片機(jī)論壇 http://www.torrancerestoration.com/bbs/dpj-148431-1.html
ID:753047 發(fā)表于 2020-5-16 13:35
taotie 發(fā)表于 2020-5-16 13:25
應(yīng)該用RESPACK-8并且1腳接+5v

好的,謝謝,我試一下
ID:342822 發(fā)表于 2020-5-16 13:25

應(yīng)該用RESPACK-8并且1腳接+5v
ID:753047 發(fā)表于 2020-5-16 13:03
angmall 發(fā)表于 2020-5-16 10:47
你這個(gè)12864LCD是KS0108驅(qū)動(dòng)芯片的
你的軟件是驅(qū)動(dòng)st7920,可惜proteus庫里沒有
所以不顯示。

不太懂
ID:753047 發(fā)表于 2020-5-16 13:01
taotie 發(fā)表于 2020-5-16 11:32
瞟一眼~那個(gè)上拉電阻RP1用錯(cuò)了

怎么錯(cuò)啦啊
ID:753047 發(fā)表于 2020-5-16 13:00
xuyaqi 發(fā)表于 2020-5-16 09:58
雖然都是LCD12864,驅(qū)動(dòng)芯片不一樣,驅(qū)動(dòng)程序也不一樣,比如仿真硬件要求cs1,cs2,你的軟件卻沒有cs1,cs2 ...

謝謝,但是我沒有在里面找到硬件用的LCM12864J-3
ID:342822 發(fā)表于 2020-5-16 11:32
瞟一眼~那個(gè)上拉電阻RP1用錯(cuò)了
ID:155507 發(fā)表于 2020-5-16 10:47
本帖最后由 angmall 于 2020-5-16 13:54 編輯

你這個(gè)12864LCD是KS0108驅(qū)動(dòng)芯片的
你的軟件是驅(qū)動(dòng)st7920,可惜proteus庫里沒有
所以不顯示。

  1. #include <reg52.h>

  2. sbit EN=P0^3;
  3. sbit RS=P0^1;
  4. sbit RW=P0^2;
  5. sbit CS1=P0^4;
  6. sbit CS2=P0^5;
  7. sbit RST=P0^6;

  8. unsigned char code a[2][32]=
  9. {
  10.         {
  11.                 //0xFF,0xFF,0x03,0xFB,0x9B,0xAB,0xBB,0x3A,0x81,0xBB,0xBB,0xAB,0x9B,0xBB,0xBB,0xFF,  //
  12.                 //0x7F,0x9F,0xE0,0xBF,0xDF,0x67,0x79,0xBE,0xB8,0xD6,0xEE,0xD6,0xBA,0x7C,0x7F,0xFF
  13.                 /*--  文字:  液  --*/
  14.                 /*--  宋體12;  此字體下對應(yīng)的點(diǎn)陣為:寬x高=16x16   --*/
  15.                 0x10,0x61,0x06,0xE0,0x18,0x84,0xE4,0x1C,0x84,0x65,0xBE,0x24,0xA4,0x64,0x04,0x00,
  16.                 0x04,0x04,0xFF,0x00,0x01,0x00,0xFF,0x41,0x21,0x12,0x0C,0x1B,0x61,0xC0,0x40,0x00
  17.            
  18.         },
  19.         {
  20.                 //0xBF,0xC3,0xEF,0x00,0xEF,0xEF,0xDF,0xEF,0x70,0x87,0xF7,0x07,0xF7,0x07,0xFF,0xFF,     //
  21.                 //0xFD,0xF9,0xFD,0x00,0xFE,0xFE,0xFB,0xBD,0xDE,0xE7,0xB9,0x7E,0xBF,0xC0,0xFF,0xFF
  22.                 /*--  文字:  晶  --*/
  23.                 /*--  宋體12;  此字體下對應(yīng)的點(diǎn)陣為:寬x高=16x16   --*/
  24.                 0x00,0x00,0x00,0x00,0x7E,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x7E,0x00,0x00,0x00,0x00,
  25.                 0x00,0x7F,0x25,0x25,0x25,0x25,0x7F,0x00,0x00,0x7F,0x25,0x25,0x25,0x25,0x7F,0x00
  26.            
  27.         },
  28. };

  29. void Delay (unsigned int z)
  30. {
  31.         unsigned int i,j;
  32.         for(i=z;i>0;i--)
  33.            for(j=2;j>0;j--);
  34. }
  35. void WriteCode(unsigned char com)
  36. {
  37.         Delay(1);
  38.         RS=0;
  39.         RW=0;
  40.         P2=com;
  41.         EN=1;
  42.         EN=0;
  43.         Delay(1);  
  44. }
  45. void WriteData(unsigned char dat)
  46. {
  47.         Delay(1);
  48.         RS=1;
  49.         RW=0;
  50.         P2=dat;
  51.         EN=1;
  52.         EN=0;
  53.         Delay(1);  
  54. }
  55. unsigned char ReadData()
  56. {
  57.         unsigned char save;     
  58.         Delay(1);
  59.         RS=1;
  60.         RW=1;
  61.         EN=1;
  62.         save=P2;
  63.         EN=0;
  64.         return(save);
  65. //        Delay(1);
  66. }
  67. void LcdInitialize()
  68. {
  69.         Delay(1);
  70.         CS1=0; CS2=0;
  71.         WriteCode(0x3e);
  72.         WriteCode(0xb8);
  73.         WriteCode(0xc0);
  74.         WriteCode(0x40);
  75.         WriteCode(0x3f);
  76. }
  77. void SetXy(unsigned char x,unsigned char y)
  78. {
  79.         WriteCode(0xb8+x);
  80.         WriteCode(0x40+y);
  81.         Delay(1);
  82. }
  83. void LcdClear()
  84. {
  85.         unsigned char i,j;
  86.         CS1=0;CS2=0;
  87.         for(i=0;i<8;i++)
  88.         {
  89.                 SetXy(i,0);
  90.                 for(j=0;j<64;j++)
  91.                 WriteData(0x00);
  92.         }                                                            
  93. }
  94. void DrawPoint(unsigned char x,unsigned char y,unsigned char dat)
  95. {
  96.         unsigned char he;
  97.         SetXy(x,y);
  98.         he=ReadData();
  99.         he=ReadData();
  100.         SetXy(x,y);
  101.         WriteData(dat+he);
  102. }
  103. void DrawHanzi(unsigned char x,unsigned char y,unsigned char code *dat)
  104. {
  105.         unsigned char i=0,j=0;
  106.         for(i=0;i<2;i++)
  107.         {
  108.                 SetXy(x+i,y);
  109.                 for(j=0;j<16;j++)
  110.                 WriteData(dat[16*i+j]);
  111.         }
  112. }
  113. void main()
  114. {
  115.         unsigned char i,j;
  116.         LcdInitialize();
  117.         LcdClear();
  118.         for(i=0;i<4;i++){DrawHanzi(2*i,16*j,a[0]);DrawHanzi(2*i,16*j+16,a[1]);}
  119.         for(i=0;i<4;i++){DrawHanzi(2*i,16*j+32,a[0]);DrawHanzi(2*i,16*j+16+32,a[1]);}
  120.         DrawPoint(0,0,1);
  121.         while(1);
  122. }



復(fù)制代碼
ID:94031 發(fā)表于 2020-5-16 09:58
雖然都是LCD12864,驅(qū)動(dòng)芯片不一樣,驅(qū)動(dòng)程序也不一樣,比如仿真硬件要求cs1,cs2,你的軟件卻沒有cs1,cs2的驅(qū)動(dòng),所以不顯示。

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

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

快速回復(fù) 返回頂部 返回列表