流水燈小程序
流水燈小程序
#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