当前位置:文档之家› GPIO程序设计

GPIO程序设计

GPIO程序设计
GPIO程序设计

成绩信息工程学院

课程设计说明书(论文)

题目: GPIO程序设计

课程名称: ARM嵌入式系统基础教程

专业: 电子信息工程

一、设计功能要求

通过不同的四个按键(K1、K2、K3、K4)分别控制LED灯的亮灭和LCD的图片显示:

1.按下K1,四个灯间隔亮灭两次;

2.按下K2,流水灯显示一次;

3.按下K3,LCD显示一幅图片;

4.按下K4,LCD显示下一个图片;

5.K1=P0.17;K2=P0.18;K3=P0.12;K4=P0.29。

二、流程图

三、源码清单

#include "nxp/iolpc2378.h"

#include "type.h"

//#include "hw.h"

void delay(uint32 dly);

int main()

{

LCDInit( );//初始化

DisPicture(0);

PINSEL7=0;

PINSEL1=0;

FIO3DIR=15<<23;//P3.23左移23位

FIO0DIR=0;//0输入

while(1)

{

FIO3SET=15<<23;//P3.23、24、25、26置1输出 delay(300);

/*按下K1键4个灯间隔亮灭2次*/

if((FIO0PIN&(1<<17))==0)

{

uint16 i;

i=2;

while(i--)

{

FIO3SET=15<<23;

delay(500);

FIO3CLR=15<<23;

delay(500);

}

}

/*按下K2流水灯显示一次*/

if((FIO0PIN&(1<<18))==0)

{

uint8 j;

for(j=23;j<=26;j++)

{

FIO3SET=1<

delay(200);

FIO3CLR=1<

delay(200);

}

}

/*按下K3LCD显示一幅图片*/ if((FIO0PIN&(1<<12))==0) {

uint8 p;

p+=2;

DisPicture(p);

}

/*按下K4LCD显示所有图片*/ if((FIO0PIN&(1<<29))==0) {

uint8 q;

for(q=0;q<6;q++)

{

DisPicture(q);

}

}

}

}

/*延时子程序*/

void delay(uint32 dly)

{

uint32 i;

for(;dly>0;dly--)

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

}

相关主题
文本预览
相关文档 最新文档