AT89C2051是ATMEL微控制器家族——经济中低价成员。它含有2K字节的闪速程序存储器,完全和MCS—51结构兼容并可用MCS—51指令集进行编程。但是在使用有关指令进行编程时,程序员必须记住—些注意事项。
跳转或分支相关的全部指令必须进行空间约束,这样目的地址就会落在AT89C2051 2K字节的物理程序存储器空间内。这一点编程人员必须注意。例如,对于2K字节存储器的AT89C2051来说,LJMP 7E0H是一有效的指令而LJMP 900H则是无效的。
对于LCALL、LJMP、ACALL、AJMP、SJMP、JMP @A+DPTR等指令,只要编程人员记住这些分支指令的目的地址落在程序存储器大小的物理范围内(89C2051的00H至7FFH单元),这些无条件分支指令就会正确执行。违背物理空间的限制会引起不可知的程序出错。CJNE[…],DJNZ[…],JB,JNB,JC,JNC,JBC,JZ,JNZ这些条件分支指令适用以上相同的规则。同样,违背存储器范围限制也会引起不定的程序出错。至于包含中断的应用,80C51硬件结构中已保留标准中断服务子程序的地址。
AT89C2051包含128字节内部数据存储器。这样,AT89C205l中的堆栈深度局限于内部RAM的128字节范围内。它既不支持外部数据存储器的访问,也不支持外部程序存储器的执行。因此,程序中不应包括MOVX[…]指令。
一般的80C51汇编程序即使在违背上述的限制写指令时仍对指令进行汇编。用户应了解正在使用的微控制器89C2051的物理功能和受限范围并相应地调整所用指令的寻址范围以适合89C2051。
可对芯片上的两个加密位不进行编程(U)或进行编程(P)来获得下表10-3所列的功能:
表10-3 加密位
程序加密位
保护类型
方式
LB1
LB2
1
2
3
U
P
P
本文关键字:暂无联系方式综合-其它,单片机-工控设备 - 综合-其它
上一篇:对Flash存储器的编程