回覆列表
  • 1 # 使用者4243767351955

    #define uint unsigned int

    #define uchar unsigned char

    #include

    uint i;

    uchar code TAB[]=[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

    void main(void)

    {

    TMOD=0x22; /*定時器0設定為工作方式2,基準定時(256-6)/1M=0.25ms*/

    TH0 =6; //賦T0的預置值6,溢位4000次就是1秒鐘

    TL0 =6;

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

    EA=1; //開啟總中斷

    TR0=1; //啟動定時器

    while(1) //程式迴圈

    {

    P3=TAB[(i)];//p3送數

    }

    }

    //定時器0中斷

    void timer0(void) interrupt 1 using 1

    {

    static uint t; //注意t的範圍,這裡涉及到C51變數取值範圍這個知識點

    t++;

    if(t==4000) //T0的預置值6,溢位4000次就是1秒鐘,晶振12MHz

    {

    t=0;

    i++;

    i=i%10;

    }

    }

  • 中秋節和大豐收的關聯?
  • 怎麼製作槽滷雞爪?