今天的学习内容是:
楼道间照明灯实验4:在“楼道间照明灯实验1,2”的基础上再一次改进,让程序再次优化,使用材料不变,只是改变一下我们的编程思路,换一种方法编程达到同样的效果。我们的目标还是:一个楼道的照明灯,在楼上和楼下各有一个开关都能分别控制。
首先回顾一下前几个实验:
我们的实验一是:
1,首先设置一个变量,并且赋值为1(或0)。
2,就是判断楼上楼下两个开关的各自状态与自身的前一状态是否发生改变,从而改变变量的值。也就是单个开关自身对比,为了好便于后面的课题区分。所以我暂且称之为“单异或”。
3,再根据变量的值来让程序执行什么样的操作。
我们的实验二是:
1,相比实验1更加简单一些,就是让楼上楼下两个开关相互作为对方的参考值,可以不设置变量。为了好便于后面的课题区分。所以我暂且称之为“双异或”。
2,因为两个开关的异或结果只有0/1,而楼道灯也只有点亮和熄灭。正好一一对应。所以可以直接操作。
我们的实验三是:
综合我们的实验1和实验2就会知道,我们可以用三个甚至N个开关分别来控制我们的楼道照明灯了。
今天的实验四是:
我们学会了以上几种实验方法后,懂得了单片机的控制原理了。我们就会用一句话的编程语句同样能实现实验1和实验2的效果。
实验步骤:
1,首先打开上次收藏的“c51代码生成器”在线编译器网页。只要按照图一里面的步骤搭建就都可以完成。
2,搭建好的积木点击保存并复制代码。如图一所示
3,打开keil编译器软件,在文本框里粘贴,生成hex文件。
4,打开烧录软件,找到刚刚的hex文件,下载到单片机。效果如图二所示
实验解释及编程思路:
我们知道照明灯只有两种状态:就是点亮和熄灭。
而逻辑运算结果也只有0和1。
所以我们就可以编程让灯泡的点亮和熄灭跟着逻辑运算的结果就行。
实验目的:
实际应用中,把S3 S4换成楼上或楼下的开关,把LED换成楼梯灯泡。
上期内容回顾:
零基础学51单片机(十)楼道间照明灯实验2:双异或控制
零基础学51单片机(十一)楼道间照明灯实验3:多路开关同时分别控制同一盏灯
友情提示:
1,感觉不错,请点击文章结尾的“在看”,帮忙分享一下,让更多的人看到。
2,有百度账号的朋友,也可以复制以下链接在浏览器打开:
复制https://html.restartai.com/blockly/app/c51/在浏览器打开,也可以看到相关的文章。
3,下面“阅读原文”的链接就是51代码生成器,可在网页即开即用。该软件主要是为了给少儿编程启蒙开发的。目前是内部测试阶段,收藏可以免费使
4,操作遇到不懂的可以 在公众号后台留言 咨询。