找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1722|回復(fù): 9
收起左側(cè)

Keil5設(shè)置data變xdata編譯之后,Lcd1602就不顯示了

[復(fù)制鏈接]
ID:1117653 發(fā)表于 2024-5-20 08:33 | 顯示全部樓層 |閱讀模式
Keil5設(shè)置里面
Options-Target-Memory Model:Small: variables in DATA

XDATA

XDATA

Lcd1602可以顯示字符串

Lcd有顯示

Lcd有顯示

后面寫(xiě)的時(shí)候發(fā)現(xiàn)內(nèi)存滿了然后換成了
Options-Target-Memory Model:Large: variables in XDATA,并且Use On-chip XRAM(0x0-0x6FF)也打勾了

DATA

DATA

代碼也沒(méi)有變過(guò),但Lcd不會(huì)顯示了,仿真里面也改了

仿真設(shè)置

仿真設(shè)置

Lcd無(wú)顯示

Lcd無(wú)顯示

有大神知道是什么問(wèn)題嗎

主函數(shù)代碼

主函數(shù)代碼

Lcd打印代碼

Lcd打印代碼

Lcd初始化

Lcd初始化

Lcd寫(xiě)數(shù)據(jù)寫(xiě)命令

Lcd寫(xiě)數(shù)據(jù)寫(xiě)命令

Lcd延時(shí)

Lcd延時(shí)



回復(fù)

使用道具 舉報(bào)

ID:1109793 發(fā)表于 2024-5-20 09:44 | 顯示全部樓層
C52有多少XDATA?看下是不是超了
回復(fù)

使用道具 舉報(bào)

ID:1117653 發(fā)表于 2024-5-20 10:28 | 顯示全部樓層
xiaobendan001 發(fā)表于 2024-5-20 09:44
C52有多少XDATA?看下是不是超了

STC89C52只有512字節(jié)的的RAM,256字節(jié)的內(nèi)部RAM和256字節(jié)的外部RAM。
我用Small模式編譯也沒(méi)有超過(guò),用Large模式也沒(méi)有超過(guò),但是只有在Small模式下編譯Lcd才有顯示。
Small模式:Program Size: data=72.4 xdata=16 code=1875
Large模式:Program Size: data=15.4 xdata=123 code=2083
回復(fù)

使用道具 舉報(bào)

ID:161164 發(fā)表于 2024-5-20 10:51 | 顯示全部樓層
Protues內(nèi)的AT89C芯片是預(yù)設(shè)沒(méi)有xdata的
要先設(shè)定一下
右鍵芯片
2024-05-20_104625.png

彈窗里把Edit all pro...勾上
把XRAM=0改為XRAM=512
2024-05-20_104640.png

回復(fù)

使用道具 舉報(bào)

ID:1109793 發(fā)表于 2024-5-20 11:00 | 顯示全部樓層
LauChiHin 發(fā)表于 2024-5-20 10:28
STC89C52只有512字節(jié)的的RAM,256字節(jié)的內(nèi)部RAM和256字節(jié)的外部RAM。
我用Small模式編譯也沒(méi)有超過(guò),用L ...

看下和顯示有關(guān)的變量,因?yàn)閄DATA操作時(shí)間比DATA 長(zhǎng)一點(diǎn)
回復(fù)

使用道具 舉報(bào)

ID:1117653 發(fā)表于 2024-5-20 11:47 | 顯示全部樓層
按照4樓的操作,完美解決!感謝大家參與討論!!
回復(fù)

使用道具 舉報(bào)

ID:1117653 發(fā)表于 2024-5-20 11:47 | 顯示全部樓層
lkc8210 發(fā)表于 2024-5-20 10:51
Protues內(nèi)的AT89C芯片是預(yù)設(shè)沒(méi)有xdata的
要先設(shè)定一下
右鍵芯片

謝謝大佬。!
回復(fù)

使用道具 舉報(bào)

ID:1117653 發(fā)表于 2024-5-20 11:50 | 顯示全部樓層
xiaobendan001 發(fā)表于 2024-5-20 11:00
看下和顯示有關(guān)的變量,因?yàn)閄DATA操作時(shí)間比DATA 長(zhǎng)一點(diǎn)

看過(guò)其他帖子X(jué)DATA確實(shí)會(huì)慢一點(diǎn),但是等好久也是一直不顯示的。我用了4樓的方法,Lcd可以顯示了,是沒(méi)設(shè)置XRAM的原因。
回復(fù)

使用道具 舉報(bào)

ID:57657 發(fā)表于 2024-5-20 12:05 | 顯示全部樓層
請(qǐng)確定寫(xiě)進(jìn)xdata的數(shù)據(jù)可以正常讀取,具體需實(shí)物驗(yàn)證。
回復(fù)

使用道具 舉報(bào)

ID:1109793 發(fā)表于 2024-5-20 12:46 | 顯示全部樓層
LauChiHin 發(fā)表于 2024-5-20 11:50
看過(guò)其他帖子X(jué)DATA確實(shí)會(huì)慢一點(diǎn),但是等好久也是一直不顯示的。我用了4樓的方法,Lcd可以顯示了,是沒(méi)設(shè) ...

Protues我只安裝了,不會(huì)用呢
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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