0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

JZ2440点亮LED电路图设计案例

454398 来源:博客园 作者:LOSER Z 2020-10-07 15:21 次阅读

在JZ2440中,点亮LED就是给LED的控制位设置为输出,数据位设置为低电平,而通过按键点亮LED,就需要将按键对应的控制位设置为输出。

下面是JZ2440的3个LED电路图:

下面是JZ2440的3个按键的电路图

通过查找nLED_1,nLED_2,nLED_4对应的引脚,发现它们分别对应GPF4,GPF5,GPF6,如图:

通过查找EINT0,EINT2,EINT11对应的引脚,发现它们分别对应GPF0,GPF2,GPG3,如图:

由此,我们再去看2440的Datasheet,查看它们的控制位和数据位的信息,首先是GPF4,GPF5,GPF6的控制位信息,如图:

我们发现,当GPFCON寄存器的GPF4,GPF5,GPF6的控制位设置为01时,表示控制输出,这正是我们想要的。在看看它们的数据位是怎么设置的,如图:

由表格可知,当端口被配置为输出端口时,它的引脚状态和相应的位相同。也就是说,如果我想让LED1亮,那么我就要把它对应的GPF4配置为输出,然后将GPFDAT的第4位设置为0.

再看看按键对应的寄存器怎么配置,上面说到S2,S3,S4对应的控制寄存器相应的位是GPF0,GPF2和GPG3

由于按键是个输入设备,所以我们需要将GPF0,GPF2,GPG3的位设置为00。到此,LED和按键寄存器我们已经配置好了,下面看一下代码:

首先是一段汇编代码,由这段汇编代码引导到main函数,同时进行相应的硬件配置


下面主程序:

#define GPFCON (*(volatile unsigned long *)0x56000050)
#define GPFDAT (*(volatile unsigned long *)0x56000054)
#define GPGCON (*(volatile unsigned long *)0x56000060)
#define GPGDAT (*(volatile unsigned long *)0x56000064)
/*
* LED1,LED2,LED4对应GPF4、GPF5、GPF6
*/
#define GPF4_out (1<<(4*2))
#define GPF5_out (1<<(5*2))
#define GPF6_out (1<<(6*2))
#define GPF4_msk (3<<(4*2))
#define GPF5_msk (3<<(5*2))
#define GPF6_msk (3<<(6*2))
/*
* S2,S3,S4对应GPF0、GPF2、GPG3
*/
#define GPF0_msk (3<<(0*2))
#define GPF2_msk (3<<(2*2))
#define GPG3_msk (3<<(3*2))
int main()
{
unsigned long dwDat;
// LED1,LED2,LED4对应的3根引脚设为输出,将这些位清零
//先把9,、9、10、11、12、13位清零,然后或操作设为输出01
GPFCON &= ~(GPF4_msk | GPF5_msk | GPF6_msk);
GPFCON |= GPF4_out | GPF5_out | GPF6_out;
// S2,S3对应的2根引脚设为输入
GPFCON &= ~(GPF0_msk | GPF2_msk);
// S4对应的引脚设为输入
GPGCON &= ~GPG3_msk;
while(1){
//若Kn为0(表示按下),则令LEDn为0(表示点亮)
dwDat = GPFDAT; // 读取GPF管脚电平状态
if (dwDat & (1<<0))        // S2没有按下
GPFDAT |= (1<<4);       // LED1熄灭
else
GPFDAT &= ~(1<<4);      // LED1点亮
if (dwDat & (1<<2))         // S3没有按下
GPFDAT |= (1<<5);       // LED2熄灭
else
GPFDAT &= ~(1<<5);      // LED2点亮
dwDat = GPGDAT; // 读取GPG管脚电平状态
if (dwDat & (1<<3))         // S4没有按下
GPFDAT |= (1<<6);       // LED3熄灭
else
GPFDAT &= ~(1<<6);      // LED3点亮
}
return 0;
}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    242

    文章

    23398

    浏览量

    664091
  • 电路图
    +关注

    关注

    10361

    文章

    10726

    浏览量

    533652
  • 控制寄存器
    +关注

    关注

    0

    文章

    34

    浏览量

    11529
  • jz2440
    +关注

    关注

    0

    文章

    2

    浏览量

    4630
