C51問題,怎麼樣在程式給P0,P1口一同輸出

2023-01-13 02:05:48 字數 3210 閱讀 7879

1樓:匿名使用者

51微控制器是8位機,資料輸出一次最多8位,p0和p1口或p1和p2口是不可能同時輸出的。只能採用16位的內部變數管理資料,然後分高8位和低8位分別輸出,好在運算並不複雜。比如:

int temp;

p1 = temp%0x100; //得到temp變數的低8位,並從p1口輸出

p2 = ((temp/0x100)%0x04); //得到temp變數的高8位,並得到其中的低2位。從p2口輸出(另外p2口的高6位如果有用需根據情況特別處理)

由於51微控制器是16位定址,所以p0口和p2口倒是可以同時輸出,不過需要外圍電路配合,而且只能使用微控制器自身的rom。通過鎖存的方式鎖存地址訊號,輸出時比如使用xbyte[temp]=0的語句,將temp變數內容以地址訊號的方式在一條語句中同時送到p0(低8位地址)和p2(高8位地址)。此時其實是輸出地址,不是輸出資料了。

這種方法沒什麼實用價值,屬於鑽牛角尖,只是如果能理解就說明對51微控制器瞭解的比較深了。

2樓:匿名使用者

uint x;//定義一個16位數

//你在程式中對x的值進行修改,之後

p1=x/0xff;//顯示高8位

p0=x%0xff//顯示低8位

//可以起到連續顯示的效果,不知道你問的是這個不是

51微控制器能否p0和p1口同一個陣列操作 20

3樓:中二病

我沒猜錯你的意思的話

for(i=0;i<8;i++)

還有問題再討論,希望採納哈

4樓:匿名使用者

keilc不允許有位變數陣列,所以無法實現你的意願。

微控制器c語言中,如何讀取p1口的資料,並將p1口讀入的資料送到p0口輸出

5樓:匿名使用者

我不懂1l的意思。什麼是「替換程式」?是你自己創造的吧?

使用一箇中間變數來傳遞數值是可以的,當然也可以這麼寫:p0=p1。

6樓:冰臨天下

這樣是不對的!!應該用c語言的替換程式!!

7樓:曲祺

樓主真夠大方的,這麼點問題就賞如此多的分

8樓:雙魚知飛機

可以的,一個位元組8位

9樓:一片天

mov p1, 38h對嗎??

10樓:銀翼迷俠

你是什麼微控制器啊?不對啊 i=get_ioa_data

p_i0a_data=i;

11樓:匿名使用者

大笨鐘響了 是正解!

51微控制器怎麼讀取p0,p1口的值,是要先給一個高電平才能讀取嗎?c程式怎麼寫?

12樓:匿名使用者

為了保險一般需要先給送一個「高」,再讀取io口,這是針對那些沒有加上拉電阻的io口而採取的辦法,如果加了上拉電阻,是不用這麼麻煩的,可以直接讀取io口的值。

uncsigned char dat0,dat1;

//p0=0xff;p1=0xff;

dat0=p0;

dat1=p1;

13樓:

是的可以先在初始化寫一句

p1=1;

就可以讀了

p0記得接上拉電阻

51微控制器的p0口既作為輸入又作為輸出如何c51程式設計實現 25

14樓:匿名使用者

通過控制373的le引腳和245的e引腳

輸出時先輸出資料再把373的le置0 鎖住資料

然後吧245的e置0讀取按鍵後再置1

15樓:

通過控制ls245和74ls373的選通腳,從而控制p0口分時複用

微控制器p0,p1口讀取16位數字量,然後da輸出,請問這樣的程式有問題麼?

16樓:

這樣用可真夠浪費的呵呵,一個是浪費plc輸出模組,一個是你還要在除錯微控制器程式。如果plc的da模組解析度夠用的話還是建議使用plc的da控制,穩定性也好。如果是因為plc的da解析度不夠或是成本問題(其實這樣成本也比配個da模組省不了多少了,估計是解析度問題)

建議你的da選並行的,通過個光耦和plc的輸出點直接相連,省事多了,如果沒有並行da其實自己搭個也是不錯的方法~

17樓:匿名使用者

沒問題呀,可以正確執行

18樓:匿名使用者

貌似沒問題,變數定義時要注意位元組大小,如果是51的話p0的高電平要接上拉電阻才有效,還有就是|好像是位或也就是邏輯或,不行的話使用「||」試一下,好運!

19樓:

首先要定義a b變數p1 p0不用定義,直接可以用。應這樣寫:

val=p1;

val<<=8;

val|=p0 ;

write_data(val) ;//16位da子程式。

如何用c51微控制器實現p0口接兩個按鍵,p1口接8個led燈。key1按下左移動1位點亮led key2按下右移動1位點led

20樓:一萬光年

給個四路:

定意一個變數;

if(按鍵1按下)

變數為1;

if(按鍵2按下)

變數為2;

if(變數==1)

{左移控制;

}else if(變數==2)

{右移控制;}

21樓:做而論道

主函式,改改即可:

void main()}}

}試試看。

在c51微控制器中,p0口與p1,p2,p3口在輸入與輸出中有什麼不同

22樓:

p0口用於資料地址匯流排時有上拉電阻,用於io口沒有上拉電阻,需要外加。如果用作io口沒有什麼區別。在驅動能力上可能略有區別,具體還是看手冊吧,不同公司的不同產品都有所區別。

23樓:

在程式設計上,沒什麼大的區別,只是在硬體上有差別,p0口沒有上拉電阻

在足球比賽中如果要換人要怎麼樣程式

必須等球出界或者是犯規的時候。任務,請採納 在由國際足聯 洲際聯合會或國家協會主辦的正式比賽中,每場比賽最多可以使用3名替補隊員。競賽規程應說明可以有幾名替補隊員被提名,從3名到最多不超過7名。其他比賽 在其他比賽中,可依據下列規定使用替補隊員 有關參賽隊在最多替換人數上達成協議 在比賽前通知裁判員...

我在安卓手機的設定裡禁用了程式怎麼樣才能讓它繼續啟動

是wifh熱點共享 bai嗎?安卓du系統自帶開啟關zhi 閉熱點的,而且也可 dao以設定密碼,以免意外開回啟時,答被他人惡意浪費流量!如果是熱點不能正常使用,建議刷機,可能是系統問題了。或者找一下,熱點控制軟體,看看能不能正常使用。為什麼安卓手機應用程式會自已啟動怎麼樣能讓應用不自已啟動呢?40...

怎麼樣在異地送鮮花給女友個驚喜呢

貝蕾絲 鮮花吧,個人感覺網購很靠譜啊,速度是嗖嗖的 很感謝這家 店主,上次幫了大忙了!給外地的朋友送花,現在也是很方便的了,就目前來說異地送花也就這幾種方式 一是讓異地的朋友幫忙買花送花。二是通過114這類的 查詢服務 網路搜尋 地圖類應用查到當地花店 訂購。三是通過鮮花 直接下單訂購。網上下了訂單...