大家好,我是无际单片机编程的徐工。

在网上看到这么一个话题,自己特别有感触,不自觉的想写一下自己的看法。

单片机编程,我们的教材是《单片机原理及应用》。 当时我们的很多同学都觉得单片是最难的。

单片机对于大学生而言, 是一个新的学科,不像语文,英语,代数,数电等,学了很多年。

而且单片机里面的很多理论知识又非常抽象,不知道如何理解,很多东西都是要靠死记硬背。

大学单片机教程里面主要针对的就是单片机的设计原理,单片机的寄存器介绍,GPIO的结构,定时器的工作原理,以及汇编指令集体等。

这些东西往往是最枯燥的,而且是很难记忆的。

很多同学在网络上搜索了一下,网上说单片机编程的学习很简单,这让大家大跌眼镜。

为什么?接下来我从四点给大家简单的解析一下。

1.大学学习和实际工作的目标不一样

大学学习的目标是掌握单片机的原理和理论,同学们的目标是期末考试能考60分,这门课就算是过关了。

但单片机程序开发的实际工作不一样,实际工作中主要针对的是单片机的应用和开发,是要求你在规定的时间内完成产品的开发。

老板要你3天完成产品开发,你绝对不能超过3天,因为老板要赚钱,要算利润。

2.大学教材缺少实战

大学的单片机学习,大家基本上都是围绕着《单片机编程与应用》这本书学习,没有配套的学习套件,开发板,项目实战。

脱离了应用,理论就无法落地,也无法得到验证,这加剧了单片机学习的难度。

当然,以上这些情况随着大学办学条件越来越好,单片机学习的开发环境都有所好转。

很多大学都设立了“单片机电子大赛实验室”,主要是针对“全国电子专业人才设计与技能大赛”的,在这里大家可以参与单片机开发的实战。

3.大学学习的理论知识和实际的需求严重脱轨

我参加工作10多年了,一直从事单片机程序的开发工作,如果现在回到大学,拿他们的期末考试卷考试,我基本上可以确定自己是不及格。

一方面是因为自己参加工作太多年,都是基于单片机产品开发应用的,理论知识基本上全忘了,另一方面,大学教材的知识,在单片机开发实际工作中基本上用不到。

就像单片机的结构是冯诺依曼?还是哈佛结构?我们工作中需要了解吗?不需要。

大学教材里单片机的编程语言,主要学习的是汇编,但实际工作中,用得是非常非常少的。

也就是说单片机大学的教材和实际的工作需求没有完美的接轨。

4.单片机学习需要理论和实战相结合

理论知识过于枯燥,不能理解原理,死记硬背是很痛苦的,而且又是最容易忘记的。

如果单片机的学习,理论可以和实战有效结合的话,单片机学习就会变得非常容易上手。

而且理论和实战相互结合,也可以帮助你更加有效的理解单片机的理论知识。

我在这里给大家举个例子,说明一下单片机编程的实战有多简单。

例如:如果要完成点亮LED1,代码见下:

#include “reg52.h” //单片机头文件sbit LED1 = P2^7; //LED1对应的IO定义 P2.7脚void main(void){LED1 = 0; // P2.7 输出低电平,LED1 亮while(1); // 无线循环等待}

当然我们实际的代码不会这么粗糙。

说到这里,大家感觉还是有点迷茫,如果想找一个单片机编程相关的工作,单片机开发需要学习那些知识呢?

第一: 单片机编程C语言基础

大学学习的汇编语言,在实际工作中基本上用不到,目前绝大数的单片机编程用的都是C语言。

市面上绝大多数C语言教程都是针对纯软件方向,开发环境和开发模式会有差别。

针对单片机的C语言编程入门视频教程可以找无际单片机编程,学完可以无缝过度到单片机的开发。

第二:单片机的外设驱动

C语言学会之后,大家需要掌握单片机的外设驱动,例如GPIO的输入输出,外部中断,定时器,ADC等。

以上两个是单片机产品开发的基础,有了这些基础,大家就可以做一下单片机开发的简单项目了,就可以开始实战了。

