标题:EasyARM2131实验板、ADS1.2环境,LED变换的程序,求教!
只看楼主
Yolanda_落
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-6-30
 问题点数:0 回复次数:2 
EasyARM2131实验板、ADS1.2环境,LED变换的程序,求教!
只要LED的变换,变换要求为:
按下KEY1键,LED1、LED3、LED5、LED7等奇数灯依次点亮,间隔时间为0.5s,保持亮的状态,不熄灭;
按下KEY2键,LED2、LED4、LED6、LED8等偶数灯依次点亮,间隔时间为0.5s,保持亮的状态,不熄灭;
按下KEY3键,LED1、LED3、LED5、LED7等奇数灯依次熄灭,间隔时间为0.5s;
按下KEY4键,LED2、LED4、LED6、LED8等偶数灯依次熄灭,间隔时间为0.5s。


用C语言编程,求程序,急!急!急!
搜索更多相关主题的帖子: 间隔 C语言 
2012-06-30 20:38
Yolanda_落
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-6-30
得分:0 
根据书中类题编的程序,找不出是什么问题了。。。初学者求指导
#include "config.h"

const uint32 LEDS8=(0xFF<<18);    //P1[25:18]控制LED8~LED1,低电平点亮
const uint32 KEY1 = 1 << 15;    //P0.15连接KEY1
const uint32 KEY2 = 1 << 16;    //P0.16连接KEY2
const uint32 KEY3 = 1 << 17;    //P0.17连接KEY3
const uint32 KEY4 = 1 << 18;    //P0.18连接KEY4
const uint32 LED_1[] = {0x80,0xa0,0xa8,0xaa};    //奇数灯从左至右依次点亮  
const uint32 LED_2[] = {0xc0,0xfo,0xfc,0xff};    //偶数灯从左至右依次点亮  
const uint32 LED_3[] = {0x7f,0x5f,0x57,0x55};    //奇数灯从左至右依次熄灭  
const uint32 LED_4[] = {0x15,0x05,0x01,0x00};    //偶数灯从左至右依次熄灭  

/***********************************************************************
**函数名称:DelayNS()

**函数功能:长软件延时

**入口参数:dly延时参数,值越大,延时越久

**出口参数:无
***********************************************************************/
void DelayNS (uint32 dly)
{
    uint32 i;

    for(;dly>0;dly--)

    for(i=0;i<50000;i++);
}


/***********************************************************************
**函数名称:main()

**函数功能:流水灯显示实验

**调用说明:连接跳线JP12至LED8~LED1
***********************************************************************/
/*流水灯花样,低电平点亮,注意调用时用了取反操作*/
int main(void)
{
    uint8 i;
    PINSEL0 = 0x00000000;    //设置管脚连接GPIO

    PINSEL1 = 0x00000000;    //设置管脚连接GPIO

    IO1DIR  = LEDS8;    //设置LED控制口为输出
        

    while(1)
    {
        if((IO1PIN & KEY1) == 0)    //花样1显示
        {
           for(i=0,i<8;i=i+2)        //奇数亮
           {
            IO1SET = ~((LED_1[i]) << 18);   
            DelayNS(100);
           }
        }

        if((IO1PIN & KEY2) == 0)    //花样2显示
        {                        
           for(i=0,i<8;i=i+2)        //偶数亮
           {
            IO1SET = ~((LED_2[i]) << 18);
            DelayNS(100);
           }
        }

        if((IO1PIN & KEY3) == 0)    //花样3显示
        {
           for(i=0,i<8;i=i+2)
           {
            IO1CLR = ((LED_3[i]) << 18);
            DelayNS(100);   
           }
        }

        if((IO1PIN & KEY4) == 0)    //花样4显示
        {
           for(i=0,i<8;i=i+2)
           {
            IO1CLR = ((LED_4[i]) << 18);
            DelayNS(100);
           }
        }
    }
    return 0;
}
2012-06-30 20:48
lyh320218
Rank: 2
等 级:论坛游民
帖 子:10
专家分:10
注 册:2012-1-31
得分:0 
我想问一下程序在运行的时候出现什么样的问题呢?
2012-09-12 10:41



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-372561-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018322 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved