怎么用c语言编写单片机流水灯程序,单片机编程入门:单片机流水灯程序[通俗易懂]

怎么用c语言编写单片机流水灯程序,单片机编程入门:单片机流水灯程序[通俗易懂]今天就来教教大家怎么玩玩51单片机,当然了,首先有一个必要的条件就是你必须要会c语言,目前大学里面有开的关于微机原理的课的,上课的时候,老师还说:“你们要多学学汇编语言,对你们以后学习单片机有用”,而事实上后来才发现c语言才是最重要的。要想玩单片机,就必须要知道最重要的是什么,对于一块51单片机的开发板来说,最重要的就是要认认真真的看它的原理图,原理图才是最重要的。今天先说说最基本的,就是怎么玩流…

大家好,又见面了,我是你们的朋友全栈君。

今天就来教教大家怎么玩玩51单片机,当然了,首先有一个必要的条件就是你必须要会c语言,目前大学里面有开的关于微机原理的课的,上课的时候,老师还说:“你们要多学学汇编语言,对你们以后学习单片机有用”,而事实上后来才发现c语言才是最重要的。

要想玩单片机,就必须要知道最重要的是什么,对于一块51单片机的开发板来说,最重要的就是要认认真真的看它的原理图,原理图才是最重要的。

今天先说说最基本的,就是怎么玩流水灯,老样子,先看看原理图:

172031ged5dlizexi8hftz.jpg

可以看到,总共是八个LED灯,都是由单片机的P1口控制的,并且可以知道当端口为低电平时,灯就会亮,大家一定要注意这一点,目前市场上51的开发板还是有非常多的,你必须要知道你的板子上LED灯是高电平使能还是低电平使能。像我这块就是低电平使能,写程序的话,我们可以用十六进制的代码写,

任意一个十六进制的数都可以拆分成八位的二进制数,而计算机只识别二进制,这样我们可以直接控制LED灯。比如我现在写一个代码P1 = 0xfe,那么把它变为二进制后就是1111 1110 这样的话,正好对应八个LED灯,最后一位是零,那么也就是最后一个LED灯亮了,其余的则是全灭状态。

现在我们可以玩玩流水灯,看一下这个程序:

172031nhmrtwyhuw8u8hhy.jpg

看主函数main里面的代码,P1 = 0xff 说明最开始是全灭状态,定义一个for循环,以八位为一个循环,当然也可以看到,最重要的便是P1 = P1》1这个代码,相当于说是把1111 1111 这个代码整体向右移位,比如说移位一次,那么就会变成0111 1111,那么就会有一个灯亮,移位两次,就会变成0011 1111,

就会有两个灯亮,以此类推下去,等就会逐渐亮起来。也就是流水灯咯。

大家可以自己随意修改,看看各种亮灯方式。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132839.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月10日 上午8:46
下一篇 2022年6月10日 上午9:00


相关推荐

  • [Unity3D]Unity3D游戏开发之鼠标滚轮实现放大缩小

    [Unity3D]Unity3D游戏开发之鼠标滚轮实现放大缩小

    2022年1月30日
    56
  • 06 Redis主从库的数据同步

    06 Redis主从库的数据同步06Redis 主从库的数据同步前言一 采用读写分离的原因二 主从库间进行第一次同步三 主从级联模式分担全量复制时的主库压力四 主从库间网络断开后的增量复制五 repl backlog buffer 环形缓冲区总结前言 Redis 具有高可靠性 数据尽量少丢失 AOF 和 RDB 保证 服务尽量少中断 增加副本冗余量 即使有一个实例出现了故障 需要过一段时间才能恢复 其他实例也可以对外提供服务 不会影响业务使用 Redis 的主从库模式 以保证数据副本的一致 主从库之间采用的是读写分离的方

    2026年3月19日
    2
  • 制作一个简单HTML个人网页网页(HTML+CSS)

    制作一个简单HTML个人网页网页(HTML+CSS)制作一个简单的 HTML 个人网页

    2026年3月19日
    1
  • Camstar使用操作

    Camstar使用操作Camstar 开发流程使用框架及工具

    2026年3月20日
    16
  • ZigBee协议栈(一)–协议栈介绍

    ZigBee协议栈(一)–协议栈介绍1、Zigbee协议栈简介  协议是一系列的通信标准,通信双方需要按照这一标准进行正常的数据发射和接收。协议栈是协议的具体实现形式,通俗讲协议栈就是协议和用户之间的一个接口,开发人员通过使用协议栈来使用这个协议,进而实现无线数据收发。  如图1所示:Zigbee协议分为两部分,IEEE802.15.4定义了PHY(物理层)和MAC(介质访问层)技术规范;Zigbee联盟定义了NW

    2022年5月28日
    65
  • Neo4j简介

    Neo4j简介前言随着大数据时代的发展 诞生了一大批大数据时代下的新数据库产品 如今 MongoDB Redis HBase 这些 NoSQL 数据库已经成为了互联网开发的新标配 SQL 一统江湖的时代不复存在了 然而 如果你觉得只要学习了上边这几种 NoSQL 你就抓住了大数据时代的话 你可就大错特错了 大数据时代发展速度之快超乎你的想象 新的数据库产品仍然在不断诞生 一些快速兴起的小众数据库很有可能成为下一个 Mong

    2026年3月18日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号