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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

關于單片機+LCD12864無法顯示問題,請求大佬幫忙看下如何解決,非常感謝

  [復制鏈接]
跳轉到指定樓層
樓主
50黑幣
是這樣的,本人剛學單片機不久,最近玩這個12864沒玩好,就杠上了。已經連續一個多星期晚上弄這個LCD12864了,沒弄好,吃不好睡不好奈何能力有限,硬是拿他沒轍,所以想請各位大佬幫忙看下,不勝感激!
本人自己焊的板子,板子肯定是沒問題的,因為本人拿另一個軟件(軟件2)跑起來是正常的,見圖2
但是這個軟件1仿真跑起來是正常可以跑的,但是一上板子就什么都沒有了,見圖1.最后反復核查了板子沒發現問題,所以認為是軟件1有問題。
百度過有說是時序有問題,有說是延時的問題,反正我自己試了很久是沒有能力解決的,所以想請網上的大佬幫忙看看,不勝感激
圖3是軟件1在仿真上跑起來
程序1里面有仿真文件

99bcfdb523b98ecf167528af9cadfe3.jpg (424.68 KB, 下載次數: 81)

圖3

圖3

194c77e5d0d3ba75bca3580cd3190e0.jpg (296.14 KB, 下載次數: 85)

圖2

圖2

2653f058de786810c7b12f667f126c4.jpg (269.47 KB, 下載次數: 82)

圖1

圖1

036-貪吃蛇 俄羅斯方塊 萬年歷.rar

150.94 KB, 下載次數: 9

程序1

SMR12864-L.zip

712.29 KB, 下載次數: 11

程序2

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

使用道具 舉報

沙發
ID:155507 發表于 2022-12-5 10:02 | 只看該作者
程序1和程序2的接口都不一樣,你是根據哪一個程序做的接口?

程序1
  1. #ifndef _12864_H__
  2. #define _12864_H__       
  3. #define uchar unsigned char
  4. #define uint unsigned int           //宏義
  5. sbit E=P2^0;
  6. sbit RW=P2^1;
  7. sbit RS=P2^2;
  8. sbit CS2=P2^3;
  9. sbit CS1=P2^4;                         //端口定義
  10. /*1ms延時程序*/
  11. void delay1ms(uint k)
  12. {
  13.   k=k*125;
  14.   while(k--);
  15. }
  16. /*12864判忙 */
  17. void chekbusy12864(void)
  18. {
  19.   uchar dat;
  20.   EX0=0;
  21.   RS=0;       //指令模式
  22.   RW=1;       //讀數據
  23. do{
  24.    P0=0x00;                         //
  25.    E=1;
  26.    dat=P0&0x80;
  27.    E=0;
  28.   }while(dat!=0x00);
  29.   EX0=1;
  30. }
復制代碼




程序2
  1. //                12864  
  2. //***************************************************************************
  3. //LCD IC: SBN6400&SBN0064  or  NT7107&NT7108
  4. //CPU=89C52   SysClock=12MHz                                                *
  5. //RS=P3.3            R/W=P3.1       E=P3.0  CS1=P3.4        CS2=P3.5        *
  6. //     DB0-DB7=P1.0-P1.7     (WR)=P3.1      /Reset=InBoard                  *
  7. // CS1  CS2 都為低有效                                                                                                            *
  8. //***************************************************************************

  9. #include <reg52.h>
  10. #include <intrins.h>

  11. sbit CS1=P3^4; //Master chip E
  12. sbit CS2=P3^5; //Slave chip E
  13. sbit E=P3^0; //6800 mode E single
  14. sbit RS=P3^3; //Data or Instrument Select
  15. sbit RW=P3^1; //Write or Read
  16. sbit RES=P3^2; //Lcm reset

  17. #define Lcd_Bus P1 //MCU P1<------> LCM

  18. #define        LcmXPixel 128        //橫像素
  19. #define        LcmYPixel 64        //縱像素

  20. unsigned char Page;        //頁 地址
  21. unsigned char Col;        //列 地址

  22. void int_zhongduan();
  23. unsigned char busy_flag;
復制代碼




回復

使用道具 舉報

板凳
ID:965189 發表于 2022-12-5 13:19 | 只看該作者
通信端口不同,把端口調到對應位置。
回復

使用道具 舉報

地板
ID:584814 發表于 2022-12-5 14:50 | 只看該作者
程序2能正常跑,移植到程序1中就可以
回復

使用道具 舉報

5#
ID:1051434 發表于 2022-12-6 23:17 | 只看該作者
angmall 發表于 2022-12-5 10:02
程序1和程序2的接口都不一樣,你是根據哪一個程序做的接口?

程序1

不好意思,發的急了,我是根據程序1做的板子,程序2的代碼端口我調過之后板子上運行是正常的。只是我改過的放在另一個文件夾,上傳的是原始文件,我怕最后改費了連原始文件都沒了改過的端口是一模一樣的,程序2正常跑,程序1仿真正常,板子上不行
回復

使用道具 舉報

6#
ID:1051434 發表于 2022-12-6 23:19 | 只看該作者
君工創 發表于 2022-12-5 13:19
通信端口不同,把端口調到對應位置。

