欢迎来到天天文库
浏览记录
ID:40956837
大小:2.50 MB
页数:6页
时间:2019-08-11
《嵌入式之开关控制流水灯》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、没按开关之前按第一个开关LED1亮按第二个开关LED2亮按第三个开关LED3亮按第四个按键开关LED4亮Key.c程序代码如下:#include"key.h"#include"2440addr.h"voidKey_Init(void){rGPFCON&=~((3<<0)
2、(3<<2)
3、(3<<4)
4、(3<<8));rGPFCON
5、=KEY1
6、KEY2
7、KEY3
8、KEY4;rGPFDAT
9、=(1<<0)
10、(1<<1)
11、(1<<2)
12、(1<<4);}intKey_Scan(void){intkeynum=0;//rGPFDAT=0XFFF;if((rGP
13、FDAT&(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;}returnkeynum;}Key.h程序代码如下:#ifndef__KEY_H__#define__KEY_H__#defineKEY1(0<<2)#defineKEY2(0<<8)#defineKEY3(0<<4)#defineKEY4(0<<0)externvoidKey_Init();ex
14、ternintKey_Scan();#endifLedflow.c程序代码如下:#include"ledflow.h"#include"2440addr.h"voidLed_Init(void){rGPBCON&=~((3<<10)
15、(3<<12)
16、(3<<14)
17、(3<<16));rGPBCON
18、=((1<<10)
19、(1<<12)
20、(1<<14)
21、(1<<16));rGPBUP&=~((1<<5)
22、(1<<6)
23、(1<<7)
24、
25、(1<<8));rGPBDAT
26、=(1<<5)
27、(1<<6)
28、(1<<7)
29、(1<<8);}Ledflow.h程序代码如下
30、:#ifndef__LEDFLOW_H__#define__LEDFLOW_H__#include"2440addr.h"#defineLed1_On(){rGPBDAT&=(~(1<<5));}#defineLed1_Off(){rGPBDAT
31、=(1<<5);}#defineLed2_On(){rGPBDAT&=(~(1<<6));}#defineLed2_Off(){rGPBDAT
32、=(1<<6);}#defineLed3_On(){rGPBDAT&=(~(1<<7));}#defineLed3_Off(){rGPBDAT
33、=(1<<7);}#
34、defineLed4_On(){rGPBDAT&=(~(1<<8));}#defineLed4_Off(){rGPBDAT
35、=(1<<8);}externvoidLed_Init(void);#endifMain.c程序代码如下:#include"key.h"#include"ledflow.h"voidBoard_Init(void){Key_Init();Led_Init();}intMain(){Board_Init();while(1){switch(Key_Scan()){case1:Led1_On();break;case2:Led2_O
36、n();break;case3:Led3_On();break;case4:Led4_On();break;default:break;}}return0;}蜂鸣器beep.c程序代码如下:#include"beep.h"#include"2440addr.h"voidBeep_Init(void){rGPBCON&=~(3<<0);rGPBCON
37、=1<<0;rGPBUP&=~(1<<0);rGPBDAT&=~(1<<0);}beep,h程序代码如下;#ifndef_BEEP_H_#define_BEEP_H_#defineBeep_On(){rG
38、PBDAT
39、=(1<<0);}#defineBeep_Off(){rGPBDAT&=~(1<<0);}externvoidBeep_Init(void);#endifCommon.c程序代码如下:#include"common.h"voidDelay(void){inti;for(i=0;i<1000000;i++);}Common.h程序代码如下:#ifndef__COMMON_H__#define__COMMON_H__externvoidDelay(void);#endif现在主程序中加入两个头文件依次是#include"common.h"#i
40、nclude"beep.h"然后在voidBoard_Init(void)中加入Beep_Init();在L
此文档下载收益归作者所有