機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
EM78系列單片機(jī)--延遲子程序的編寫
EM78系列單片機(jī)--延遲子程序的編寫
 更新時(shí)間:2008-7-26 20:09:46  點(diǎn)擊數(shù):2
【字體: 字體顏色
在許多程序設(shè)計(jì)的場(chǎng)合,我們時(shí)常會(huì)利用到時(shí)間延遲子程序,接下來就介紹一個(gè)可以控制延遲時(shí)間的延遲子程序。
開下面是利用發(fā)工具E8-ICE來演示的一個(gè)精確的控制延遲時(shí)間的程序,選擇使用石英振蕩器,可以精確的算準(zhǔn)延遲時(shí)間,時(shí)間可以到nanosecond(十億分之一秒),很神奇。
 
LP_CNT0 == 0X20     ;定義。
LP_CNT1 == 0X21
MOV A, @2           ;A = 2。
MOV LP_CNT0, A      ;設(shè)定延遲寄存器0(LP_CNT0)=2
CALL        P0_DLY      ;呼叫時(shí)間延遲子程序。
P0_DLY:
NOP                 ;調(diào)節(jié)延遲時(shí)間。
MOV A, @200         ;設(shè)定 A = 200。
MOV LP_CNT1, A      ;設(shè)定寄存器LP_CNT1 = 200。
P0_LP:
NOP                 ;調(diào)節(jié)延遲時(shí)間。
NOP                 ;調(diào)節(jié)延遲時(shí)間。
NOP                 ;調(diào)節(jié)延遲時(shí)間。
DJZ LP_CNT1         ;遞減LP_CNT1,為0就跳過下一行
JMP P0_LP           ;循環(huán)。
DJZ LP_CNT0         ;遞減LP_CNT0,為0就跳過下一行
JMP P0_DLY          ;循環(huán)。
RET                 ;返回主程序。
 
 
假設(shè)用戶所使用的開發(fā)工具是E8-ICE,而且所采用的振蕩器為石英振蕩(4M Hz),並選擇指令執(zhí)行周期為1 Cycle, 2 Clock。這時(shí)每執(zhí)行一個(gè)指令的時(shí)間為0.5 uS.
用戶可以看出在程序中用了兩個(gè)寄存器來計(jì)數(shù)(LP_CNT0、LPCNT1),另外也使用了兩個(gè)循環(huán)(P0_DLY、P0_LP),其中在P0_LP中有5個(gè)指令,所以在P0_LP這個(gè)循環(huán)中,執(zhí)行了有1000個(gè)指令。
 
5X 200= 1000                 P0_LP循環(huán)總共執(zhí)行指令數(shù)目。
5  +  1000 = 1005               P0_DLY循環(huán)總共執(zhí)行指令數(shù)目。
1005 X 2 = 2010
2010 + 1 + 1 = 2012   延遲程序總共執(zhí)行指令數(shù)目
 
在整個(gè)P0_DLY循環(huán)中就有2012個(gè)指令,每個(gè)指令的執(zhí)行時(shí)間為0.5 us。
2012 (instructions) x 0.5 (us/instruction) = 1.006 ms
所以用戶可以精確的計(jì)算出延遲的時(shí)間,用戶可以在LP_CNT0設(shè)定不同的值,如此可以有各種不同的延遲時(shí)間。
l         例:設(shè)計(jì)一個(gè)延遲時(shí)間為2ms的程序。
 
只要在上述程序中在呼叫P0_DEL延遲子程序之前,將LP_CNT0設(shè)成4就可以了。
MOV  A, @4
MOV  LP_CNT0, A
CALL P0_DLY
其余不變。
1005 X 4 = 4020。
4020 + 1 + 1 = 4022。
4022 (instructions) X 0.5 (us)  = 2.011 ms
  • 上一篇: EM78系列單片機(jī)--中斷程序的設(shè)計(jì)
  • 下一篇: EM78系列單片機(jī)--馬達(dá)控制程序的設(shè)計(jì)
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1