最新公告
  • 欢迎您光临欧资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 单片机开始学习路上遇到问题和我的套件和教程

    2020年注定是不平凡的一年。无数大学生被困在家里无所事事,我就是其中之一。在家学习对于自控力较弱的人来说很难,但继续颓废也很不舒服。是的,所以我想随便学点自己感兴趣的东西,总比什么都不做要好。所以这些天我开始学习微控制器。

    我一直认为单片机是个很酷的东西。它可以用来制造小型汽车和无人机。尤其是制作和玩无人机是我这两年的梦想。其实我之前也学过一点51。单片机什么样的51单片机学习开发板好用,我当时也买了一套庆祥的51开发板,不过当时学到了一点。看来我刚刚学会了中断。我是一个没有规律的懒惰人。既然这次要努力学习,希望能在一天的学习之后,自己做出很多有趣的事情,所以一些额外的监督等手段可以说是缺一不可了。想了想,决定用写知乎的方法来监督自己。同时,我也可以写文章总结一下学习单片机的过程中遇到的问题以及我尝试解决的方法。我准备做一个实时更新系列,学习完一个部分再总结和反思另一部分,不仅可以加深印象,提升自己,还可以和我一样分享小白遇到的问题学习方式(菜鸡有共同点,所以可能会遇到和我一样的问题。),虽然可能没人看。

    因为想自己做一个小四轴游戏,所以给自己准备的学习路线是先学51单片机,然后再去买小马哥的四轴(教的up高手)四轴)后学习扎实。套件和教程,Pony的四轴是32 MCU。教程我看的很好,但是我连51单片机都没学过,所以没有考虑先学32单片机。听同学说32很难学。我打算考完考后的寒假跟小马学这个。

    我学习 51 MCU 大约一个月了。因为有课,准备考研,而且我比较懒,进度比较慢。清香老师的教程我先看完了,感觉还是没用。我还是不行,所以我要重新打字上课老师写的程序。我想我会自己键入类中的所有程序并编译成功。即使我的 51 MCU 很小,我也可以做到。想到学32,其实我学51单片机的时候也很不容易,甚至觉得还挺难得的。曾经怀疑郭天祥10天学51单片机是在吹牛。

    ————————————————– ——————————————

    继续更新~~~~~~~~~

    虽然很多老板都说51单片机很简单,但我还是觉得10天学会51单片机是不可能的。尤其是看了电子万年历这个比较全面的项目后,感觉10天是学不完的。我可以写出来(也可能是我太笨了)。庆祥老师说,如果我能独立写电子万年历,51单片机就可以学了。底层驱动感觉特别别扭,附上图片

    就我这种课,基本都是上一次,课后写程序练练也没有什么傻事。想到红外通信和I2C通信,好像写不出来。我对定时器中断只有一点印象。那天我真的很受打击。虽然我是新手,但我也明白没有人会写。飞行器的飞行控制应该比这个电子万年历要难很多。一时间真的很灰心,以为自己很傻,什么都学不到。但还好,我没心没肺,太快忘记接受现实了。如果我只看一次教程就能学会,那我就不是我了。哈哈哈。

    事实上,距离这个过程已经过去了两天。昨天才开始下定决心要写知乎。让我先告诉你我的进步。

    这是我前两天写的,不写灯光,因为学了哈哈哈哈(傻笑),从矩阵按键和数码管开始写。但是现在已经有几天了,所以我将粗略地总结一下。以后一定会更详细的介绍当天的内容,所以现在正式开始分享~

    矩阵键盘

    #包括

    #define uint 无符号整数

    #define uchar 无符号字符

    单位键值;

    无效延迟(单位 z)

    {

    单位 x,y;

    for(x = z; x > 0; x–)

    for(y = 114; y > 0; y–);

    }

    无效键扫描()

    {

    //4*4¾ØÕó¼üÅÌɨÃè

    P3 = 0XF0;//ÁÐɨÃè

    if(P3 != 0XF0)//Åжϰ´¼üÊÇ ñ±»°´ÏÂ

    {

    延迟(10);//Èí¼þÏû¶¶10ms

    if(P3 != 0XF0)//Åжϰ´¼üÊÇ ñ±»°´ÏÂ

    {

    switch(P3) //ÅжÏÄÇÒ»Áб»°´ÏÂ

    {

    案例0xe0:键值= 0;break;//µÚÒ»ÁС±»°´ÏÂ

    案例 0xd0:键值 = 1;break;//μÚ¶þÁб»°´ÏÂ

    案例 0xb0:键值 = 2;break;//μÚÈýÁб»°´ÏÂ

    案例 0x70:键值 = 3;break;//μÚËÄÁб»°´ÏÂ

    }

    P3 = 0X0F;//ÐÔɨÔ

    switch(P3) //ÅжÏÄÇÒ»Ðб»°´ÏÂ

    {

    案例 0x0e:键值 = 键值;break;//µÚÒ»СС±»°´ÏÂ

    案例 0x0d:KeyValue = KeyValue + 4;break;//µÚ¶þСС±»°´ÏÂ

    kt800单片机学习板原理图_单片机学习板接线图_什么样的51单片机学习开发板好用

    案例 0x0b:键值 = 键值 + 8;break;//μÚÈýÐб»°´ÏÂ

    案例 0x07:键值 = 键值 + 12;break;//μÚËÄÐб»°´ÏÂ

    }

    while(P3 != 0X0F);//ËÉÊÖ¼ì²â

    }

    }

    }

    无效的主要()

    {

    而(1)

    {

    键扫描();

    如果(键值 == 0)

    {

    P1 = 0x6F;

    }

    如果(键值 == 1)

    {

    P1 = 0;

    }

    如果(键值 == 2)

    {

    P1 = 0xFF;

    }

    }

    }

    不知道为什么把代码复制到知乎的时候,会有乱码的注释。有点大,然后贴代码去掉注释。

    矩阵键盘的基本操作并不难。基本操作与独立按键类似。毕竟矩阵按键是大量排列在一起的按键,都需要防抖和释放检测这两个步骤。我的开发板的矩阵按键是4×4,16个按键,接P3,矩阵按键需要键盘扫描检测哪个键被按下->我先行列扫描再行扫描,列扫描先拉所有连接的IO口列高,并将所有连接到行的IO端口设置为低。当按下其中一列中的任何按钮时,整个列线将被拉低。也就是说不难设置P3 = 0xF0;这个不难,印象中没有问题。

    自己写程序的时候什么样的51单片机学习开发板好用,其实只有一个疑惑,就是switch case语句,列扫描,uint一个KeyValue,列扫描的初始值为0,1,2,3,然后当行扫描,KeyValue + 0、4、8、12;我不记得为什么我开始时必须添加 4 的倍数,然后我又看了一遍视频。

    ————————————————– ——————————————

    持续更新~~~~~~~~~2020/4/29继续更新

    我认为在没有指导的情况下自己学习一些东西是非常困难的。你总会遇到一些问题,有的很简单但当时转不过头,有的真的很难,你的知识储备不够,逻辑能力不强,有没有办法解决它。最让小白害怕的是,别人遇到的一些问题,都是常识问题。百度对百度的具体问题了解不多。很多时候,他只想放弃~

    我今天心情不好。白天懒得学习,晚上容易兴奋。看完昨晚的考研目标,已经11点多了。我又开始学习51单片机了。昨天看了URAT串口看手册看教程最后12点多独立写了整个程序。昨晚写完了串口发送数据数码管显示的程序。总结经验。洗完澡,躺在床上玩手机,睡到凌晨2点左右,今天早上7点起床。这有点迟钝。今天,我想如何安排时间。时间管理是一项技术任务。

    就一点点继续写昨天。看完矩阵按键的视频教程,又看了看开发板。这不是该死的16个按钮吗!从 0 到 15 的数字对应于一个按钮。搞清楚之后,我真的觉得自己很傻*。写完这个基本的矩阵按键程序,其实我还写了一个Muggle通过矩阵按键触发外部中断0来控制水灯模块,但是就是无法实现,编译为0waiing 0error。我又读了一遍教程、原理图和手册。后来在百度上找不到问题。很多时候真的觉得自己很傻,脑子转不动。折腾了一个小时后,我对照原理图重新输入了程序。我使用外部中断 0 在下降沿触发。当时我就按照青翔老师说的把P32口和P37口连接起来,给P37口赋值1。重新分配 0 来控制下降沿触发中断。

    开发板P3口

    当我把定义写到位的时候,突然想明白为什么矩阵按键程序写得很好,外部中断0程序写得很好,但是两者加起来却不能起到我预想的作用。我买的开发板矩阵按键接P3口

    位 P32 = P3^2;

    位 P37 = P3^7;

    恰巧P3.2端口触发了外部中断0,所以矩阵键盘在扫描行列时出错。

    学习了矩阵键盘后,我意识到小白看说明书和原理图是很重要的。下图是我剪下来的手动中断的一小块。

    我对矩阵按钮有这些疑问,因为我又开始学习它了。经过几天的学习,我开始得到知乎的总结和分享。知乎的总结跟不上我学习的速度。也可能是之前的内容过于简单的原因。本来以为数码管的动态扫描和定时器中断应该写成一部分。在今天看来,这似乎是不可能的。我没有遇到任何关于串口的特别之处。问题,所以打算写完数码管显示加串口部分,今晚开始学习I2C。定时器中断也会用到,我不想把它们总结为单独的知识。

    我来总结一下数码管的两个部分,1是写延时函数delay和定时器延时的延时部分,2是我在动态扫描中犯的错误;把我在串口部分遇到的问题分享一下,也分享一下,希望以后有大佬能在评论里解释一下~今天白天就写这么多~大部分时间,比较多备考考研很重要,呵呵

    ————————————————– ——————————————

    继续更新~~~~~~~~~

    站内大部分资源收集于网络,若侵犯了您的合法权益,请联系我们删除!
    欧资源网 » 单片机开始学习路上遇到问题和我的套件和教程

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    欧资源网
    一个高级程序员模板开发平台

    发表评论