自动化网-工控人家园官网

当前位置: 主页 > 技术文库 > 单片机 >

如何自学单片机 单片机系统开发如何入门?

时间:2018-05-24 11:12来源:未知 作者:admin 点击:
刚开始学习的时候也是比较迷茫,不知道从哪里入手,同学推荐我先看郭天祥的新概念51单片机C语言教程,这本书算是我的启蒙吧,书里面介绍了基本C语言知识和编程软件KEIL,这本书好
刚开始学习的时候也是比较迷茫,不知道从哪里入手,同学推荐我先看郭天祥的“新概念51单片机C语言教程”,这本书算是我的启蒙吧,书里面介绍了基本C语言知识和编程软件KEIL,这本书好的一点就是浅显易懂,直接是把我这个单片机小白领进门的。书还有配套的视频也可以找来看看,看视频的话会更直观一点,便于快速入门。(这本书也有一定的局限性,后面再说,但入门足够)
单片机前期的学习以会用为主。不要纠结于寄存器、定时器、中断这些单片机的内部结构以及如何工作的,开始学习单片机就像学车一样,学车时开始知道怎么加油挂挡刹车控制方向就好了,至于发动机、变速箱、转向助力是怎么配合的以后再说,先学会开车。学习单片机刚开始时就是学会如何编程控制就好,至于内部结构,以后再说。
基本上看书、看视频以后就可以编写一个点亮LED或一组流水灯的程序了,那么,恭喜你,就算是入门了。入门之后刚开始就自己编程还是有点困难,基本是看别人怎么用,怎么写,先理解别人的程序,在理解的基础上模仿和修改,在修改的基础上编写自己的程序,就这样一步一步的过来。diangon.com,学习单片机重要的一点就是自己多写程序,多调试,只看书或视频效果不大,做到在练习中学习,就像游泳一样不管是用什么姿势先下水再说^_^。
入门以后就是按部就班的学习了,I/O口,定时器,中断,串口,数码管 1602,182864,AD/DA,步进电机,直流电机,I2C,PWM,这些内部资源和外部模块依次学习以后就可以完成有点难度的工程,比如说做一个自动循迹加避障的小车、一个12864带遥控调节的万年历,诸如此类。用所学知识做出一个自己想要完成的小产品,还是有满满的成就感。
软件的话主要有两个,一个是Keil,另一个是Proteus。Keil软件是编程和编译软件,把我们理解的C语言转换为单片机可执行的机器语言,我们在Keil里编写控制程序,Keil帮我们完成转化,然后下载到单片机中执行。Proteus是电路仿真软件,就是搭建一个电子电路模拟实际的硬件电路,这样就不需要真正的硬件,我们就可以在仿真电路中关联Keil编译好的程序,来验证我们的代码。这样的好处是只要有电脑我们就可以编程并验证,但是仿真电路是理想化的硬件,真正的硬件和仿真之间还是有很大区别的,尤其是高频电路和模拟信号,因此仿真电路刚开始可以用一下,还是要买一块单片机开发板作为实际硬件来学习。
单片机的学习我理解是是入门简单,深入有难度。入门时按键可以采用延时的方法,但真正应用起来基本上没有人会用延时实现,都是采用状态机。刚开始任务少,怎么写都可以,但是任务多的时候就要考虑资源的分配和程序的架构,这就上面所说的局限性,就需要深入的学习。
自学就是一点兴趣,一点坚持,再加一点耐心,多练习,多总结,方法总比问题多,肯定是可以学会的。  


本文旨在引导尚未入门的朋友快速进入单片机系统之门,已经熟悉单片机系统开发的朋友敬请拍砖指教或留言补充信息。
1. 入门知识储备
想学习单片机系统的开发,必须先有以下几个方面的知识储备:
(一) 微机原理
(二) C语言编程
微机原理既是计算机技术的入门课程,也是单片机的入门课程。其实单片机就是一台“高度浓缩的计算机”,其基本原理与计算机及其相似,单片机麻雀虽小,计算机的五脏俱全。


单片机系统组成
C语言是目前单片机开发的必备编程语言。单片机软件在N年前是用汇编语言开发的,每种单片机的汇编语言都不一样。由于采用汇编语言开发单片机软件太过于复杂,效率及其底下,现在基本上都用C语言开发单片机软件了,仅在一些很特殊的场合才需要用到汇编语言,例如要求精确控制CPU某段程序的执行时长。如果还没有C语言基础,建议先学C语言再学单片机。学习更多单片机知识请关注微信公众号“电工电气学习”。
2. 单片机系统开发基本条件
条件之一:手上必须有单片机实物。学习单片机重在动手,在脑子里空想是学不起来的。可以自己用电路设计软件(如Altium Designer等)做一块电路板;或者直接上某宝买一块现成的单片机开发板。


单片机开发板
条件之二:单片机程序下载器或在线仿真器。这个设备一般没有通用的,单片机系列不同,仿真器也不同。直接上某宝,搜“XXX单片机仿真器”,一般都能找到你想要的。
条件之三:在PC机上安装好单片机开发平台。单片机开发平台也叫单片机开发环境,是单片机软件代码的编辑工具和代码编译工具的结合体。单片机品牌和系列不同,其开发平台也不一样,例如STM8可以用IAR进行软件开发,也可以采用ST公司自己开发的STVD进行软件开发。
具备以上三个条件,你就可以开工了。
3. 后话
虽然世界上的单片机种类有上千种,但单片机技术基本上是相通的,只要掌握了一款单片机的开发,以后遇到其他品种的单片机就非常容易上手了。如果学习第一款单片机需要2个月时间,那么学习第二款单片机就只需要2天时间。
以上只是谈到单片机系统开发的最基本的条件,但我们知道单片机最终还是应用于产品之内的,单片机系统开发最终还是为了产品开发。因此,仅仅学会单片机软件编程还是远远不够的。www.diangon.com一款单片机系统产品从项目立项到最终实现产品量产,其中涉及到的方方面面技术问题还有很多很多,例如如何选择最合适的单片机、硬件的电磁兼容问题、软件的bug调试和软件可靠性、数字量和模拟量信号采集、一般高低电平输出和PWM输出、操作系统、产品成本…,太多太多了!


(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片