JZ2440点亮LED电路图设计案例

发布者:创意探险最新更新时间:2023-01-09 来源: elecfans关键字:JZ2440  点亮LED  电路图 手机看文章 扫描二维码
随时随地手机看文章

在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;

}


关键字:JZ2440  点亮LED  电路图 引用地址:JZ2440点亮LED电路图设计案例

上一篇:基于ARM9芯片的S3C2440和Linux操作系统设计SPI驱动程序
下一篇:友善之臂Micro2440简介

推荐阅读最新更新时间:2024-11-08 10:41

ADC0832模数转换MSP430单片机程序+电路图
下面是电路图: ADC0832封装图 ADC0832与单片机连接图 ADC0832时序图 程序源码下载: http://www.51hei.com/f/0832430.rar #include msp430f2121.h #define DO (P1IN&BIT7) #define uchar unsigned char #define uint unsigned int /*********************************************** sbit cs=P2^0; sbit clk=P2^1; sbit DI=P2^2; sbit D
[单片机]
ADC0832模数转换MSP430单片机程序+<font color='red'>电路图</font>
基于TOP224P的开关直流稳压电源电路图
  本文介绍的是一种基于TOP224P的开关直流稳压电源电路图。如下图所示,电路中使用两片集成电路:TOP224P型三端单片开关电源(IC1),PC817A型线性 光耦 合器 (IC2)。交流电源经过UR和Cl整流滤波后产生直流高压Ui,给高频变压器T的一次绕组供电。   VDz1和VD1能将漏感产生的尖峰电压钳位到安全值, 并能衰减振铃电压。VDz1采用反向击穿电压为200V的P6KE200型瞬态电压抑制器,VDl选用1A/600V的UF4005型超快恢复二极管。二次绕组电压通过V砬、C2、Ll和C3整流滤波,获得12V输出电压Uo.Uo值是由VDz2稳定电压Uz2、 光耦 中LED的正向压降UF、R1上的压降 这三者之和来
[电源管理]
基于TOP224P的开关直流稳压电源<font color='red'>电路图</font>
高速并联式稳压电源电路图
如图所示是一台并联调整式稳压电源具有高速、低噪、低内阻的特点。为HiFi电路供电,效果非常好。在噪声、音乐的细致度和延伸感等方面,均是串联稳压电源所无法比拟的。 LM317与22Ω电阻构成一个恒流值为560mA的恒流电路,提供整个回路的总电流。结型场效应管2SK30为发光二极管提供一个恒定电流,在发光管两端得到一个噪声很低的稳定的基准电压。运放LM74l组成电压比较器,对取样网络获得的电压与基准电压进行比较,控制分流管3DDl5的电流,从而使输出电压恒定在某一设定值。 电路选用的都是常见通用元器件,但有几个地方要注意: (1)2SK30的恒定电流约3~6mA,要求上下配对,参数值尽可能一致。 (2)发光
[电源管理]
三种C51单片机上电复位延时电路图
  下面几种延时复位电路,都是利用在单片机RST引脚上外接一个RC支路的充电时间而形成的。典型复位电路如图(a)所示,其中的阻容值是原始手册中提供的。图(b)是简化后的复位电路,图(c)在图(a)的基础上加上一个二极管D,有助于电容C的快速放电,为下一次上电复位延时做准备。在经历了一系列延时之后,单片机才开始按照时钟源的工作频率,进入到正常的程序运行状态。   
[电源管理]
三种C51单片机上电复位延时<font color='red'>电路图</font>
几款不错的场效应管功放电路图
  几款不错的场效应管功放电路图      场效应管多管并联输出,500W。      场管跟普功率最大不同就是场管是用电压驱动,在驱动级上有些不一样,没弄过场管功放,音质怎要看你设计和工艺!      IRFB33N15D是一颗非常好的MOS管,其导通内阻低达56mΩ,最大电流为33A,耐压却有150V,常用于DC/DC的变换器中,当然,在数字功放中,也经常应用。   其也有不足的地方,其输入电容为2020pF,和常见的MOS管一样,在驱动它时,就要采用特殊电路来驱动,如同你的电路中的R29和D3并联电路,也是业界惯用手法,其作用是:   当没有R29时,Q7的栅极直接接前面的IC引脚,其内部都是图腾柱电路,由于是容性负载
[嵌入式]
4.3、使用寄存器版本点亮LED灯(内附代码)
第一种:指针形式 led.c文件: #include led.h #include stm32f4xx.h void LED_Init(void) { //1左移五位既是将第五位置为1,查寄存器可知1是使能0失能 RCC- AHB1ENR|= 1 5;//使能RCC的AHB1时钟 //PF9 的GPIO配置 //将(1 1)左移18位再取反清零:2代表两位控制一IO,因为IO是F9,所以最后是~(3 2*9),达到清零效果 GPIOF- MODER &= ~(3 2*9);//配置为0用&,配置为1用 | GPIOF- MODER |= 1 (2*9);//1既是0 1,代表输出模式
[单片机]
4.3、使用寄存器版本<font color='red'>点亮</font><font color='red'>LED</font>灯(内附代码)
LCD与控制器接口电路图设计
  在接口电路设计中,由于LM320160CCW液晶显示模块为5 V供电,而单片机为3.3 V供电,所以不能简单的彼此连接在一起,需要做电平处理。本次设计中选用741S245作为总线驱动器,并在单片机引脚加入5 V上拉电阻,这样即可保证信号的驱动能力,接口电路原理图如图3所示,其中P3和P7为单片机的I/O端口,RV1为可调电阻,用于调节液晶模块背光对比度。      图3 LCD接口电路原理图
[单片机]
LCD与控制器接口<font color='red'>电路图</font>设计
atx电源接口电路图
ATX 电源引脚为 20 脚,其中第一脚为方型,其余为圆型,外形为: 引脚定义为:   Pin Name Description 1 3.3V 提供 +3.3V 电源 2 3.3V 提供 +3.3V 电源 3 GND 地线 4 5V 提供 +5V 电源 5 GND 地线 6 5V 提供 +5V 电源 7 GND 地线 8 PW-OK Power OK,指示电源正常工作 9 5VSB 提供 +5V Stand by电源,供电源启动电路用 10 12V 提供 +12V
[电源管理]
atx电源接口<font color='red'>电路图</font>
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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