3694|16

639

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

【LPC54100】+刺眼的LED和小不舒服的按键 [复制链接]

           首先给大家拜个年吧。祝大家新春快乐,也祝论坛越办越好。
           今天好不容易清闲下来了有空写写这几天对板子得研究咯。
           首先是下载的LPCOPEN开发包吧 包括了一些例程可以帮助我们进行开发至于怎么用大家可以参考强仔00001写的文章
           https://bbs.eeworld.com.cn/thread-456173-1-1.html本人偷个懒,直接拿来主义咯。。。
、       然后就是说一下强仔的另一篇文章            
           https://bbs.eeworld.com.cn/thread-456148-1-1.html里的LED的例程是有问题的,board.c或者头文件的定义和这个板子是不对照的。
           不过别的部分写的还是挺好的。。由于本人以前没怎么接触过LPC系列的单片机所以只能先看各位大神的文章咯

           好了言归正传说说我的劳动成果吧主要程序实现的功能就是用ISP的按钮来依次点亮3个LED灯。先来几张效果图吧。
           晚上加上屋子有点暗效果不咋滴大家将就看吧
           
           顺道说一下板子得LED太刺眼了真心有点扛不住,然后就是吐槽一下按键。个人感觉可能因为太小的缘故吧按着很不舒服。
           然后再来点代码分析咯。
           int main()
{

   int i = 0;

         Chip_GPIO_Init(LPC_GPIO);                    //初始化IO
         Chip_GPIO_SetPinDIROutput(LPC_GPIO, 0, 31);              //设定PIO0的第31个脚为输出
         Chip_GPIO_SetPinState(LPC_GPIO, 0, 31, 1);                 //设定PIO0的第31个脚为输出高电平
         
         Chip_GPIO_SetPinDIROutput(LPC_GPIO, 0, 30);
         Chip_GPIO_SetPinState(LPC_GPIO, 0, 30, 1);
         
         Chip_GPIO_SetPinDIROutput(LPC_GPIO, 0, 29);
         Chip_GPIO_SetPinState(LPC_GPIO, 0, 29, 1);
         
         Chip_GPIO_SetPinDIRInput(LPC_GPIO, 0, 24);              //设定PIO0的第24个脚为输入

        while (1) {
       
                if(Chip_GPIO_ReadPortBit(LPC_GPIO, 0, 24))          //读按键是否按下
             i = i;
                else
                        {
                        if(i == 2)
                                 i = 0 ;
                        else
                           i = i+1;
            while(Chip_GPIO_ReadPortBit(LPC_GPIO, 0, 24)==0);           //按键释放检测
                  }       
                switch(i)                                                                             //依次点亮3个LED
                {
                  case 0 :
                  Chip_GPIO_SetPinState(LPC_GPIO, 0, 31, 0);
                  Chip_GPIO_SetPinState(LPC_GPIO, 0, 30, 1);
                        Chip_GPIO_SetPinState(LPC_GPIO, 0, 29, 1);
                        break;
                       
                        case 1 :
                  Chip_GPIO_SetPinState(LPC_GPIO, 0, 30, 0);
                        Chip_GPIO_SetPinState(LPC_GPIO, 0, 31, 1);
                        Chip_GPIO_SetPinState(LPC_GPIO, 0, 29, 1);
                        break;
                         
                        case 2 :
                  Chip_GPIO_SetPinState(LPC_GPIO, 0, 29, 0);
                        Chip_GPIO_SetPinState(LPC_GPIO, 0, 31, 1);
                          Chip_GPIO_SetPinState(LPC_GPIO, 0, 30, 1);
                        break;
                }

        }
         
}
         代码只做简单分析。
         然后简略介绍一下lib_chip_lpc5410x的工程
         
        主要为芯片的各种驱动其中最重要的为chip.h类比于stm32f10x.h有兴趣的网友可以参照芯片手册的寄存器定义看一下这个文件
        
        然后需要操作那些外设在看相关外设的驱动文件。驱动文件目录如下
           
        这个实验主要用到的函数都在GPIO那个驱动文件中,有兴趣的网友可以自己看一下。时间不早了就写到这吧

QQ图片20150224212724.jpg (43.22 KB, 下载次数: 0)

QQ图片20150224212724.jpg

QQ图片20150224212736.jpg (39.26 KB, 下载次数: 0)

QQ图片20150224212736.jpg

QQ图片20150224212746.jpg (36.09 KB, 下载次数: 0)

QQ图片20150224212746.jpg

chip.jpg (6.85 KB, 下载次数: 0)

chip.jpg

寄存器映射表.jpg (75.24 KB, 下载次数: 0)

寄存器映射表.jpg

外设驱动文件目录.jpg (34.73 KB, 下载次数: 0)

外设驱动文件目录.jpg
此帖出自NXP MCU论坛

最新回复

看来以后不能这样改,否侧到了人家的手里,就有问题了   详情 回复 发表于 2015-2-27 23:32

赞赏

2

查看全部赞赏

点赞 关注
 

回复
举报

4008

帖子

0

TA的资源

版主

沙发
 
觉得刺眼就加个pwm调亮度,反正是玩麽
此帖出自NXP MCU论坛
 
 
 

回复

639

帖子

0

TA的资源

一粒金砂(高级)

