打印

关于单片机如何入门的话题

[复制链接]
2529|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yrg1127|  楼主 | 2010-7-24 22:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yrg1127 于 2010-7-25 15:38 编辑

一、前言

很多单片机初学者与我交流时总说的一句话是我现在是单片机初学者,我怎样才能更快的学好单片机,我该从哪方便入手。对于这个问题,现在就我自己如何学单片机,如何入门,如何熟练谈谈想法。


先说单片机,现在用的比较多的以51为内核的8位单片机(考虑到成本及引脚资源在实际开发中用的51单片机型号不一),它的学习资料非常多,且学习成本非常低,可能有些初学者会说企业里用的不是51单片机,更多的是松翰、义隆什么,但是我想说的是那些单片机的辅助开发工具你有吗。51单片机对于智能电子技术的入门学习是非常有优势,成本低,开发简单,一线下载程序,ARM太神秘,PLC太高贵,想来想去还是51,曾经有过AVRPIC,但是现在51也不赖。


那怎样才能更快更好的学好单片机呢?


单片机作为集电子技术与计算机编程技术为一体是一项非常重视动手实践的科目,如果你是单片机高手,那么说明你也是计算机编程和电子技术高手。




二、学习单片机一定要看书


不能总是看书,但是学习它首先必须得看书,那这不很矛盾?因为从书中你需要了解单片机各个功能寄存器(比如引脚控制寄存器、定时、中断、串口相关寄存器),控制单片机的核心是用程序去控制单片机的各个功能寄存器,给寄存器赋值二进制数据0或者1,对于像中断、定时器、串口、AD转换等内部资源寄存器,单片机也可以通过二进制数据01进行设置和使用。比如单片机引脚寄存器P1,语句P1=0xfe(MOV P1,#0FEH)指控制单片机P1口的第一个引脚输出低电平,其他引脚输出高电平,外设电路根据高低电平工作。比如中断允许寄存器IE,语句IE=0x81;(MOV IE,#81H) 则说明控制中断打开总开关和外部中断0的子开关。当然了,单片机的寄存器还可以接受位控制,这样编程更方便。


至于看书,只需大概了解单片机各管脚、各个功能寄存器是干什么的能实现什么功能就够了?这个非常重要,这也许是看单片机参考书最主要目的之一。


第一次,第二次你可能看不明白,但这不要紧,因为还缺少实际的感观认识。通过接下来的实验就可以非常感观的认识,在这个过程一定要花时间,学习程序不能硬背,但是学习寄存器一定要下功夫,理解他的功能所在,适当的时候当单词背下来。


推荐一本书,就这一本就足够了,书名是《列说8051》,有汇编语言和C语言两种版本,现在已经是第三版本了。非常强悍的一本书,没有广告,没有局限,不像培训手册,更不像教科书,完全是一本非常好的参考书。我用一个五一假期的时间看完了这本书,真的当时看完后,觉得自己已经是单片机高手了,很多曾经抽象的知识不在抽象。书中图文并茂,内容安排紧张有序,并非市面上很多说教的技术文档式的书,什么学完概念,学指令,学完指令学接口,学完接口才知道,原来学习单片机像在学天书,因为前面的章节已经使你头昏脑胀了,自己看还好,一讲更有问题。


那如何看书呢?第一步先根据书本的安排循序渐进的看完前两章,在你脑子开始发热,觉得自己已经是工程师的时候,接下来一定是实践,一定是实践啊,这是非常非常关键的,当然了实践并非一定是左手电烙铁右手万能板的那种,也可以是仿真软件Proteus,或者是自己自己电路原理路的简单单片机实验板(千万不要用那种有贴片器件很多,看半天看不清电路连接的那种)。三国期间,诸葛亮挥泪斩马谡的重典告诉我们纸上谈兵害人害己,学习单片机也一样,很多相关专业的研究生甚至博士生直到毕业都不清楚单片机的IO口的分布,不知分布谈何开发。





**太长了。更多进入


相关帖子

沙发
yrg1127|  楼主 | 2010-7-25 12:01 | 只看该作者
自己顶个啊。。。每人跟我交流 ,一口气写了这么多。。。

使用特权

评论回复
板凳
zq1987731| | 2010-7-25 12:39 | 只看该作者
很多相关专业的研究生甚至博士生直到毕业都不清楚单片机的IO口的分布,不知分布谈何开发。

      强烈反对!
      单片机IO口不知分布谈何开发?8051的寄存器都要背下来?简直荒谬!玩开发的人谁不知道网上当个Datasheet有多么容易?!这种一查就明白的东西竟然需要背下来印在脑子里?做个项目换一种Core的情况,再去背?
      硕士和博士强大之处在于数学基础及基础知识体系的稳固!!而我们国家总有很多人,拿本科生中的佼佼者,去和硕士甚至博士中的垫底者进行比较,并得出大量片面结论以寻求自我安慰,简直可笑!
      理论即前辈将实践中的总结整理后之结果!之前我也迷茫过,认为理论无用,实践才是王道,还好醒悟的早!具备一定实践后再回到理论,之前实践中相当莫名其妙的问题均会豁然开朗!
      之前做的键盘,每个按键都有详细定义,生产部工人们负责测试,但有一次,一批按键忘记鐳雕,结果一生产工人说:“我不用看字都知道哪个按键有什么用,你们这些工程师都比不过我!”,作为该键盘的设计者,换成大家会是什么想法?
      玩单片机,如果你还纠缠在“汇编和C哪个好”这个问题上,并始终领悟不出真正意义上的高手都在一方面宣称“汇编效率高,C可移植性强”的同时自己所有项目几乎都用C进行开发的现实...那除去凤毛麟角机遇不错的人以外,工资5K到头!
      单片机仅仅只是工具!不管什么Core的MCU,无非就定时器,中断,AD/DA,以及各类外部通讯总线,SPI,I2C,CAN,USB甚至Ethernet等等这些东西,还能有什么花样?这些东西作为MCU厂商早就给足了例程,照着改进,去处所有阻塞的隐患或者干脆自己重写,不过是基本中的基本!相当于磨刀的过程而已!菜鸟们永远停留在牺牲语句的可读性换取几个机器周期的执行速度提高并将此认定为优化的层面上,而真正的高手是追求算法的优化,一个高效的算法速度上的提升那可是几个数量级的提高!
      现在所谓的“单片机开发”,指的不是单片机如何使用,而应该是如何利用单片机解决问题

使用特权

评论回复
地板
test18745| | 2010-7-25 15:11 | 只看该作者
确实如此

使用特权

评论回复
5
yrg1127|  楼主 | 2010-7-25 15:39 | 只看该作者
3# zq1987731
zq1987731 大侠 说的很有道理。

从您的语句中我感觉到您的很多语句还是跟我的有共同观点的哦。

呵呵。。没有来错,,来到了21IC 才知道。。我这个3个大学单片机老师白当了。。


但是我申明一点:该**是写个初学入门者的,只是一个个人的观点,没有想表达什么。

其他我不多说:我只想申明一点:学习单片机,,能充实就好,,并且不要被网络很多实验板厂家误导,以为一块单片机实验板可以定天下。。

同时也欢迎:

zq1987731  来武汉 的时候 来三维电子坐坐。。。我们这里有很多大学老师还有研究生在这里交流的

再次感谢。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

15

帖子

1

粉丝