单片机开发都有哪几种?除了51

我目前只接触到了51单片机,就相当于井里的蛤蟆,我看到还有什么ARM单片机,我应该都不清楚,那些更强大?我应该学习哪些,谁能帮帮我。
51单片机使用C语言,我还算是熟悉,ARM比51单片机高级么?51单片机可以控制彩色屏幕么?ARM需要什么语言编写程序。

AVR PLC MSP 等@林北移动互联工作室
ARM是32位的芯片,功能比单片机强大多了。
裸机和单片机一样。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-11-10
51只是众多单片机中的一个系列,功能相对还是比较简单,结构也不复杂,只用来做一些简单的数据采集和控制系统,按照它的处理速度(最大24MHZ的外部时钟)和能力控制彩屏稍显吃力,毕竟他不是为大量数据的处理诞生的。其它和它类似的还有AVR单片机、Motorola单片机等,都是大同小异,各具风格和特色而已。
而ARM已经不再是普通意义上的单片机了,你可以这么理解,假如最简单的带CPU的处理器是51单片机,最复杂的是Intel的用在电脑中的处理器,那么ARM就是中间状态,离51稍远,功能、性能、速度等更接近我们平常用的电脑中的处理器,不过呢,所有的处理器,简单也好,复杂也好,基本原理都是一样的,在外部时钟提供动力下,CPU从一个存储器中一条条地取出机器码去执行,全都是这样。所以,根据使用的场合不同,选用不同的处理器,比如用51单片机连接触摸屏,它不行,但是普通电脑中的处理器太强劲,浪费,那么就用ARM了。
至于单片机用什么语言编程,你的理解稍有问题,所有的处理器,归根到底,它们只能认识以0和1组合的机器码,所以单片机一开始出现时,人们编程都是写“01010011 01010101 00001011”这样枯燥的机器码来控制CPU动作的,后来为了方便,人们发明了能把汇编语言、C语言编译成机器码的编译器,比如你用的Keil,因此,我们就可以用简单的C语言或者易懂的汇编语言来编程了,只是编译器帮我们把它编程了“00101010 00110011”这样的机器码而已。
因此,能用什么语言编程,跟单片机没关系,是看你的编译器能把什么语言变成机器码。追问

你的意思是,我可以使用C语言进行编程(我知道需要转换成机器语言010101),也能够控制ARM这种高性能的单片机是吧。
我不知道我理解的对不对,就是单片机的原理都是一样的,我可以用C语言进行编辑,然后转换成机器语言烧录进单片机里,外部链接结构原理也是相同的。
比如在51里面,C语言sbit ^ 1.7,是控制了这个单片机的脚,那么在ARM里面,sbit ^ 1.7同样是这个意思对么?

追答

理解上没有错,不过在ARM中,sbit^1.7能否被编译成对应的代码跟编译器有关,因为ARM在编程时不支持对一个位单独操作,没有这样的指令(有一款ARM CORTEX M3除外),一般都是整体读整体写,想对单独位操作,就把整体端口的值读来,用按位与和按位或的方式改变其中一位,再写回端口就可以了。

追问

非常感谢,你能介绍给我一本关于ARM开发的书么?我现在看的是51单片机的书。

追答

给你说一本《深入浅出ARM7-LPC213x》,分上下册,是入门ARM比较好的书,不过一定要在51有过实践经历,比较熟悉了的情况下再上ARM,否则会越来越混乱。祝你学习愉快。

追问

非常非常感谢你!

本回答被提问者采纳
相似回答