请教高手,问题出在哪?

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

本版积分规则

1

主题

1

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部