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

QQ登錄

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

搜索
查看: 3973|回復(fù): 8
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)不同組IO口段選仿真問(wèn)題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:399799 發(fā)表于 2019-10-31 11:21 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
100黑幣
用Proteus  做51單片機(jī)仿真,不同組IO口做段選,如果把dx7=P1^6的話,仿真出來(lái)完全沒(méi)問(wèn)題,數(shù)碼管正常掃描顯示,如果把dx7=P2^6的話,仿真出來(lái)的數(shù)碼管顯示就缺少DX7這一段,我用仿真中的示波器觀察波形是一樣的,請(qǐng)朋友幫忙看看問(wèn)題出在哪?程序如下:
sbit dx1=P1^0;
sbit dx2=P1^1;
sbit dx3=P1^2;

sbit dx4=P1^3;

sbit dx5=P1^4;

sbit dx6=P1^5;

sbit dx7=P2^6;

void  setseg(a)
{
dx1=a&0x01;a>>=1;
dx2=a&0x01;a>>=1;
dx3=a&0x01;a>>=1;

dx4=a&0x01;a>>=1;

dx5=a&0x01;a>>=1;

dx6=a&0x01;a>>=1;

dx7=a&0x01;

}
定時(shí)器中斷中:
switch (i)
case 0: setseg(ledbuff[0]);wx1=0;wx2=1;wx3=1,wx4=1;wx5=1;i++;break;
case 1: setseg(ledbuff[1]);wx1=1;wx2=0;wx3=1,wx4=1;wx5=1;i++;break;
case 2: setseg(ledbuff[2)]wx1=1;wx2=1;wx3=0,wx4=1;wx5=1;i++;break;
case 3: setseg(ledbuff[3]);wx1=1;wx2=1;wx3=1,wx4=0;wx5=1;i++;break;

case 4: setseg(ledbuff[4]);wx1=1;wx2=1;wx3=1,wx4=1;wx5=0;i=0;break;

default:break ;


無(wú)標(biāo)題1.png (145.66 KB, 下載次數(shù): 114)

無(wú)標(biāo)題1.png

最佳答案

查看完整內(nèi)容

樓主不必糾結(jié)這個(gè)問(wèn)題,仿真畢竟與實(shí)物測(cè)試是有很大區(qū)別的,這種端口組合的程序用于數(shù)碼管靜態(tài)顯示仿真沒(méi)有問(wèn)題,用于動(dòng)態(tài)顯示發(fā)生這種現(xiàn)象是仿真軟件的不適應(yīng)造成的,不是編程問(wèn)題。樓主可以用一個(gè)成熟的呼吸燈程序仿真試試,根本就玩不起來(lái)。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:213173 發(fā)表于 2019-10-31 11:21 | 只看該作者
樓主不必糾結(jié)這個(gè)問(wèn)題,仿真畢竟與實(shí)物測(cè)試是有很大區(qū)別的,這種端口組合的程序用于數(shù)碼管靜態(tài)顯示仿真沒(méi)有問(wèn)題,用于動(dòng)態(tài)顯示發(fā)生這種現(xiàn)象是仿真軟件的不適應(yīng)造成的,不是編程問(wèn)題。樓主可以用一個(gè)成熟的呼吸燈程序仿真試試,根本就玩不起來(lái)。
回復(fù)

使用道具 舉報(bào)

板凳
ID:399799 發(fā)表于 2019-10-31 11:51 | 只看該作者
引腳連上后是這樣的。

無(wú)標(biāo)題2.png (154.28 KB, 下載次數(shù): 103)

無(wú)標(biāo)題2.png
回復(fù)

使用道具 舉報(bào)

地板
ID:235200 發(fā)表于 2019-11-1 01:00 | 只看該作者
示波器BCD通道接在一塊而顯示出來(lái)的波形卻不一樣?也許與你電腦運(yùn)行的速度有關(guān),不妨所所有程序全部貼出來(lái)分析一下,理論上不會(huì)有此現(xiàn)象發(fā)生
回復(fù)

使用道具 舉報(bào)

5#
ID:332444 發(fā)表于 2019-11-1 08:36 | 只看該作者
看電路圖似乎P2.6連接到不同的地方(位和段都有連接)引起的,
回復(fù)

使用道具 舉報(bào)

6#
ID:332444 發(fā)表于 2019-11-1 08:42 | 只看該作者
噢噢,起先看錯(cuò)了連接線,為何要用不同組去控制段?你確保這樣輸出的電平跟用同組的電平是一樣的變化?
回復(fù)

使用道具 舉報(bào)

7#
ID:43756 發(fā)表于 2019-11-1 10:44 | 只看該作者
最好弄一個(gè)電路板試試
回復(fù)

使用道具 舉報(bào)

8#
ID:399799 發(fā)表于 2019-11-10 16:32 | 只看該作者
非常感謝大家的解答,的確是仿真錯(cuò)誤,實(shí)際打板驗(yàn)證了,程序是沒(méi)問(wèn)題的,可以正常顯示,謝謝大家!
回復(fù)

使用道具 舉報(bào)

9#
ID:242033 發(fā)表于 2021-2-9 13:49 | 只看該作者
wangxindir 發(fā)表于 2019-11-10 16:32
非常感謝大家的解答,的確是仿真錯(cuò)誤,實(shí)際打板驗(yàn)證了,程序是沒(méi)問(wèn)題的,可以正常顯示,謝謝大家!

樓主可以把全部代碼發(fā)出了學(xué)習(xí)下嗎?正好也用段碼在不同的IO口,程序中 wx是什么?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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