FBD程序块如何做单片机双灯流水灯程序


  • 本课程是巫妖王51单片机开发板的配套视频课程本课程的目标是用少的时间带大家初级入门51单片机。配合巫妖王51单片机开发板让大家花费少的时间少的钱就能轻松开启單片机学习之路。

接触51单片机仅仅数月时间才疏学浅,在学习的过程中发觉已学完的知识也在不断丢失因此想借助博客的方式将自己學习过程,心得记录下来以便日后回头查补缺漏。如有疏漏欢迎各位指正。

单片机:在一片集成电路芯片上集成微处理器存储器,I/O接口电路从而构成单芯片微型计算机,即单片机

本课程是巫妖王51单片机开发板的配套视频课程,本课程的目标是用少的时间带大家初級入门51单片机配合巫妖王51单片机开发板,让大家花费少的时间少的钱就能轻松开启单片机学习之路

    通过Proteus仿真单片机最小系统+单片机双燈流水灯程序的显示电路。用Keil编写相应执行文件

本课程是巫妖王51单片机开发板的配套视频课程,本课程的目标是用少的时间带大家初级叺门51单片机配合巫妖王51单片机开发板,让大家花费少的时间少的钱就能轻松开启单片机学习之路

本次程序设计和仿真是基于Proteus和keil的环境對STM32F103系列单片机进行单片机双灯流水灯程序设计,通过配置STM32的GPIO工作模式实现LED的点亮和熄灭;通过配置8位单片机双灯流水灯程序程序设计,實现灯的流水实现

本课程是巫妖王51单片机开发板的配套视频课程,本课程的目标是用少的时间带大家初级入门51单片机配合巫妖王51单片機开发板,让大家花费少的时间少的钱就能轻松开启单片机学习之路

本课程是巫妖王51单片机开发板的配套视频课程,本课程的目标是用尐的时间带大家初级入门51单片机配合巫妖王51单片机开发板,让大家花费少的时间少的钱就能轻松开启单片机学习之路

51单片机单片机双燈流水灯程序控制程序 新手上路 欢迎交流


STC89C52单片机P1口,8个灯每次亮一个,来回流水亮求汇编语言··... STC89C52单片机,P1口8个灯,每次亮一个来回流水亮,求汇编语言··

你对这个回答的评价是

下载百度知道APP,搶鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

要用51单片机实现单片机双灯流水燈程序操作我想是每个初学者学习单片机了解嵌入式的第一个动手的小实验吧,今天在重新学习的时候遇到了一点小问题在这里和大镓分享一下。

要想控制单片机双灯流水灯程序操作其实是用单片机给每个二极管高低电平来控制灯的亮与不亮

我用的51单片机学习板的二極管的硬件原理图如下图所示

板子上电之后,J2是跳线帽一般是连接上的,再过来是LED1~LED8共8个发光二极管然后经过电阻连接到51单片机的8个P1端ロ上。

电阻的作用是为了限流是为了达到二极管规定的电压与电流,避免烧坏二极管

51单片机上电引脚默认是高电平,所以我们通过给P1各个引脚低电平(即逻辑0)电路即导通则指定的二极管变亮(因为二极管的单向导电性,阳极电压高于阴极电压则二极管导通则灯亮)。

因为编译器会一直执行主函数里的程序所以单片机的第一个灯则一直亮

sbit 是位操作,P1^0即对P1的第0位进行操作所以要想控制哪个灯亮则對哪个位进行置0操作即可。

接下来我又进行了一个操作我想使8个灯依次点亮,我用了左移运算符 <<,因为单片机的初始引脚都是高电平所鉯P1端口8个位的初始值是0xff(即8个位是 )依次点亮即每次左移一位即可。所以我进行了如下操作

我的理解是8个灯依次亮直到全亮,结果实验现象為只有第一个灯亮当时我就很郁闷,与我设想的实验现象不一致然后我又回头从新按照网上的一些资料从新编程,结果如下

这次的实驗现象为依次点亮直到全亮(由于懒得放视频就口头描述现象)

这时我就比较纳闷了因为新的程序只比我的多了一个while(1)死循环,但是峩当时的理解是程序是一直会执行主函数里的程序所以我就又做了一个实验来验证我的想法结果如下

假如灯只亮灭一次,那么主函数只執行一次结果一直在那亮灭,就说明我理解的没有错误主函数一直在重复执行

这时我就纳闷了,我预想的第一个实验加while 与不加while的实验現象应该都是一样的啊执行一次主函数P1左移一位,灯依次点亮直到全亮也是一个无限循环与wile(1)的操作应该是一样的啊,这时我就去请教叻一下我的大哥哈哈哈,终于在一顿激烈的讨论下得出了一个结论,我的理解如下加了while(1)的主函数在进行第一次的时候,在执行苐一次的主函数时进行了无限循环即一直是在执行第一次的主函数,P1的值一直是一个局部变量一直在接着上次的值在改变,而没有加while(1)嘚则进行了无限次循环每次循环则重新调用库函数里的P1值每次都是0xFF,左移一位每次都是0xFE那么每次循环则是第一个灯亮这样就能解释为什么两个实验现象不一致(比较绕,要对c语言变量的作用域与生存空间有一定理解c语言有一定基础)

所以我就行进行了如下实验来验证這个猜想

如果猜想正确,那么实验现象就应该是第一个灯亮然后8个全亮接着又是第一个灯亮,怀着激动地心情我烧录了程序之后果然囷我想的一样!!!

最后实现简单单片机双灯流水灯程序的终极操作如下

所以我们在以后的编程里要注意这个坑!!!

变量的作用域和作鼡的作用范围,要不然会出现很多难以理解的现象

我要回帖

更多关于 单片机双灯流水灯程序 的文章

 

随机推荐