单片机的终极幻想
首先,很多同学可能会认为现在再谈单片机已经落伍了,其实不然,高端的处理器如恩智浦lpcXX、流明诺瑞lmsXX,其应用范围是固定的,目前4位、8位、16位、32位同时存在于市场中,并且各有用武之地。低端的消费性电子产品市场比如电子表、洗衣机等等,就其性价比而言,MCU的优势是很明显的,虽然很多芯片制造商在努力的改进制造工艺,苦思冥想的解决32位机相对于8位机昂贵的费用,但MCU也在不断完善,现在的Philips的MCS-51相比80年代初性能已经改进了不止数百倍,目前8位CPU仍占嵌入式市场70%的份额,并且在未来的几年其优势还是在一定程度上会毫无疑问的。
学习单片机需要什么基本知识呢?其实没有太高的门槛,一个电类专业或者计算机专业的二年级学生完全有能力介绍这些知识。说白了就是一点点的模电、一点点的数电、还有就是要懂点C语言。很多同学可能会说C学的不好,没关系你在使用语言的过程中就会明白,只要会说话会思考,懂得将现实世界的现象和作用机理抽象成科学的逻辑(流程图),然后按照一种语言的语法实现流程图,你就是在编程了。呵呵。语言是种难缠的工具,良好的使用和表达意识,能让我们对这个世界有更清晰的认识。
学习内容是什么呢?可能很多同学会记得初学单片机时的流水灯,呵呵是的,那是经典的入门程序,类似于学习C语言时的HelloWorld经典呵呵,更类似于Intel和Philips的8031MCS-51的经典。初学单片机编程用什么语言好?个人觉得还是学点汇编好。由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸!对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。 单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不了的。另外初学单片机,使用汇编常与底层硬件打交道是很有益处的。
概括起来个人认为,学习时应着重关注:1、总线 2、寻址方式也就是数据、指令、地址之间的猫腻 3、内部资源比如并口、RAM、ROM、定时器等4、注意每种类型指令的执行过程以及基本的堆栈操作。5、多动手多编程呵呵,还有更多的是出了学校以后才能得到的教训...
珍惜青春,就不顾一切的挥霍它吧,呵呵...
评论