| 
 
| 本人刚刚学习用silicon laboratories IDE,有个问题想请教<br /><br />程序如下:<br /><br />$NOMOD51<br />;-----------------------------------------------------------------------------<br />; Copyright (C) 2005 Silicon Laboratories, Inc.<br />;  All rights reserved.<br />;<br />;<br />;<br />;  FILE NAME   :  BLINK.ASM <br />;  TARGET MCU  :  C8051F060/1/2/3 <br />; DESCRIPTION :  This program illustrates how to disable the watchdog timer,<br />;                 configure a port and write to a port I/O pin.<br />;<br />;     NOTES: <br />;<br />;-----------------------------------------------------------------------------<br /><br />$include (c8051f060.inc)               ; Include register definition file.<br /><br />;-----------------------------------------------------------------------------<br />; EQUATES<br />;-----------------------------------------------------------------------------<br /><br />GREEN_LED      equ   P1.6              ; Port I/O pin connected to Green LED.    <br /><br />;-----------------------------------------------------------------------------<br />; RESET and INTERRUPT VECTORS<br />;-----------------------------------------------------------------------------<br /><br />               ; Reset Vector<br />               cseg AT 0<br />               ljmp Main               ; Locate a jump to the start of code at <br />                                       ; the reset vector.<br /><br />;-----------------------------------------------------------------------------<br />; CODE SEGMENT<br />;-----------------------------------------------------------------------------<br /><br /><br />Blink          segment  CODE<br /><br />               rseg     Blink          ; Switch to this code segment.<br />               using    0              ; Specify register bank for the following<br />                                       ; program code.<br /><br />Main:          ; Disable the WDT. (IRQs not enabled at this point.)<br />               ; If interrupts were enabled, we would need to explicitly disable<br />               ; them so that the 2nd move to WDTCN occurs no more than four clock <br />               ; cycles after the first move to WDTCN.<br /><br />               mov   WDTCN, #0DEh<br />               mov   WDTCN, #0ADh<br /><br />               ; Use SFRs on the Configuration Page<br />               mov   SFRPAGE, #CONFIG_PAGE<br /><br />               ; Enable the Port I/O Crossbar<br />               mov   XBR2, #40h<br /><br />               ; Set P1.6 (LED) as digital output in push-pull mode.  <br />               orl   P1MDOUT,#40h <br /><br />               ; Initialize LED to OFF<br />               clr   GREEN_LED<br /><br />               ; Simple delay loop.<br />Loop2:         mov   R7, #03h            <br />Loop1:         mov   R6, #00h<br />Loop0:         mov   R5, #00h<br />               djnz  R5, $<br />               djnz  R6, Loop0<br />               djnz  R7, Loop1<br />               cpl   GREEN_LED         ; Toggle LED.<br />               jmp   Loop2<br /><br /><br />;-----------------------------------------------------------------------------<br />; End of file.<br /><br />END<br /><br />============================================================<br />1、当assemble/compile file 时输出窗口显示:<br /><br />Invoking project defined assembler.<br />C:Program FilessilabsIDEfilesC51BINA51.exe blink.asm XR GEN DB EP NOMOD51.<br />A51 MACRO ASSEMBLER V7.09 - SN: Eval Version<br />COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2004<br /><br />ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)<br />-------------------------------------------<br /><br />当build/make project 时输出窗口显示:<br /><br />Link in progress...<br />C:Program FilessilabsIDEfilesC51BINBL51.exe @C:iiasmcyglink.txt<br /><br /><br />BL51 BANKED LINKER/LOCATER V5.03 - SN: Eval Version<br />COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2002<br />C:iiasmlink.obj  TO C:iiasmBLINK. RS(256) PL(68) PW(78)  <br /><br />******************************************************************************<br />* RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT; USED: 0026H BYTE ( 1%) *<br />******************************************************************************<br /><br />>> <br />>> <br />>> <br />Program Size: data=8.0 xdata=0 code=36<br />LINK/LOCATE RUN COMPLETE.  0 WARNING(S),  0 ERROR(S)<br />----------------------------------------------------------<br /><br />当rebuild project 时输出窗口显示:<br /><br />Invoking project defined compiler.<br />C:Program FilessilabsIDEfilesC51BINA51.exe blink.asm DB OE  <br /><br /><br />A51 MACRO ASSEMBLER V7.09 - SN: Eval Version<br />COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2004<br /><br />A51 FATAL ERROR -<br />  LINE:       C:Program FilessilabsIDEfilesC51BINA51.exe blink.asm DB OE#<br />  ERROR:      UNKNOWN CONTROL<br />A51 TERMINATED.<br /><br />Invoking project defined assembler.<br />C:Program FilessilabsIDEfilesC51BINA51.exe blink.asm XR GEN DB EP NOMOD51  <br /><br /><br />A51 MACRO ASSEMBLER V7.09 - SN: Eval Version<br />COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2004<br /><br />ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)<br />Link in progress...<br />C:Program FilessilabsIDEfilesC51BINBL51.exe @C:iiasmcyglink.txt<br /><br /><br />BL51 BANKED LINKER/LOCATER V5.03 - SN: Eval Version<br />COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2002<br />C:iiasmlink.obj  TO C:iiasmBLINK. RS(256) PL(68) PW(78)  <br /><br />******************************************************************************<br />* RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT; USED: 0026H BYTE ( 1%) *<br />******************************************************************************<br /><br />>> <br />>> <br />>> <br />Program Size: data=8.0 xdata=0 code=36<br />LINK/LOCATE RUN COMPLETE.  0 WARNING(S),  0 ERROR(S)<br />----------------------------------------------------------------<br /><br />请问,中间有些错误(比如“A51 FATAL ERROR”)是什么原因,如何改正?谢谢! | 
 |