设计与开发

单片机编程课程 51单片机怎么编程,有什么好的课程?

小编 2024-11-24 设计与开发 23 0

51单片机怎么编程,有什么好的课程?

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

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

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

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

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

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

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

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

1.C语言

2.汇编

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

单片机基础课程有哪些?

我看过很多关于学习单片机的文章,说实话,如果不是我在这个行业从事10年,可能我都被这些文章所坑。

这些文章存在的问题主要有:

1. 过于夸大这个技术所需要学的东西。

2. 推荐的学习路径不成体系。

3. 过度贬低这个行业。

很多新手,没有经验的情况下,很容易受到这些文章的误导,导致还没入门就已经放弃了。

这里,我可以肯定地跟大家说的是,即便你是初中毕业,照样也能把单片机玩得很溜。

那核心呢就是正确的学习路径+不断实践

那正确的学习路径都包含哪些基础课程呢?

这个跟我们的定位有关,单片机开发产品一般由2个人协作完成,分别是硬件工程师和单片机软件工程师。

在我以前的文章,我一直强调我们先从单片机软件开始学习,性价比最高。

有了这个定位以后,我们的目标将更加明确,学习也更加轻松。

如果你的定位不清晰,你就会人云亦云,去死磕模电数电,去死磕微机原理,去死磕芯片手册。

这些都是你走弯路的表现,特别是模拟电路,很多人从事开发几年依然看不懂,你指望一个新手能看懂,这明显不符合逻辑。

当初我就是因为看不懂模电导致差点放弃这个行业!

下面我给大家总结以下,作为软件开发需要学习的基础课程:

1. C语言

这是必须学习,也是以后从事开发的核心技能之一,比学单片机重要得多!

关于C语言入门级教程,之前有零基础学员需要,我专门录制了一套针对单片机的C语言入门视频教程。

这个教程我们是结合了我们多年产品开发,拿实际用得比较多的知识点来讲解,节约大家学习时间。

虽然现在这块的教程已经泛滥,我认为我们这套课程还是有价值的。

课程也是无偿给大家学习,请不要抱有什么套路的心态去看待我们的付出。

我们的开源课程保证不收你一分钱!需要的可以到小破站搜无际单片机编程,如果需要课件和源码可以来找我。我们虽然有开培训,但绝不强买强卖,现在的人都很聪明,真正的生意需要彼此真诚。

那些价值观与我们不匹配的,给钱我们都不收,对大家都负责。

2. 基础电路

单片机是针对硬件电路的编程,我们写程序最终就是控制单片机的外设,然后外设控制外围电路实现产品功能。

所以对于软件开发来说,不要求你电路基础有多么扎实,也不用你会设计,这些都是硬件工程师的工作。

对于我们而言,我们只需要看懂电路的控制原理就可以了。

基本上你能看懂市面上那些51开发板原理图和STM32开发板原理图,你基本就能胜任很多产品的软件开发了。

3.单片机

目前主流的单片机有STC 51、NXP、STM8、STM32等等。

这个直接在招聘平台搜”单片机工程师”这个职位,看它的任职要求就知道了。

我们前期在学习的时候先学STC的51单片机,然后学STM32,其他的到工作中用到什么单片机再针对性去学习就好了,基本上都是相同的,就是配置寄存器把单片机外设用起来。

以上就是一个大概的总结,更细化的学习路径可以参考下面这篇文章,这里就不重复写了。

单片机入门到高级开挂学习路径(附教程+工具)

这个整理包我把非原创的东西都删除了,因为有些涉及到版权,不方便,大家在B站可以搜到很多这样的教程。

学习技术是一个非常枯燥的过程,大多数人无法坚持,都是因为没有正确地培养自己的兴趣。

那我的建议就是前期你不用把每个细节都搞透,因为以当下经验也搞不透。

我们可以先把东西做出来,把效果展示在自己的面前,哪怕是复制别人的代码,让你看到你所学的东西原来这么牛逼,这么好玩。

这样可以满足你的成就感,同时也能培养你的兴趣,让你有动力继续学下去。

学得越多,你能做的东西也就越高级,你就会对自己越有信心。

相关问答

单片机编程 要用什么软件?单片机编程如何快速入门?

你好,我就是做单片机嵌入式软件开发的,对于第一个问题,单片机开发一般都是用C语言,单片机的开发平台即编译器通用的有keil、IAR、eclipse等,现在eclipse也支...

单片机编程 和""一般编程""区别?

如果你是想学计算机软件开发的话,就不要去理会什么单片机编程了。但如果你是想学电子产品开发(嵌入式系统开发),那么单片机编程就是基础了。电脑和单片机的...

51 单片机编程 方法?

1.定义的变量不要太多。低128位为用户定义变量的存放区域(默认时),也可以把变量放在高128位,但容易出错,尽量少放,最好不放。通过*.M51可以查看内存变量的存...

如果我想能看懂 单片机 的程序,需要怎样学习语言?

非常感谢你发来的邀请,我很高兴回答你的问题!现在单片机编程语言主要有两种,一种是汇编语言、一种是C语言。汇编语言要求要对单片机内部结构有要熟悉,由于其...

单片机编程 和PLC编程有什么区别?

单片机是一种可编程的集成芯片。2、plc就是由单片机加上外围电路做成的,单片机开发式底层开发,程序编写用汇编...一、区别:1、PLC是建立在单片机之上的产品,...

单片机 是用什么 编程 的?

这个问题要从两方面来说:第一是单片机是用什么编程环境(开发平台)编程?第二是单片机是用什么编程语言编程?我们分别来看看:一、单片机的编程环境单片机...这...

单片机 可编程 控制器有没有区别 - 懂得

单片机用途比较广,但使用时需加许多外围器件,编程用汇编或者C语言而可编程控制器的核心是单片机,但是外围电路很完善,输出电路驱动能力较强,可以直...

plc编程和 单片机编程 分别是怎么样一种工作情形,需要整天对着电脑吗?

都是一样的需要每天对着电脑不同的是可能还得去现场用电脑修改程序都是一样的需要每天对着电脑不同的是可能还得去现场用电脑修改程序

单片机 项目的开发流程?

单片机项目开发流程:一、项目评估:出初步技术开发方案,据此出预算,包括可能的开发成本、样机成本、开发耗时、样机制造耗时、利润空间等,然后根据开发项...

51 单片机 ,stm32,arduino都是用什么语言进行 编程 的?

51单片机,STM32单片机用汇编或者C语言,现在基本都用C语言编程,Arduino有自己的编程环境,用户也是用C语言编程。51单片机的编程51单片机进入中国比较早,在...51...

猜你喜欢