專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

用匯編語言實現(xiàn)單片機(jī)的循環(huán)燈控制

作者:huqin   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2014年04月21日   【字體:
Protues模擬圖:
程序:
         ORG           0000H
         LJMP          MAIN

         ORG           0100H
MAIN:    MOV           SP,#60H
         MOV           A,#01H        ;先讓第一個發(fā)光二極管亮
LOOP:    MOV           P2,A          ;從P2口輸出到發(fā)光二極管
         LCALL         DELAY         ;延時1秒
         RL            A             ;左移一位,下一個發(fā)光二極管亮
         SJMP          LOOP          ;循環(huán)

DELAY:   MOV           R0,#10        ;延時0.5秒子程序,使用參數(shù)R0、R7、R6。
DELY0:   MOV           R7,#100          
DELY1:   MOV           R6,#250       
         DJNZ          R6,$
         DJNZ          R7,DELY1
         DJNZ          R0,DELY0
         RET

         END           
補(bǔ)充
CPU的時序及有關(guān)概念
時序是表達(dá)指令執(zhí)行各控制信號在時間上的相互關(guān)系。時序是用定時單位來說明的,89C51單片機(jī)的時序定   時單位共有4個,從大到小依次是:拍、狀態(tài)、機(jī)器周期、指令周期,下面依次說明:
1.拍(P):把振蕩脈沖的周期稱為拍,用P表示。它就是晶體的振蕩周期,或是外部振蕩脈沖的周期,拍是89C51單片機(jī)中最小的時序單位。
2.狀態(tài)或時鐘周期(S):振蕩脈沖經(jīng)過二分頻后,就得到單片機(jī)的時鐘信號,把時鐘信號的周期稱為狀態(tài),用S表示。一個狀態(tài)包含兩個拍,分別稱為P1和P2,或者前拍和后拍。時鐘周期是單片機(jī)最基本的時間單位,在一個時鐘周期內(nèi),CPU僅完成一個最基本的動作。
3.機(jī)器周期:通常把CPU完成一個基本操作所需要的時間稱為機(jī)器周期。一個機(jī)器周期由6個狀態(tài)(或12拍)組成,可依次表示為S1P1,S1P2,S2P1,S2P2,…,S6P1,S6P2。
當(dāng)振蕩頻率為12MHz時,一個機(jī)器周期為1us;當(dāng)振蕩脈沖頻率為6MHz時,一個機(jī)器周期為2us。
4.指令周期:指令周期就是一條指令所需要的時間。指令周期是89C51單片機(jī)中最大的時序單位,一般由若干個機(jī)器周期組成。指令不同,所需要的機(jī)器周期數(shù)也不同,但一條指令的周期應(yīng)在1~4個機(jī)器周期范圍內(nèi)。

延時時間為250*10*100*2*1us=0.5s
關(guān)閉窗口

相關(guān)文章

閱讀排行
推薦文章