板凳
 
huo_hu 发表于 2015-2-24 21:46
觉得刺眼就加个pwm调亮度,反正是玩麽一步一步来咯 。。。




此帖出自NXP MCU论坛
 
 
 

回复

1291

帖子

0

TA的资源

纯净的硅(中级)

4
 
本帖最后由 强仔00001 于 2015-2-24 23:48 编辑

这个是keil 5里自带的LPC54102的例程的,不过我是修改了一些东西的



QQ截图20150224225259.png (172.6 KB, 下载次数: 0)

QQ截图20150224225259.png

QQ截图20150224225335.png (155.5 KB, 下载次数: 0)

QQ截图20150224225335.png
此帖出自NXP MCU论坛
 
 
 

回复

4996

帖子

19

TA的资源

裸片初长成(初级)

5
 
确实够亮。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
此帖出自NXP MCU论坛

点评

那是看的眼都花了  详情 回复 发表于 2015-2-25 17:42
 
个人签名我的博客
 
 

回复

2700

帖子

0

TA的资源

五彩晶圆(初级)

6
 
把led的限流电阻换了
此帖出自NXP MCU论坛
 
个人签名作为一个水军,就是尽量的多回帖,因为懂的技术少,所以回帖水分大,见谅!
EEWORLD开发板置换群:309018200,——电工们免费装β的天堂,商家勿入!加群暗号:喵
 
 

回复

2万

帖子

71

TA的资源

管理员

7
 
有种看烟花的效果
此帖出自NXP MCU论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

回复

639

帖子

0

TA的资源

一粒金砂(高级)

8
 
那是看的眼都花了
此帖出自NXP MCU论坛
 
 
 

回复

639

帖子

0

TA的资源

一粒金砂(高级)

9
 
强仔00001 发表于 2015-2-24 22:55
这个是keil 5里自带的LPC54102的例程的,不过我是修改了一些东西的
这是截图IO定义应该不是123 而是29 30 31




wenti.jpg (33.73 KB, 下载次数: 0)

wenti.jpg
此帖出自NXP MCU论坛

点评

我已经在底层修改了,要不然我怎么能把灯点亮呢,我是为了好对应LED的序号 [attachimg]189302[/attachimg]看来你看程序不够仔细呀  详情 回复 发表于 2015-2-26 00:03
 
 
 

回复

639

帖子

0

TA的资源

一粒金砂(高级)

10
 
elvike 发表于 2015-2-25 09:09
把led的限流电阻换了后期会考虑用PWM  主要晚上看着有点刺眼白天还行




此帖出自NXP MCU论坛
 
 
 

回复

639

帖子

0

TA的资源

一粒金砂(高级)

11
 
soso 发表于 2015-2-25 09:24
有种看烟花的效果额  用这三个灯可以弄出来很多颜色滴。。




此帖出自NXP MCU论坛
 
 
 

回复

1291

帖子

0

TA的资源

纯净的硅(中级)

12
 
本帖最后由 强仔00001 于 2015-2-26 00:05 编辑

我已经自己在底层修改了,要不然我怎么能把灯点亮呢,我是为了好对应LED的序号

看来你看程序不够仔细呀


此帖出自NXP MCU论坛
 
 
 

回复

639

帖子

0

TA的资源

一粒金砂(高级)

13
 
强仔00001 发表于 2015-2-26 00:03
我已经自己在底层修改了,要不然我怎么能把灯点亮呢,我是为了好对应LED的序号

看来你看程序不够仔细呀
额 我是下载你上传的例程啊。。确实没改,搞了一下午我才发现是这问题,可能你上传时不小心上传错了吧
https://bbs.eeworld.com.cn/thread-456148-1-1.html这个帖子下截图如下:




截图.jpg (127.3 KB, 下载次数: 0)

截图.jpg
此帖出自NXP MCU论坛

点评

我知道原因了,那个LED的API函数是是keil 5编译器提供的,所以你打开我的工程是调用了你keil 5自带没有修改的LED的API函数  详情 回复 发表于 2015-2-27 10:57
 
 
 

回复

1291

帖子

0

TA的资源

纯净的硅(中级)

14
 
我知道原因了,那个LED的API函数是是keil 5编译器提供的,所以你打开我的工程是调用了你keil 5自带没有修改的LED的API函数



此帖出自NXP MCU论坛
 
 
 

回复

639

帖子

0

TA的资源

一粒金砂(高级)

15
 
强仔00001 发表于 2015-2-27 10:57
我知道原因了,那个LED的API函数是是keil 5编译器提供的,所以你打开我的工程是调用了你keil 5自带没有修改的LED的API函数这样啊 我也疑惑了好久




此帖出自NXP MCU论坛

点评

看来以后不能这样改,否侧到了人家的手里,就有问题了  详情 回复 发表于 2015-2-27 23:32
 
 
 

回复

1291

帖子

0

TA的资源

纯净的硅(中级)

16
 
看来以后不能这样改,否侧到了人家的手里,就有问题了



此帖出自NXP MCU论坛
 
 
 

回复

639

帖子

0

TA的资源

一粒金砂(高级)

17
 
强仔00001 发表于 2015-2-27 23:32
看来以后不能这样改,否侧到了人家的手里,就有问题了




此帖出自NXP MCU论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表