找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 1291|回復(fù): 4
收起左側(cè)

關(guān)于單片機(jī)io口溢出問題

[復(fù)制鏈接]
ID:643583 發(fā)表于 2019-11-17 13:15 | 顯示全部樓層 |閱讀模式
令P0=0xff;之后,P0=++P0,那么P0等于多少,溢出的去哪了?
回復(fù)

使用道具 舉報

ID:401564 發(fā)表于 2019-11-18 08:27 | 顯示全部樓層
如果是一直累加:0>255>0>255,如此循環(huán)
如果是一直累減:255>0>255>0,如此循環(huán)
只能說是到了過了255就產(chǎn)生一次溢出,但數(shù)據(jù)不是水,沒有溢出到哪里的說法
如果編譯器編譯成加法指令(ADD)指令,溢出就會使標(biāo)志位C置位1
如果編譯器編譯成累加(INC)或者累減指令(DEC)指令,溢出不會影響標(biāo)志位,它就像跑馬燈一樣循環(huán)
回復(fù)

使用道具 舉報

ID:158375 發(fā)表于 2019-11-18 10:33 | 顯示全部樓層
IO口溢出?
IO能溢出?
說法奇特!
回復(fù)

使用道具 舉報

ID:123289 發(fā)表于 2019-11-18 11:02 | 顯示全部樓層
總共就8位,你非要問第9位的事!
回復(fù)

使用道具 舉報

ID:245004 發(fā)表于 2019-11-18 11:24 | 顯示全部樓層


首先要分解開輸入和輸出寄存器。
P0 = 0xff;是輸出寄存器賦值。
假設(shè)P0沒有外接任何東西(上拉),默認(rèn)是開漏狀態(tài),這時候P0端口是0x00電平。
P0 = ++P0; 分解開來:
先執(zhí)行 ++P0 :是輸出寄存器(0x80) = 0xff + 1 = 0x00;
再執(zhí)行 P0 = P0:P0輸出寄存器(0x80) = 輸入寄存器(0x80)的數(shù)據(jù)(管腳實(shí)際電壓0x00,不是輸出寄存器的0x00);
最終 P0 = 0x00;

回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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