gpt4 book ai didi

c - 需要 p89lpc936 keil 编程帮助

转载 作者:太空宇宙 更新时间:2023-11-04 03:06:52 26 4
gpt4 key购买 nike

我正在尝试通过通用编程器 (SuperPro) 将 Blinky 程序从 Keil 编译器编程到 P89LPC936 微 Controller 。但是微 Controller 没有运行。但是当我用 assambly 编写一个简单的程序并对相同的硬件进行编程时,它工作正常。请就我做错的地方寻求帮助。

这是>>代码:

/* 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

请帮助我卡住了。

问候丹妮

最佳答案

我已经很长时间没有使用 keil 工具了,我也从未使用过那个 micro,所以我可能帮不了你太多。

  • 您是否尝试过在模拟器上运行它?
  • 尝试在 main 中放置一个断点并检查它是否停在那里。 c_start 可能存在一些问题,您的 main 没有被调用。
  • 查看初始化代码的汇编并检查是否有异常。我想你可以检查编译器生成的汇编代码。您可能需要打开一些选项来生成中间文件

您也可以查看 "Electronics and Robotics"在堆栈交换。在那里,您可能会找到从事电子产品工作的人,他们可能会提供更好的帮助。

关于c - 需要 p89lpc936 keil 编程帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3958543/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com