打印
[NUC120]

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

[复制链接]
3368|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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 | 只看该作者
nuc120开发板学习之LED灯渐亮渐暗.rar (942.1 KB)

使用特权

评论回复
板凳
hotpower| | 2011-8-15 09:59 | 只看该作者
再笨也是自己笨出来的。

开始不笨就是外星人了,加油!

使用特权

评论回复
地板
Swallow_0322| | 2011-8-15 10:55 | 只看该作者
顶!↖(^ω^)↗!

使用特权

评论回复
5
mtxmxt|  楼主 | 2011-8-15 14:15 | 只看该作者
谢谢鼓励!

使用特权

评论回复
6
uniquehope| | 2011-8-15 19:46 | 只看该作者

使用特权

评论回复
7
电子write_cai| | 2011-8-15 22:13 | 只看该作者

使用特权

评论回复
8
batloveshan| | 2011-8-15 23:33 | 只看该作者
顶,看大伙玩得不易热乎啊:lol

使用特权

评论回复
9
athud| | 2011-8-18 10:46 | 只看该作者
我以为是PWM做的.想学习PWM,现在没头绪呢.

使用特权

评论回复
10
mtxmxt|  楼主 | 2011-8-18 11:08 | 只看该作者
还未学到PWM,到时再进行交流。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

87

帖子

0

粉丝