avr单片机和51单片机的区别在哪里呢,我学了51单片机有没有必要在学AVR单片机,说51单片机是准双向IO口,
3个回答
展开全部
51是准双向IO,默认状态下可以直接读端口不需要写1.但是如果之前有使用过这个IO就要先写1,不然可能因为mosfet是导通的而将输入拉低,读不到外部输入的高电平,这与51IO的结构有关。AVR则不需要这一个步骤,因为有更复杂的结构替你完成了这个动作
学单片机还是51入门比较好,因为资料多,便宜,经过这么多年发展市场上的51其实基本都是升级版的51,只不过兼容intel
80C51的指令而已。
51是复杂指令集结构即CISC,AVR是精简指令集结构即RISC。51能够通过指令直接完成的功能更多,但是也更复杂,速度也比较慢。而AVR是RISC,所以同等时钟频率下要比51快很多基本是1个时钟周期1指令,而51是12时钟周期1指令,一些升级版51或兼容系列则是6T或1T的,但是总体上还是RISC比CISC速度更快。
简单说就是51入门好,价格便宜,资料多,稳定,适合于很多简单功能应用场合。一般用于低端产品上
AVR功能更强,速度更快,但是价格也更高,资料相对51要少一些,只是相对;适合于功能和速度要求比较高的场合,多用于中高端产品上
但是51升级版也有很多便宜且功能较强大的片子,比较有代表性的是STC的
AVR也有一些裁剪版的价格相对便宜一些
选择使用哪种MCU需要根据你所开发产品的功能、成本、速度、稳定性等各方面综合考虑。不能单一说51好还是AVR好。
但是51在国内发展时间长,而且经过各大公司发展,产品很稳定,特别是价格便宜,资料很多。非常适合入门。
单片机只是一个工具,具体的51还是AVR或者PIC、ARM只是一个载体,是MCU这种工具的一种,你需要完成的是用这个载体完成你的设计思想。
扎马站桩是功夫的基础,但功夫不是扎马站桩!
单片机功夫在单片机之外!
学单片机还是51入门比较好,因为资料多,便宜,经过这么多年发展市场上的51其实基本都是升级版的51,只不过兼容intel
80C51的指令而已。
51是复杂指令集结构即CISC,AVR是精简指令集结构即RISC。51能够通过指令直接完成的功能更多,但是也更复杂,速度也比较慢。而AVR是RISC,所以同等时钟频率下要比51快很多基本是1个时钟周期1指令,而51是12时钟周期1指令,一些升级版51或兼容系列则是6T或1T的,但是总体上还是RISC比CISC速度更快。
简单说就是51入门好,价格便宜,资料多,稳定,适合于很多简单功能应用场合。一般用于低端产品上
AVR功能更强,速度更快,但是价格也更高,资料相对51要少一些,只是相对;适合于功能和速度要求比较高的场合,多用于中高端产品上
但是51升级版也有很多便宜且功能较强大的片子,比较有代表性的是STC的
AVR也有一些裁剪版的价格相对便宜一些
选择使用哪种MCU需要根据你所开发产品的功能、成本、速度、稳定性等各方面综合考虑。不能单一说51好还是AVR好。
但是51在国内发展时间长,而且经过各大公司发展,产品很稳定,特别是价格便宜,资料很多。非常适合入门。
单片机只是一个工具,具体的51还是AVR或者PIC、ARM只是一个载体,是MCU这种工具的一种,你需要完成的是用这个载体完成你的设计思想。
扎马站桩是功夫的基础,但功夫不是扎马站桩!
单片机功夫在单片机之外!
展开全部
avr
我知道at90系列和atmega系列,主要改进在使用了精简指令系统,多数指令都是单周期,速度是普通51的12倍,但是at公司的avr单片机外部晶振只能使用最高8mhz的,高了不行,这一点,有一些增强的51已经达到了,不如stc的单片机,也是使用精简指令系统rics。而且可以用32mhz的晶振……说偏了……
avr我看更接近arm,pin已经可以定意功能,比如输入输出都要进行设置,当然51也需要了。avr一般都有内部eeprom,程序空间和ram都比较大。更适合用c语言编写程序。有更多的功能寄存器需要设置,应为功能多了嘛,实际上和51本质上只有指令系统的区别。
我知道at90系列和atmega系列,主要改进在使用了精简指令系统,多数指令都是单周期,速度是普通51的12倍,但是at公司的avr单片机外部晶振只能使用最高8mhz的,高了不行,这一点,有一些增强的51已经达到了,不如stc的单片机,也是使用精简指令系统rics。而且可以用32mhz的晶振……说偏了……
avr我看更接近arm,pin已经可以定意功能,比如输入输出都要进行设置,当然51也需要了。avr一般都有内部eeprom,程序空间和ram都比较大。更适合用c语言编写程序。有更多的功能寄存器需要设置,应为功能多了嘛,实际上和51本质上只有指令系统的区别。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
操作前要写1,是指51单片机在接收端口数据的时候要先往该端口输出高电平,然后再读取这个端口的数据,如果是输出就不用写一。这是因为51单片机端口结构需要的,要先拉高才能读取。
avr单片机可以说是51的升级版,学了51只能算入门,还要学avr、arm这样子。后2者因为端口比较多,其实其他的大部分芯片都要进行端口配置,就是你说的先设定端口为输入还是输出模式,然后再输入或输出数据,这样就不用拉高这样的步骤了,因为他们的端口结构不一样,有兴趣的话可以百度一下这样的图片啊
avr单片机可以说是51的升级版,学了51只能算入门,还要学avr、arm这样子。后2者因为端口比较多,其实其他的大部分芯片都要进行端口配置,就是你说的先设定端口为输入还是输出模式,然后再输入或输出数据,这样就不用拉高这样的步骤了,因为他们的端口结构不一样,有兴趣的话可以百度一下这样的图片啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询