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

    閃爍燈

    作者: 時間:2011-02-27 來源:網(wǎng)絡(luò) 收藏

    1. 實驗任務(wù)

    如圖4.1.1所示:在P1.0端口上接一個發(fā)光二極管L1,使L1在不停地一亮一滅,一亮一滅的時間間隔為0.2秒。

    2.電路原理圖

    4.1.1

    3. 系統(tǒng)板上硬件連線

    把“系統(tǒng)”區(qū)域中的P1.0端口用導(dǎo)線連接到“八路發(fā)光二極管指示模塊”區(qū)域中的L1端口上。

    4. 程序設(shè)計內(nèi)容

    (1). 延時程序的設(shè)計方法

    作為的指令的執(zhí)行的時間是很短,數(shù)量大微秒級,因此,我們要求的閃爍時間間隔為0.2秒,相對于微秒來說,相差太大,所以我們在執(zhí)行某一指令時,插入延時程序,來達到我們的要求,但這樣的延時程序是如何設(shè)計呢?下面具體介紹其原理:

    如圖4.1.1所示的石英晶體為12MHz,因此,1個機器周期為1

    MOV R6,#20 2 2

    D1: MOV R7,#248 2 2 22×248=498 20×

    DJNZ R7,$ 2 2×248 (498

    DJNZ R6,D1 22×20=40 10002

    因此,上面的延時程序時間為10.002ms。

    由以上可知,當(dāng)R6=10、R7=248時,延時5ms,R6=20、R7=248時,延時10ms,以此為基本的計時單位。如本實驗要求0.2秒=200ms,10ms×R5=200ms,則R5=20,延時子程序如下:

    DELAY: MOV R5,#20

    D1: MOV R6,#20

    D2: MOV R7,#248

    DJNZ R7,$

    DJNZ R6,D2

    DJNZ R5,D1

    RET

    (2). 輸出控制

    如圖1所示,當(dāng)P1.0端口輸出高電平,即P1.01時,根據(jù)發(fā)光二極管的單向?qū)щ娦钥芍@時發(fā)光二極管L1熄滅;當(dāng)P1.0端口輸出低電平,即P1.00時,發(fā)光二極管L1亮;我們可以使用SETB P1.0指令使P1.0端口輸出高電平,使用CLR P1.0指令使P1.0端口輸出低電平。

    5.程序框圖

    如圖4.1.2所示

    4.1.2

    6.匯編源程序

    ORG 0

    START: CLR P1.0

    LCALL DELAY

    SETB P1.0

    LCALL DELAY

    LJMP START

    DELAY: MOV R5,#20 ;延時子程序,延時0.2

    D1: MOV R6,#20

    D2: MOV R7,#248

    DJNZ R7,$

    DJNZ R6,D2

    DJNZ R5,D1

    RET

    END

    7.語言源程序

    #include AT89X51.H>

    sbit L1=P1^0;

    void delay02s(void) //延時0.2秒子程序

    {

    unsigned char i,j,k;

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

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

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

    }

    void main(void)

    {

    while(1)

    {

    L1=0;

    delay02s();

    L1=1;

    delay02s();

    }

    }



    評論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 绥中县| 蒙山县| 凤城市| 丰都县| 安吉县| 枣庄市| 玉山县| 普安县| 临汾市| 和龙市| 石楼县| 烟台市| 临沭县| 那坡县| 马鞍山市| 襄汾县| 万州区| 松阳县| 时尚| 鱼台县| 齐河县| 渑池县| 白银市| 丰镇市| 浙江省| 高青县| 扎兰屯市| 利津县| 大同市| 三台县| 沐川县| 沁水县| 凤翔县| 朝阳区| 巢湖市| 甘泉县| 东山县| 咸丰县| 赤峰市| 图片| 凌源市|