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

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

xjtudll15年前 (2010-02-08)技术心得7460

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://www.xjtudll.cn/Exp/42/

分享给朋友:

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

常见ESD保护元件分类

常见ESD保护元件分类

一般而言,ESD保护元件的分类可以通过其保护策略与方向性来进行,主要包括压敏电阻[1]、聚合物和瞬态电压抑制器(TVS[2])等。 在这几种保护元件中,压敏电阻在低电压时,呈现出高电阻,其中的每个小型二极管两端的电压都相当低,同时电流也相当小;而在较高电压时,其中的独立二极管开始导通,同时压敏电阻...

php gettext无效解决

php gettext无效解决

 代码:$lang = 'en_US'; //linux不支持zh-Hans,所以gettext、php都不支持。使用locale -a可以看到os支持的语言文字国家地区码。putenv('LANGUAGE='&nbs...

对于不返回任何键列信息的 selectcommand 不支持 updatecommand 的动态 sql 生成

https://www.cnblogs.com/xuqiang/archive/2010/03/07/1953720.html 大家知道,DataSet保存的数据是位于服务器内存里面的原数据库的“副本”。所以用DataSet更新数据的过程就是先对“副本&rdquo...

再谈无线网络受限——无法获得IP地址

前面曾经写了一篇[无线网络连接受限]的解决办法(http://www.xjtudll.cn/Exp/66/),本次再谈一些这方面的内容。上次无线网络受限导致的结果就是:无线网卡无法获得IP地址,即便信号很好,也一直连不上。上次最后的解决办法是用WEP加密方式,后来在网上看到WPA2-PSK加密方式更...

Proteus网络标号自动加一

Proteus网络标号自动加一

在原理图界面,按A(切换到英文输入法),弹出如下窗口: 将PROPERTY=VALUE改成net=P0#,那么网络标号就会从P00开始自动加一,如图所示。...

Word中如何删除多余空格

Word中如何删除多余空格

从网上copy的文章经常会出现多余的空格,手动删除的话工作量极大,如何方便的去除这些多余的空格呢?灵活运用word自带的查找和替换功能即可。 1、删除中文汉字(非数字和字母)后的一个空格 在【查找内容】栏填入:([!0-z\ ])\  《==此处有一空格!!! 在【替换为】栏填入:\...

发表评论

访客

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