;====delay 3s====
clr tr2 ;shut off T2
CLR ET0
CLR TR0
MOV TH0,#0B1H ;20 MS
MOV TL0,#0DFH
mov timebuf0,#00h
mov timebuf1,#00h
clr delay_1s
SETB TR0 ;起动T0
SETB ET0
编译下不就知道了,有现成的工具为什么不好好利用呢,没必要从纯语法的角度去寻找错误,很累的
还是写成纯大写或纯小写格式吧,
还有 TR2 可能不能用 tr2 表示,也仅仅是可能而已。
没写过STM8的汇编,不知道 TR2 是语法关键字还是ST得关键字。
这样相当于伪指令,就是将main000 对 0100H 取模后赋值给 A
这个只能说有些编译器支持,印象中使用过。反正这样写只是写给编译器看的,目标文件还是会将其值计算出来的(注:必须保证计算式中没有不确定量)。
除非有人非常熟悉编译器,否则这个问题基本是让人猜谜。
clr tr2
首先tr2应该是一个数值. 你可能用了伪指令吧.
clr $tr2看看怎么样?
看看TR2是不是没有预定义,使用wave3.2会出现报错,他的预定义没有TR2、TF2
wave6000就不会