arm电子相册项目——按键模块篇led.c

原创 2016年08月31日 16:51:16

《arm电子相册项目——按键模块篇led.c》

 

工具:keil4 , arm开发板(Mini2451)(s3c2451) , 串口线

功能:显示照片(自动切换 / 手动切换 / 暂停切换 / 可设置)

            显示时钟(精确显示 / 可设置)

进度:第4篇——led.c(按键)

描述:按键模块主要就用到了寄存器GPFCON相关的,比较少,就直接加到led.c / led.h中

            单独试验某一模块的功能时可以将(启动加载篇startup.s)+(主函数篇main.c中初始化要用到的相关模块)+(相关模块)就可以实现。

//.s文件使用startup.s

/*****************************************************
Author:Ivan    Version:0.1    Date: 
File name:led.h
Description:led模块+按键模块相关寄存器地址
*****************************************************/
#ifndef LED_H_
#define LED_H_
#define GPACON (*(volatile unsigned long *)0x56000000)
#define GPADAT (*(volatile unsigned long *)0x56000004)
#define GPBCON (*(volatile unsigned long *)0x56000010)
#define GPBDAT (*(volatile unsigned long *)0x56000014)
#define GPBSEL (*(volatile unsigned long *)0x5600001C)
//以上led相关寄存器地址
#define GPFCON (*(volatile unsigned long *)0x56000050)
#define GPFDAT (*(volatile unsigned long *)0x56000054)
//以上按键相关寄存器地址
extern void led_init(void);
#endif

/*****************************************************
Author:Ivan    Version:0.1    Date: 
File name:led.c
Description:led模块+按键模块初始化
*****************************************************/
#include "led.c"

void led_init(void)
{
	GPACON &= ~(0x3<<25);    //将GPA25,GPA26设置为output模式
	GPBCON = (0x5<<10);    //将GPB5,GPB6设置为output模式
	GPBSEL = 0x0;    //将GPBSEL设置为0(有GPB6相关位)
    GPFCON = 0x0;    //将GPFCON 0-3设置为input模式
}

/*****************************************************
Author:Ivan    Version:0.1    Date: 
File name:main.h
Description:包含所有用到的.h文件
*****************************************************/
#ifndef MAIN_H_
#define MAIN_H_
#include "led.h"
#endif

/*****************************************************
Author:Ivan    Version:0.1    Date: 
File name:main.c
Description:主函数(用按键点亮一盏led)
*****************************************************/
#include "main.h" 

void Main()
{
    led_init();
			
	while(1)
	{
		if(GPFDAT & 0x01)    //如果按键1被按下
		{
			GPBDAT |= (0x1 << 5);
		}
		else
		{
			GPBDAT &= ~(0x1 << 5);
		}
		if(GPFDAT& 0x02)    //如果按键2被按下
		{
			GPBDAT |= (0x1 << 6);
		}
		else
		{
			GPBDAT &= ~(0x1 << 6);
		}
		if(GPFDAT& 0x04)    //如果按键3被按下
		{
			GPADAT |= (0x1 << 25);
		}
		else
		{
			GPADAT &= ~(0x1 << 25);
		}
		if(GPFDAT& 0x08)    //如果按键4被按下
		{
			GPADAT |= (0x1 << 26);
		}
		else
		{
			GPADAT &= ~(0x1 << 26);
		}
	}
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

arm电子相册项目——项目要求篇(描述功能)

《arm电子相册项目——项目要求篇(描述功能)》   工具:keil4 , arm开发板(Mini2451)(s3c2451) , 串口线 功能:显示照片(自动切换 / 手动切换 / 暂停切换 / 可...

arm电子相册项目——主函数篇main.c

《arm电子相册项目——主函数篇main.c》   工具:keil4 , arm开发板(Mini2451)(s3c2451) , 串口线 功能:显示照片(自动切换 / 手动切换 / 暂停切换 /...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

arm电子相册项目——led模块篇led.c

《arm电子相册项目——led模块篇led.c》   工具:keil4 , arm开发板(Mini2451)(s3c2451) , 串口线 功能:显示照片(自动切换 / 手动切换 / 暂停切换 / 可...

arm电子相册项目——串口模块篇uart.c

《arm电子相册项目——串口模块篇uart.c》   工具:keil4 , arm开发板(Mini2451)(s3c2451) , 串口线 功能:显示照片(自动切换 / 手动切换 / 暂停切换 ...

arm电子相册项目——启动加载篇startup.s

《arm电子相册项目——启动加载篇startup.s》   工具:keil4 , arm开发板(Mini2451)(s3c2451) , 串口线 功能:显示照片(自动切换 / 手动切换 / 暂停切换)...

ARM裸机开发之基于S3C2451的电子相册开发

该项目的制作是用的友善之臂的Mini2451开发板。 简单先介绍一下该电子相册的主要功能即操作: 开发板上一共有4个按键,K1是进入选择界面,选择界面中K2为手动切换,K3为自动切换,在自动切换模...

基于mini2440按键控制电子相册(裸机代码)

#define GLOBAL_CLK 1 #include "def.h" #include "option.h" #include "2440addr.h" #include "profile.h...

基于S3C2451裸机开发的电子相册

学习S3C2451也有一段时间了,对于ARM9裸机开发也有了一点了解,这次做了一个基于ARM9裸机开发的电子相册,其中也遇到了一些问题,最终都通过各种方法解决了,现也将之记录,给后人一个借鉴。   这...

电子相册项目

《电子相册项目报告整理》 自己写的arm电子相册,但是源文件比较乱。   1.开发工具:keil,eaglecom,Minitools,   2.具有功能: 电子相册(自动切换(默认3s)/ 暂停...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:arm电子相册项目——按键模块篇led.c
举报原因:
原因补充:

(最多只允许输入30个字)