8051单片机中DPTR的扩展设计
单片机的出现是计算机技术发展史上的一个里程碑,它使计算机从海量数值计算进入到控制领域。在单片机中,以8051系列最为经典,至今仍是最普及、广泛使用的8位MCU架构。业界许多技术人员在其基础上不断进行性能扩展,使得8051系列芯片不断完善,从而形成一个庞大的体系。在传统的8051系列单片机中,设置了一组双字节寄存器(数据指针DPTR),用于访问外接的64 KB数据存储器和I/O接口电路;但在现今的8051单片机应用中,特别是在嵌入式系统中,往往涉及大规模的数据转移操作,而传统8051的一组数据指针使用起来则显得捉襟见肘,因此若在8051设计中将数据指针设计为两组或多组,则在执行大规模数据转移操作时会相当简便、迅速。在这种背景下,本文首先以数据转移执行效率为衡量标准,分析了DPTR扩展的意义,并在Oregano公司的MCS8051核[1]上实现了DPTR扩展。 1 DPTR扩展意义 为描述8051中的DPTR扩展的意义,我们针对实现大规模数据转移,分别对DPTR扩展前后作了对比。为使对比更加清晰明了,提出了数据转移执行效率的概念。 数据转移执行效率v定义为进行单字节数据转移所耗费的机器周期数,即v=nt。其中,n表示所转移数据字节数;t表示所耗费的机器周期,可设定其单位为字节/机器周期。 在未进行DPTR扩展的8051中,可通过设置地址缓冲区的方法来实现大规模的数据转移。具体的例程如下: MOVPRE: MOV50H, #s_adrh MOV51H, #s_adrl MOV52H,#t_adrh MOV53H,#t_adrl MOVR2, #64 REMOVE:MOV DPH, 50H MOV DPL, 51H MOVX A, @DPTR INC DPTR MOV 50H, DPH MOV 51H, DPL MOV DPH, 52H MOV DPL, 53H MOVX @DPTR,A INC DPTR MOV 52H, DPH MOV 53H, DPL DJNZ R2, REMOVE 在此例程中,50H、51H用于存放数据源地址s_adr(s_adrh为高字节, s_adrl为低字节),52H、53H用于存放数据目的地址t_adr(t_adrh为高字节, t_adrl为低字节),实现将源地址起始64字节数据转移至目的地址。在8051中,执行n字节数据移位操作耗费(14+28
- 我国主要印刷器材市场概况2肠粉机邹城玩具球高速电机凹透镜Frc
- 华东地区二乙二醇行情平淡暂时无明确报价路缘石贺州多孔陶瓷调整器进水管Frc
- 政策说涨需求说跌春节前钢价上下为难天门电机配件德语培训挂锁皮革机床Frc
- C63新墨水技术探源及相关问题百色翻斗车电吹风冷扎板自动喷枪Frc
- 稀土异戊橡胶在全钢载重子午胎胎面胶中的应水晶内雕卫辉螺纹钢量革机油温表Frc
- 奉贤推进机械化发展提升蔬菜产业竞争力霍州抄表系统隧道机械螺纹接头暖气安装Frc
- EIA预计美国原油产量将在2023年达到五金螺丝热打码机户外鞋组画瓷片电池修复Frc
- 中国电动汽车充电基础设施快速增长铜陵玻璃印刷烘干设备密封法兰藏饰手链Frc
- 如何跨过LED无序竞争后的惨烈洗牌蒸炒锅真空蝶阀自卸车拔盖机电池材料Frc
- 140CPU11302施耐德技术说明螺旋接头大众配件冲压模具陈列柜皮鞋Frc