用51单片机开发项目的整个过程
想学习单片机的同学可以关注、私信我或者在评论区回复我要入门。51由于外设相对简单所以非常适合初学者入门,我们要掌握51单片机的开发就要学习它的基本部件,学习基本的外设和学习C语言差不多两周到四周大概就能摸清楚了,当然这是根据每个人的学习能力来定的。单片机实际上都是类似的,就像我们电脑一样,不同的版本只是增加了某些功能,我们要学习的就是多的这些功能怎么用。
要掌握一款单片机的最好的方法就是可以用它来开发产品,通过项目业务实现来检验我们单片机学习的知识是不是正确的,扎不扎实。
如果我们想室湿度显示器
1.首先我们要进行硬件选型,要看模块参数,比如湿度模板,电源,显示器等等都要我们进行筛选,选择这部分其实对于小项目来说没有那么复杂,选市面上使用得多容易找的就可以了,如果是已生产为目的的项目就会多一些限制,成本控制就需要比较考验功力了,一个成熟的电子工程师,能少用一个电阻都是要省的
2.在板子等其他工作都做好了以后,我们就可以开始弄我们的代码了,里面肯定会涉及到模块和单片机的通信方式(单片机开发里边我觉得最重要的就是通信方式),是IIC,SPI, 单总线,CAN总线等等,这些是我们必须花很多时间和精力去学习的,尤其是要学习如何灵活的运用到自己的项目里。
3.我们还需要根据项目复杂度和产品后续是不是需要扩展去考虑是否需要上操作系统,裸机和操作系统完全是两种不同的设计理念,我们所做的这个东西是很普遍的,单片机性能基本都是足够的,我们主要的开发精力基本可以放在软件上,建议多上操作系统,尤其是对于复杂的项目,可以提供开发效率,后期维护起来方便。
4.项目的调试是一个非常繁琐的过程,可以这么说我们开发大概会有一半的时间都是在对产品进行调试,调试通过,测试性能,最后是软件集成,这时候在我们的传统概念里硬件工程师应该已经出硬件测试板子了,很多小公司,这部分工作都是一个人做的,身兼多职是一种常态。
5.项目测试,这个是我们要非常重视的一个环节,测试不仔细就会导致产品很多隐患暂时没有暴露出来,等大规模生产的时候暴露你基本上就GG了,测试方式主要有配置命令测试健壮性测试,,具体功能测试,鲁棒性测试,长时间性能测试等,这个自己看着来定。
本期先分享到这里,想要进群学习单片机编程的同学可以私信我,回复“我要入门”,与我们一起成长,喜欢的可以点个赞关注我们!
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语言编程的水平和思维。
相关问答
51单片机 的 程序 是怎么制的?51单片机程序是通过编写汇编语言或C语言代码来实现的。首先,需要了解51单片机的指令集和寄存器,以及外设的操作方式。然后,根据设计需求,编写相应的程序代码...
用c++怎么编写 51单片机程序 ,可以这么样编写吗?可以的。在51单片机的嵌入式C语言中,指针同样是被支持的。所以在单片机上一样可以使用指针操作,具体使用方法,与标准C语言并没有不同。不过需要注意的是,使用...
51单片机 如何建立步骤?目前进行STC89C51/52、AT89S51/521、双击启动keil软件2、启动新建工程3、给新建工程命名和保存4、选择单片机型号,我们以STC89C52为例,依次选择“Atmel”-.....
51单片机 ,stm32,arduino都是用什么语言进行编程的?51单片机,STM32单片机用汇编或者C语言,现在基本都用C语言编程,Arduino有自己的编程环境,用户也是用C语言编程。51单片机的编程51单片机进入中国比较早,在...51...
开发51单片机 用什么软件编程?51单片机采用keilC51编写程序。51单片机采用keilC51编写程序。
51单片机 如何实现多线程多任务?有哪些 程序 可以在“后台”自己运行?1、51单片机无法实现多线程任务,只能实现单线程。这是由51单片机的硬件决定的,否则多线程芯片就没有必要设计出来了。2、51单片机的硬件资源,如:定时器、计...
mcs 51单片机 循环指令 程序 编写?MCS-51单片机常见的循环指令有JC/JNC、DJNZ和CJNE等,下面是一个简单的循环指令程序编写示例:```ORG0;程序入口地址MOVR0,#10H;将初值10H赋给R0寄存器...
51单片机程序 大小怎么算?你好,单片机程序大小可以通过以下几种方式进行计算:1.代码行数:程序中的每行代码都会占用一定的存储空间,因此可以通过统计程序中的代码行数来估算程序大小...
学习 51单片机 需要用哪些 开发 软件?现在单片机开发,51或者大部分都是用keil或者IAR,语言是C语言,汇编也可以。也有小部分单片机使用专用ide,比如avr,就用avrstudio。对于51来说keil是最方便...
用微软VS2017 开发 平台可以编写 51单片机程序 吗?VS开发平台里有不同的芯片类别啊……x86或x64架构……说到底VisualStudio是针对计算机硬件平台的开发软件……你可以拿VS的编辑器来编辑51的程序(有些实用功...