能做多大的单片机项目程序开发,就代表了你的敲代码的水平

不一定非要多好,但是至少在对应的时间能达到对应的水平。

新手前期做项目写代码以实现功能为主,特别是51单片机,你代码写好了内存也未必够你用。

在你没接触过大项目程序开发的时候,你根本不知道代码的好坏,在功能上有什么区别,

反正都能实现功能对吧?

///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿就行了免費的,私信我或者看个人简介就可以找到我哦~点我头像黑色字体加我地球呺也能领取哦。最近比较闲,带做毕设,带学生参加省级或以上比赛///

等你真正碰到一些大项目的时候,如果你代码水平不行,肯定是做不出来的。

代码量大了你Hold不住,不知道怎么去整合,整合完以后功能之间也有冲突。

最后好不容易整合好了,又发现移植性太差,可扩展性太差,万一项目经理让你增加或者改个功能,你就挂逼了。

这个时候就是你该去思考怎么样把代码写得更好的时候了。

因为你知道痛点在哪里了,在针对这个痛点去找解决的办法。

最好的方法依然是去参考,写程序比你厉害的人。

你再针对性去学习,比如说看我录制的那个程序架构教程。

我那个教程就是我这么多年产品开发当中碰到问题,再学习解决,最终总结出来的精华。

文章字数可能比较多打开头像关注我之后翻找会比较容易有特殊需求可以输入口令“林老师”查看干货

如何让红外遥控产生38K的载波,实际上就是控制它的亮和灭的时间,低电平低时候亮,亮高电平的时候灭,让它亮灭亮灭就实现38K了,然后再搞循环,让它亮灭亮灭560个微秒,然后再把它关掉,这个时候就产生的是比特0。

如果当前这些位从这里面取出来,当前这位是1,如果说传出的比特为1的话,它产生的还是560个微秒的红外脉冲,也就是说不停的闪烁,产生38K的闪烁560个微秒,然后要把它熄灭,熄灭的时间和我们传输比特0的时间就不一样了,它要熄灭1.685个毫秒,这个大家要注意,这里说的这个传输比特0和传输比特1指的就是通和断的时间控制,通一定要注意是通的不是灯点亮通的,是这个灯的闪烁时间,闪烁的频率是38K,位1无红外光是1.685个毫秒,位0无红外光是0.56个毫秒。

这样的话就可以传输比特0和比特1,然后按照这个方式就可以去发射了,首先产生红外脉冲,也就是产生38K9毫秒,然后不产生4.5毫秒,这个就代表引导码,接着传输的是用户码,然后把这个用户码当中的每比特位都取出来,取出来之后来判断当前这个比特位是0还是1,这样的话就发射出去了,接着发命令码一样的道理,如果命令码当中的当前位置是0,那就是通38K560个微秒。

然后不同也就是断开,不让它产生红外光560个微秒,大家如果说看着代码在参考这个图就很容易理解,NEC编码的格式和解码都是按这个来做的,编码格式就是第一步先发引导码,载波发射9毫秒加载波不发射4.5毫秒,载波一发射就是这个管子产生9毫秒的38K的闪烁,这个就是这个载波的含义,然后接着发低八位低用户码和高八位的用户码的反码,然后接着就是八位的数据码和八位数据码的反码,这些位里面的数据都是要取出来,它当前的位是0还是一,然后按照这种方式去传输0和传输1,最后就是结束码,结束码上就是发送比特位0。

下一期会给大家讲解如何来实现38K的载波,以及如何来利用这个协议来编写代码,我们的课程会用软件来介绍如何实现红外遥控的编码功能,有兴趣可以关注一下,大家可以先看一下上面这个图简单介绍一下38K载波如何来实现,实际上38K载波一般是用的是1 : 3的,也就说发射的载波的它的红外占空比一般是1 : 3。

对单片机感兴趣的朋友可以找我我录制了一些关于单片机的入门教程有需要的童鞋找我拿就像免费的私信我“林老师”就可以拿点击打开我的头像就能领取

