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

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

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

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

 

首先,定义一些寄存器,用于存储临时变量,定义R0到R7为70H~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无法直接操作,所以定义两个寄存器给AC和CF。

ACC DN 1

CF DN 1

比较常用的宏有:

1、RAM清零

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

ClearRAM                    .macro 

                                                 .locallabel ClearRAMLoop

                                                        LDS R0,$00

                                                        MVU R0 

                                                        MVH R0

                                                        MVL R0

ClearRAMLoop: 

                                                        MRW# @HL,R0

                                                        CPHL $00

                                                        JMP ClearRAMLoop

             .endm

2、LCD清屏

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、清除CF和AC

⑴ 清除CF

;清除CF

CLRCF                               .macro

                                                        RF C

                                          .endm

⑵ 清除AC

;清除AC

CLRAC                               .macro

                                                        LDS R0,$0

                                          .endm

 

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

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

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

分享给朋友:

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

C#实现重启应用程序

推荐使用: Application.Restart();...

如何获取.NET Framework目录路径?

问题: 如何在C#应用程序中获取.NET Framework目录路径? 例如:“C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727” 方法: 通过使用以下方法可以获取当前.NET应用程序活动的CLR安装目录的路径: Sys...

IIS HTTP 500错误解决

IIS安装完成,一运行出现“HTTP 500 - 内部服务器错误”,网上找了一圈,处理方法那个叫复杂,在研究完复杂方法之后,发现只要三步就可以解决问题了。1. 运行:regsvr32 %windir%/system32/vbscript.dll (其实这一步也可以省,确保万一...

K3老单插件控制字段显示

K3老单插件控制字段显示

https://www.cnblogs.com/youzhangcai1/p/10685778.html 【问题描述:】 我想在工业单据的插件中锁定单据头字段,但实现不了? 【解决方法:】 For i = 0 To m_BillTransfer.Head.count - 1 &n...

android 停止Handler

mHandler.removeCallbacks(mRunnable); 或者 mHandler.removeMessages(what); mHandler.removeCallbacksAndMessages(null) 参数为null的话,会将所有的Callbacks和Messages全部清除...

金蝶 KFO.Dictionary 怎么写

.Net 调用,以C#为例,调用如下: 1、添加kfo.dll的引用。 2、调用方法 KFO.Dictionary dct=new KFO.Dictionary(); dct.let_value("FInteID",100);...

发表评论

访客

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