|
现在,许多单片机都有2个以上的数据指针,利用这个特点,可以一次过把数据从A处转到B处,非常方便。
切换双DPTR,只需更改一个名为DPS的位,其间切换频繁,故先定义二条宏指令,H_DPTR0 和 H_DPTR1,使用时,只需用宏指令便行。
作为测试,假设从单片机的F_ROM空间读出数据,再写入到掉电不丢的IAP空间里去。先定义一个表格,为方便计算数目,把数据定义在 0B800H 位置,16行数据都是从00H~0FFH,共256个字节。
两个DPTR的开始地址都要预先给出,一个从0B800H处读出,一个从0C000H处开始写入。…… 工作中,若读取表格的DPH为9时,说明256个字节的数据读/转写业已完成。
完成后,停止运行,查看目标地址的256个数据,恰好与表格数据一致。
实际项目中,源数据当然不一定从本地表格来,可能是短信模块来,也可能温湿度测量模块来,还可能是红外遥控发射过来……!有了这个测试,实际工作时就会心中有数啦!—— 仅供参考。 |
评分
-
查看全部评分
|