|
我的問題如下:
我用AT89C2051測試LED燈的亮滅,間隔0.5秒。
使用軟體為KEIL C。
我用組合語言編寫燒錄後,放入硬體測試沒問題。
可是我用C語言編寫燒錄後,卻不行。燒錄機是WELLON VP280
我用其他ic AT89C51 AT89S51 用c語言都沒問題,可是換成AT89C2051就不行。
我的組合語言如下
ORG0000H
LOOP:
MOVP1,#00000000B
ACALLDELAY
MOVP1,#11111111B
ACALLDELAY
AJMPLOOP
DELAY:
MOVR5,#10
DL1:
MOVR6,#250
DL2:
MOVR7,#200
DL3:
DJNZR7,DL3
DJNZR6,DL2
DJNZR5,DL1
RET
END
C語言如下
#include<AT89x051.H>
sbit led=P1^0;
delay(int d)
{
int i,j,k;
for(i=0;i<d;i++)
for(j=0;j<120;j++)
for(k=0;k<100;k++) ;
}
main()
{
while(1)
{
led=0;
delay(5);
led=1;
delay(5);
}
}
我有include檔案進去,debug時是沒問題的。
有高手遇過這種問題嗎?
我測試了很久,都沒辦法。
有人能幫我解答嗎?
感謝
[ 本帖最後由 draw3299 於 2008-7-3 02:33 編輯 ] |
|