51单片机入门学习---以最通俗易懂的语言讲解!

作者: 海创电子分类: 野生技能协会 发布时间: 2019-11-27 12:48:17 浏览:189922 次

51单片机入门学习---以最通俗易懂的语言讲解!

不想上课德丽莎:
科普,0x代表16位进制,其中10用字母A代替,11 12 13 14 15分别用BCDEF代替,例如,0xFD也就是16进制下(15)(13),将16进制化为4位二进制,0xFD就相当于1111 1101。 关于LED灯是否亮,在编程时要根据电路图,许多时候我们将其正极接到电源vcc,这时如果端口再接一个高电位1,导致两边都是高电位,没有形成电势差,电流不流动,因此不会亮,所以这时=0时,正极电源为Vcc高电平,这边是低电平才会亮,=1时,不会亮,是否亮要根据电路图来看。 显然这位老师讲的是等于0的时候亮。 如何做到流水灯呢? 老师讲的是4个灯的,因此只有后4位(也就是左边4位,我一开始还以为后面指的是右边,愣了半天)有效,如果是8个灯的,那么就是8位都有效。当全部都是1的时候,我们知道零的时候亮那么一的时候就不亮,因此这时全都不亮,举个例子例如,0xEF,11101111,如果这是4个灯的话,从左往右数4位,只有一个0,因此,只有第4位亮,其余的都会灭,然后下一个0xDF,11011111,从左往右只有第3个是0,因此只有第3个亮,就是这样做的流水。 如果是8位呢,那么很有可能开始是11111110,也就是说从左往右数,第8个也就是第1个会亮,然后依次亮,记住,在这种默认的外电路条件下,是0才会亮,1不会亮。 总而言之,做到流水就是想办法让那个0动起来,这就要靠编程来实现。 最后来说一个C语言里面的croI,这个左移是循环左移,不是普通的左移,循环左移,把移走的高位放低位,而普通左移则把高位去掉,低位用零补上。 这个视频的老师相对来说讲的非常详细呢,是值得观看的,不过我们学习不能够只看一个人的视频,我们应该多看几个人的一起结合,这样才搞得比较懂,B站的话,我看了一下各个大学的慕课,其实相对来说讲得既含糊又混乱,而且有很多是在赶课时,我建议大家找各种工作室的视频看。 最后吐槽一下各种老师的废话实在太多了,导致我们只好流浪来B站学习,讲那么多单片机有什么作用的废话根本就没啥好说的嘛~我就想学~有什么用,我心里还不清楚吗? 愿意和大家一起努力。

【回复】补充一下,这个老师的流水灯编程方式我认为比较复杂,这里指路可以去看一下普中科技合金沙滩的教程,普中科技采用corl等c语言循环位移方法。而我一般喜欢数组编程方法,也就是在数一个数组中放入代表那几个灯的0x16进制代码,然后用for循环输出。
【回复】回复 @改名脱非入欧中奖 :nb
【回复】回复 @不想上课德丽莎 :用数组实现流水灯,对单片机来说占用资源是不是太多了?
不想上课德丽莎:
提几点建议。 第一希望在编程之前首先给出电路图,便于没有电路板的同学在仿真软件中首先操作。 第二,对于真正的新手来说,0xEF,DF,BF,7F为什么能够循环?到底代表着什么?讲的不是很清楚,还有为什么都是Ied,每次亮的灯都不一样,当然这个实际上就是前一个问题。

【回复】非常感谢宝贵意见,后面看了后有什么意见希望继续提!
小飞科技:
最优秀的学习教程 通俗易懂 不像其他教程 一堆废话人都绕懵了

【回复】回复 @菜还是蔡徐坤 :老哥再分享下可以吗
【回复】回复 @菜还是蔡徐坤 :你好,请问可以再求一下链接吗?
【回复】回复 @菜还是蔡徐坤 :有新的链接吗
无边不尽:
up讲的超棒,直接讲实例,一听就懂,吐槽一下之前看的一些大学教授讲单片机,一开始就直接拿个PPT讲单片机的起源,结构,原理,听得云里雾里,又水还没营养,还是直接讲代码学地快些[点赞][点赞][点赞]

【回复】再小声吐槽一下,感觉有些大学教授是不是太老了,跟不上时代,电脑用不利索,连代码都不敲,只会拿个PPT讲课
【回复】回复 @无边不尽 : 很多老师,真的是没啥水平,误人子弟
Sdarling:
[脱单doge]感觉还是有点绕,前几天看到另一个用定时器消抖的是用了两个标志位,一个按键按下标志位,一个程序已执行标志位,感觉那个好理解一些,和普通的延迟消抖感觉差不多,嘿嘿,老师这个思路也要背下来先。还有老师讲的是真的挺好....模块化编程那几集我都来回看了好多遍,自己也能弄了.

【回复】打基础,讲原理,打好基础才能举一反三!你不明白到后期会更麻烦!
bili_87995042659:
20年前能听到这课程.现在的人生也许是另一种生活方式。讲的太好了[支持][支持]

潇潇水寒A:
非常好的教程,从stm32过来的,必看教程

物依_有何不可:
第二个led流水灯没有加for循环或者i++,为什么还能做出流水灯的效果。 代码: void led_Show2() { unsigned int j; while(table2【j】!=0X01) { LED = table2【j】; } } 这代码不是只有简单的判断,j并没有赋值

【回复】回复 @公孙懿熯 :需要加j++,不然只有第一个灯亮,不会有数值里面的效果
骑虎观世界:
视频非常好,虽然学过51单片机,但再看这个视频,就感觉思路很清晰,学到的是写程序的思路

52230217:
不懂就问,大佬们,请问那个kiel软件哪里有下

Tekyu:
老师,视频就到第10讲吗?后续的视频在哪看?

-江北__:
我是电子专业的,学过模电数电c语言,,但是没学好,专业老师就是一个讲课机器,我本没基础讲结构就已经崩溃了

Uncle__Yang:
up讲的干脆利落,容易理解,就是那个"45536%256"应该是224吧?

【回复】是的,up主应该是笔误了
y6ch5r:
这是我听过单片机 最通俗易懂的视频。讲得太好了!

好奇心计划 入门 51单片机 海创电子

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!