找回密码
 注册
搜索
查看: 1683|回复: 7

[讨论] 最新的单片机学习方案推荐(精华)

[复制链接]
发表于 2011-1-9 12:02:08 | 显示全部楼层 |阅读模式
认识单片机
    单片机是什么?如果说它就是一个电脑,一台计算机,你可能不会认可,但事实上它和我们家里的电脑在本质上并没有区别。和电脑一样,单片机内部也有CPU、程序存储器、数据存储器、并行总线、定时/计数器、中断系统、输入输出接口等,不同的是它把所有这些部件都集成在一块芯片上,所以叫“单片微型计算机”,简称“单片机”。 想当年,比尔.盖茨也给类似的东西搞过编程呢,当时机器的显示器是几个LED小灯。
    单片机体积特小,而且价钱也是极低的。普通的8位单片机芯片只有一个手指那么大,价格一般不超过10元/每片。别看它这么小,这么便宜,它可是神通广大,引发了电子技术的一场大革命!
    单片机的技术基础是数字电路,但它与普通的数字芯片有本质的区别。一块普通的数字芯片只具有某个单一的功能(如74138只能译码,CD4040只能计数),而一块单片机芯片却可以通过编程实现任何一个型号的数字芯片的功能,以及多个功能组合所产生的更复杂、更高级的功能, 因为它内部含有CPU(中央处理器)。CPU相当于一个脑,具有接收信息和处理信息的能力,可以记忆、运算、判断、决定,就象我们人脑一样的神奇,这是最关键的一点,也是以往任何硬件都无法比拟的。正因为如此,单片机在应用上具有很大的灵活性、广泛性和高效率。对于很多复杂的功能,如果用上世纪50年代诞生的74系列,或者60年代诞生的CD4000系列这些纯硬件,则需要费很大力气才能做到,有些则是花大力气也做不到的。要是用单片机,则可以轻易地搞定,不但电路简洁,而且性能稳定,设计与制造的时间短、费用低,真是青出于蓝而胜于蓝!
    单片机是微型计算机的一个主要分支,但与一般的微型计算机相比,单片机具有如下显著特点:
    1、突出了控制功能。具有丰富的程序转移、I/O口操作、位处理指令,这些指令都与控制有关。
    2、抗干扰能力强,工作稳定可靠,适合在工业环境和其它恶劣环境中工作。
    3、功能强大,价格低廉,性价比极高,应用领域和市场前景广阔。
    4、低功耗、低电压,可以非常方便地设计出电池供电的手持式设备。
    5、设有多种串行接口,便于与其它设备数据交换。
    6、系统扩展容易。无论是存储器,或I/O口。或中断源,都很容易扩展,可构成各种规模的应用系统。
    单片机的英文缩写可以用MCU(微控制器)来表示,一语道破了单片机最本质的特性就是控制功能。一提到控制,您可能首先想到的就是一个工业生产过程的控制,或者一个机械动作的控制,这当然没错,但您千万不要把“控制”的含义局限在这么小的范围。实际上,很多东西都和控制有关,或者说,都可以归结为一个控制过程,这就使得单片机具有广泛的应用前景和发展空间。可以毫不夸张地说,单片机的出现不但给传统的“控制”领域带来了一场伟大的革命,而且在深刻地渗透和影响着其它各个领域:上从航空航天、军事国防,下到家用电器、儿童玩具,中间贯穿着各个行业,到处都可以看到单片机的身影!全自动洗衣机,数控机床,机器人,IC卡,数字仪表,电梯控制,门禁安防,汽车电子、消费电子、智能系统,图像显示,数据采集,通讯设备,遥控玩具,工业生产线,计算机外设,导弹发射、航天测控,等等等等,举不胜举,其控制部分核心部件的角色,都是由单片机来扮演的,真可谓无所不能,无处不有!
    精通了单片机,可以为您求职积累雄厚的资本,也可以为您创业打下坚实的基础!
    单片机的工作过程完全由程序来控制,程序的编写,可以用汇编语言,也可以用C语言。目前汇编语言还在单片机编程及技术交流中被大量使用,但C语言的使用也正在逐渐大众化。
    完成一个实际的单片机应用设计需要经历以下工作步骤:
    1、根据功能要求,总体规划与构思。
    2、设计硬件电路。
    3、编写软件程序。
    4、将编写好的程序进行编译。所谓编译,就是把程序从普通的文本文档格式“翻译”成单片机能够理解和执行的二进制或十六进制数据格式。当然,编译是由编译软件自动完成的。
    5、搭建实际的硬件试验电路。
    6、将通过编译的程序写入(下载)到单片机芯片。同样,程序下载也是由程序下载软件自动完成的。
    7、运行程序,如果不能实现所要求的功能,则需要修改软件程序(或硬件电路),重新编译、下载、运行,直到功能实现。
    8、设计制作正式的PCB板、元器件焊接与组装、现场调试、实际运行。
    单片机诞生于上世纪70年代,经过30多年的飞速发展,现在它的功能已相当完善,型号也非常繁多,但按照它们的内部结构和指令系统来划分,可分为三大系列:51系列、AVR系列、PIC系列。从历史到今天,51系列一直是主流系列,其中的ATMEL和STC两个子系列,特别是STC子系列,例如STC89C52RC,则是目前国内的主流芯片。
    学习单片机有什么好的学习方案吗?如何才能在最短的时间内掌握它、用好它?请阅读《单片机学习方案推荐》
