- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式之开关控制流水灯
没按开关之前
按第一个开关LED1亮
按第二个开关LED2亮
按第三个开关LED3亮
按第四个按键开关LED4亮
Key.c程序代码如下:
#include key.h
#include 2440addr.h
void Key_Init(void)
{
rGPFCON = ~((3 0) | (3 2) | (3 4) | (3 8)) ;
rGPFCON |= KEY1 | KEY2 | KEY3 | KEY4 ;
rGPFDAT |= (1 0) | (1 1) | (1 2) | (1 4) ;
}
int Key_Scan(void)
{
int keynum = 0 ;
//rGPFDAT = 0XFFF ;
if((rGPFDAT (1 1)) == 0 )
{
keynum = 1 ;
}
if((rGPFDAT (1 4)) == 0 )
{
keynum = 2 ;
}
if((rGPFDAT (1 2)) == 0 )
{
keynum = 3 ;
}
if((rGPFDAT (1 0)) == 0 )
{
keynum = 4 ;
}
return keynum ;
}
Key.h程序代码如下:
#ifndef __KEY_H__
#define __KEY_H__
#define KEY1 (0 2)
#define KEY2 (0 8)
#define KEY3 (0 4)
#define KEY4 (0 0)
extern void Key_Init() ;
extern int Key_Scan() ;
#endif
Ledflow.c程序代码如下:
#include ledflow.h
#include 2440addr.h
void Led_Init(void)
{
rGPBCON = ~((3 10) | (3 12) | (3 14) |(3 16));
rGPBCON |= ((110) | (112) | (114) | (116)) ;
rGPBUP = ~((1 5) | (1 6) | (1 7) || (1 8) ) ;
rGPBDAT |= (1 5) | (1 6) | (1 7) | (1 8) ;
}
Ledflow.h程序代码如下:
#ifndef __LEDFLOW_H__
#define __LEDFLOW_H__
#include 2440addr.h
#define Led1_On() {rGPBDAT = (~(1 5));}
#define Led1_Off() {rGPBDAT |= (1 5);}
#define Led2_On() {rGPBDAT = (~(1 6));}
#define Led2_Off() {rGPBDAT |= (1 6);}
#define Led3_On() {rGPBDAT = (~(1 7));}
#define Led3_Off() {rGPBDAT |= (1 7);}
#define Led4_On() {rGPBDAT = (~(1 8));}
#define Led4_Off() {rGPBDAT |= (1 8);}
extern void Led_Init(void);
#endif
Main.c程序代码如下:
#include key.h
#include ledflow.h
void Board_Init(void)
{
Key_Init();
Led_Init();
}
int Main()
{
Board_Init();
while(1)
{
switch(Key_Scan())
{
case 1:Led1_On();break;
case 2:Led2_On();break;
case 3:Led3_On();break;
case 4:Led4_On();break;
default:break;
}
}
return 0;
}
蜂鸣器
beep.c程序代码如下:
#include beep.h
#include 2440addr.h
void Beep_Init(void)
{
文档评论(0)