一提起单片机,也许有好多好多的人晖然不知其为何物。但当你生活在繁华的现
代化大都市时,你有没有想过,为什么我们随时都可以在ATM自动柜员机里取
钱?为什么十字路口的交通灯能够在没有人干预的情况下有条不紊地指挥着交
通?为什么我们能用手机随时随地与他人进行通话?我们平常所使用的数码相
机、数码电视机、数码音响、遥控器、空调、智能洗衣机、智能玩具等等所谓的
高科技产品,它们到底是怎么构成的呢?其实说到底,服务于我们现代化生活的
神秘之物,正是不为人所知的单片机!
目前,单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的
踪迹,它是如此地贴于近我们的生活,在我们的生活中触手可及,给我们的生活
带来很多的便利。如导弹的导航装置,飞机上各种仪表的控制,计算机的网络通
讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC
卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以
及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机
器人、智能仪表、医疗器械了。从当前情况来看,科技越发达,智能化的东西就
越多,使用的单片机就越多。
据统计,我国的单片机年容量已达1-3亿片,且每年以大约16%的速度增长,但
相对于世界市场,我国的占有率还不到1%。特别是沿海地区的玩具厂等生产的产
品多数用到单片机,并不断地辐射向内地, 这说明单片机应用在我国才刚刚起
步,有着广阔的前景。面对着学习单片机是一门终生受用的技术;同时面对着生
活的现代化,我们衣、食、住、行也就越来越依赖各式各样的“高科技”了,也
就有很多地方都用到了高集成电路IC和单片机。学习单片机,做现代生活的领航
人,它将带你进入最具魅力的电子世界。
那么什么叫单片机呢?一台能够工作的计算机要有这样几个部份构成:CPU(进
行运算、控制)、RAM(数据存储)、ROM(程序存储)、输入/输出设备(例
如:串行口、并行输出口等)。在个人计算机上这些部份被分成若干块芯片,安
装在一个称之为主板的印刷线路板上。而在单片机中,这些部份,全部被做到一
块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了
上述部份外,还集成了其它部份如A/D,D/A等。
此时,有读者就会惊叹的问:“家用计算机中的CPU一块就要卖几百元,而单片
机里面就包含了这么多东西,这价格那还了得吗?再说这块芯片想想也是非常之
大,有那么实用吗?”其实不然,一片单片机芯片的价格并不是大家想象中的那
么高,恰好相反,它的价格是从几元人民币到几十元人民币这么便宜,体积也不
大,一般是40脚封装,当然功能多一些的单片机引脚比较多的,如68引脚等,功
能少的只有10多个或20多个引脚,有的甚至只有8个引脚。
为什么会这样呢?功能有强弱,打个比方,市面上有的组合音响一套才卖几百块
钱,可是有的仅一台功放机就要卖好几千。另外这种芯片的生产量很大,技术也
很成熟,51系列的单片机已经做了二十几年,所以价格就低了。 既然如此,单
片机的功能肯定不强,干吗要学它呢? 话不能这样说,实际工作中并不是任何
需要计算机的场合都要求计算机有很高的性能,一个控制电冰箱温度的计算机难
道要用PIII?应用的关键是看是否够用,是否有很好的性能价格比。所以8051出
来二十多年,依然没有被淘汰,还在不断的发展中。
对于要学习单片机或者对单片有浓厚兴趣的人来说,那么如何才能既快速又方便
的学习好它呢?
第一、要多方面获取学习单片机技术方面的资料。购买有关书籍,并到相关的单
片机技术网站和IT网站获取资料,例如,在网上可以找到仿真器的使用指导书、
各种系列单片机的使用说明和具体单片机芯片的数据说明,可以找到仿真器的电
路图、实验板电路图、芯片封装知识等大量的实际应用参考电路,当然有些资料
是英文的,看懂英文资料是个挑战,学会4、6级英语就是为看资料的。英语难
学,但是看资料容易,只要下决心,看完一本资料,就可以看懂所有的相关资
料。
第二、购买仿真器和实验电路板,如果经济条件不错,可以直接购买。如何自制
仿真器和实验电路板呢?首先要到网上找到仿真器的电路图,然后就可以使用画
电路板软件画电路图和电路板图,这又是个挑战,要求你先前必须认真学好PCB
图制作方面的相关知识,并熟练掌握一种以上的电子电路制图软件的使用方法。
仿真器电路非常简单,但要把它制作出来还是需要下一番苦工夫的,找一本有关
书,然后练习画原理图,画完原理图后,就学习认识元件封装,再购买元件,这
时就可以画电路板图了,一旦画好,将形成的PCB文件交给电路板制作公司,若
干天后,就可以得到电路板,焊上元器件,等实验电路板做好后,就可以与实验
电路板一起调试了。另外,仿真器本身的系统程序,也需要向仿真器电路图设计
者购买。自制实验电路板,需要单片机芯片内部工作原理的知识、封装知识,清
楚的知道每一个引脚的功能,还需要数码管、按钮、排电阻、三端稳压器、二极
管、散热器、电解电容、普通电容、电阻、钮子开关等元件的知识,对于初学
者,可以做一个只有3个数码管、8个按钮、8个发光二极管的简单实验板,这样
的实验板,虽然简单,但足可以帮助初学者入门。
第三、可以从网上获得仿真器用的仿真软件,或者如果你是购买的仿真器,它也
有配套相关的仿真软件,将其安装到计算机上。这样就可以调试仿真器和实验
板,将仿真器的一端与PC机相连,另一端连接实验板的接口,上电后,检查仿真
器芯片、实验板上芯片是否发热(用手模),PC机是否工作正常后,运行仿真软
件,找个C语言或汇编语言的例子,编译成功后下载到单片机中,如果能够下
载,说明一切成功。否则还需要仔细研究,一般情况下,只要电路板上的电路正
确,元件参数准确,没有不成功的。
上面的准备工作做好后,我们就可以进入到单片机技术的学习阶段了。
第四、我们要从宏观上把握好单片机技术的核心内容。只有你在脑海里有了这门
技术的核心内容,那么你在学习的过程中,你就会知道你是在学什么?学到哪一
部分了?学了有什么用?往往好多学生在学习这门技术的过程中,不注重对整门
技术的宏观把握,导致了学习的时候糊里糊涂,然后除了天天喊什么“听不懂
啦。”“在学天书啦!”“太难学太枯燥啦!”等等就真的什么也学不会了,其
实只要你掌握好单片机技术的知识主干,那么学习起来就心中有数了,最起码也
能知道自己在学什么。图1-1是当前一般院校单片机教材的主要知识结构,大家
要把这一幅图深深印在脑海里,带着它学习起来心里就有底了。
单片机基础知识主要是回顾一下学过的一些电子入门知识,包括数字电子技术,
计算机基础知识等。然后分成软硬件两个方面来学习。
硬件方面主要学习单片机的内部结构,这部分的知识非常重要,特别是存储器结
构这一方面的知识,更要好好的掌握。硬件方面接下来要学习的就是单片机的三
件法宝,它们分别是中断系统、定时/计数器,串行接口,这三个方面的内容可
以为将来的单片机应用系统电路设计带来方便。然后就是要学习单片机的片外扩
展及接口技术,单片机的三件法宝有时不够用怎么办?不怕,可以通过扩展来实
现,比如8051有两个定时/计数器,而我们设计的系统要用到四个定时器,怎么
办,我们可以通过扩展外部定时芯片来扩展定时/计数器的个数。又比如单片机
要接收一个温度信号,我们就可以通过扩展接口技术,为单片机外部加一个温度
传感器,放大器,A/D转换器等来完成任务。
软件方面主要先学习单片机的指令系统,所谓指令就是指示单片机完成一个动作
的命令。每种型号的单片机都有各自的指令系统,我们只要熟悉地掌握一种型号
的单片机的指令系统,其它的就皆能触类旁通了。熟悉指令系统以后,我们就可
以采用这些指令来编写程序了,程序是能够使单片机完成某个功能的指令的集
合。如何使编写出来的程序符合单片机应用系统的要求,如何达到程序的最优
化,这就是学习程序设计技术的内容了。
通过学习完单片机软硬件方面的知识,我们就可以来设计一个单片机应用系统,
但是在设计的时候要注意一些什么问题,如何设计才能使整个系统达到抗干扰、
可靠性高等等问题,都是在单片机应用系统的设计这一方面我们要学习的。
第五、从细微处着手学习好单片机技术的每个主要知识点。可具体从下面几步入
手:
1、先学习数字I/O的使用。信号的输入输出,都是通过单片机的I/O口来实现
的。我们可以通过使用按钮输入信号,发光二极管显示输出电平这样的实例,就
可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是
数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程思
想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字
输入和输出功能。每使用单片机的一个功能,就要对控制该功能的寄存器进行设
置,这就是单片机编程的特点,千万不要怕麻烦,所有的单片机都是这样。
2、定时器的使用。学会定时器的使用,就可以用单片机实现时序电路,时序电
路的功能是强大的,在工业、家用电气设备的控制中有很多应用,例如,可以用
单片机实现一个具有一个按钮的楼道灯开关,该开关在按钮按下一次后,灯亮3
分钟后自动灭,当按钮连续按下两次后,灯常亮不灭,当按钮按下时间超过2s,
则灯灭。数字集成电路可以实现时序电路,可编程逻辑器件(PLD)可以实现时
序电路,可编程控制器(PLC)也可以实现时序电路,但是只有单片机实现起来
最简单,成本最低。定时器的使用是非常重要的,逻辑加时间控制是单片机使用
的基础。
3、中断系统的学习。单片机的特点是一段程序反复执行,程序中的每个指令的
执行都需要一定的执行时间,如果程序没有执行到某指令,则该指令的动作就不
会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的下降沿。要使
单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断
功能,该功能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发
生的动作,处理完成后,再返回执行正常的程序。中断功能使用中的困难是需要
精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候允许中断发生(开
中断),需要设置哪些寄存器才能使某种中断起作用,中断开始时,程序应该干
什么,中断完成后,程序应该干什么等等。中断学会后,就可以编制更复杂结构
的程序,这样的程序可以使CPU同时做几件事。
4、与PC机进行RS232通信。单片机一般都有USART接口, USART接口不能直接与
PC机的RS232接口连接,它们之间的逻辑电平不同,需要使用一块232芯片进行电
平转换。USART接口的使用是非常重要的,通过该接口,可以使单片机与PC机之
间交换信息,虽然RS232通信并不先进,但是对于接口的学习是非常重要的。正
确使用USART接口,需要学习通信协议,PC机的RS232接口编程等等知识。试想,
单片机实验板上的数据显示在PC机监视器上,而PC机的键盘信号可以在单片机实
验板上得到显示,将是多么神奇的事情啊!
以上三步学会,就相当于牢牢掌握了单片机三大法宝,就有能力设计一些简单的
单片机应用系统了。
5、学会用单片机外接RAM、ROM、A/D、D/A转换等芯片。必竟仅依靠一片单片机
芯片来设计大型的应用系统,其力量是有限的,要想使单片机具有出神入化的功
能,就必须学会用它与其它各种类型的芯片连接,完成更加意想不到的功能。例
如让单片机与芯片27512连接,那么单片机就可以存贮256KB的程序了;如果让单
片机与芯片DAC0832或AD0809连接,那么这个单片机系统就具有数模转换或模数
转换的功能了,通过这些A/D或D/A转换,可以使单片机操作模拟量,显示和检测
电压、电流等信号。学习时注意模拟地与数字地、参考电压、采样时间,转换速
率,转换误差等概念。使用A/D转换功能的简单的例子是设计一个电压表。
6、学会PCI、I2C接口、USB接口、TCP/IP接口和液晶显示器等的接口。这些接口
的使用可以使单片机更容易连接外部设备,在扩展单片机功能方面非常重要。同
时可以学习一些比较、捕捉、PWM功能,这些功能可以使单片机能够控制电机,
检测转速信号,实现电机调速器等控制起功能。
综上所述,学习单片机就是要采用理论与实践相结合的方法,采用软件与硬件同
步掌握的方法来学习单片机技术。单片机技术是一门实操性很强的专业课,单方
面的啃书本是劳而无获的。在学习的过程中也不能一味地学习硬件知识或者一个
劲地学习编程技术,而是两方面都要顾及,一方面要学习硬件,一方面也要学习
软件。通过硬件知识的学习,你能够了解到如何编程来控制硬件,通过软件编程
的学习,你又可以更进一步学习到单片机硬件的工作机制和原理。
在知识爆炸的年代里,即使天天学习,也很难跟上科学技术的发展。学习单片机
技术首要的是兴趣,爱好单片机才能学会单片机,不为什么目的,只为学习的乐
趣,当然要是兴趣也能赚钱,则是一举两得。学会使用单片机其实是学会了使用
工具,充其量是个补锅、锔碗的匠人。如果再要进步,就需要在信号识别、控制
理论、数字信号处理理论、通信理论等方面下工夫,只有这样,才能开发出高水
平、高附加值、具有知识产权的产品,达到熟练运用的至高境界。单片机是
DSP、嵌入式操作系统等高级硬件产品开发的基础。如果想要进一步的发展,必
须学会单片机的开发。如果在学会单片机的基础之上,学会CPLD和FPGA的开发以
及硬件描述语言,就可以在高速产品的开发方面如鱼得水。
|