(资料来源:一学网 http://www.onestudy.net)
 楼主| 发表于 2011-1-15 23:40:43 | 显示全部楼层
单片机学习方案推荐
    我们收到过很多网友的来信,其中有些是单片机初学者,有些是学计算机软件转单片机开发的高校毕业生,他们提出的问题是,学习单片机从哪里开始?学习单片机需要哪些知识基础和硬件投资?希望我们能给出一个单片机学习的方案。虽然我们已经及时给他们一一回了信,但我们认为有必要与更多的单片机学习者来讨论单片机的学习方案问题,目的是希望他们能在最短的时间内掌握单片机,用好单片机,但愿我们的意见能对他们有所帮助。
    一、学习(或复习)一下数字电路的基本知识。
    单片机的技术基础是数字电路,其中很多概念、术语和原理都直接来源于数字电路(如二进制、十六进制、逻辑与或非、电平、触发、译码器、计数器、锁存器、等等等等)。另外,在单片机的实际应用中,大多数的情况是:以单片机为核心,加上必要的外围电路(数字芯片、模拟芯片、控制终端等),以此实现所要求的功能。所以,如果具备一定数字电路最基础的理论知识以及常用数字芯片、模拟芯片的功能、管脚定义、实际电路连接等方面的实践知识,对学习单片机和使用单片机是非常有益的。
    二、最好是会一点C语言。
    虽然目前汇编语言还在单片机编程及技术交流中被大量使用,但C语言的使用也正在逐渐大众化,因此,如果能够看明白别人写的C程序,那无疑会给学习编程带来语言方便,拓展视野,吸取更多的知识营养,自己写C程序也没有语言障碍。书店现在有专门讲单片机C语言的书籍卖,建议C语言还没入门的单片机学习者选购此类书籍。
    三、要有一个属于自己的实验平台。
    单片机技术是一门实践性非常强的工程应用技术,想精通它,不但要在理论上学习单片机的结构、工作原理、功能模块、指令系统等,而且更重要的是必须动手实践,否则就是纸上谈兵。因此,要有一个属于自己的实验平台,如实验板、实验箱等。
    一个优秀的实验平台必须支持用户自主搭建各种硬件电路,关于如何选购单片机实验板,请阅读《我的顾问——如何选购单片机实验板》
    四、理论指导实践,实践充实理论。
    关于理论与实践如何结合,大部分过来人的做法是:先找一两本单片机的书大致看一下(不一定很仔细看,有一个基本概念就可以,以后遇到问题的时候再反过头来针对某一部分仔细研究),接下来就开始实践。(理论指导实践)
    对单片机知识的真正理解和掌握离不开实践,实践后再来看书,感觉就不一样了,它可以对理论有更深刻的理解和更形象的充实。(实践充实理论)
    五、关于硬件投资。
    学单片机需要哪些硬件投资?可以说,现在学单片机是非常幸运的,不但学习资料丰富(除单片机书籍丰富多彩外,网上资源更是取之不尽、用之不竭),而且学习成本(硬件投资)极低,除电脑外,只要有一块实验板和一条下载线就可以开始单片机实践了。
    电脑的作用是用来编写、编译、烧写程序以及与单片机数据通信。
    实验板是用来搭建实验电路的。当然,实验板可以自己设计与制造,但对初学者来说有很大难度,而且会花费大量的时间,质量无法保证,经济上也不合算。建议买一块现成的,即买即用,花钱不多,质量可靠,而且可以得到卖家免费的技术支持。
    下载线用来下载程序,即把经过编译的程序下载(写入)到单片机芯片中。购买实验板时,下载线以及下载软件是与实验板配套提供的,无需再购买。
    编程器与仿真器,并不是必备的配置,初学者可暂不考虑。关于编程器与仿真器的作用,请阅读《编程器与仿真器》
(资料来源:一学网 http://www.onestudy.net)
点评回复

使用道具 举报

 楼主| 发表于 2011-1-22 20:11:40 | 显示全部楼层
我的顾问——如何选购单片机实验板?
    在网络信息时代的今天,您只要轻轻一点鼠标,无数个单片机网站和单片机实验板(学习板、开发板)铺天盖地而来,看得您眼花缭乱,用“单片机之林”或“单片机之海”来形容一点都不过分。那么,购买前应如何选择呢?建议您从以下几方面来考察、咨询和对比,最后作出选择。
    1、主板功能:功能是第一考虑因素。实验板,顾名思义,是拿来做实验的,这块板子的实验功能强大吗?具体地说,它对您单片机入门和提高能够提供多少实验方面的支持与帮助?如果您有一个兴趣、创意或产品,想搭建个实际电路验证一下,能直接在这块板子上方便、快速实现吗?
    2、技术支持:产品资料(原理图、使用说明书等)是否完善?开发工具(各种软件)和单片机应用的技术资料是否丰富和先进?在实验板使用过程中,特别是在单片机学习过程中遇到问题或困难,卖家有热情和能力帮您解决吗?
    3、实验教程:对初学者来说,与主板配套的实验教程非常重要,一部优秀的实验教程就是一个优秀的入门向导。您打算购买的实验板所提供的只是几个零星的例程还是一部完整的配套实验教程?您对这部教程满意吗?
    4、产品质量:有些网站的实验板是业余的手工之作,无法保证质量:电路原理或PCB板设计不规范、无抗干扰措施、元器件品质低劣、手工焊接、做工粗糙、等等,导致电路工作不稳定,给使用带来麻烦甚至误导实验结果,选择时必须注意。
    5、性价比:不一定买最豪华的,也不一定买最便宜的,而应该买性价比最高的,即您认为性能与价格的最佳结合点,这就是您应该选择的产品。
(资料来源:一学网 http://www.onestudy.net)
点评回复

使用道具 举报

发表于 2011-2-12 09:36:40 | 显示全部楼层
中国的开发人员什么时候站着把钱赚了
《让子弹飞》着实是狠狠的火了一把,2011年年底电影当之无愧,我们搞技术的天天在实验室闷着也不是办法,有空了可以去看看这电影。让我下决心去看这电影的原因是在电子工程师论坛看到同行写的影评,真的是写到我心里去了。或许原文更精彩,因为下面有一堆跟帖的。原文地址:http://www.cntronics.com/club/space.php?uid=18428&do=blog&id=13581
我这里就直接把文章复制了过来。本人qq:1454641288。希望交结些喜欢电影跟技术的童鞋。
文章内容:站着把钱赚了,这是向来不向强权低头的姜文的响亮口号。姜文的《让子弹飞》没有向强权低头,而且赚了大把的钱。在强权当道的中国,他树立一个真实英雄的榜样。
撇开大环境, 我们将镜头收缩到小小的企业内部,有没有发现,在中国,绝大多数的开发人员都是无法站着赚钱的?!尽管不是所有的开发人员都站不直腰杆,但是绝大多数都是 如此。
开发人员表面 上开起来比较风光,在面对其他部门的人时,比较“牛”。但是,那是面对相对弱势的群体时,开发人员才“牛”得起来。面对老板,面对上层管理者,开发人员绝 大多数是弯着腰站不直的。(《让子弹飞》里有个武举人的形象与此类似)。
就以免费加班 这件事来说,这是典型的压榨开发人员的一种制度。在中国,绝大多数的公司都有这样的潜规则:开发人员晚上必须加班,而且是免费的。而且还有很多公司,开发 人员即使把活干完了,也必须强行免费加班。
开发某个项目 时,项目紧,为了赶项目,有时必须加班才能完成任务,这点可以理解。但是,晚上加班就必须给1.5倍以上的工资,周六日加班必须给2倍的工资, 或者给同样时间的调休。这些要求,对生产工人,甚至对其他部门的管理人员来说,这些都是天经地义的事。唯独是开发人员,必须是免费加班。
有的人会认 为,开发人员工资高,所以免费加班是合理的。大家应该搞清楚,开发人员的工资相对高一点,是因为他干的活技术含量高,为公司做出的贡献大。只要不是老板和 大股东,加班拿加班工资是天经地义的事。不能因为开发人员工资高就要受压榨。
当然,有的公 司除了生产工人,所有的技术人员和管理人员加班都是免费的。这本来就是不合理的。而开发人员一般更吃亏,因为开发人员的工作总是被排得很满,所以相对来 说,免费加班的时间比别人多很多。而且,很多公司,其他部门的人,活干完了可以不加班,唯独是开发部的,活干完了也得加班。活干完了也要加班,这么多时间 用来干什么呢?很多开发人员就开始学会了打太极拳,活嘛,要慢慢干,不要傻兮兮得一下子都干完活了,显得无所事事。老板或领导看着你都在为他卖命,心理很 快活,你也很“快活”。
当然,如果你 说你活干完了,不想加班,那么就会有领导找你谈话了,说看来给你安排的工作量太少了,别人的活都“干不完”要加班,不如分一些别人的事给你干。面对这些情 况,“聪明人”都会变得活干不完,“主动”免费加班。还有的公司,即使不用不加班的时候,下完班大家也不敢走太早,太极拳一个比一个打得好。
一个月偶尔加 一两次班,这样的工作量还可以接受。如果一周加好几天班,甚至天天加班,而且是免费加班,那么,那绝对是压榨。如果是工作量真的很大,长期要加班才能干完 工作,那也是公司招的人太少了,人手不够,人手之所以不够,那也是公司故意的,因为开发人员加班是免费的,与其多招人来干活,还不如免费压榨你。
项目不紧,活 不用加班也能干完,日子也好不了那里去。反正你加班是免费的,逼着你加班,你装模作样也要干点活吧?不管老板心痛不心痛水电费,至少开发部领导可以和老板 说,你看我们的人多卖力。老板看见开发部的人都在为他卖命,于是心花怒放。
如果一个人真 的老是要加班,我认为原因无非有两种。一个是工作量实在是太大了,你应该知道,这样是不公平的,因为公司有义务合理安排工作量,或者多招点人。如果确实别 人分摊不了你的工作量,那么,你加班更应该领1.5倍或2倍以上的工资,而不是免费加班。老是要加班的另外一个原因是,有可能是你的效率太低了,本来应该在正常工 作时间内干完的活,你却要加班才能完成。当然,如果是工作效率太低,那工资可以拿低一点嘛,让公司多招人分摊掉你的工作。总之,对我来说,长期要加班的 人,并不值得自豪。要么是被严重压榨的对象,要么是效率低。
公司要求开发 人员要经常加班,加班究竟是工作量真的太大还是在装模作样,只要太极拳打得好,那是难分真伪的。于是领导高兴,你也“高兴”,大家心照不宣,圆满大结局!
可是,真的很 完美么?开发人员的工作一般是高度紧张的脑力劳动,如果工作量真的太大,公司他妈的就不会多招人吗?或者凭什么不给加班费?如果工作量不是那么大,也逼你 必须装模作样免费加班,你心里真的爽么?还不是迫于相关人员的淫威?
可想而知,这 这样的环境下的中国开发人员,有几个会由衷地热爱公司?低头弯腰工作的开发人员会有多大的激情和锐气去工作?成天忙的头昏脑胀的开发人员更不可能有多大灵 感,开发出来的东西不老出问题就不错了。
在中国,有的 开发人员会偷偷地接外单,甚至借公司的平台来接外单。有的与供应商勾结来贪污。这些行为都不是光明正大地赚钱的。如果公司有一个让人热爱公司或感恩公司的 环境,我想上面这些行为会少很多。可惜很多公司就是像上面说的,压弯了开发人员的脊梁,于是开发人员无法对公司产生感情。
姜文在电影 《让子弹飞》深刻揭露了中国普通民众懦弱的一面。面对免费加班的制度,中国的开发人员大多是敢怒不敢言,私下里再反感,也不敢公开反对,即使有人带头提倡 来反对这些制度,这些人也是不敢响应,这与《让子弹飞》里的情节完全相同。
中国的开发人员,什么时候站着把钱赚了?
让子弹飞会 儿!
点评回复

使用道具 举报

 楼主| 发表于 2011-2-4 18:49:15 | 显示全部楼层

一学网“SMCU-P8单片机一板通”快速上手指南

一学网“SMCU-P8单片机一板通”快速上手指南
    作为本系列文章的结尾部分,特向广大的单片机学习爱好者介绍一款优秀的单片机实验板(SMCU-P8单片机一板通),它是一学网(http://www.onestudy.net)在2008年开发的“SMCU-P6单片机超级实验板”基础之上的最新升级版本,从2003年到现在,一学网先后开发出了SMCU-P1、SMCU-P2、SMCU-P3、SMCU-P4、SMCU-P5、SMCU-P6、SMCU-P7、SMCU-P8等多款单片机实验板,帮助近万名单片机爱好者轻松跨入单片机神奇的大门。
    1、认识一板通。无论您是初学者还是高手,请在开始使用一板通之前,务必首先阅读配套光盘〔SMCU-P8单片机一板通〕中的〔SMCU-P8单片机一板通使用手册〕。阅读的目的之一是熟悉一板通主板的结构特点和具体的电路连接关系,这不但是阅读和理解实验程序代码所必须的(因为任何软件程序都是对某一具体的硬件电路而言的),而且可以使您今后在使用一板通时能够得心应手,也可以作为您以后自己设计单片机应用电路时的参考。此外,通过阅读,可以对一板通——您忠实的朋友和助手——有一个比较清晰的总体认识,对将要进行的实验内容有一个明确的了解。 
    2、主板试运行,检查各部分是否正常。主板中的单片机芯片已经写入了一个自检程序,接通电源后,首先是8个LED灯逐渐点亮(流水灯程序),然后是8个数码管同步逐渐点亮各笔段,最后是数码管逐渐显示onestudy各字母,如果这样,说明P0、P1、P2口及LED灯、数码管电路正常。如果要检查P3口及按键、开关电路是否正常,请下载并运行基础实验6〔信号检测〕的程序。
    3、安装Keil软件,具体操作见[ Keil  c51软件快速入门指南]。
    4、熟悉程序下载软件,详见[ STC系列单片机程序下载操作指南]。
    5、开始基础实验。将基础实验1的源程序编译后下载到单片机芯片,此时接在P1.0的灯将闪烁,说明编译、下载成功,您已经正确使用了这两个最基本、也是最重要的软件。之后,您可以将每一个基础实验的的源程序编译后下载到单片机芯片,观察运行效果,理解程序代码,仔细体会如何将一个实际问题用指令来表达。把这些程序弄明白了,您就已经单片机入门了!
    6、做扩展实验(1602液晶显示、数字时钟、数字温度系统)。按照配套光盘中的硬件连接图在扩展资源区搭建实验电路(一板通提供了这三个实验的全部元器件,以及充足数量的杜邦插接线!),将程序编译后下载到单片机芯片,观察运行效果,理解程序代码,进一步学习程序设计。这三个实验是单片机实验板(学习板、开发板)行业中最流行、也是最实用的实验,可以移植到您今后的设计中去。
    从此,您可以完全自主地设计实验,在这片DIY的热土上搭建实验电路,运行您自己编写的软件程序,享受实验成功的喜悦!天高任鸟飞,海阔任鱼游。[em01]
点评回复

使用道具 举报

发表于 2011-1-30 12:36:19 | 显示全部楼层
ding!!!!!
点评回复

使用道具 举报

 楼主| 发表于 2011-1-28 23:16:32 | 显示全部楼层
             编程器与仿真器
  很多单片机初学者对编程器与仿真器的概念不是很清晰,特别是看到有些网站单片机实验板的宣传词用的是“实验、下载、编程、仿真四合一”之类的文字,更是感到神秘莫测,找不到北。在此,我们对编程器与仿真器作一个简单的解释。
  编程器的功能是向单片机芯片写程序(单片机编程),或向存储器芯片写数据。编程器在历史上起过重要作用,因为它是以前向单片机写程序的必备工具。用编程器向单片机写程序的过程是这样的:把单片机芯片从电路板上拔出——紫外线擦除原程序——放进编程器的活动插座中并锁紧——写入新程序——从编程器中取出——插回电路板,不但过程十分繁琐,而且芯片引脚很容易损坏。随着FLASH闪存和ISP在线下载技术的实用化,一种新的器件出现了——下载型单片机。它的最得意之处在于,不但擦除程序不需要专门的紫外线擦除器,而且写入程序也不需要专门的编程器,只要用一条下载线将单片机与计算机连接起来,就可以非常方便地擦除和写入程序,过程简单、不损坏芯片,使修改程序变得非常容易和快捷,给学习和程序调试、新产品开发带来了极大的方便,这是一个革命性的进步!!现在,几乎任何一个新型号的单片机都是下载型的,老型号的非下载型单片机正在被淘汰和退出实际使用,所以,对单片机编程来说,编程器已经失去了意义,可以退出历史舞台。
  仿真器是干什么的呢?它只是作为调试程序的一种工具,而并不是单片机系统中不可缺少的一部分。简单地说,可以把仿真器理解为一个临时的程序存储器,这个程序存储器有三个主要特点:(1)用RAM而不是用ROM来存储程序,便于程序的修改。(2)程序的运行可以控制(而在实际的应用系统中,程序是不可控的:随着程序计数器PC的不断加1,程序一条一条地自动执行下去,这个过程是无法控制的)。(3)程序运行过程中,单片机中各点(各寄存器、各地址)的状态可以被观察到。显然,(2)(3)两点给调试程序、分析问题提供了方便。
  有仿真器当然更好,但对初学者来说,确实没有必要一开始就买这么贵的东西,因为现在的单片机都是下载型的,擦写程序就象擦写RAM一样的方便,上述仿真器的三个特点中,第(1)个就不再是优势了;至于(2)(3),因为初学者接触的程序一般都不会太复杂,即使没有仿真器也可以把程序搞定,等入门以后搞复杂的大程序时再买仿真器也不迟。
  此外,还需要特别说明的是,KEIL软件不仅是一个编译器,而且已经集成了仿真功能(软仿真),可以在很大程度上取代硬件仿真器的作用,这使硬件仿真器的地位又一次受到很大的挑战。
(资料来源:一学网 http://www.onestudy.net)
点评回复

使用道具 举报

发表于 2012-5-30 15:56:48 | 显示全部楼层
kankan
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-4-26 20:18 , Processed in 0.067000 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表