找回密码
 立即注册
搜索
0赞
赞赏
手机版
扫码打开手机版
把文字装进口袋

JZ2440点亮LED电路图设计案例

love清晨叶 2022-8-5 13:57:43
在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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

使用道具 举报

您需要登录后才可以回帖 立即登录
不错
2022-8-5 16:59:05
太赞了
2022-8-6 17:55:42
嘻嘻不错支持一个
2022-8-7 17:07:00
碉堡了!
2022-8-8 16:18:18
我表示压力很大
2022-8-9 15:05:24
感觉不错
2022-8-10 13:52:30
还是看不懂,复杂
2022-8-13 02:39:53
路过还不错
2022-8-15 15:27:16
前来支持~~~~~~~~~~~~~~~~~~~
2022-8-18 15:10:12
1234下一页
返回顶部