3种简单的51单片机的流水灯实现的方法

一、开发环境
利用keil 4进行工程的创建,ISIS7 进行仿真,通过C语言来进行编写以实现功能,下面介绍几种最基本也是最常见的方法。
二、常见方法一览
1.移位循环法
通过循环+移位指令>>或<<移位指令来实现功能,参考代码:

#include 
#include 
   void main()
   {
          int i;
        char j;
        
        while(1)
        {
       
             for(j = 0;j < 8;j ++)
            {
     
               P1 = ~(1 << j) ;  
                 for(i = 30000;i > 0;i --) ; //循环延时
            }            
        }
   }

2.数组法
通过定义数组并赋给初值,再在程序中通过遍历数组来给端口赋值的方式进行操作也能实现同样的功能。

unsigned char list[8]={
     0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
unsigned char list[8]={
     0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

3.引用数学函数法
首先给端口赋初值,再通过引用math库中的pow()函数,来实现2的指数倍的增长,并配合if语句实现计算好当值为多大时,该值被重新赋值,从而不断循环。

你可能感兴趣的:(经验分享,编程语言,单片机,c语言)