虽然现在stm32单片机很火,很多招聘的公司都要求必须要会stm32,但是我依然建议新手从51开始学起。

这也是当初我自学的路径,51相对简单,新手可以在短时间内学习见到效果,比如说做个流水灯,让数码管显示一些数字之类的。

学习技术过程是非常枯燥的,学着学着容易焦虑和放弃,单片机还好,至少还能控制硬件去完成一些智能的控制。

如果是纯软件更学不进去,学来学去只能在冷冰冰的屏幕面前打印字符。

作为新手,想要学习单片机,第一步先是要把环境搭建起来,哪怕是直接用别人的工程,编译烧录到硬件上看看效果都很有成就感。

这也是很多人忽略的一个过程:培养学习的兴趣。

这点非常重要,你没发现当你对一件事物有兴趣的时候,学起来又轻松又快。

一般单片机的编程语言有两种:

1.C语言

2.汇编

以前我们那些学校相关专业的都是教的汇编,其实汇编我个人认为前期没必要学。

因为我工作了10年了,真正用到汇编的就是移植RTOS的时候,而且和学校那些还不一样。

每个芯片有些指令集是专用的,所以很多人在不同芯片移植实时操作系统的时候会发现还是有很多指令看不懂,这也是正常的。

这些汇编指令,只要你用到的时候去查阅就可以了。

我建议是重点学习一下c语言,这也是作为一个工程师必备的技能,针对单片机c语言入门教程我们也有录了一套,可以直接到公号无际单片机编程获取。

单片机编程一般是在Keil开发工具里去写代码,写完以后用Keil来编译代码,生成hex文件,把这个文件下载到单片机里面去执行。

这块的环境搭建比较简单,大家通过视频去看,然后跟着视频操作一遍就会了。

学习单片机最重要的是要有一套开发板,也就是基于单片机开发的硬件。

一般这种硬件都配套了有相应的视频,所以学习门槛还是挺低的。

51的话我建议是选择stc的51单片机,直接通过串口烧录,比较方便。

我刚接触单片机的时候选择不多,我买的是郭老师的开发板,到目前为止我都觉得比较适合新手入门。

课程也比较详细,基本上基础部分电路、单片机、c语言是一起讲的。

学完开发板的内容以后,做个小项目,基本上也算是入门了。

入门以后你的提升方法就不是开发板了,而是做项目,最好是实际工作那些产品。

拿来练练手,自己先想一下功能要怎么实现,然后再看看别人是怎么写的,他这样写有什么优势和缺点。

这就是成长的过程,开发板只能教你学会单片机外设的使用,但是教不会你做项目,实际项目对成本、体积、功耗都有一定的要求。

单片机的产品来来去去其实就是那几个接口,串口、SPI、IIC、ADC、SDIO、FSMC…..

当你做过的产品都玩过这些接口以后,单片机对你来说就只是工具而已。

更重要的还是你的c语言编程的水平和思维。

