这次我们讲解如何编写流水灯程序。
首先我们需要了解一下流水灯模块的电路图。
通过电路图可以看到,流水灯是由8个LED灯组成
且每个小灯的正极都接在了vcc上(vcc为单片机上的5v供电口),负极一端都接在了P1的IO口上了
由此可以知道当IO口输出低电平时(输出为0)LED灯点亮
就比如 P1^0 = 0;
下面开始编写代码,代码尽量自己去敲而不是一味的去复制粘贴,这样可以给自己一个思考的时间,去理解每一句的意思
#include<reg52.h>
#include<intrins.h> //循环左移函数的头文件
void delayms(unsigned int k); //对子函数的声明
void main()
{
P1 = 0xfe; //也可以是二进制的11111110
while(1) //把内部程序写成死循环,让它一直执行
{
delayms(500); //延时500毫秒
P1 = _crol_(P1,1); //循环左移一位
}
}
void delayms(unsigned int k) //延时函数
{
unsigned int i , j;
for(i = 0;i < k;i++)
for(j = 0;j < 125;j++)
}
这里需要补充一个内容,用Keil4编写完,需要编译生成一个hex文件。在主界面编译图标呢一行找到一个名为Target Options的图标点进去后找到Output呢一页,然后找到Create HEX file这个选项并打勾。
在代码中有一个子函数void delayms();这个函数会经常用到,一般称之为延时函数就是让51芯片做无用的加法操作来拖延时间,起到一个延时的作用。
测试
我来了哈哈
测试回复