写给初学者的一些话

本文原创,仅代表我搞单片机的一些想法,有不妥之处,不承担任何责任。

第一个问题,讲一下初学者到底学习那个系列单片机。

51、AVR、430、ARM(包括嵌入操作系统)、FPGA当前单片机系统如此丰富,对于新手到底该如何选择呢?我认为最大的误区,在于新手普遍的追时髦心理,急功近利心理,妄想短时间之内学会ARM,学会嵌入操作系统。网上资料、厂家宣传、培训机构广告也对初学者产生误导,使之误认为ARM很容易学。但是没有51单片机知识作为基础,其他一切都是空中楼阁。必不能达到预期效果。

51单片机作为入门级产品,现在更多的体现在教学意义上了。虽然大部分的产品,已经淘汰51,使用高级芯片或者增强型51芯片,但是奉劝初学者,还是要从底层、基础、即51开始单片机的学习。学好、学会、精通51单片机再学习其他单片机也能很快入门。

第二个问题,学习单片机,需要有哪些基础,入门都学哪些东西。

很多初学者经常问,我能学单片机吗?难吗?我现在什么也不会啊?这里想说几句,要想学习单片机开发,需要有以下几方面基础,但要求并不是很高,可以在以后的学习过程中慢慢学。

1、电路基础:一些数字电路、模拟电路基础。毕竟以后要自己设计电路,这些知识是很有用的。

2、C语言基础:我个人比较喜欢C语言开发,相比汇编最大的优点就是移植性要好。学习51单片机,C语言编程当然需要有些基础。

3、一些单片机的基础知识:虽然是初学者,但是一些基础理论知识还是应该知道的。

4、一些焊接等动手能力,这个要求就不是那么严格了。呵呵。不过能搭一手漂亮的电路还是挺好的。

怎么样算入门?

1、学会使用编译器软件:就是在编译器下建立一个项目,编写一点点代码,生成一个程序文件。当你熟悉这个流程以后,就变得非常容易了。不过第一次还是很难实现的,最好有一个比较详细点的教程。

2、学会使用下载工具和软件:把程序烧录到单片机里,运行起来,需要动手去操作。

3、学会使用调试工具:如有条件,可以学习硬件仿真调试。

4、以上可以在学习板上实现,不过以后你要学会自己设计 并制作电路。所以还要学会PRTEL软件使用。

第三个问题,学过一段51单片机了,入门也会了。以后怎么办啊?

很多初学者,学了一款51学习板,基础东西也都会了,下一步怎么发展却不知道了。下面的一些理论是我的一点不成熟想法,有这样困惑的朋友可以参考参考。

1、单片机的平面发展理论:不断学习同一个层次、不同结构、不同品牌的单片机。

学会了一个系列、一个公司单片机,比如51(AT89S51),了解的它的全部内部资源。下一步学习,仍然可以围绕51进行。可以扩展到其它公司的51单片机,比如stc、pic因为他们有很多增强型51单片机。功能比普通AT89S51强很多。如果可以,接触更多的同系列的51单片机。最终能够在做产品时,选择最正确的单片机,对每一种51单片机的优劣有清晰的判断。

2、单片机的纵向发展理论:不断学习高级别的单片机。

在学会一个系列的单片机,继续学习高级的单片机,比如从51到AVR、到ARM。可以学习到更多的单片机,接触到更多的知识。

3、单片机的外围发展理论:不断学习单片机的外围功能模块。

学会一个系列的单片机以后,转而研究外围电路。不论是输入、输出、通讯、逻辑和计算。单片机外围电路千变万化,其功能模块也千奇百怪。这样的模块学的越多,对你做产品的好处越大。毕竟所有功能模块都是用在单片机上的,不论是51还是ARM都需要有外围电路才能实现功能。

4、总结:无论以上那种发展模式,其最终目的都是单片机开发,都是研发出产品。所以最终的产品才是目标。

第四个问题,学习要精 还是要多的问题。

