本文最初由【海东青电子】张平发表于ENDCHINA.COM,转载请保留出处和版权信息,谢谢。
51的身世问题说完了,该进入正题了。
传统的51单片机教程,都是千篇一律地从单片机的硬件结构、指令系统、寻址方式、编程方法等开始讲解,理论性过强,对于零基础的初学者来说,处处是术语,往往是一头雾水,难以真正掌握单片机的知识要点,为了应付考试,常常只能死记硬背答案,考试过后,对单片机的掌握又回到了零起点。
我们学习单片机的目的是什么?是为了应用。所以,“用”就是最重要的。动手实践,别无他法。可是,理论就不重要吗?那些经典的51教科书没有用吗?否!理论当然重要、而且最重要,一切实践最终是要靠理论来指导的。教科书是要不断翻阅、当作资料来查找的。但是,当你对单片机的整体还不是很了解的时候,应该从做单片机实验下手;有一定经验后,还需要结合单片机理论知识,这样对单片机就能有真正的理解和认识了,也就能灵活运用了。
对于初学者,完全可以先把单片机看做一个普通IC。IC知道吧?Integrated Chip,集成电路。IC可多了,不计其数,一般是DIP(双列直插)模样的,给它的管脚通上电,它就能完成一定功能。单片机也是这样,以国内常用的单片机STC89C52RC(宏晶生产,用宏晶老总的说法,用国产单片机,支持国货!)来说,这是个大块头的芯片,40个管脚,PIN(管脚)20接地、PIN40接电源,这个芯片就处于工作状态了。但要让它真正能运行起来,还需要做些工作。第一,PIN18、PIN19要接一个晶振,晶振相当于单片机的心脏,给单片机提供“脉搏”(脉冲),是单片机执行指令的时间依据(显然,单片机执行速度就跟这个晶振的频率有关了,频率高、执行速度快,但频率有上限约定,过高的频率单片机是吃不消的)。第二,PIN9要有一个“复位”信号,这是单片机开始执行程序的信号,像百米赛跑的发令*。没这个信号不行吗?上电就让单片机跑程序代码不行吗?要知道,你给单片机加上电源,比如+5V,单片机内部电源可不是立刻能上升到5V的,这需要一个过程,可能要几个ms(毫秒),毫秒对于人类而言是很短暂的时间,但对于单片机是巨大的时间长度!单片机是以微秒、甚至纳秒为时间单位的!在这个电源上升过程中,电压处于不稳定状态,如果这时单片机就开始执行程序,就不定出什么乱子!你问我到底能出什么乱子?我不知道具体出什么乱子,但我可以告诉你,每次出的乱子都可能不相同!因为这是一种不稳定状态。所以,单片机需要一个外部复位电路,给单片机提供复位信号,这个信号肯定是在电源稳定后才发出的,单片机检测到这个复位信号后,就从一个固定的代码地址取出第一条指令、并开始执行。
说了第一、第二,还有最重要的第三:单片机需要写入控制程序,即指令代码,才能完成你想要的功能。没有代码的单片机是一个“空白”的芯片,当然什么也不会做。怎么写入程序?用钢笔还是铅笔?呵呵,写入,也叫烧程序,也叫编程、下载,write、burn、 program,都是这个意思,术语上比较乱,国内流行的叫法是“烧程序”--把控制代码“放”到单片机内部的过程。(这里,我们默认单片机都是内部带FLASH,可擦写、可编程的。)大部分单片机需要专用的“编程器”来烧写程序,STC宏晶的比较特殊,通过串口就可以烧写,廉价、简便。
(待续)
文章评论(0条评论)
登录后参与讨论