• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      C51單片機(jī)看門狗程序優(yōu)化設(shè)計(jì)

      2013-08-15 00:49:27
      中國新技術(shù)新產(chǎn)品 2013年14期
      關(guān)鍵詞:看門狗主程序子程序

      (陜西中醫(yī)學(xué)院,陜西 西安 712046)

      經(jīng)濟(jì)的發(fā)展,促進(jìn)了科學(xué)技術(shù)的不斷延伸,C51系統(tǒng)的單片機(jī)也在不斷的發(fā)展,這大大滿足了實(shí)際工作的需要,也不可避免的帶來了一些弊端。比如單片及芯片的抗干擾現(xiàn)象,這種現(xiàn)象不利于智能型儀表單片機(jī)系統(tǒng)的穩(wěn)定運(yùn)行。本文就看門狗硬件電路及其設(shè)計(jì)方案展開分析,通過采取相應(yīng)的措施,解決問題。

      1 關(guān)于看門狗的電路系統(tǒng)分析

      在實(shí)際工作中,看門狗的電路系統(tǒng)的應(yīng)用范圍是比較廣泛的,它實(shí)現(xiàn)了單片機(jī)系統(tǒng)的內(nèi)部相關(guān)環(huán)節(jié)的穩(wěn)定運(yùn)行,確保了無人監(jiān)控下的程序的正常運(yùn)作??撮T狗電路系統(tǒng)的正常運(yùn)行,離不開看門狗芯片與單片機(jī)的I/O引腳環(huán)節(jié)的正常運(yùn)作。這就需要我們針對這一環(huán)節(jié)進(jìn)行具體分析,I/O引腳環(huán)節(jié)的穩(wěn)定性決定了看門狗系統(tǒng)的正常運(yùn)行,該環(huán)節(jié)如果受到內(nèi)外因素的干擾,是極易導(dǎo)致程序的不正常發(fā)展的,容易使系統(tǒng)陷入不良的循環(huán)中。為此我們要實(shí)現(xiàn)看門狗的引腳程序環(huán)節(jié)的穩(wěn)定運(yùn)行,從而保證單片機(jī)的有效復(fù)位,這樣保障了程序的順利執(zhí)行,保證單片機(jī)的自動復(fù)位。

      (1)為了保證看門狗電路系統(tǒng)的穩(wěn)定運(yùn)行,我們要進(jìn)行看門狗電路設(shè)計(jì)方式的深化,它主要包括兩種環(huán)節(jié),硬件看門狗設(shè)計(jì)環(huán)節(jié)與軟件看門狗設(shè)計(jì)環(huán)節(jié)。前者的正常運(yùn)行,離不開對定時(shí)器的有效應(yīng)用,從而確保主程序的有效監(jiān)控,在主程序的運(yùn)作過程中,我們要確保定時(shí)器的及時(shí)復(fù)位,避免下序環(huán)節(jié)出現(xiàn)運(yùn)行故障。

      軟件看門狗技術(shù)模式與硬件看門狗有類似之處,它通過對軟件的利用,實(shí)現(xiàn)程序的穩(wěn)定運(yùn)行。比如對51單片機(jī)的定時(shí)器的應(yīng)用。它利用內(nèi)部定位器實(shí)現(xiàn)對主程序的實(shí)施監(jiān)控。確保主程序運(yùn)作過程中的相關(guān)變量值的有效判斷,確保該值的準(zhǔn)確控制,在運(yùn)作過程中,沒有發(fā)生變化則就會進(jìn)行程序的復(fù)位。

      傳統(tǒng)的看門狗電路復(fù)位指令是通過主程序的插入來進(jìn)行的,其指令模式主要是脈沖式,進(jìn)行兩條取反指令的運(yùn)行,這是為了促進(jìn)程序跑飛時(shí)其中斷功能的穩(wěn)定運(yùn)行,促進(jìn)CPU的正常運(yùn)作,保證中斷子程序的穩(wěn)定運(yùn)行,確保該看門狗整體系統(tǒng)的正常運(yùn)作。在此過程中,如果中斷子程序執(zhí)行喂狗指令,那么必然會看門狗的定時(shí)器的穩(wěn)定運(yùn)行,導(dǎo)致微機(jī)系統(tǒng)的運(yùn)作混亂,不能實(shí)現(xiàn)其正常裝套的運(yùn)轉(zhuǎn),從而不利于實(shí)際工作程序的順利開展。

      (2)在喂狗指令的運(yùn)作過程中,主程序系統(tǒng)都能得到良好的響應(yīng),促進(jìn)單片機(jī)系統(tǒng)的穩(wěn)定運(yùn)行。在此運(yùn)作過程中,有一種模式影響單片機(jī)的穩(wěn)定運(yùn)行,比如其主程序正常運(yùn)行,但是其中斷響應(yīng)功能的缺乏,是不利于看門狗電路系統(tǒng)的正常運(yùn)行,不利于單片機(jī)系統(tǒng)的正常工作。比如在系統(tǒng)進(jìn)行中斷子程序環(huán)節(jié)的運(yùn)作時(shí),受到外界因素的干擾。程序出現(xiàn)跑飛現(xiàn)象,導(dǎo)致中斷功能的無法響應(yīng)。

      這種情況是由51單片機(jī)的中斷系統(tǒng)內(nèi)部的相關(guān)環(huán)節(jié)導(dǎo)致的,比如其兩個(gè)優(yōu)先級的狀態(tài)觸發(fā)器,進(jìn)行兩級中斷響應(yīng)狀態(tài)的分別指標(biāo)。在此過程中,如果CPU響應(yīng)出現(xiàn)中斷的現(xiàn)象,就會引發(fā)相關(guān)環(huán)節(jié)的優(yōu)先級狀態(tài)觸發(fā)器,從而導(dǎo)致同級別的所有中斷申請的屏蔽,等到reti指令運(yùn)作的時(shí)候,此優(yōu)先級狀態(tài)觸發(fā)器才會被CPU硬件清除,確保下序環(huán)節(jié)的中斷請求的正常相應(yīng)。當(dāng)然,象上述這種情況是比較少見的。大多數(shù)情況下,程序跑飛后都會使pc指針越出有效程序區(qū),造成“死機(jī)”。這時(shí)“看門狗”就起作用了。在大多數(shù)系統(tǒng)中,中斷子程序執(zhí)行的時(shí)間占總運(yùn)行時(shí)間的百分比都非常小,而在執(zhí)行中斷程序時(shí),pc指針跑飛越過reti指令,而主程序又能正常運(yùn)行的機(jī)會就更少。

      (3)在中斷子程序的運(yùn)作過程中,出現(xiàn)其數(shù)據(jù)信息的運(yùn)作比較復(fù)雜,并且進(jìn)行一系列的函數(shù)運(yùn)作時(shí),就很可能發(fā)生系統(tǒng)失常的現(xiàn)象,比如在智能流量計(jì)過程中的死機(jī)現(xiàn)象,這種死機(jī)現(xiàn)象并不是很明顯,其鍵盤顯示操作是正常情況,但是在設(shè)定參數(shù)環(huán)節(jié),總流量不發(fā)生累計(jì),導(dǎo)致中斷系統(tǒng)的失效,進(jìn)而不利于主程序的穩(wěn)定運(yùn)”指令直接插在中斷子程序中是不合適的,而單獨(dú)插在主程序中又顯然是不夠的。筆者通過仔細(xì)推敲后,將“喂狗”指令分解開來,取反指令變成置位和清零兩種指令,將置位指令插在主程序中,而將清零指令插在t 0中斷子程序中,這樣將兩者聯(lián)系起來,缺一不可,無論主程序運(yùn)行失效,還是t 0中斷請求失效,都不能完成完整的“喂狗”指令,造成“看門狗”動作,從而確保了系統(tǒng)安全可靠地工作。

      2 關(guān)于看門狗電路整體設(shè)計(jì)思路的分析

      為了保證該看門狗電路整體設(shè)計(jì)的穩(wěn)定運(yùn)行,我們要進(jìn)行C51單片機(jī)內(nèi)部定時(shí)器系統(tǒng)的有效編程,確??撮T狗的電路功能的穩(wěn)定運(yùn)行。進(jìn)行軟件環(huán)節(jié)與硬件環(huán)節(jié)的有效設(shè)置,確??撮T狗的定時(shí)器設(shè)置程序的穩(wěn)定運(yùn)行。在此過程中,我們要實(shí)現(xiàn)對主程序的有效應(yīng)用,確保對看門狗的定時(shí)器程序的有效設(shè)置,確保其定時(shí)器系統(tǒng)的計(jì)時(shí)環(huán)節(jié)的穩(wěn)定運(yùn)行,將其計(jì)時(shí)規(guī)定在50ms,當(dāng)達(dá)到這一標(biāo)準(zhǔn)時(shí),定時(shí)器會發(fā)生溢出中斷,從而推動溢出中斷服務(wù)程序環(huán)節(jié)的運(yùn)作,確保下序環(huán)節(jié)的穩(wěn)定運(yùn)作,實(shí)現(xiàn)看門狗電路系統(tǒng)的正常運(yùn)行。當(dāng)num的值等于100時(shí),說明看門狗定時(shí)器已經(jīng)計(jì)時(shí)5s,此時(shí),單片機(jī)I/O端口P1.0輸出高電平,對程序進(jìn)行復(fù)位。在此過程中,喂狗代碼將被穿插于程序中循環(huán)體末尾。當(dāng)循環(huán)體結(jié)束時(shí),喂狗代碼執(zhí)行,關(guān)閉定時(shí)器1、清空num并重新初始化定時(shí)器設(shè)置。若循環(huán)體進(jìn)入死循環(huán),喂狗代碼無法執(zhí)行,num將一直累加至100,此時(shí)程序復(fù)位。 喂狗代碼放置位置可根據(jù)num預(yù)計(jì)數(shù)值進(jìn)行調(diào)整:當(dāng)num門限值較小,即看門狗計(jì)數(shù)時(shí)間較短時(shí),喂狗代碼可放于程序中各循環(huán)體之后或均勻分布于整個(gè)主程序中。當(dāng)num門限值較大,即看門狗計(jì)數(shù)時(shí)間較長時(shí),喂狗代碼可放于程序主循環(huán)體末尾。但是需注意看門狗計(jì)數(shù)時(shí)間必須長于正常工作時(shí)間,以免非正常復(fù)位。

      結(jié)語

      在此過程中,我們要注意對看門狗的定時(shí)器復(fù)位影響因素的應(yīng)用,確保該用戶程序的唯一指令的應(yīng)用,避免出現(xiàn)看門狗定時(shí)器的誤復(fù)位現(xiàn)象,避免出現(xiàn)系統(tǒng)的死機(jī)現(xiàn)象,從而保證看門狗系統(tǒng)內(nèi)部程序的穩(wěn)定運(yùn)行,確保實(shí)際工作的正常開展。對沒有中斷的用戶系統(tǒng),只需將清零指令也插在主程序中就可以了;對于有多種中斷的用戶系統(tǒng),如果沒有中斷嵌套,則清零指令可以插在任一個(gè)中斷子程序中,而在主程序中適當(dāng)加入一些有關(guān)中斷的冗余指令,以免因有關(guān)中斷的特殊功能寄存器數(shù)據(jù)受到干擾時(shí)導(dǎo)致中斷功能失效。

      [1]李烈彪,李仙.計(jì)算機(jī)系統(tǒng)的可靠性技術(shù)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2007,17(11):142-145.

      [2]范立南.單片機(jī)原理及應(yīng)用教程[M].北京:北京大學(xué)出版社,2006.

      [3]盧大偉,劉炳云.用定時(shí)器實(shí)現(xiàn)軟件看門狗應(yīng)注意的問題[J].中國儀器儀表,1998(04):36-37.

      猜你喜歡
      看門狗主程序子程序
      淺談數(shù)控銑削技術(shù)代碼程序的嵌套方式研究
      把他叫醒
      電控冰箱軟件模塊化設(shè)計(jì)
      日用電器(2019年12期)2019-02-26 01:53:06
      時(shí)光倒流 換回PotPlayer老圖標(biāo)
      一種采用FPGA實(shí)現(xiàn)的通用看門狗電路
      大眾科技(2015年11期)2015-11-24 01:57:16
      淺談子程序在數(shù)控車編程中的應(yīng)用
      把它叫醒
      把它叫醒
      子程序在數(shù)控車加工槽中的應(yīng)用探索
      西門子840D系統(tǒng)JOG模式下PLC調(diào)用并執(zhí)行NC程序
      广宁县| 绵阳市| 苍溪县| 福安市| 东安县| 保定市| 南安市| 岳普湖县| 佳木斯市| 社会| 隆子县| 五莲县| 大田县| 昭觉县| 济宁市| 个旧市| 彰化县| 唐河县| 瓦房店市| 望谟县| 苏尼特左旗| 沽源县| 隆化县| 潢川县| 黄平县| 襄垣县| 天镇县| 昭平县| 宜黄县| 凤城市| 辛集市| 铜梁县| 南安市| 德保县| 水富县| 滨海县| 宣化县| 太仆寺旗| 金山区| 温州市| 永胜县|