怎么用c语言编写单片机流水灯程序,单片机编程入门:单片机流水灯程序

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

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

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

怎么用c语言编写单片机流水灯程序,单片机编程入门:单片机流水灯程序_第1张图片

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

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

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

怎么用c语言编写单片机流水灯程序,单片机编程入门:单片机流水灯程序_第2张图片

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

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

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

你可能感兴趣的:(怎么用c语言编写单片机流水灯程序,单片机编程入门:单片机流水灯程序)