芯路恒电子技术论坛

 找回密码
 立即注册
热搜: 合集
查看: 7927|回复: 4

通过SOPC让两个按键控制四个led闪烁实验

[复制链接]
  • TA的每日心情
    无聊
    2018-5-15 13:13
  • 1

    主题

    1

    帖子

    37

    积分

    新手上路

    Rank: 2

    积分
    37
    发表于 2018-4-23 14:35:14 | 显示全部楼层 |阅读模式








    把代码下载进去之后,led不受按键控制,移动矩阵按键的位置(不按按键),led就会亮一会或者灭一会,是矩阵按键有问题吗,或者接触不良。



    #include "system.h"

    #include "altera_avalon_pio_regs.h"

    #include "alt_types.h"

    int main(void)

    {

    alt_u8 led = 0;

    volatile alt_u32 i=0;

    alt_u8 data=0x3;

    alt_u8 led_en=0;

    IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_LED_BASE, 0x0f);//低四位输出,高两位输入

    IOWR_ALTERA_AVALON_PIO_IRQ_MASK(PIO_LED_BASE, 0);//关闭所有中断

    IOWR_ALTERA_AVALON_PIO_EDGE_CAP(PIO_LED_BASE, 0x30);//清除所有的捕获位


    while(1)

    {


    data=IORD_ALTERA_AVALON_PIO_EDGE_CAP(PIO_LED_BASE);

    data=data>>4;

    if(data && 0x1)

    {

    led_en=1;

    IOWR_ALTERA_AVALON_PIO_EDGE_CAP(PIO_LED_BASE, 0x30);//清除所有的捕获位

    }


    if(led_en)

    {

    led = 0;

    IOWR_ALTERA_AVALON_PIO_DATA(PIO_LED_BASE, led);//点亮LED灯

    i = 0;

    while(i<500000) //延时功能,非精确延时,数值太小将无法看到灯的闪烁效果

    {

    data=IORD_ALTERA_AVALON_PIO_EDGE_CAP(PIO_LED_BASE);

    data=data>>4;

    if(data && 0x2)

    {

    led_en=0;

    IOWR_ALTERA_AVALON_PIO_EDGE_CAP(PIO_LED_BASE, 0x30);//清除所有的捕获位

    }

    i++;

    }


    led = 0xf;

    IOWR_ALTERA_AVALON_PIO_DATA(PIO_LED_BASE, led);//熄灭LED灯

    i = 0;

    while(i<500000) //延时功能,非精确延时,数值太小将无法看到灯的闪烁效果

    {

    data=IORD_ALTERA_AVALON_PIO_EDGE_CAP(PIO_LED_BASE);

    data=data>>4;

    if(data && 0x2)

    {

    led_en=0;

    IOWR_ALTERA_AVALON_PIO_EDGE_CAP(PIO_LED_BASE, 0x30);//清除所有的捕获位

    }

    i++;

    }


    }

    }


    return 0;

    }














    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-6-29 15:57
  • 13

    主题

    246

    帖子

    3625

    积分

    超级版主

    Rank: 8Rank: 8

    积分
    3625
    发表于 2018-4-23 14:57:10 | 显示全部楼层
    楼主代码格式啊。。这样看起来很受伤。。。不好编辑可以截图。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2021-2-24 10:16
  • 428

    主题

    811

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    16107
    QQ
    发表于 2018-4-23 16:05:47 | 显示全部楼层
    矩阵键盘需要消抖处理
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2022-6-29 15:57
  • 13

    主题

    246

    帖子

    3625

    积分

    超级版主

    Rank: 8Rank: 8

    积分
    3625
    发表于 2018-4-23 16:12:02 | 显示全部楼层
    admin 发表于 2018-4-23 16:05
    矩阵键盘需要消抖处理

    但是他貌似并没用矩阵键盘控制
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    可爱
    2019-1-19 21:41
  • 4

    主题

    20

    帖子

    50

    积分

    初级会员

    Rank: 3Rank: 3

    积分
    50
    发表于 2018-12-21 21:19:56 | 显示全部楼层

    先保存,谢谢分享,很好的一份资料,
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|Archiver|芯路恒电子技术论坛 |鄂ICP备2021003648号

    GMT+8, 2024-11-22 00:14 , Processed in 0.114809 second(s), 34 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

    快速回复 返回顶部 返回列表