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

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

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

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

分享给朋友:

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

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

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

RDLC报表:不同的页眉

RDLC报表:不同的页眉

问题描述: RDLC报表,需要首页页眉和后面的页面页眉不同 解决办法: 利用Hidden属性和内置字段PageNumber。适当隐藏某些元素。 则可实现不同的页眉。 例如:某个元素仅第一页显示 参考资料: https://forums.asp.net/t/2031340.aspx?having+...

Eclipse导入Android工程,出现default与Displaying的问题解决

Eclipse导入android工程时出现如下提示: [15:04:03 - XXX] 'default' is not a best match for any device/locale combination.  [ 15:04:03 - XXX] Displaying it wi...

利用Multisim设计数字滤波器

利用Multisim设计数字滤波器

【工具】->【Circuit Wizards】->【Filter Wizard】  可以设计低通,高通,带通,带阻,滤波器可以选是无源还是有源。不过这玩意儿还是没专业的滤波器设计软件好用。...

Protel99SE交互布局

Protel99SE交互布局

我们在PCB布局的时候,如果元件比较多,经常要花大量的时间找元件。一直以来在找寻Protel99SE交互布局的办法,后在网上发现大牛wang1jin写的一篇文章,讲述了Protel99SE交互布局的方法,但其描述了过多的无关内容,因此花了一些时间整理出了此文。 何谓交互布局?实际上通俗的讲,交互布...

eclipse显示行号及字体设置

eclipse显示行号及字体设置

1 编辑器显示行号 Windows -> Preferences -> General -> Editors -> Text Editors -> Show line numbers(勾选) 2 显示字体设置 Windows -> Preferences -&g...

发表评论

访客

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