[NUC120] nuc120开发板学习之LED灯渐亮渐暗

[复制链接]
 楼主| mtxmxt 发表于 2011-8-15 09:33 | 显示全部楼层 |阅读模式
本帖最后由 缥缈九哥 于 2012-9-14 12:09 编辑

最笨的LED灯渐亮渐暗实现方式,利用软件延时来实现。

#include <stdio.h>
#include "NUC1xx.h"
#include "DrvGPIO.h"
#include "DrvSYS.h"
#define zq 250
        unsigned int l,a;

void delay_loop(void)
{
        unsigned char j;
        for(j=0;j<100;j++);               

}


/*---------------------------------------------------------------------------------------------------------*/
/* MAIN function                                                                                          */
/*---------------------------------------------------------------------------------------------------------*/   

int main (void)
{        
        /* SYSCLK =>12Mhz*/

        UNLOCKREG();
    SYSCLK->;PWRCON.XTL12M_EN = 1;
        LOCKREG();
        /*set GPI0 output*/
        DrvGPIO_Open(E_GPA,2, E_IO_OUTPUT);        

        l=zq;
        a=0;

        while(1)
        {
                unsigned int m,n,k;

                while(l)
                {
                        m=l;
                        n=a;
                        if(l>zq/4)
                                k=1;
                        else
                                k=255;
                   for(;k;k--)
                   {
                                DrvGPIO_ClrBit(E_GPA,2);
                                for(;m;m--)        
                                delay_loop();
               
                                DrvGPIO_SetBit(E_GPA,2);
                                for(;n;n--)                 
                                delay_loop();
                   }
                        l--;
                         a=zq-l;
                }

                  for(k=10000;k;k--)
                                        delay_loop();


                 while(a)
                 {
                           m=l;
                        n=a;
                        if(l>zq/4)
                                k=1;
                        else
                                k=255;

                   for(;k;k--)
                   {
                                 DrvGPIO_ClrBit(E_GPA,2);
                                for(;m;m--)        
                                delay_loop();
               
                                DrvGPIO_SetBit(E_GPA,2);        
                                for(;n;n--)                 
                                delay_loop();
                        }
                        a--;
                         l=zq-a;
                 }


        }
}
 楼主| mtxmxt 发表于 2011-8-15 09:34 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
hotpower 发表于 2011-8-15 09:59 | 显示全部楼层
再笨也是自己笨出来的。

开始不笨就是外星人了,加油!
Swallow_0322 发表于 2011-8-15 10:55 | 显示全部楼层
顶!↖(^ω^)↗!
 楼主| mtxmxt 发表于 2011-8-15 14:15 | 显示全部楼层
谢谢鼓励!
uniquehope 发表于 2011-8-15 19:46 | 显示全部楼层
电子write_cai 发表于 2011-8-15 22:13 | 显示全部楼层
batloveshan 发表于 2011-8-15 23:33 | 显示全部楼层
顶,看大伙玩得不易热乎啊:lol
athud 发表于 2011-8-18 10:46 | 显示全部楼层
我以为是PWM做的.想学习PWM,现在没头绪呢.
 楼主| mtxmxt 发表于 2011-8-18 11:08 | 显示全部楼层
还未学到PWM,到时再进行交流。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

87

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

26

主题

87

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部