导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→初学者:请教AT89C2051 [dpjxx]

 *第8088篇: 初学者:请教AT89C2051

  
楼 主:dpjxx 2003年2月11日22:52
 初学者:请教AT89C2051 

AT89C2051编程时那些指令不能用?请朋友回答 
 

  
2楼:Kuang-chingTsui 2003年2月11日23:49
 2051的rom空间
2051的rom空间为2K字节,LJMP、LCALL等长转移指令不可用,该用AJMP、ACALL就好。干脆使用
伪指令JMP、CALL(如果你的汇编器支持的话,汇编器会自动处理的)。
  
3楼:tm1300 2003年2月12日00:22
 不同观点(参考)
LJMP LCALL 可以使用,绝对可以,我肯定。我以前经常使用的,而且运用频繁!
另外LJMP所转移范围比SJMP。AJMP要广的多。如果程序在不同的页上,使用AJMP可能会溢出
出错,而LJMP则不会。当然LCALL长调用也类似。所以,当你使用不清楚的情况下,一般建
议使用LJMP、 LCALL指令,而不是AJMP、ACALL指令。
使用任何芯片只要注意其所具有的硬件资源就行了,例如2051不具备定时器T2,那么就不可
以使用对T2操作的命令。
  
4楼:tm1300 2003年2月12日00:10
 T2定时器
你只要查看一下她所具备的资源就可以了解了。其实任何芯片使用前,都是先要去查看它们
的硬件资源的。
  
5楼:a12345678 2003年2月12日07:12
 回复AT89C2051编程
AT89C2051是89C51的简化,内部有2KFLASH ROM,128BRAM,T0/T1,16个IO(P1/P3),编程时没有
的硬件不能用.
Kuang-ching Tsui和tm1300 说的都基本没问题.由于2051仅仅2KFLASH ROM,因此LJMP、
LCALL等指令与AJMP、ACALL等指令等效能,都可以用,只是AJMP、ACALL等指令字节数量少一
点. 一般同一系列的CPU指令基本上只是受硬件的限制.
  
6楼:Kuang-chingTsui 2003年2月12日09:00
 谢谢二位补充更正
AJMP/ACALL与LJMP/LCALL都是绝对跳转和调用指令,单前者支持11位地址,后者为16位。在
2051中可以使用这两条指令,只是要保证跳转范围在2051中不要超过2K,幸好汇编程序能够保证
这一点。但你一定得保证你的程序体积不要超过2K。
另外2051的I/0为15个,其中P3.6在内部已被硬连接到P1.0/P1.1为输入的电压比较器的输出
端,没有外部连接。P1。0/P1。1做一般I/O使用时一定要外部上拉。
如果程序空间超过2K可以用4051直接代用,两者价格差不多。
  
7楼:白莲 2003年2月12日08:58
 了解2051功能,就会用了.
1,和MCS-51产品的兼容
2,2K字节可重编程闪书速存储器
3,耐久性:1000写/擦除周期
4,2.7~6V的操作范围
5,全静态操作:0HZ~24HZ
6,两级加密程序存储器
7,128*8位内部RAM
8,15根可编程I/O引线
9,两个16位定时器/计数器
10,六个中断源
11,可编程串口UART通道
12,直接LED驱动输出
13,片内模拟比较器
14,低功耗空载和掉电方式
  
8楼:dirty 2003年2月12日11:04
 向白莲求救tc35,现在在吗?
  
9楼:白莲 2003年2月12日11:33
 我在。。。
我对TC35并不了解,不过我在  <a href=Http://www.mcu51.com target=_blank>    </a>  搜到了它的资料,不知道对你有用吗?

>>>>>>对该主题发表你的看法

本主题贴数9,分页: [第1页]


[上一篇主题]:初学者:急!Protel 99SE的SCH和PCB求救!

[下一篇主题]:初学者:有制作伟纳SP100编程器经验的朋友请看