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這類的 查詢服務 網路搜尋 地圖類應用查到當地花店 訂購。三是通過鮮花 直接下單訂購。網上下了訂單...