国产久草深夜福利精品_精品国产看高清国产毛片_成年日韩片av在线网站_亚洲国产综合777_免费高清一级在线观看_欧美色图中文字幕_老中医用嘴排阴毒 小雨_99精品无码视频在线播放_久久久精品强暴视频_国产aⅴ一区最新精品

單片機編程經(jīng)驗
電子元件,電子元器件深圳市創(chuàng)唯電子有限公司
您現(xiàn)在的位置: 首頁 > 電子技術(shù)
單片機編程經(jīng)驗  2012/3/1
經(jīng)驗之一:用“軟件陷阱+程序口令”對付PC指針的彈飛當(dāng)CPU受到外界干擾,有時PC指針會飛到另一段程序中,或跳到空白段去。其實,如果PC指針飛到空白段去,倒也好處理。只要在空白段設(shè)立軟件陷阱(攔截指令),將程序攔截到初始化段或程序錯誤處理段。但是,如果PC指針飛到另一段程序中去了,系統(tǒng)如何辦?小匠在這里推薦一種方法——程序口令,思路如下:1、首先,程序必須模塊化。每個模塊(子程序)執(zhí)行一個功能。每個模塊只有一個出口(RET)
  經(jīng)驗之一:用“軟件陷阱+程序口令”對付PC指針的彈飛

當(dāng)CPU受到外界干擾,有時PC指針會飛到另一段程序中,或跳到空白段去。

其實,如果PC指針飛到空白段去,倒也好處理。只要在空白段設(shè)立軟件陷阱(攔截指令),將程
序攔
截到初始化段或程序錯誤處理段。

但是,如果PC指針飛到另一段程序中去了,系統(tǒng)如何辦?小匠在這里推薦一種方法——程序口
令,
思路如下:

1、首先,程序必須模塊化。每個模塊(子程序)執(zhí)行一個功能。每個模塊只有一個出口
(RET)。

2、設(shè)立一個模塊(子程序)ID寄存器。

3、為每個子程序配置一個唯一的ID號碼。

4、每當(dāng)子程序執(zhí)行完畢,要返回(RET)之前,先將本子程序的ID號送入 ID寄存器

5、返回到上級程序后,先判斷ID寄存器中的ID號。如果正確,則繼續(xù)執(zhí)行;如果不正確,
則表示
PC指針有可能已經(jīng)跳錯了,子程序沒有按預(yù)計的出口返回,這時將程序攔截到初始化段或程
序錯
誤處理段。

這種方法,如同在程序中設(shè)立了若干個崗哨,每次調(diào)用子程序返回后,都要對口令(ID
號),驗
明正身后再放行。再配合軟件陷阱,基本上可以將大多數(shù)PC指針彈飛的現(xiàn)象檢測到。

到了程序錯誤處理段,要殺要剮(冷啟動還是熱啟動)就由您了。





僅以一條代碼來揭示程序飛跑的本質(zhì)!
750102H  ;MOV01H,#02H

如當(dāng)前PC不是指向75H,而是指向01H或02H,那么51內(nèi)的指令譯碼器將把她們忠實地翻譯成
AJMP
XX01H 或 LJMP XXXXH  而XX01H XXXXH又是什么呢?天知道!這樣惡性飛跑下去那還不死
定!
改革一下:
CLR A ;0C4H
INC A ;04H
MOV R1,A ;0F9H
INC A ;04H  
MOV @R1,A  ;86H
每一字節(jié)代碼都不能在生成跳轉(zhuǎn)和循環(huán),且都是單字節(jié)指令!往那跑去?
跑出去了都要自己回來!“在家”千日好!“跳出”事事難嘛!這樣只要平時習(xí)慣了用累加
器和
寄存器把數(shù)倒一倒,把那些危險代碼都給倒掉,這樣雖說給PC的“足”上多加了兩字節(jié)的
“包”
可它不好“跑”��!“足包”====跑!
有朋友會問:要是PC抓做02H--LJMP 又有抓做了老鼻子遠的XXH,再抓做隔壁的YYH不就沒用

嗎?提這樣的問題只有ZENYIN這種鉆牛角得才會提!PC那一位最活躍啊?PC0��!要“扯
拐”顯
然發(fā)生在她身上,至于那PC15同志啊,睡得更死豬一樣,雷爆(強干擾)來了都打不醒?此
外如
果干擾都強到了PC高位都出錯的地步!關(guān)電!關(guān)電!不干了!“不是我們不行而是敵人太強
大”!反過來要是敵人在你的專政下,只是偶爾出來搗搗亂,但一出來就沖到屁西(PC)高
層,
就要問問是不是你的王國根基(硬件)有問題了?而非出在意識形態(tài)(軟件)上!硬件為
本!軟
件為標!標本兼治鑄就堅強體魄,方能百毒不侵!

 
經(jīng)驗之二、不要輕信軟件狗

關(guān)于軟件狗的討論,論壇上多矣。

匠人也曾經(jīng)查閱過許多關(guān)于軟件狗的文章。有些大師確實提出了一些比較有技巧性的方法。

但是,匠人的忠告是:不要輕信軟件狗!

其實,軟件狗相當(dāng)于軟件的一種自律行為。一般的思路都是通過設(shè)立一個計數(shù)器,在計時中
與《單片機編程經(jīng)驗》相關(guān)列表
電話:400-900-3095
QQ:800152669
庫存查詢
Copyright(C) 2011-2021 Szcwdz.com 創(chuàng)唯電子 版權(quán)所有 備案號:粵ICP備11103613號
專注電子元件代理銷售  QQ:800152669  電子郵件:[email protected]  電話:400-900-3095