这个问题也比较麻烦,很多认为搞单片机要学那么多东西,还要软硬件结合。我不可能每一种都做的很好。到底是要什么都会,还是要精通一种呢?

个人认为,如果是学生,还没有工作,那么还是什么都会一点才好。毕竟谁也不知以后的工作内容是什么,可以参加工作以后再选择优势发展方向。

另外通常精通一种工作的都是大公司,分工比较明确,每个人负责自己的一部分,而在小公司,可能连技术文件都需要你来编写,当然是会的越多越好了。

第五个问题,随便聊一聊开发的流程,主要研发设计人员在这些流程中的工作。

1、产品需求阶段:可能是根据市场需要或者公司安排,确定要开发一种产品。开发人员需要和产品需求方沟通,明确客户的需求,对即将开发的产品有一个总体上的印象。

2、产品立项:这时产品已经确定要开发,需要立项,开发人员可能需要填写立项相关文件。有可能设计项目奖金哦。。。

3、产品总体设计:一般由高级系统架构师(我也不知道这个是什么样的牛人呢,还没参加过有这种牛人的项目)搞定整个产品的系统设计。形成系统结构图,有可能分解成软硬件部分。(此处的软件指上位机应用软件,不是单片机内部程序)。

4、技术难点攻关:这里看需要开发人员出力了,就是把整个系统比较难或者不能确定的部分,先进行研究实验,以确认不会因为这些部分导致项目无法实现。

5、电路设计制作:涉及到单片机开发人员了,涉及产品电路,并形成PCB电路板。

6、单片机程序编写:终于要编程序了。到单片机工程师大显身手的时候了。

7、硬件调试:电路板焊接完成,程序编写完成。进行硬件调试,以发现程序的缺陷。 还有可能因增加或删除功能进行修改。

8、与上位机联机调试:基本是整个系统都完成了,所有功能都要调试,以保证产品稳 定。如果没有上位机软件,这一步就省略了。

9、测试:产品都搞完了,当然需要测试了。测试过程和方法很复杂的,这里就不说了。 如果测试出现问题,是需要返回到开发人员那里进行修改的。

10、制作样机,完成项目开发部分:到这里基本上已经告一段落了,不过开发人员可能 还需要提供说明书等很多文件。

11、小批量生产,投放市场:用市场检验产品。如有不合格或者需要升级,开发人员就 要进行修改了。

12、产品实现量产:量产销售到市场,如有问题,一般归售后服务人员处理,处理不了 也会让开发人员帮忙,毕竟开发人员对产品最为熟悉嘛。

13、总结,开发人员的工作可是贯穿整个产品开发过程的。。。初学者可以对照一下,看看你都需要学会哪些东西。

物联网STM32入门 - 直播课程 - 创客学院​www.makeru.com.cn