51单片机怎么编程,有什么好的课程?相关推荐

  1. 【ChatGPT】使用ChatGPT进行51单片机程序编程体验

    背景 最近ChatGPT大火,笔者尝试使用它进行了51单片机编程尝试.ChatGPT是一种由OpenAI训练的大型语言模型,具有强大的自然语言处理能力和生成代码的能力. 使用ChatGPT进行51单片 ...

  2. C语言极速学习开发——51单片机入门编程之使用KeilC51进行代码编译(点亮你心中学习的精神之灯-下)

    系列文章目录 提示:本文章为系列文章,系列文章的所有文章的目录后期会时刻更新,喜欢的朋友请收藏好 <第一章 C语言极速学习开发--51单片机入门编程之使用KeilC51进行代码编译(点亮你心中学 ...

  3. c51矩形波输出汇编语言,51单片机汇编语言编程:用定时器控制输出矩形波

    80C51单片机的时钟频率为12MHz,利用定时器T1和P1.0输出矩形脉冲. 波形只画出了2段:一段为100us 另一段为50us. 要完全的.完整的.详细的编写此程序的过程!谢谢 -------- ...

  4. 51单片机模块化编程初识

    在51单片机C语言编程中,为了提高程序的可移植性,有必要用可移植的变量类型的别名进行编程. 把以下内容保存到编程软件的Include目录,并保存为了mytype.h文件. 如果你用的是Keil,这个目 ...

  5. c语言编程单片机中的sbit,用sbit定义可位寻址的特殊功能寄存器时的地址转换-51单片机C编程...

    80C51单片机C编程时中,用sbit定义可位寻址的特殊功能寄存器的位变量(感觉说是常量更确切)时,编译器会进行处理,把sbit 后面给的地址值 转换成 相应的可进行位寻址的特殊功能寄存器 bit位 ...

  6. 大一电赛:51单片机(状态机编程)——控制外部开关(继电器)达到自定义输出波

    题目来源于某双流一大学第八届"电协杯"电子设计(校赛) 大一C组:自定义信号发生器 队伍名称:摆烂三人组 下文有对相应软件和硬件的实现进行介绍 复盘电赛(软件部分) 读题方面 定时 ...

  7. 如何用c语言对51单片机进行编程,C语言在51单片机编程中的应用技巧

    随着单片机硬件性能的提高,编写应用程序更着重于程序本身的效率. Franklin或KEII.C51交叉编译器是专为51系列单片机设计的一种高效的C语言编译器,用其开发的应用程序易于维护,可移植性好,是 ...

  8. c51单片机时钟c语言程序设计,51单片机C编程(六、定时器时钟显示时分秒)

    //编程:jumpmysoul #include #define ulong unsigned long char tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x8 ...

  9. c51按键控制灯亮汇编语言,51单片机汇编语言编程进行按键控制

    硬件电路: P1.0 ~ P1.5 外接 6 个 LED,分别称为 D1 ~ D6,低电平发光. P0.0 ~ P0.3 外接 4 个 按键,分别称为 K1 ~ K4. P3.2 ~ P3.3 外接  ...

最新文章

  1. 2021 AAAS Fellow名单出炉!图灵奖得主Yan LeCun、联想芮勇等多位人士入选
  2. opencv生成随机图(随机彩图,随机灰图)
  3. 450. 删除二叉搜索树中的节点
  4. Office Web Apps安装部署(二)
  5. mysql sql优化
  6. 基于 socket.io 实现实时你画我猜游戏
  7. 压缩UI深度的代码实现
  8. BIO | NIO | AIO (Java版)
  9. 【LeetCode-SQL】1179. 重新格式化部门表
  10. java获得当天的0点和最后时刻
  11. 【GetFeature】返回来自数据源的特征选择,包括几何和属性值
  12. CentOS7和CentOS8 FreeSWITCH 1.10.7 简单图形化界面5--阿里云服务器设置
  13. Java中将科学记数法字符串转换成数字字符串
  14. 有什么文字转语音软件?这几个软件你不能不知道
  15. 侍魂qq最新服务器,qq区怎么进不去了,说服务器未开启
  16. java使用poi操作world生成饼图,柱状图,折线图,组合图:一
  17. RTSP实时音视频传输介绍
  18. 12864液晶深入学习笔记_1——基于msp430g2553
  19. 阿里云大数据认证——使用DataV制作实时销售数据可视化大屏-课堂笔记
  20. php 实现订单打印,电子商城实现订单打印

热门文章

  1. 神操作!美国程序员把工作外包给中国程序员,上班摸鱼吸猫年入 20 万美元
  2. 人生和算法结合起来,你会不会比现在混得好?看完我明白了!
  3. 分布式事务篇——第一章:分布式事务前言
  4. 聚类分析案例:探究用户对物品类别的喜好细分降维
  5. Debug的T命令在执行修改寄存器SS 的指令时,下一条指令也紧接着被执行。
  6. CSDN如何删除自己不用的分类(亲测有效!)
  7. CNN模型之SqueezeNet
  8. 收藏 | 计算机视觉中的Transformer
  9. 激光雷达与相机—哪种更适合自动驾驶?
  10. 【OpenCV 4开发详解】图像二值化