線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1326
推到 Plurk!
推到 Facebook!

用Keil編寫89s51時遇到的問題

尚未結案
kk329
一般會員


發表:1
回覆:0
積分:0
註冊:2011-03-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-03-24 21:03:47 IP:140.124.xxx.xxx 訂閱
抱歉我是寫8051的新手,目前我寫了一個程式如下:
#include
//======IN PROT==========
sbit m1=P0^0;//P0.0 M1
sbit m2=P0^1;//P0.0 M1
//======OUT PROT=========
sbit L1=P2^0; //P2.0 L1
sbit L2=P2^1; //P2.1 L2
sbit L3=P2^2; //P2.2 L3
sbit L4=P2^3; //P2.3 L4
//========主程式========
main()
{
m1=0;m2=0;
L1=0; L2=0; L3=0; L4=0;


while(1)
{
if(m1==1&&m2==0)
{
L1=0;L2=0;L3=1;L4=1;
}
else if(m1==0&&m2==1)
{
L1=1;L2=1;L3=1;L4=0;
}
else if(m1==1&&m2==1)
{
L1=1; L2=1; L3=1; L4=1;
}
else
{
L1=0;L2=0;L3=0;L4=0;
}
}
}


當我在編譯時都沒發生錯誤或警告,可是當我開始Debug時 卻出現了56個錯誤導致無法Debug(如附件),請問各位大大能幫我解決這個問題嗎?
PS:我想請問當我使用這個程式控制ULN2003時,當我輸入端持續給 5V電壓時,我的輸出端是否能持續輸出 5V呢?
如果不行是否要加上Delay呢?
抱歉一次問這麼多問題,不過這真的比較急迫,感謝各位大大能有耐心的看完我的問題,祝各位有個美好的一天。
附加檔案:4d8b413371a2a_1.jpg
編輯記錄
kk329 重新編輯於 2011-03-24 07:04:46, 註解 無‧
ScottWang
版主


發表:32
回覆:486
積分:688
註冊:2009-04-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2011-03-25 02:14:51 IP:218.161.xxx.xxx 訂閱
你所出現的問題,有可能是資料路徑環境沒有設好,所以再把手邊資料,有關環境設定的部份再看一看.
討論MCU,最好有軟硬體一起搭配,才能比較清楚.
而ULN2003的部份,ULN2003是OC開集極型driver,所以若是輸出沒有接電阻到Vcc的話,它是空接成高阻抗狀態的,若要有電位輸出,需接一個10K到Vcc.
------
高壓直流電源供應器,高壓模組,測試LED專用AC LED定電流源,全範圍可調電壓電流,
中低壓直流電源供應器,電壓放大器,電流放大器,帶通濾波器,高精度參考電壓,
標準電壓,恆流源(定電流源),恆壓源(定電壓源),大電流電源供應器.
接受訂製,設計生產各種特殊規格,高精度產品,學校實驗室,研究單位實驗設備,
另可接受其它電子專案設計,HV Power,Vmax=20KV,Imax=2000A.
http://hvpower.myweb.hinet.net/
handystudio
高階會員


發表:1
回覆:81
積分:106
註冊:2005-03-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2011-04-06 10:08:16 IP:220.130.xxx.xxx 訂閱
你程式第1行只有 #include ,沒有跟著檔名,編譯時都沒發生錯誤嗎?
ULN2003 是反向輸出,當輸入端持續給 5V電壓時,輸出端應該是0V
===================引 用 kk329 文 章===================
抱歉我是寫8051的新手,目前我寫了一個程式如下:
#include
//======IN PROT==========
sbit m1=P0^0;//P0.0 M1
sbit m2=P0^1;//P0.0 M1
//======OUT PROT=========
sbit L1=P2^0; //P2.0 L1
sbit L2=P2^1; //P2.1 L2
sbit L3=P2^2; //P2.2 L3
sbit L4=P2^3; //P2.3 L4
//========主程式========
main()
{
m1=0;m2=0;
L1=0; L2=0; L3=0; L4=0;


while(1)
{
if(m1==1&&m2==0)
{
L1=0;L2=0;L3=1;L4=1;
}
else if(m1==0&&m2==1)
{
L1=1;L2=1;L3=1;L4=0;
}
else if(m1==1&&m2==1)
{
L1=1; L2=1; L3=1; L4=1;
}
else
{
L1=0;L2=0;L3=0;L4=0;
}
}
}


當我在編譯時都沒發生錯誤或警告,可是當我開始Debug時 卻出現了56個錯誤導致無法Debug(如附件),請問各位大大能幫我解決這個問題嗎?
PS:我想請問當我使用這個程式控制ULN2003時,當我輸入端持續給 5V電壓時,我的輸出端是否能持續輸出 5V呢?
如果不行是否要加上Delay呢?
抱歉一次問這麼多問題,不過這真的比較急迫,感謝各位大大能有耐心的看完我的問題,祝各位有個美好的一天。
------
歡迎光臨 輕巧工作室
網站 http://www.handystudio.tw
控制電路板客製設計、製作交貨
8051專題製作/專題客製
系統時間:2024-04-24 5:55:36
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!