[問題] 8051晶片問題
大家好!
最近在做單晶片AT89S52的應用,
遇到一些令我不解的問題...
下面兩個c程式只差在main中的第五行,
但程式2會使整個晶片不正常運作(P2_7出現脈波, 約20k Hz),
而程式1的P2_7腳位就乖乖的low...
compile沒錯誤也沒警告(data, xdata, code size都正常).
燒到晶片後(程式2)出現問題,(程式1)ok.
這個問題是我在宣告一個變數陣列時發現的,
比如說:
char data array[20];
有時候我要再加一些多餘的敘述(如 P2_7 =0;多來個幾次)晶片才正常...
其實我在寫這個晶片程式時常常會發生像這樣晶片不正常運作的情形,
下面的範例只是其中一個例子.
如果這個問題可以解決,
或許其它問題都可迎刃而解.
文章又臭又長
先謝謝大哥們的指點 m(_ _)m
//////////////// 程式1 正常 ////////////////
#include <REGX52.h>
void Main( void )
{
P2_7 = 0;
P2_7 = 0;
P2_7 = 0;
P2_7 = 0;
P2_7 = 0;
while(1);
}
//////////////// 程式2 不正常 ////////////////
#include <REGX52.h>
void Main( void )
{
P2_7 = 0;
P2_7 = 0;
P2_7 = 0;
P2_7 = 0;
// P2_7 = 0;
while(1);
}
///////// 環境設定 ///////////
uVision2 - Keil C
C compiler : C51 v7.20
AT89S52: Memory Model=Small, Code Rom=Large, xtal=11MHz, 8K flash, 256 RAM.
使用ISP燒錄到晶片上
※ 編輯: nfs258147 來自: 140.114.57.47 (04/03 17:51)
推
04/03 18:44, , 1F
04/03 18:44, 1F
→
04/03 19:00, , 2F
04/03 19:00, 2F
雪特, 把STARTUP.A51放到主程式之前就OK了(剛剛放到後面去)
太感謝你了阿!!
順便問一下...如果沒有STARTUP.A51會怎樣嗎?
※ 編輯: nfs258147 來自: 140.114.57.47 (04/03 19:04)
推
04/03 19:28, , 3F
04/03 19:28, 3F
→
04/03 19:28, , 4F
04/03 19:28, 4F
→
04/03 20:05, , 5F
04/03 20:05, 5F
ASM 近期熱門文章
PTT數位生活區 即時熱門文章