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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

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

[復制鏈接]
跳轉到指定樓層
樓主
請問各位大神可以幫忙看看怎么回事嗎?

仿真錯誤.jpg (145.32 KB, 下載次數: 139)

仿真錯誤.jpg

1 程序.zip

135.87 KB, 下載次數: 12

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

使用道具 舉報

沙發
ID:94031 發表于 2020-5-16 09:58 | 只看該作者
雖然都是LCD12864,驅動芯片不一樣,驅動程序也不一樣,比如仿真硬件要求cs1,cs2,你的軟件卻沒有cs1,cs2的驅動,所以不顯示。
回復

使用道具 舉報

板凳
ID:155507 發表于 2020-5-16 10:47 | 只看該作者
本帖最后由 angmall 于 2020-5-16 13:54 編輯

你這個12864LCD是KS0108驅動芯片的
你的軟件是驅動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;  此字體下對應的點陣為:寬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;  此字體下對應的點陣為:寬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. }



復制代碼
回復

使用道具 舉報

地板
ID:342822 發表于 2020-5-16 11:32 | 只看該作者
瞟一眼~那個上拉電阻RP1用錯了
回復

使用道具 舉報

5#
ID:753047 發表于 2020-5-16 13:00 | 只看該作者
xuyaqi 發表于 2020-5-16 09:58
雖然都是LCD12864,驅動芯片不一樣,驅動程序也不一樣,比如仿真硬件要求cs1,cs2,你的軟件卻沒有cs1,cs2 ...

謝謝,但是我沒有在里面找到硬件用的LCM12864J-3
回復

使用道具 舉報

6#
ID:753047 發表于 2020-5-16 13:01 | 只看該作者
taotie 發表于 2020-5-16 11:32
瞟一眼~那個上拉電阻RP1用錯了

怎么錯啦啊
回復

使用道具 舉報

7#
ID:753047 發表于 2020-5-16 13:03 | 只看該作者
angmall 發表于 2020-5-16 10:47
你這個12864LCD是KS0108驅動芯片的
你的軟件是驅動st7920,可惜proteus庫里沒有
所以不顯示。

不太懂
回復

使用道具 舉報

8#
ID:342822 發表于 2020-5-16 13:25 | 只看該作者

應該用RESPACK-8并且1腳接+5v
回復

使用道具 舉報

9#
ID:753047 發表于 2020-5-16 13:35 | 只看該作者
taotie 發表于 2020-5-16 13:25
應該用RESPACK-8并且1腳接+5v

好的,謝謝,我試一下
回復

使用道具 舉報

10#
ID:452950 發表于 2020-5-16 14:11 | 只看該作者
可以自己添加到元件庫
LCD12864A.dll Proteus中文字庫元件下載(ST7920)單片機控制DS18B20溫度傳感器 - 單片機仿真論壇 單片機論壇 http://www.zg4o1577.cn/bbs/dpj-148431-1.html
回復

使用道具 舉報

11#
ID:752659 發表于 2020-5-16 14:48 | 只看該作者
http://www.zg4o1577.cn/bbs/dpj-80017-1.html 用這個顯示屏應該可以解決你帶不能顯示的問題
回復

使用道具 舉報

12#
ID:753047 發表于 2020-5-16 15:52 | 只看該作者
xxpp2011 發表于 2020-5-16 14:11
可以自己添加到元件庫
LCD12864A.dll Proteus中文字庫元件下載(ST7920)單片機控制DS18B20溫度傳感器 - 單 ...

不知道哪里又錯了
回復

使用道具 舉報

13#
ID:753047 發表于 2020-5-16 15:54 | 只看該作者
qwersde 發表于 2020-5-16 14:48
http://www.zg4o1577.cn/bbs/dpj-80017-1.html 用這個顯示屏應該可以解決你帶不能顯示的問題

謝謝,我找到那個液晶了
回復

使用道具 舉報

14#
ID:753386 發表于 2020-5-16 16:31 | 只看該作者
你寫的代碼是針對液晶A的,但是你仿真軟件里添加的是液晶B。你用A的驅動代碼肯定驅動不了B。要么你找A的器件描述添加進proteus;要么改自己的代碼,按照你proteus選擇的液晶型號進行驅動它打代碼編寫。
回復

使用道具 舉報

15#
ID:753047 發表于 2020-5-16 19:43 | 只看該作者
kakakakaka 發表于 2020-5-16 16:31
你寫的代碼是針對液晶A的,但是你仿真軟件里添加的是液晶B。你用A的驅動代碼肯定驅動不了B。要么你找A的器 ...

我找到那個液晶了,但是還是不顯示
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 天天综合久久 | 毛片网站在线观看视频 | 啪一啪在线视频 | 日本不卡一区二区三区在线观看 | 精品久久免费 | 蜜臀久久99精品久久久久久宅男 | 日韩在线免费视频 | 天天干天天操 | 国产精品久久久久久久7电影 | 精品一区二区三区在线观看国产 | 日韩一区二区福利视频 | 狠狠狠色丁香婷婷综合久久五月 | 欧美精品99 | 亚洲视频免费 | av手机免费在线观看 | 久久青草av| 狠狠干天天干 | 亚洲一区二区三区视频在线 | 欧美激情在线精品一区二区三区 | 在线一级片 | 4hu最新网址| 久久久久久久久精 | 一区二区三区在线观看免费视频 | 欧美精品一区二区三区一线天视频 | 亚洲国产精品视频 | 午夜影院在线观看 | 一本一道久久a久久精品蜜桃 | 欧美xxxx做受欧美 | 国产视频2021| 一本一道久久a久久精品蜜桃 | 一区二区视频在线观看 | 天天弄| 成人精品国产免费网站 | 深夜福利亚洲 | 国产日韩欧美一区 | 狠狠综合久久av一区二区老牛 | 九色一区 | 欧美国产精品一区二区三区 | 国产精品欧美一区喷水 | 欧美在线a| 欧美日韩国产三级 |