很多人说单片机很简单,有些本专业学生为什么学起来这么吃力?相关推荐

  1. 很多人说单片机很简单。但本专业学生都认为单片机是最难学的课程。为什么学起来都这么吃力呢?

    很多人说单片机简单?是的,对于一个在嵌入式开发奋战了十多年的老程序员而言,单片机无非就是那么几大件东西.单片机很难掌握?也对,尤其对于那些刚开始接触,比如题主提到的大学本科刚接触的同学来说,单片机挺神 ...

  2. 很多都是python很简单吗,但是要如何才能入门python并精通呢?

    1,python怎么学 一般来说,Python几个月应该是可以入门了.如果你几个月还没有入门,一定是方法不对,要么就是偷懒了.我在公众号里面有一篇文章详细写过 '初学者上来不要学爬虫',爬虫虽然非常有 ...

  3. 很多人认为创业公司很难成功,这是一个事实

    1:创业公司的生存率 创业公司很难成功,这是一个事实.根据美国创业研究机构 National Bureau of Economic Research 的统计数据,创业公司的生存率很低,只有20%的公司 ...

  4. 单片机编程简单吗?arduino为什么不适合大学生?

    Arduino本质也是一个单片机,它的编程语言基本和单片机一样都是通过c语言. 但是为什么很多人觉得单片机编程会比arduino难很多呢? 原因啊,就是单片机编程开发比较底层,需要具备硬件基础,也需要 ...

  5. Python爬虫入门并不难,甚至入门也很简单

    爬虫现在的火热程度我就不说了,先说一下这门技术能干什么事儿,主要为以下三方面: 1.爬取数据,进行市场调研和商业分析 爬取知乎.豆瓣等网站的优质话题内容:抓取房产网站买卖信息,分析房价变化趋势.做不同 ...

  6. 2018年39名最牛的女程序媛,第三名很多人都认识!

    这些有着工程师背景的女性,她们负责许多大公司里的重要业务部门,创造着未来的尖端科技,或者在科技公司扮演者领导者的角色. 尽管人们都说STEM(科学.技术.工程和数学,Science. Technolo ...

  7. 很多人都在说Java已经饱和了,未来的就业前景究竟怎么样?

    对于Java,在好几年前,就有人说不行了,但到现在的就业岗位需求依旧是Java工程师排行第一.所以说不用担心,编程没那么容易完蛋,程序员更没有那么容易完蛋,就算完也是个蛮长的过程;如果我被打脸了,技术 ...

  8. 从员工到总监:我所学到的,很多人花十年也学不到

    2014年7月27号,加了最后一次班,看着猫扑新版顺利上线,我踏上了飞往北京的飞机.猫扑新版是我能留给猫扑的最后一件作品,我7年的猫扑职业生涯就此也画上了句号.工作9年,7年最好的时光给了猫扑.我并不 ...

  9. 有了SEO思维你的SEO会很简单!

    从有了SEO这个职业快排的声音就一直没有断过,而网上现在刷快排的方式原理其实也非常简单,只是操作的时候也是需要借助白帽的网站优化经验合理的控制住相应的频率,所谓的发包其实说白了也是模拟用户点击,这里不 ...

最新文章

  1. html在线缓存视频,javascript – 如何为HTML视频添加缓冲
  2. 我的超级大魔王Cookie
  3. Confluence 6 推荐的更新通知设置和禁用
  4. Spring教程--入门程序
  5. Java生鲜电商平台-SpringCloud微服务开发中的数据架构设计实战精讲
  6. matlab向量归一化_已知近似的特征值,求特征向量
  7. Spring Boot笔记-普通异常错误截取及构造错误页面
  8. 【Linux】宝塔Linux面板命令大全
  9. 解决VS2015安装后stdio.h ucrtd.lib等文件无法识别问题,即include+lib环境变量配置
  10. dsp调音一次多少钱_DSP调音到底调的是什么?什么是EQ?
  11. 四叶草efi_四叶草启动器Clover EFI bootloader v5.0 r5111最新版
  12. unreal4怎么设置游戏模式_怎么使用虚幻4开发游戏?
  13. go 并发goroutines,channal
  14. 腾讯云账号实名认证和域名实名认证的区别
  15. js数组操作大全(pop,push,unshift,splice,shift方法)
  16. PTA作业记录1(计算存款利息)
  17. oracle查运行sql语句,查询Oracle正在执行的SQL语句
  18. python分析就业率_Python就业行情和前景分析之一
  19. 在线计算机安装系统,怎么在线做系统|电脑直接网上做系统方法
  20. mysql条件查询中AND与OR联合使用的注意事项!

热门文章

  1. 北京大学计算机女博士经常看什么资料?
  2. 树莓派发行版apt-get彻底卸载软件包
  3. Django博客系统(忘记密码)
  4. 聊天机器人之需求分析和流程介绍
  5. 使用Pytorch实现手写数字识别
  6. 技术11期:Atlas的概念你了解多少?
  7. ∇SLAM:自动可微分SLAM
  8. MySQL(MariaDB)常用DOM命令
  9. 一个简单express+jade+mysql+bootstrap+nodejs的demo
  10. Mybatis + SpringMVC + Maven实现分页查询