数码相框项目模块【一】 跑马灯
来源:互联网 发布:网络专线是什么意思 编辑:程序博客网 时间:2024/06/02 17:39
LED 灯控制的C代码如下:
- /* Copyright (C), 2010.
- File name : led.c
- Author :
- version : V1.0
- Date : 2010-6-23
- Description : led module function implement
- History :
- */
- #include "2440addr.h"
- #include "led.h"
- /*
- Function name : led_init
- Description : the initialization of led
- Input parameter : none
- Return : none
- Others : none
- */
- void led_init(void)
- {
- volatile unsigned int val;
- val = rGPFCON;
- val &= ~((3<<14)|(3<<12)|(3<<10)|(3<<8));
- val |= ((1<<14)|(1<<12)|(1<<10)|(1<<8));//01010101
- rGPFCON = val;
- val = rGPFUP;
- val |= (1<<7)|(1<<6)|(1<<5)|(1<<4);
- rGPFUP = val;
- val = rGPFDAT;
- val |= (1<<7)|(1<<6)|(1<<5)|(1<<4);
- rGPFDAT = val;
- }
- /*
- Function name : led_concrol
- Description : control the led
- Input parameter : the int value -- lednumber and ledstatus
- Return : none
- Others : none
- */
- void led_concrol( int lednumber, int ledstatus)
- {
- switch(lednumber)
- {
- case LED4:
- {
- if(ON==ledstatus)
- {
- rGPFDAT &= ~(1<<4); //0001 0000 1110 1111
- }
- else
- {
- rGPFDAT |= (1<<4);
- }
- break;
- }
- case LED3:
- {
- if(ON==ledstatus)
- {
- rGPFDAT &= ~(1<<5); //0010 0000
- }
- else
- {
- rGPFDAT |= (1<<5);
- }
- break;
- }
- case LED2:
- {
- if(ON==ledstatus)
- {
- rGPFDAT &= ~(1<<6);
- }
- else
- {
- rGPFDAT |= (1<<6);
- }
- break;
- }
- case LED1:
- {
- if(ON==ledstatus)
- {
- rGPFDAT &= ~(1<<7);
- }
- else
- {
- rGPFDAT |= (1<<7);
- }
- break;
- }
- case LEDALL:
- {
- if(ON==ledstatus)
- {
- rGPFDAT &= ~(15<<4);// 11110000
- }
- else
- {
- rGPFDAT |= (15<<4);
- }
- break;
- }
- }
- }
- /*
- Function name : Delay
- Description : Delay the time
- Input parameter : the int value -- time
- Return : none
- Others : none
- */
- void Delay(int time)
- {
- int i,j;
- for(i=0;i<time;i++)
- {
- for(j=0;j<time;j++)
- ;
- }
- }
相关头文件 led.h 的代码如下:
- #ifndef _LED_H
- #define _LED_H
- #define LEDALL 0
- #define LED1 1
- #define LED2 2
- #define LED3 4
- #define LED4 3
- #define ON 1
- #define OFF 0
- extern void led_init(void);
- extern void led_concrol( int lednumber,int ledstatus);
- extern void Delay(int time);
- #endif
执行代码后生成的 .bin 文件 ,通过串口工具 DWN 将 .bin 文件烧写到开发板上,就会产生跑马灯的效果!!
- 数码相框项目模块【一】 跑马灯
- 数码相框项目模块【二】 UART
- 数码相框项目模块【三】 KEY
- 数码相框项目模块【四】 TIMER
- 数码相框项目之LCD模块
- 数码相框项目之触摸屏模块
- 数码相框项目
- linux应用项目(一)数码相框(1)数码相框之系统框架
- linux应用项目(一)数码相框(3)数码相框之电子书
- linux应用项目(一)数码相框(2)数码相框之freetype实现矢量字体的显示
- linux应用项目(一)数码相框(2)数码相框之字符编码与字符的点阵显示
- arm项目--LED跑马灯
- 文件浏览器_数码相框项目总结 (上)
- 【实验一】跑马灯实验
- 【unity系统模块开发】跑马灯
- 数码相框
- 数码相框笔记
- android项目实现跑马灯效果
- 奋斗中。。。
- C#
- 正则表达式检查素数
- 机会
- 开发Web2.0的9条注意事项
- 数码相框项目模块【一】 跑马灯
- [转] 丢了自己,要记得找回了~~我们80后的那些忧伤
- win7下安装Ubuntu10.04后更改启动项的次序
- 随感一
- 初学ARM感受
- 工作笔记
- 如何做jar包
- jsp的综合练习,一个简单的登陆系统
- jsp运行机制