回覆列表
  • 1 # 使用者5329335765427

    #include

    #define uchar unsigned char

    #define uint unsigned int

    sbit lamp=P2^0;//輸出

    sbit k1=P3^3;//加鍵

    sbit k2=P3^2;//減鍵

    sbit k3=P3^4;//停止

    uchar a=10;

    void delay(uint x)//延時函式

    {

    uchar i;

    while(x--)

    for(i=0;i

    }

    void init()

    {

    TMOD=0X01;//晶振11.0592,定時器定時方式1

    TH0=0XFF;//100us定時

    TL0=0XA4;

    EA=1;//開總中斷

    ET0=1;//開定時器中斷

    TR0=1;//開定時器

    }

    void key()

    {

    if(!k1)

    {

    delay(10);

    if(!k1)

    {

    a++;

    if(a==99)

    a=1;

    }

    }

    // while(!k1);

    if(!k2)

    {

    delay(10);

    if(!k2)

    {

    a--;

    if(a==1)

    a=99;

    }

    }

    // while(!k2);

    if(!k3)

    {

    delay(10);

    if(!k3)

    {

    TR0=~TR0;//開定時器

    }

    }

    while(!k3);

    }

    void main()

    {

    init();

    while(1)

    {

    key();

    }

    }

    void timer0() interrupt 1 using 3

    {

    uchar count; /*中斷次數計數器變數*/

    TH0=0xFF; /*恢復定時器初始值*/

    TL0=0xA4;

    count++;

    if (count>=100)

    count=0;

    if (count

    lamp=0;

    else

    lamp=1;

    }

  • 中秋節和大豐收的關聯?
  • 糖果瀏覽器登入有驗證碼怎麼辦?