EMC 使用回忆录
使用EMC汇编软件,挖掘了不少新功能,达到大大简化的目的。
1.汇编软件有计算能力。可以帮我们进行数的转换。
比如: S1 == 123456 S1_H==S1/256 S1_L =S1-S1_H*256 MOV A,@S1_H MOV 0X20,A MOV A,@S1_L MOV 0X21,A;0X20,0X21就代表了123456,修改0X20,0X21代表的数据就只需要修改S1 后的值就可以了 2.常数写为复合表达式 有时候需要修改某些参数,比如增加,减少,可以这样写: MOV A,@(20+2*5)/3+1 MOV A,@111^222 retl 0xff-6;这样就避免算来算去。 ;;;;;;;;;;;;;;;;;;;;;;;;;;; 3.VAR的妙用: 1.生成有一个函数表格
生成一个奇数表格: 从11开始,共10个 RETL 11 RETL 13 ... RETL 21 用以下等效; MMM VAR 11 MRETL MMM MRETL MMM MRETL MMM ...
MRETL MACRO X
RETL X MMM VAR MMM+2 ENDM ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 按照公式:Y=100/X生成表格,X从1到100; RETL 100 RETL 50 RETL 33 RETL 25 ... RETL 1 用以下等效: TTT VAR 11 MRETL TTT MRETL TTT MRETL TTT ... UUU VAR 1 MRETL MACRO X
RETL 100/UUU UUU VAR UUU+1 ENDM 实际的例子,采集一个电阻, 假设: 当为10欧的时候,我们转换后需要的数据为0 当为70欧的时候,我们转换后需要的数据为100 当为280欧的时候,我们转换后需要的数据为230 当电阻为80欧,利用区间插值得到。
我们用5伏100欧电阻对其采样。理论的AD=255*R/(100+R),即R=100*AD/(255-AD);
于是可以这样: RCJ VAR 100 R VAR RCJ*AD/(255-AD) AD VAR 0;;初值 mretl ad;0 mretl ad;1 mretl ad;2 mretl ad;3 mretl ad;4 mretl macro x if R<10 WWW VAR 0; ELSEIF R<70 WWW VAR (100-0)/(70-10)(R-10)+0 ELSEIF R<=280
WWW VAR (230-100)/(280-70)(R-70)+100 ELSE WWW VAR 255 ENDIF
RETL WWW AD VAR AD+1 ENDM ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 当你的采样电阻用100变为150时,你只需要改变 RCJ VAR 150;; 总之利用VAR可以搞出很多好的东西出来。 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|