arm7 力天电子lpc2148 GPIO之二单路LED控制实验

发布者:心想的45号最新更新时间:2019-05-14 来源: eefocus关键字:arm7  lpc2148  GPIO  单路LED 手机看文章 扫描二维码
随时随地手机看文章

说明:力天电子的此款开发板,跟周立功的LPC2131不同,周立功的开发板上可以用跳线棒来选择是否用595驱动,周立功课本上进行GPIO输出实验——单路LED控制实验时,直接把LED接到了arm2131处理器上,如下图所示:

而力天电子的流水灯跟驱动是直接连在一起的必须使用595驱动,如下图所示:


#include


#define         SCLK  0x01<<24

#define         MISO  0x01<<5

#define         MOSI  0x01<<6

#define         RCK   0x01<<7


void Delayn(unsigned long n);

void HC595_Init(void);

void Write595(void);


unsigned int HC595_DATA = 0;

//初始化595接口

void HC595_Init(void)

{

  IO0DIR |= MOSI|RCK;

  IO1DIR |= SCLK;

  IO1CLR |= SCLK;

  IO0DIR |= RCK;

  

  HC595_DATA = 0xFFFFFFFF;

  Write595();

}

  //写字节

void WriteByte(unsigned char data)

{

  unsigned char i;

  //IO0CLR = RCK;

  for(i=0;i<8;i++)

  {

    if(data&0x01)      IO0SET=MOSI;

    else      IO0CLR=MOSI;

    IO1SET=SCLK;

    data>>=1;

    IO1CLR=SCLK;

  }

  //IO0SET = RCK;

}

//刷新595的数据

void Write595(void)

{

  IO0CLR = RCK;

  WriteByte(HC595_DATA&0xff);

  WriteByte((HC595_DATA&0xff00)>>8);

  WriteByte((HC595_DATA&0xff0000)>>16);

  WriteByte((HC595_DATA&0xff000000)>>24);

  IO0SET = RCK;

}

main()

{

//初始化74HC595

  HC595_Init();

//主循环

while(1)

  {

    HC595_DATA &=~(1<<18);Write595();

    Delayn(250000);

    

    HC595_DATA |=(1<<18);Write595();

    Delayn(250000);

  } 

}

//延时函数

void Delayn(unsigned long n)

{

  while(n--);

}


关键字:arm7  lpc2148  GPIO  单路LED 引用地址:arm7 力天电子lpc2148 GPIO之二单路LED控制实验

上一篇:arm7 力天电子 lpc2148 GPIO之花样流水灯
下一篇:arm7 力天电子lpc2148 GPIO之一蜂鸣器试验程序

推荐阅读最新更新时间:2024-11-20 05:18

