AVR单片机与51有什么不同?

如题所述

令集、封装、功能都不同,但应用领域基本可互相替代,没有固定,PIC在汽车里面多些,其他没有太专业的方向。
如果你是要知道学习哪个更好,可以参考我的另一个回答——
嵌入式操作系统一般是在较复杂的系统里面使用的,单片机里面的那种其实只是提供一个调试编程环境。想学Embedded CPU需要考虑好方向,其实如果在大学阶段,你能把一款单片机(最好是MCS51,因为它有外接口,可以初步了解总线的概念,不要选集成度太高的)真正搞的很清楚了,就已经很不错了。光看书是没用的,一定要实践,MCS51便宜,网上资源多,适合自学,自己到电子市场买芯片和一个最简单的编程器,准备一个逻辑笔,自己焊电路。更进一步,如果你能够把一个MCS51和一片CPLD综合起来实现一些基本的功能,那你已经是一个“准高手了”,可以找一个非常不错的工作。
初期的工作很有些难度,要有兴趣来支持。
关于更复杂的嵌入式软硬件,需要有强大的资金和环境支持,自己很难搞定,如果只想学软件,建议学习嵌入式Linux,一定成高手。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-30
先阐述一下哈佛结构的概念:将程序和资料记忆体分开使用.每个存储模块分别存储指令和数据.使用独立的两条总线,分别作为CPU与每个存储器之间的专用通信路径.
AVR与51的区别:(以AT90s8515为例)
1.程序空间(000H~FFFH)访问时用LPM指令访问。
2.片内数据存储(0060H~025FH)访问时用STS、LDS和ST、LD指令访问。
3.片外数据存储(0260H~FFFFH)访问时用STS、LDS和ST、LD指令访问。
4.32个通用寄存器R0~R31,它们之间数据传送可使用MOV指令。
5.I/O寄存器(00H~3FH)使用IN、OUT访问。
堆栈:MCS-51的堆栈指针寄存器SP(单字节)将数据压入堆栈时SP增大,AVR正好相反。
注意:1.AVR堆栈既可以放置在片内SRAM中,也可以放置到片外SRAM.
2.在AVR中,若不支持外部SRAM,SP为一字节.若支持外部SRAM,则SP为两字节。
3.在对AVR编程时,一定要对SP进行初始化,否则很可能出现,模拟调试正常而程序下载到芯片后却不能工作的现象.
外部SRAM:
MCS-51单片机访问外部SRAM使用MOVX而在AVR中访问片内或片外SRAM均使用相同指令,芯片会自动选择,但为了正常工作还必须对相应寄存器进行设置.本回答被提问者采纳
第2个回答  2011-03-31
主要区别是内核不同。
指令集不同,io结构不同,外设不同。
AVR优点是速度快,IO强大,性价比高。
第3个回答  2011-03-30
相对于出现较早也较为成熟的51系列单片机,AVR系列单片机片内资源更为丰富,接口也更为强大,同时由于其价格低等优势,在很多场合可以替代51系列单片机。
第4个回答  2011-03-30
AVR功能更强、速度更快、外设更多,指令也复杂得多。
相似回答