能做多大的单片机项目程序开发,就代表了你的敲代码的水平相关推荐

  1. 单片机应用程序开发QY-JXSY51

    单片机应用系统开发的一般方法 单片机应用系统是为完成某项具体任务而研制开发的用户系统,可以分为智能仪器仪表和工业测控系统两大类.虽然每个系统都有很强的针对性,结构和功能也不相同,但它们的开发过程和方法 ...

  2. 机器人的灵魂(1)——单片机C程序开发

    首先,就谈谈舵机的控制原理:    舵机有三根线,分别是电源正负极和信号线 .正负极接6V左右的直流电源,信号线则输出PWM脉冲, PWM的周期为20mm,宽度(高电平的时间)是从0.5ms--2.5 ...

  3. 一名优秀的开发人员,空闲时间会敲代码吗

    原网页:Do I Need to Code in My Free Time to Be a Good Developer? 作者:Maxim Chechenev "只有在空闲时间也敲代码,才 ...

  4. 程序员鼓励师,在你敲代码时 ta 在做什么

    江湖中有这样一群人,他们身着格子衫,肩背黑色双肩包,里面的笔记本总是待机状态:他们面容冷峻.喜怒不容于色,时而仰头深思,时而低头呢喃:他们步履匆匆,不是在加班就是在加班的路上,甚至随时都可能掏出笔记本 ...

  5. 大数据综合项目--网站流量日志数据分析系统(详细步骤和代码)

    文章目录 前言: 基本概述 Sqoop概述 什么是Sqoop Flume概述 什么是Flume 为什么需要flume HIve概述 什么是Hive 系统背景: 模块开发 数据采集 使用Flume搭建日 ...

  6. BBS论坛项目之开发注册功能(包含详细的代码注释)

    访问注册页面 提交注册数据 激活注册账号 本功能主要实现为三个模块: 访问注册页面 提交注册数据 激活注册账号 在访问注册页面的时候我们主要实现点击顶部区域内的链接,打开注册页面. 由于不涉及业务逻辑 ...

  7. 56岁潘石屹下定决心学Python,60多岁程序语言之父们还在敲代码,你还敢懈怠吗?...

    十三 发自 凹非寺 量子位 报道 | 公众号 QbitAI 比你成功的人,比你还努力. 上周,SOHO中国董事长.地产大亨潘石屹,56岁生日当天发布微博宣布进军编程语言Python. 紧接着第二天,又 ...

  8. 56岁潘石屹下定决心学Python,60多岁程序语言之父们还在敲代码,你还敢懈怠吗?

    十三 发自 凹非寺 本文经AI新媒体量子位(公众号 ID: QbitAI)授权转载,转载请联系出处 比你成功的人,比你还努力. 上周,SOHO中国董事长.地产大亨潘石屹,56岁生日当天发布微博宣布进军 ...

  9. 51单片机程序开发入门知识

    51单片机在我的理解上来说,就是遵循51指令集工作的芯片.他就像一台超微型的电脑,里面有内存.硬盘.CPU等基本配备. 而他所谓的CPU使用的就是51指令集,他的硬盘就是内置的Flash,他的内存也是 ...

  10. 要想步入程序开发行列,就不得不知道的事情汇总

    前言 当迈入程序开发行列之后,就意味着从此与程序开发"相依为命".不管你已经迈入程序开发行列,还是即将迈入,一些做程序开发必知内容是需要提前知道的.尤其是打算做程序开发的大学生朋友 ...

最新文章

  1. 转货币格式和 rgb转hex
  2. tomcat 7 下添加 shared/lib 文件夹
  3. 根据图片URL获取图片的尺寸【Swift语言实现】
  4. [Vue]Scoped Css与Css Modules的区别
  5. 集成学习之参数调整策略
  6. 遇到一个Linux系统时间突变问题
  7. C#(64位系统) 解决MySQLDriverCS未能加载文件或程序集,或它的某一个依赖项
  8. spring boot部署实战
  9. Java Socket编程基础实例
  10. phpstudy 2016 版本的安装缺少VC9的运行库如何下载,解决!
  11. 基于Profinet网络的风力发电机组齿轮箱温度采集系统
  12. 主板供电接口 图解安装详细过程
  13. MySQL从删库到跑路(0):序章
  14. 街头立体画的创作过程
  15. 【docker入门】
  16. 2020不平凡的一年,2021请继续奋斗
  17. Median Pyramid Hard题解
  18. 互联网公司招聘--阿里巴巴--运营专员--2016年笔试题
  19. Quartz分布式任务调度原理
  20. 微型计算机标致寄存器实验报告,微机原理实验报告(2013).doc

热门文章

  1. 10 Python - Python列表list
  2. luogu p1799 数列_NOI导刊2010提高(06)
  3. JS面向对象方法(二) 面向对象方法实现橱窗式图面预览以及放大功能
  4. AFNetworking到底做了什么?(二)
  5. 绑定数据源注意的地方
  6. 如何实现一个简单的熔断以及Hystrix原理分析
  7. MapGuide open source开发系列教程六: 地图状态与事件(含问题)
  8. ios 卡片切换效果
  9. CentOS下安装两个或多个Tomcat7
  10. 英特尔发布P900 Optane固态盘 而主打的市场并非数据中心