我想通過通用編程器(SuperPro)將Keil編譯器中的Blinky程序編程爲P89LPC936微控制器。但微控制器沒有運行。但是當我在assambly編寫一個簡單的程序並編寫相同的硬件時,它工作正常。請問我在哪裏做錯了我需要幫助。p89lpc936需要keil編程幫助
這裏是代碼>>> 代碼:
/* Blinky.C - LED Flasher for the Keil LPC900 EPM Emulator/Programmer Module */
#include <REG936.H> // register definition
void delay (unsigned long cnt)
{
while (--cnt);
}
void main()
{
unsigned char i;
P1M1 |= 0x20;
P1M2 &= 0xDF;
P2M1 &= 0xE7;
P2M2 |= 0x18;
delay (20000);
for(;;)
{ for (i = 0x01; i; i <<= 1)
{ P2 = i; // simulate running lights
delay (20000);
}
for (i = 0x80; i; i >>= 1)
{ P2 = i;
delay (20000);
}
}
}
這裏是十六進制文件>>>
:10006B008F0B8E0A8D098C08780874FF12004DECEB
:06007B004D4E4F70F32210
:100003004391205392DF53A4E743A5187F207E4EEC
:100013007D007C0012006B7B01EB6013F5A07F2059
:100023007E4E7D007C0012006BEB25E0FB80EA7BBB
:1000330080EB60E3F5A07F207E4E7D007C00120004
:070043006BEBC313FB80EA25
:01004A002293
:04FFF00023001E00CC
:08FFF800000000000000000001
:030000000200817A
:0C00810078FFE4F6D8FD75810B02000347
:10004B007401FF3395E0FEFDFC080808E62FFFF670
:10005B0018E63EFEF618E63DFDF618E63CFCF622E9
:00000001FF
這裏是彙編代碼和它的hex文件這是工作絕對正確的。
Code:
; LPC936A1.A51
; Oct 7, 2010 PCB: ?
; Features: ?
; ?
$mod51
RL1 bit P2.3
RL2 bit P2.4
DSEG AT 20H
FLAG1: ds 1
STACK: ds 1
FRL1 bit FLAG1.0 ; Relay 1
CSEG
org 0H
ajmp Reset
org 30H
Reset: mov 0A5H,#0FFH
Start: mov c,FRL1 ;
mov RL1,c
cpl c
mov FRL1,c
mov RL2,c
acall Delay0
ajmp Start
Delay0: mov R7,#250
Delay: mov R6,#61
Delay1: nop
nop
nop
nop
nop
nop
nop
nop
djnz R6,Delay1
djnz R7,Delay
ret
Text: DB '(C) DIGIPOWER 2010'
Text0: DB ' LPC936A1 '
END
And its hex is
:020000000130CD
:1000300075A5FFA20092A3B3920092A411400133D0
:100040007FFA7E3D0000000000000000DEF6DFF2D7
:10005000222843292044494749504F5745522032CE
:0D006000303130204C5043393336413120CF
:00000001FF
請幫讀音字卡住。
問候 達尼
這不是一個真正的問題嗎?OP已經表現出了一些努力,提供了他/她的嘗試,並且正在尋求幫助。嘖。 – 2010-10-18 11:36:01
你應該重新回顧以前提出的問題,然後點擊最有幫助的答案旁邊的勾號。你可以在這裏看到你以前的問題:http://stackoverflow.com/users/357296/adnan#tabs-question-user – 2010-10-18 11:42:18
@Colin感謝編輯 – jassuncao 2010-10-18 11:44:59