流水灯小程序
流水灯小程序
#include
void delay() //延时函数,这里延时100ms
{
int i,j;
for(i=0;i<100;i++)
{
for(j=0;j<2242;j++){} //j循环一次大概1ms
}
}
void main()
{ //这里看LED原理图
LPC_IOCON->JTAG_TMS_PIO1_0=0x01;//定义p1.0引脚为输出
LPC_IOCON->JTAG_TDO_PIO1_1=0x01;//定义p1.1引脚为输出
LPC_IOCON->JTAG_nTRST_PIO1_2=0x01;//定义p1.2引脚为输出
//p1.9引脚默认为输出,不用写
LPC_GPIO1->DIR=(1<<0)+(1<<1)+(1<<2)+(1<<9);
LPC_GPIO1->DATA=(1<<0)|(1<<1)|(1<<2)|(1<<9); //D1、D2、D3、D4灯全灭
while(1)
{
LPC_GPIO1->DATA&=~(1<<0);//D1灯亮
delay(); //调用延时函数
LPC_GPIO1->DATA|=(1<<0);//D1灯灭
delay();
LPC_GPIO1->DATA&=~(1<<1);//D2灯亮
delay();
LPC_GPIO1->DATA|=(1<<1);//D2灯灭
delay();
LPC_GPIO1->DATA&=~(1<<2);//D3灯亮
delay();
LPC_GPIO1->DATA|=(1<<2);//D3灯灭
delay();
LPC_GPIO1->DATA&=~(1<<9);//D4灯亮
delay();
LPC_GPIO1->DATA|=(1<<9);//D4灯灭
delay();
}
}
显示1234
# include
int main(void)
{
const int table[4]={0x06,0x5b,0x4f,0x66,};//定义一个数组
LPC_IOCON->JTAG_TDI_PIO0_11=0x01;//定义p1.1为输出
//LPC_IOCON->PIO3_4=0x01; //默认为输出
//LPC_IOCON->PIO3_5=0x01; //默认为输出
LPC_GPIO3->DIR|=(1<<4)|(1<<5);//P3.4与P3.5输出
LPC_GPIO0->DIR|=(1<<3)|(1<<11); //定义P0.3与P0.11为输出
LPC_GPIO2->DIR|=0XFF+(1<<11); //定义P2.0~P2.7和P2.11为输出
//这是将四个数码管的引脚都设置为输出
LPC_GPIO2->DATA|=0xff; //定义P2.0~P2.7输出高电平
LPC_GPIO0->DATA|=1<<3; //定义P0.3输出为高电平
LPC_GPIO2->DATA|=(1<<11); //定义P2.11输出高电平
LPC_GPIO3->DATA|=(1<<4); //定义P3.4输出高电平
LPC_GPIO3->DATA|=(1<<5); //定义P3.5输出高电平
while(1)
{
LPC_GPIO0->DATA&=~(1<<11); //定义P0.11输出低电平,导通
LPC_GPIO2->DATA&=~table[0];//调用一个数组,因为为公共用到的引脚,所以要设置它为一开一关的形式
LPC_GPIO0->DATA|=(1<<11); //定义P0.11输出高电平,息灭
LPC_GPIO2->DATA|=0xff; //定义P2.0~2.7输出高电平,截止
LPC_GPIO2->DATA&=~(1<<11);
LPC_GPIO2->DATA&=~table[1];
LPC_GPIO2->DATA|=(1<<11);
LPC_GPIO2->DATA|=0xff;
LPC_GPIO3->DATA&=~(1<<4);
LPC_GPIO2->DATA&=~table[2];
LPC_GPIO3->DAT