51单片机怎么显示当前时间_单片机初学者必看相关推荐

  1. 51单片机怎么显示当前时间_(进阶篇)51单片机之按键控制蜂鸣器、数码管、按键值移位显示...

    一.实操演示- 按键控制蜂鸣器 1.图文详细 独立按键硬件电路 蜂鸣器硬件电路 2.连接方式: J20的第3号引脚连接到J7引脚,即P15连接J7. J29的第7.8号引脚连接到JP1的第1.2号引脚 ...

  2. 51单片机怎么显示当前时间_电子设计模块项目专题:史上讲解最全的51单片机设计万年历项目①

    1.设计任务书: 设计任务书 学生姓名: 班级: 学号: 题目:1602A液晶显示万年历设计 一.设计任务:本设计由数据显示模块.温度采集模块.时间处理模块和调整设置模块四个模块组成.系统以AT89S ...

  3. 51单片机怎么显示当前时间_(记录)51单片机——LCD1602液晶显示模块

    (用LCD1602做个温度显示装置) https://zhuanlan.zhihu.com/p/145666965​zhuanlan.zhihu.com LCD1602液晶显示模块 原理部分 引脚说明 ...

  4. 51单片机怎么显示当前时间_51单片机LM016L液晶显示实例

    先上仿真图,图比较简单,一个51单片机最小系统,加上一个LM016L液晶显示器,需要注意的是,实际的LM016L芯片内部有上拉电阻,但是仿真中是没有的,如果用P0口传输数据的话,需要给P0口接上拉电阻 ...

  5. 51单片机怎么显示当前时间_51单片机玩转物联网基础篇06-LCD1602液晶显示器

    前言 本节我们开始学习LCD1602,LCD1602是字符型液晶显示屏,在实际项目中应用非常广泛,学完本节就可以逐步开发一些好玩的应用了. 一.基础知识 1.LCD1602简介 LCD1602是字符型 ...

  6. 51单片机怎么显示当前时间_51单片机时钟电路图怎么设计?这7个时钟汇聚了所有,看看...

    01 在MCS-51单片机片内有一个高增益的反相放大器,反相放大器的输入端为XTAL1,输出端为XTAL2,由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式.根据硬件电路的不同,单片机的时 ...

  7. 51单片机怎么显示当前时间_51单片机数码管静态显示和动态显示原理及实验

    数码管 多位数码管,即是两个或两个以上单个数码管并列集中在一起形成一体的数码管.当多位一体时,它们内部的公共端是独立的,而负责显示什么数字的段线全部是连接在一起的,独立的公共端可以控制多位一体中的哪一 ...

  8. led驱动电源初学者必看_初学者:如何在Windows 8中查看Metro应用程序的已用驱动器空间...

    led驱动电源初学者必看 In Windows 8 there is no obvious way of checking how much space each Metro app is takin ...

  9. 51单片机雾化片自动扫频程序_单片机简介

    单片机简介 数字电路简介 在一个控制系统中, 单片机是电路的一部分, 单片机中的程序是针对其所在的电路编写 的.因此,要对单片机编程并实现一定的功能,必须了解整个系统的电路图.单片机编程是 针对某个特 ...

最新文章

  1. TLB的作用及工作原理
  2. linux 判断网线是否插入
  3. Golang学习之GOROOT、PATH、GOPATH及go get
  4. POJ - 1321 棋盘问题
  5. 贴几张最新最精彩的电影海报
  6. 【51单片机快速入门指南】4.1: I2C 与 AT24C02 (EEPROM) 的跨页连续读写
  7. 计算机应用的问答题,计算机应用技术问答题(一)
  8. 引用opencv异常
  9. error C2248: “CObject::CObject”: 无法访问 private 成员(在“CObject”类中声明) [问题点数
  10. 重温JS基础--引用类型(一)
  11. python 精度计算 性能_Python 优化存储和精度
  12. 小甲鱼零基础入门学习python笔记
  13. cplex java_线性最优解java实现+Cplex java调用
  14. 2022年中国数字孪生城市市场分析:孪生城市产业经济全域协作
  15. 2022年度调味品十大热门品牌排行
  16. 如何给视频配上字幕?教你几种视频配字幕小妙招
  17. JS 简繁体互转代码
  18. 【CVE-2021-4034】 漏洞详细原理以及复现,polkit的pkexec中的本地提权漏洞
  19. sublime php 代码校验,Sublime Text下配置SublimeLinter进行PHP代码检查
  20. linux常用命令_Linux常用命令总结

热门文章

  1. iOS 根据日期判断星座源代码
  2. [转]半角全角互转函数[JS版 VBS版]
  3. 异步SOCKET与同步SOCKET
  4. closehandle()函数
  5. nm命令中符号类型详解
  6. 多线程—Lock、Condition、ReentrantLock、ReentrantReadWriteLock
  7. IOS之Masonry约束的使用
  8. 微信小程序登录页php后台,微信小程序:微信登陆(ThinkPHP作后台)
  9. stc单片机入门c语言,谈谈单片机入门
  10. 智伴机器人三级分销模式_有赞三级分销?有赞分销模式怎