收藏 人收藏

    评论

    相关推荐

    proteus呼吸灯原理防真不

    11 请大神指导下,在播放防真时,LED灯不亮是什么情况。电路图应没有问题。实物制作出来没有问题。
    发表于 02-13 09:51

    智慧用电 物联网时代的化改革,智慧照明微光发电 点亮未来

    智慧用电 | 物联网时代的化改革,智慧照明微光发电 点亮未来
    的头像 发表于 02-08 10:42 160次阅读

    感应笔电路图

    感应笔电路图
    发表于 12-23 16:48 14次下载

    电路图

    我想问一下这个电路图连接这么在下面求求大佬解答一下
    发表于 12-04 16:34

    电路小知识 | 电源选型要点、电路图的解读方法、LED及其应用示例

    在上一篇文章中 交流电路复数的基础知识以及相位差和电抗的计算我们给大家分享了复数的基础知识以及相位差和电抗的计算,本篇继续给大家分享交流电路的电源选型要点、电路图的解读方法、LED及其
    发表于 11-25 10:59

    阻容降压电路图

    阻容降压电路是利用电容对交流电的容抗来限制电路的最大电流,而负载的电压则是由负载本身的电阻和电容容抗串联分压决定。 下图是一个十元的充电手电电路图,为阻容降压充电电路给电池充电,充电电
    的头像 发表于 11-19 09:44 493次阅读
    阻容降压<b class='flag-5'>电路图</b>

    谈谈有哪些电路图

    在电子工程领域,电路图是很多电子工程师学习电子设计的第一步内容,它们以图形化的方式展示了电路的结构、元件及它们之间的连接关系,然而很多工程师只知道原理、方框图等,但对很多电路图不太清
    的头像 发表于 10-15 14:08 1105次阅读

    电源接线检测仪LED1、2电路的二极管是反接的,灯为什么会

    请教下,220V接线检测电路中,电路图LED灯1、2、3对应灯从左到右。LED1、2电路的二极管是反接的,灯为什么会
    发表于 08-07 22:49

    【xG24 Matter开发套件试用体验】7-按键点亮LED

    1介绍 之前已经点亮LED灯,并能通过延时实现LED闪烁,这里实现通过按左键控制LED灯,按下按键时对应的LED
    发表于 08-03 14:54

    LED追逐器电路图 使用ESP32板的LED追逐器设计

    LED追逐器是一种利用LED(发光二极管)作为光源,通过电子电路控制LED灯依次或按特定模式点亮和熄灭,从而产生追逐、闪烁或动态变化的视觉效
    的头像 发表于 07-02 16:53 1458次阅读
    <b class='flag-5'>LED</b>追逐器<b class='flag-5'>电路图</b> 使用ESP32板的<b class='flag-5'>LED</b>追逐器设计

    基于51单片机16x16阵显示电路图及程序元件清单

    本资源内容概要:       这是基于51单片机16x16阵显示电路图及程序设计包含了电路图源文件(Altiumdesigner软件打开)、C语言程序源代码(keil软件打开)、元件清单
    发表于 06-21 14:34 4次下载

    有关LM3914N和LM3914N-1应用的疑问

    是连接在相应电位上的LED。而把芯片换成LM3914N,即可正常工作于条状模式。电路不做任何改动,换上LM3914N-1,工作状态就变成状模式,即只有相应位上的
    发表于 04-28 11:36

    电动车电池充电电路图

    电路包括:转灯控制电路、风扇控制电路、过流保护电路。 看懂这个电路图,在掌握三极管、运算放大器的基础上,抓住下面两
    发表于 03-11 14:31 3950次阅读
    电动车电池充电<b class='flag-5'>电路图</b>

    无线移动充电器电路图分析

    无线移动充电器是电子领域的热门话题之一,因此我们还决定使用各种常用组件构建无线移动充电器电路图。此处发布的项目无线移动充电器电路图可以在 5.2V时提供 271mA,因此您可以为手机充电,也可用于驱动 LED 等低功耗负载1和
    的头像 发表于 02-25 16:49 3353次阅读
    无线移动充电器<b class='flag-5'>电路图</b>分析

    LED驱动电路图分享

    LED驱动电路是一种用于驱动LED发光的电子电路LED(发光二极管)是一种特殊的半导体器件,具有长寿命、高光效、安全环保、方
    的头像 发表于 02-18 16:55 4557次阅读
    <b class='flag-5'>LED</b>驱动<b class='flag-5'>电路图</b>分享