STC单片机中双数据指针的使用方法

上传人:学*** 文档编号:298848980 上传时间:2022-05-26 格式:DOCX 页数:4 大小:16.57KB
返回 下载 相关 举报
STC单片机中双数据指针的使用方法_第1页
第1页 / 共4页
STC单片机中双数据指针的使用方法_第2页
第2页 / 共4页
STC单片机中双数据指针的使用方法_第3页
第3页 / 共4页
STC单片机中双数据指针的使用方法_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《STC单片机中双数据指针的使用方法》由会员分享,可在线阅读,更多相关《STC单片机中双数据指针的使用方法(4页珍藏版)》请在金锄头文库上搜索。

1、本文格式为Word版,下载可任意编辑STC单片机中双数据指针的使用方法 STC单片机中双数据指针的使用方法 STC89系列单片机对数据指针也举行了扩展,由传统51的单数据指针,变成了双数据指针,并设置了相应的特殊功能寄放器对其举行操纵,从而为应用系统设计中数据快速切换与访问供给了条件。下面就对双数据指针的使用方法举行介绍。在介绍中会涉及较多的汇编语言的内容,但分外简朴,读者可以翻阅相关手册,或依程序中的解释理解。 双数据指针特殊功能寄放器 标识 地址 名称 7 6 5 4 3 2 1 0 DPS 初始值 AUXR1 A2H 辅佐寄放器1 GF2 GF2:通用功能用户自定义位 DPS:DPTR寄

2、放器选择位 0:DPTR0被选中 1:DPTR1被选中 xxxx,0xx0 单片机中有两个16位的数据指针,DPTR0与DPTR1。当DPS选择位为0时, 选DPTR0,当DPS选择位为1时,选择DPTR1。 AUXR1特殊功能寄放器,位于A2H单元中,其中的位是不成以位寻址的。但可 以采用位操作的方式对DPS位举行置1或清零。由于DPS位位于第0位,因此可以对AUXR1寄放器用INC(汇编中为INC,C中可以用+运算符),使DPS位反转,由0变为1或由1变为0,即实现双数据指针的快速切换。 用以下应用例程来说明其使用方法(只含核心代码): ;此程序用以说明STC单片机中双数据指针的使用方法

3、CLR A ;累加器A清零 ;将A的值0传送给AUXR1,选中DPTR0 MOV AUXR1,A MOV DPTR,#1FFH ;向DPTR0中装入地址1FFH MOV A,#000H MO ;向累加器A中装入000H ;将A的值传送到DPTR0所指向的外部存储单元中去 DPTR,A MOV DPTR,#2FFH ;向DPTR0中装入地址2FFH MOV A,#0FFH MO ;向累加器A中装入0FFH ;将A的值传送到DPTR0所指向的外部存储单元中去 DPTR,A ORL AUXR1,#01H ;将DPS位置1,选中DPTR1 MOV DPTR,#1FFH ;向DPTR1中装入地址1FFH

4、 MO A,DPTR MOV P2,A ;将DPTR1指向的外部储存单元中的值传送给A ;将A中的值输出在P2口上 ;调用延时程序 LCALL L?0008 ANL AUXR1,#0FEH ;将DPS位清零,选中DPTR0,请留神前面的程序是使用DPTR1,此时DPTR0中的地址并 ;没变仍是2FFH MO A,DPTR ;将DPTR0所指向的外部存储单元(地址为2FFH)中的值传送给A MOV P2,A ;将A中的值输出在P2口上 ;调用延时程序 LCALL L?0008 ORL AUXR1,#01H ;将DPS位置1,选中DPTR1,此时DPTR1中的地址值为1FFH MO A,DPTR ;将DPTR1指向的外部存储单元中的值传送给A,即1FFH地址单元上的值,000H MOV P2,A ;将A中的值输出在P2口上 ;调用延时程序 LCALL L?0009 ANL AUXR1,#0FEH ;将DPS位清零,选中DPTR0,DPTR0中的地址值仍为2FFH MO A,DPTR ;将DPTR0指向的外部存储单元中的值传送给A,即2FFH地址单元上的值,0FFH MOV P2,A ;将A中的值输出在P2口上 NON_STOP: SJMP NON_STOP ;程序结果的死循环 4

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号