欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4616|回復: 11
收起左側

c51單片機控制128*64顯示屏,把部分數組設置為xdata屏幕不能正確顯示,顯示亂碼

[復制鏈接]
ID:315153 發表于 2018-6-30 21:02 | 顯示全部樓層 |閱讀模式
問一下大家c51單片機控制128*64顯示屏,把部分數組設置為xdata屏幕不能正確顯示,顯示亂碼,什么原因?
回復

使用道具 舉報

ID:335709 發表于 2018-7-1 13:27 | 顯示全部樓層
如果改之前不亂,改后亂的,那就是你改動那部分有問題。原因就在此了。
回復

使用道具 舉報

ID:290578 發表于 2019-3-10 04:17 | 顯示全部樓層
我也發現這個問題了, 數據使用code段的 沒問題,說明顯示函數本身沒問題, 但xdata就是會亂碼, 訪問上不知出了什么問題, xdata段數據上下移動沒問題的。
回復

使用道具 舉報

ID:471889 發表于 2019-3-10 09:27 | 顯示全部樓層
放上代碼與圖片上來看看,LCD12864應該還好了
回復

使用道具 舉報

ID:466164 發表于 2019-3-10 11:59 | 顯示全部樓層
沒嘗試過只知道,讀取速度有差異。
回復

使用道具 舉報

ID:404797 發表于 2019-3-10 12:12 | 顯示全部樓層
      俺也碰到這個問題。象下面這個例子,明明給xdata變量xdatastr賦值啦,可顯示時為什么沒內容。普通變量str就沒這個問題。
#include<reg52.h>
sbit rs=P3^5;
sbit rw=P3^6;
sbit E=P3^7;
char *str="hello";
char xdata *xdatastr="It's A xdata str!";
//============================================
void delay(int ii)
{int i;for(i=0;i<ii;i++);
}
//-------------------------------------------
void writeCmd(unsigned char c)
{E=0;rw=0;rs=0;delay(10);
P1=c;delay(10);
E=1;delay(10);E=0;
}
//-------------------------------------------
void writeDat(unsigned char c)
{E=0;rw=0;rs=1;delay(10);
P1=c;delay(50);
E=1;delay(50);E=0;
}
//-------------------------------------------
void Prtstr(char *cp)
{char i=0;
while(cp!=0){writeDat(cp);i++;}
}
//--------------------------------------------
main()
{writeCmd(0x38);
writeCmd(0x0f);
Prtstr("str=");Prtstr(str);
writeCmd(0x80+0x40);
Prtstr("xdata str=");Prtstr(xdatastr);
while(1);
}

程序運行情況如下:
ask7a.JPG
回復

使用道具 舉報

ID:475444 發表于 2019-3-11 07:03 | 顯示全部樓層
zxwdown 發表于 2019-3-10 12:12
俺也碰到這個問題。象下面這個例子,明明給xdata變量xdatastr賦值啦,可顯示時為什么沒內容。普通變 ...

你拿錯仿真了,別人要的是LCD12864. 再說了,LCD12864難嗎?很簡單啊,去了解一下顯示漢字,顯示字符,顯示圖片,知道頁與列的概念,只要你要顯示的東西合規,就不會有亂碼!
這邊有一大把12864的案例:http://m.raoushi.com/bbs/space-uid-454000.html

評分

參與人數 1黑幣 +8 收起 理由
struct00 + 8 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:404797 發表于 2019-3-11 12:51 | 顯示全部樓層
就你?呸! 發表于 2019-3-11 07:03
你拿錯仿真了,別人要的是LCD12864. 再說了,LCD12864難嗎?很簡單啊,去了解一下顯示漢字,顯示字符,顯 ...

不好意思,我認為本樓的主要問題是xdata使用的問題,而不是顯示問題。
回復

使用道具 舉報

ID:981034 發表于 2022-1-21 10:02 | 顯示全部樓層
未搞清楚亂改,復原即可,我經常改程序當學習
回復

使用道具 舉報

ID:624769 發表于 2022-1-21 21:44 | 顯示全部樓層
XDATA 牽涉到DPTR的操作,以及定義等等,
一般頭文件都用 REG52.h  的人,估計建立項目時候單片機型號都是亂選的吧?

往往,單片機型號亂選,是造成XDATA不能正常工作根本原因。因為不同型號的單片機,編譯的時候對于XDATA的操作都會不同。除非你用匯編,但是,有幾個人用匯編呢?
回復

使用道具 舉報

ID:517951 發表于 2022-1-22 10:17 | 顯示全部樓層
xdata 是要外接RAM 6116 ,如果實際電路沒有,那不就是亂碼?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表