void HuXi_up(uint IO_port){for(pwm_low=1;pwm_low<CYCLE;pwm_low++){IO_port=0;duty=0;while(duty<=pwm_low);IO_port=1;duty=0;while(duty<=(CYCLE-pwm_low));}}目的就是我想通過HuXi_up(uint IO_port);這句話,在括號里輸入P1^0;,它就在P1^0這個端口運行我的子函數,我輸入指定IO就在指定的IO執行程序,我上面的寫法經過實驗是不行,我想知道怎么才能實現這個功能。
1 回答

阿晨1998
TA貢獻2037條經驗 獲得超6個贊
不能把IO口直接當參數,但可以使用變通方法:
一、確定輸出端口,如P1,這是一個固定不變的端口。
二、可以把指定端口的某位當參數傳入子函數
oid HuXi_up(uint IO_Bit)
{
unsigned char i,mask;
mask=1;
mask = _crol_(1,IO_Bit)
for(pwm_low=1;pwm_low<CYCLE;pwm_low++)
{
P1 = P1 & (~ mask);
duty=0;
while(duty<=pwm_low);
P1 = P1 ^ mask;
duty=0;
while(duty<=(CYCLE-pwm_low));
}
}
單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統集成到一個芯片上。相當于一個微型的計算機,和計算機相比,單片機只缺少了I/O設備。概括的講:一塊芯片就成了一臺計算機。它的體積小、質量輕、價格便宜、為學習、應用和開發提供了便利條件。同時,學習使用單片機是了解計算機原理與結構的最佳選擇。
單片機的使用領域已十分廣泛,如智能儀表、實時工控、通訊設備、導航系統、家用電器等。各種產品一旦用上了單片機,就能起到使產品升級換代的功效,常在產品名稱前冠以形容詞——“智能型”,如智能型洗衣機等 。
- 1 回答
- 0 關注
- 144 瀏覽
添加回答
舉報
0/150
提交
取消