• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機“叮咚”門鈴設計

    單片機“叮咚”門鈴設計

    作者: 時間:2013-04-02 來源:網絡 收藏

    6.匯編源程序

    T5HZ EQU 30H

    T7HZ EQU 31H

    T05SA EQU 32H

    T05SB EQU 33H

    FLAG BIT 00H

    STOP BIT 01H

    SP1 BIT P3.7

    ORG 00H

    LJMP START

    ORG 0BH

    LJMP INT_T0

    START: MOV TMOD,#02H

    MOV TH0,#06H

    MOV TL0,#06H

    SETB ET0

    SETB EA

    NSP: JB SP1,NSP

    LCALL DELY10MS

    JB SP1,NSP

    SETB TR0

    MOV T5HZ,#00H

    MOV T7HZ,#00H

    MOV T05SA,#00H

    MOV T05SB,#00H

    CLR FLAG

    CLR STOP

    JNB STOP,$

    LJMP NSP

    DELY10MS: MOV R6,#20

    D1: MOV R7,#248

    DJNZ R7,$

    DJNZ R6,D1

    RET

    INT_T0: INC T05SA

    MOV A,T05SA

    CJNE A,#100,NEXT

    MOV T05SA,#00H

    INC T05SB

    MOV A,T05SB

    CJNE A,#20,NEXT

    MOV T05SB,#00H

    JB FLAG,STP

    CPL FLAG

    LJMP NEXT

    STP: SETB STOP

    CLR TR0

    LJMP DONE

    NEXT: JB FLAG,S5HZ

    INC T7HZ

    MOV A,T7HZ

    CJNE A,#03H,DONE

    MOV T7HZ,#00H

    CPL P1.0

    LJMP DONE

    S5HZ: INC T5HZ

    MOV A,T5HZ

    CJNE A,#04H,DONE

    MOV T5HZ,#00H

    CPL P1.0

    LJMP DONE

    DONE: RETI

    END

    7. C語言源程序

    #include AT89X51.H>

    unsigned char t5hz;

    unsigned char t7hz;

    unsigned int tcnt;

    bit stop;

    bit flag;

    void main(void)

    {

    unsigned char i,j;

    TMOD=0x02;

    TH0=0x06;

    TL0=0x06;

    ET0=1;

    EA=1;

    while(1)

    {

    if(P3_7==0)

    {

    for(i=10;i>0;i--)

    for(j=248;j>0;j--);

    if(P3_7==0)

    {

    t5hz=0;

    t7hz=0;

    tcnt=0;

    flag=0;

    stop=0;

    TR0=1;

    while(stop==0);

    }

    }

    }

    }

    void t0(void) interrupt 1 using 0

    {

    tcnt++;

    if(tcnt==2000)

    {

    tcnt=0;

    if(flag==0)

    {

    flag=~flag;

    }

    else

    {

    stop=1;

    TR0=0;

    }

    }

    if(flag==0)

    {

    t7hz++;

    if(t7hz==3)

    {

    t7hz=0;

    P1_0=~P1_0;

    }

    }

    else

    {

    t5hz++;

    if(t5hz==4)

    {

    t5hz=0;

    P1_0=~P1_0;

    }

    }

    }


    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 平和县| 通州区| 壶关县| 盐城市| 定兴县| 咸阳市| 鸡西市| 洪江市| 阿克| 陆良县| 内乡县| 石景山区| 济南市| 台南市| 梁平县| 高邮市| 乐至县| 莱芜市| 宁陕县| 当阳市| 阿拉尔市| 遵义县| 永德县| 玉树县| 耿马| 古田县| 将乐县| 阿坝县| 都昌县| 武义县| 寻甸| 宜宾县| 江源县| 广南县| 大冶市| 海淀区| 丹东市| 新乡县| 都江堰市| 尼勒克县| 克什克腾旗|