STM32F4学习笔记之GPIO(使用固件库)
1.使能GPIO的AHB时钟,使用函数: RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOx, ENABLE); 2.配置GPIO工作模式用GPIO_Init()函数 数据类型说明 typedef struct { uint32_t GPIO_Pin; //引脚配置 GPIOMode_TypeDef GPIO_Mode; //GPIO_Mode_IN(输入),GPIO_Mode_OUT(输出),GPIO_Mode_AF(备用),GPIO_Mode_AN(模拟) GPIOSpeed_TypeDef GPIO_Speed;// GPIO_Speed_2MHz,GPIO_Speed
[单片机]
stm32 怎样释放pa15,pb3,pb4作为gpio口使用
当STM32引脚不够用时,可以分配JTAG/SWD的引脚作为GPIO口使用。 查看数据手册的引脚定义可以看到,PA15引脚复位后的主要功能为JTDI,PB3为JTDO,PB4为JNTRST,如果把这些引脚作为普通引脚使用时,需要进行重映射。 通过设置复用重映射和调试I/O配置寄存器(AFIO_MAPR)的SWJ_CFG 位,配置为 启用SW-DP,关闭JTAG-DP 来释放PA15(JTDI), PB3(JTDO), PB4(NJTRST)引脚。详见中文参考手册V10.2版本p118 表35 调试端口映像。 库文件中几个相关的宏定义分别为: #define GPIO_Remap_SWJ_NoJTR
[单片机]
stm32 怎样释放pa15,pb3,pb4作为<font color='red'>gpio</font>口使用
GPIO模拟IIC过程中对IIC的理解
前两天在配置一款数字陀螺仪的IIC时序,分别实现了使用芯片自带IIC模块配置和使用GPIO模拟,下面谈谈个人对IIC的一些理解。 概述 IIC是一个总线协议,和spi类似的一个串行总线协议,它的特点是只用的信号线特别少,只需要两根,分别是SCL和SDA,但是与此同时也降低了通信速度。 IIC总线信号线少就造成它的通信协议稍微复杂,理解IIC的时序是理解IIC总线的关键。 .IIC总线通过上拉电阻接到VDD,当总线空闲时,两根信号线均为高电平。连接总线的任意一个器件输出低电平,将使总线信号变低,即各器件的信号线是“线与”关系。 每个IIC上连接的器件都有唯一的地址(7bit),当某个器件发出广播(地址信号)时,该器件即为主机,其
[单片机]
Cortex-M3 (NXP LPC1788)之GPIO
经过前一篇的分析,现在可以进入C环境进行各个模块的学习。首先进行简单的GPIO控制LED灯的操作,开发板通过GPIO1.18控制LED灯,电路如下图: 为了对LPC1788的内部结构有更好的理解和学习,虽然NXP给出了封装好的库函数,但是我将自己编写代码便于直接对内部原理进行分析。代码如下 #define rFIO1DIR (*(volatile unsigned*)0x20098020) //高速GPIO 方向控制寄存器,用于配置管脚的输入或输出,默认为输入 #define rFIO1MASK (*(volatile unsigned*)0x20098030) //高速GPIO 屏蔽寄存器
[单片机]
Cortex-M3 (NXP LPC1788)之<font color='red'>GPIO</font>
STM32F103的GPIO 模式区分
四种输入模式: 上拉输入模式(GPIO_Mode_IPU):默认模式下(GPIO没有输入)读取的GPIO引脚数据为1,高电平。 下拉输入模式(GPIO_Mode_IPD):默认模式下(GPIO没有输入)读取的GPIO引脚数据为0,低电平。 浮空输入模式(GPIO_Mode_IN_FLOATING):既没有上拉也没有下拉,引脚电压为不确定值。(主要用于来做 I2C,USART的接收端) 模拟输入模式(GPIO_Mode_AIN):关闭了斯密特触发器,不接上拉下拉电阻,经由另一个线路把电压信号传送到片上外设模块。(主要用于ADC外设的时候) 四种输出模式: 推挽输出模式(GPIO_Mode_Out_PP):输出 0
[单片机]
linux gpio模拟i2c
/* 这是我模仿其他人写的程序, 仅仅是把他改写成适合自己开发板的程序 */ #include linux/miscdevice.h #include mach/regs-gpio.h #include mach/hardware.h #include linux/fs.h #define DEVICE_NAME FINALL #define RETRY_TIMES 1 #define GPIO_SCL S3C2410_GPF3 #define GPIO_SDA S3C2410_GPF0 #define GPIO_SDA_OUTP S3C2410_GPF0_OUTP #define GPIO_S
[单片机]
STM32菜鸟成长记录---GPIO的使用
#include stm32f10x_lib.h #include stm32f10x.h GPIO_InitTypeDef GPIO_InitStructure; //定义GPIO宏操作结构体 void Delay(__IO uint32_t nCount)//__IO的宏定义volatile { for(; nCount != 0; nCount--); } /*初始化嵌入式Flash接口,初始化PLL使其达到系统可用频率*/ void RCC_Configuration(void) { /* Setup the microcontroller system. Initialize the Embedd
[单片机]
基于ARM7核处理器VxWorks系统BSP设计
1 介绍 S3C4510B是三星公司推出的针对嵌入式应用的16/32 位嵌入式处理器,该微控制器专为以太网通信系统的集线器和路由器而设计,具有低成本和高性能的特点, S3C4510B中内置了ARM公司设计的16/32位ARM7TDMI处理器, 可以执行32位的arm指令,也可执行16位的THUMB指令, 并集成了多种外围部件,主要有: ● 时钟频率50MHz ● 内核/IO电压3.3V ● 8KB的Cache/SRAM ● 一个10/100Mbps 以太网控制器,MII接口 ● 两个HDLC通道,每个通道可支持10Mbps ● 两个UART通道 ● 两个DMA通道 ● 两个32位定时/计数器 ● 18个可编程I
[单片机]
基于<font color='red'>ARM7</font>核处理器VxWorks系统BSP设计
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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