端口一樣的,改過了,傳的急,程序2是原始文件,正常跑起來的是我改過端口的程序2,端口定義和程序1一樣
回復

使用道具 舉報

7#
ID:1051434 發表于 2022-12-6 23:20 | 只看該作者
man1234567 發表于 2022-12-5 14:50
程序2能正常跑,移植到程序1中就可以

我是過,太多的宏定義和全局變量了,我沒那個能力
回復

使用道具 舉報

8#
ID:384109 發表于 2022-12-6 23:29 | 只看該作者
查忙沒處理好吧,兩個半屏,應該要單獨查忙的
回復

使用道具 舉報

9#
ID:1051434 發表于 2022-12-7 00:04 | 只看該作者
人中狼 發表于 2022-12-6 23:29
查忙沒處理好吧,兩個半屏,應該要單獨查忙的

怎么處理請大佬指教,我百度上查了也是說有可能判忙出了問題
回復

使用道具 舉報

10#
ID:384109 發表于 2022-12-7 19:56 | 只看該作者
這種屏實際分為兩個半屏控制的,查忙也要兩個都查,要用對CS1和CS2引腳,有可以正確執行的代碼,就可以對比一下兩個代碼的不同
回復

使用道具 舉報

11#
ID:1056468 發表于 2022-12-8 15:22 | 只看該作者
端口不一樣,
回復

使用道具 舉報

12#
ID:349276 發表于 2022-12-8 18:01 | 只看該作者
可能是查忙問題。注意正確寫命令字。確定能查到。仔細對比程序二。
回復

使用道具 舉報

13#
ID:728202 發表于 2022-12-8 18:30 | 只看該作者
有能跑的,就改改能跑的那個程序,修改顯示的字體,應該就可以了。
回復

使用道具 舉報

14#
ID:401564 發表于 2022-12-9 14:29 | 只看該作者
1,新手入門,不要搞太復雜程序,你說你搞個俄羅斯方塊.......我當初學12864的時候,第一個程序僅僅是顯示一個字母"A",當"A"顯示出來之后,這后面的事就好辦多了
2,不要一拿到12864就先找一個別人程序來,自己也不看數據手冊,然后就開始下手改程序,這基本上就是浪費時間,當然了,燒錄一次,驗證一下硬件電路是可以,你只要顯示有圖1那樣的顯示,就說明硬件電路是沒有問題的,接下來就是去看12864的數據手冊,然后再自己慢慢的寫代碼,也可以抄別人的代碼,但不能直接復制,你要理解代碼的意思
3,學習單片機,最好有開發板,自己畫的,網上買的,都可以,洞洞板不適合新手學單片機,硬件太容易出問題了,有時候你可以花幾天的時間去找代碼的問題,最后卻發現是板子沒焊好
回復

使用道具 舉報

15#
ID:996773 發表于 2023-3-7 11:25 | 只看該作者
14樓說的對,搞定12864要一步步走,我還是用的串行加匯編語言,比常人更難走路

我是先用字庫顯示一個漢字,然后再自定義自己畫點陣,使用32個字節,用兩個字節

都是8個1,看看它點亮屏幕一直線,編程需要自己徹底領悟才能真正掌控玩的轉
回復

使用道具 舉報

16#
ID:230500 發表于 2023-3-8 11:06 | 只看該作者
要學習還是要投入的; 新的太貴就去咸魚買一套別人已經學會了退役下來的; 普中單片機試驗箱; 一套也就50塊;再去網上下載一個配套的普中視頻教程;
15年前我買的郭天祥TX-1C ;當年360塊;我就靠這板入門; ​
因為你自己焊的板子; 可能會有各種問題; 其次 拿一個別人不配套的軟件燒進去;由于晶振頻率不對; 延時也不準; 顯示也就會有問題; 對于熟手來說可以自己改了;對于新手來說 就會無從下手; 最后什么也沒學好; 時間全浪費在這種亂七八糟的硬件問題排查中了;
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品久久久久久久久久久久久久 | 中文av网站 | 免费看国产一级特黄aaaa大片 | 91久久精品国产免费一区 | 日本电影一区二区 | 欧美精品在线一区二区三区 | 亚洲一区二区三区乱码aⅴ 四虎在线视频 | 日韩精品一区二区三区在线观看 | 夜夜爽99久久国产综合精品女不卡 | 一区二区精品 | 中日韩欧美一级片 | 成年人免费网站 | 日韩成人精品 | 中文字幕在线视频观看 | 嫩草一区二区三区 | 欧美日韩亚洲在线 | 成年人免费网站 | 国产精品一区二区久久 | 国产十日韩十欧美 | 日本国产欧美 | 人妖无码 | 激情久久网 | 国产资源在线视频 | 99福利视频 | 欧美国产日韩一区二区三区 | 精品一区二区不卡 | 成人福利网| 国产一区高清 | 欧美日韩国产精品激情在线播放 | 精品一区av | 91在线电影 | 国产黄色av网站 | 久久久久国产一级毛片高清网站 | 最新国产精品精品视频 | 久久99一区二区 | 在线观看视频91 | 欧美高清一区 | 91看片网站| 国产午夜av片 | 欧美高清性xxxxhd | 99精品久久久久久中文字幕 |