当前位置:首页 > 技术心得 > 正文内容

tenx(十速)TM87系列常用宏(一)

xjtudll17年前 (2010-02-08)技术心得11370

tenx(十速)TM87系列常用宏(一)

 

首先,定义一些寄存器,用于存储临时变量,定义R0R770H~77H,方便LCD显示。

定义如下:

ORG 70H

R0 DN 1

R1 DN 1

R2 DN 1

R3 DN 1

R4 DN 1

R5 DN 1

R6 DN 1

R7 DN 1

由于累加器AC和状态寄存器CF无法直接操作,所以定义两个寄存器给ACCF

ACC DN 1

CF DN 1

比较常用的宏有:

1RAM清零

单片机上电后,RAM值是未知的,未避免出现错误,所以需要对RAM清零。

ClearRAM                    .macro 

                                                 .locallabel ClearRAMLoop

                                                        LDS R0,$00

                                                        MVU R0 

                                                        MVH R0

                                                        MVL R0

ClearRAMLoop: 

                                                        MRW# @HL,R0

                                                        CPHL $00

                                                        JMP ClearRAMLoop

             .endm

2LCD清屏

ClearScreen                        .macro

                                                        LDS R0,$00

                                                        MVU R0

                                                        MVH R0

                                                        MVL R0

                                                        LCPX 0

                                                        LCPX 1

                                                        LCPX 2

                                                        LCPX 3                       

                                          .endm

3、中断压栈和出栈

压栈

;压栈

PUSH                                .macro

                                                        STA ACC

                                                        MAF CF

                                          .endm

出栈

;出栈                                                      

POP                                    .macro

                                                        LDA ACC

                                                        MRA CF

                                          .endm

4、清除CFAC

清除CF

;清除CF

CLRCF                               .macro

                                                        RF C

                                          .endm

清除AC

;清除AC

CLRAC                               .macro

                                                        LDS R0,$0

                                          .endm

 

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://xjtudll.cn/Exp/42/

分享给朋友:

“tenx(十速)TM87系列常用宏(一)” 的相关文章

SQL Server 树形递归查询

SQL Server 树形递归查询

原始查询 原始表格查询: select * from dbo.T_DeptInfo; 原始表格查询结果:: 递归查询 递归查询结果 带缩进的的树形递归查询 缩进递归查询结果 查询是否子节点的树形递归查询 树形递归查询是否包含子节点的查询结果...

再谈Proteus无法放置元件的解决方法

再谈Proteus无法放置元件的解决方法

前面已经写过一篇关于Proteus7.6 SP4无法放置元件的解决办法,当时是用“解决pwi退出问题.rar”里面的文件覆盖解决的,而且覆盖后也确实可用。 然而好景不长,今天再次用Proteus7.6的时候,发现又不能放置元件了…… 归根结底还是日期的...

SQL中没有IIf,Nz函数,用什么替代

SQL Server中没有iif函数,可以使用case when then 例如: case when 性别 = '男' then '先生' else ‘女士' end SQL中也没Nz函数,可以用isnull代替 例如 isnull(字段,0)...

Windows Live Writer:Object moved问题解决

用Windows Live Writer已经有很长时间了,可以方便的从Word里面拷贝文章,再也不用理会博客后台那蜗牛般的速度了。这就是Windows Live Writer强大的地方。 今天用Windows Live Writer更新博客时,突然提示: Found: Object moved...

两个IO 6按键

两个IO 6按键

分析: 首先:IO1,IO2输出高电平 S1按下,IO2为低电平 S2按下,IO1为低电平 S3按下,IO1,IO2为0.7V(1N4148导通电压),还是低电平。 现在开始判别其他几个按键了: 1、IO1输出低电平,读IO2电平 ① 如果IO2为低电平,此时应该是S4或者S6按下(S6按下时,...

Qt无法定位程序输入点

Qt无法定位程序输入点

       Qt发布程序的时候,运行exe文件(位于release文件夹),提示Qt无法定位程序输入点于动态链接库QtCore4.dll上,如图所示。   碰到这个问题,当然第一件事是在\Qt\2009.05...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。