怎么用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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 转:分享两个饼状图在线生成工具[通俗易懂]

    转:分享两个饼状图在线生成工具[通俗易懂]饼状图最近用的蛮多的,每次用excel略麻烦:https://imgflip.com/chart-makerhttp://www.lizibuluo.com/bing/index.php两个工具

    2022年8月3日
    3
  • ubuntu升级python版本

    ubuntu升级python版本Ubuntu16.04默认安装了Python2.7和3.5请注意,系统自带的python千万不能卸载!输入命令python按Ctrl+D退出python命令行输入命令sudoadd-apt-repositoryppa:jonathonf/python-3.6按Enter确认输入命令sudoapt-getupdate输入命令sudoapt-geti…

    2022年5月28日
    182
  • nginx解决前端跨域问题_ajax跨域请求cors

    nginx解决前端跨域问题_ajax跨域请求cors通过Nginx模块HttpHeadersModule来添加Access-Control-Allow-Origin允许的地址。在Nginx的conf目录下修改nginx.conf,添加以下代码location~*\.(eot|ttf|woff|svg|otf)${add_headerAccess-Control-Allow-Origin*;}//eot|tt

    2022年8月24日
    4
  • 合成控制法(SyntheticControlMethod)及Stata实现[通俗易懂]

    合成控制法(SyntheticControlMethod)及Stata实现[通俗易懂]原文链接:https://www.lianxh.cn/news/9e1bb97a57041.html目录1.背景介绍 2.合成控制法原理 3.合成控制法的Stata实现 3.1命令安装 3.2语法格式 3.3加州控烟案例 3.4房产税对产业转移的影响:来自重庆和上海的经验证据 4.安慰剂检验 4.1安慰剂检验一 4.2安慰剂检验二 5.参考资料推文介绍合成控制方法及其Stata的实现命令。合成控制方法(Syntheti

    2022年6月10日
    40
  • 因果图方法_因果图法符号

    因果图方法_因果图法符号因果图方法  一.方法简介  1.定义:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。  2.因果图法产生的背景:  等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。

    2022年8月14日
    2
  • ribbon的负载均衡策略_f5负载均衡配置

    ribbon的负载均衡策略_f5负载均衡配置在这里吐槽一句:网上很多文章真是神坑,你不看还好,看了只会问题越来越多,就连之前的问题都没有解决!!!不多说了,Ribbon作为后端负载均衡器,比Nginx更注重的是请求分发而不是承担并发,可以直接感知后台动态变化来指定分发策略。它一共提供了7种负载均衡策略:策略名策略声明策略描述实现说明

    2022年10月13日
    0

发表回复

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

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