日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
單片機(jī)應(yīng)用編程技巧(FAQ)9(完)
單片機(jī)應(yīng)用編程技巧(FAQ)9(完)
 更新時間:2009-6-1 9:08:14  點擊數(shù):1
【字體: 字體顏色

43. 在設(shè)計軟體時,大多單片機(jī)都設(shè)有看門狗,需要在軟體適當(dāng)?shù)奈恢萌ノ构,以防止軟體復(fù)位和軟體進(jìn)入死循環(huán),如何適當(dāng)?shù)奈构,即如何精確判定軟體的運行時間?
答:大多數(shù)單片機(jī)都有看門狗定時器功能(WDT,Watch Dog Timer)以避免程序跑錯。HOLTEK有一款基本I/O型單片機(jī)--HT48R05A-1,我們就以它為例做個說明吧。

首先了解一下WDT的基本結(jié)構(gòu),它其實是一個定時器,所謂的喂狗是指將此定時器清零。喂狗分為軟件和硬件兩種方法。軟件喂狗就是用指令來清除WDT,即CLR WDT;硬件喂狗就是硬件復(fù)位RESET。當(dāng)定時器溢出時,會造成WDT復(fù)位,也就是我們常說的看門狗起作用了。在程序正常執(zhí)行時,我們并不希望WDT復(fù)位,所以要在看門狗溢出之前使用軟件指令喂狗,也就是要計算WDT相隔多久時間會溢出一次。HT48R05A-1的WDT溢出時間計算公式是:256*Div*Tclock。其中Div是指wdt預(yù)分頻數(shù)1~128,Tclock是指時鐘來源周期。如果使用內(nèi)部RC振蕩作為WDT的時鐘來源(RC時鐘周期為65us/5V),最大的WDT溢出時間為2.1秒。

當(dāng)我們得到了WDT溢出時間Twdt后,一般選擇在Twdt/2左右的時間進(jìn)行喂狗,以保證看門狗不會溢出,同時喂狗次數(shù)不會過多。

軟件運行時間是根據(jù)不同的運行路線來決定的,如果可以預(yù)見軟件運行的路線,那么可以根據(jù)T=n*T1來計算軟件的運行時間。n是指運行的機(jī)器周期數(shù),T1是指機(jī)器周期。HOLTEK單片機(jī)是RISC結(jié)構(gòu),大部分指令由一個機(jī)器周期組成,只需要知道軟件運行了多少條指令,就可以算出運行時間了。HOLTEK的編譯軟件HT-IDE3000中,就有計算運行時間的工具。但是對于CISC結(jié)構(gòu)的單片機(jī),一條指令可以由若干個機(jī)器周期組成,那么就需要根據(jù)具體執(zhí)行的指令來計算了。

44. 我們是一家開發(fā)數(shù)控系統(tǒng)的專業(yè)廠,利用各種單片機(jī)和CPU開發(fā)了很多產(chǎn)品,在軟件開發(fā)上也采用了很多通用的抗干擾技術(shù),如:軟件陷阱、指令允余、看門狗和數(shù)字濾波等等,但實際運用中還是很不可靠,如:經(jīng)常莫名其妙地死機(jī)、程序跳段、I/O數(shù)據(jù)錯誤等,并且故障的重復(fù)性很不確定,也不是周期性地重復(fù)。往往用戶使用中出現(xiàn)故障,但又無法重現(xiàn),很讓人頭痛。反復(fù)檢查硬件也設(shè)查出原因,所以對軟件的可靠性很是懷疑。怎么辦?
答:防止干擾最有效的方法是去除干擾源、隔斷干擾路徑,但往往很難做到,所以只能看單片機(jī)抗干擾能力夠不夠強(qiáng)了。單片機(jī)干擾最常見的現(xiàn)象就是復(fù)位;至于程序跑飛,其實也可以用軟件陷阱和看門狗將程序拉回到復(fù)位狀態(tài);所以單片機(jī)軟件抗干擾最重要的是處理好復(fù)位狀態(tài)。

一般單片機(jī)都會有一些標(biāo)志寄存器,可以用來判斷復(fù)位原因;另外也可以自己在RAM中埋一些標(biāo)志。在每次程序復(fù)位時,通過判斷這些標(biāo)志,可以判斷出不同的復(fù)位原因;還可以根據(jù)不同的標(biāo)志直接跳到相應(yīng)的程序。這樣可以使程序運行有連續(xù)性,用戶在使用時也不會察覺到程序被重新復(fù)位過。

可以在定時中斷里面設(shè)置一些暫存器累加,然后加到預(yù)先設(shè)定的值(一個比較長的時間),SET標(biāo)志位,這些動作都在中斷程序里面。而主程序只需要查詢標(biāo)志位就好了,但是注意標(biāo)志位使用后,記得清除,還有中斷里面的時基累加器使用以后也要記得清除。

 

<!--插入廣告JS代碼-->
  • 上一篇: C51中的關(guān)鍵字
  • 下一篇: 單片機(jī)應(yīng)用編程技巧(FAQ)8
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費鏈接

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

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

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