導航:首頁 > 操作系統 > 單片機的軟體校正

單片機的軟體校正

發布時間:2022-09-25 04:52:11

單片機的硬體復位和軟體復位有什麼區別

嘿嘿 還是俺來幫你解答吧
1 單片機的硬體復位和門狗復位都是對單片機的復位引腳 加一個復位電平產生的 此時單片機
將進行復位操作 pc=0000h p0=p1=p2=p3=0ffh sp=07h 其它特殊寄存器將被清零。
復位結束後 單片機重新開始運行。
2 軟體復位;
一般為了防止程序跑飛 可以在程序存儲器中沒有指令的地方 全部寫入 LJMP 0000H指令
一旦單片機運行跑飛 進入LJMP 0000H指令區 將還返回單片機的第一條指令 重新運行單片機的正常程序.
軟體復位時,P0 P1 P2 P3 和特殊寄存器的內容都不會再改變.這點與硬體復位不同.

呵呵 滿意就給加分吧

❷ 51單片機如何實現軟體復位系統(C語言),謝謝

單片機實現軟體復位(軟復位)的方法及討論

單片機實現軟體復位(軟復位)的方法及討論

(天堂雨林博客blog.sina.com.cn/acer收集整理)

單片機軟復位有什麼好的方法?如從機收到復位命令(軟體命令),程序怎麼使機器復位?雖然要使軟體始終處於可控狀態,最好不要用"復位",因為復位是純硬體過程,軟體是不可控的.但是我們還是要討論方法,一般流傳的方法如下:

1、放狗;

2、((void(code *)(void))0x0000)();

3、用單片機一個引腳控制點一下RSTRST;

4、用單片機一個引腳控制重新加電;

5、用單片機自帶的軟體復位指令或內狗指令;

6、goto大法;

天堂雨林博客對以上方法的意見:

方法1:「放狗」是單片機軟復位的最好辦法,也基本上是唯一的一個辦法。但並不是所有單片機都具備看門狗的功能,也不是一個萬全之策。

辦法2:這不是復位,只是把程序轉到地址0去執行,不如用一個JMP更直接。目前可能極少數單片機或者用戶已經自行添加Boot load時用戶程序的程序開始地址並不為0x0000,所以需要查找這些特定單片機的啟動地址。
在keil C51下面可以這樣實現:
void soft_reset(void)
{
((void (code *) (void)) 0x0000) ();
}
在需要軟體復位的地方使用語句:
soft_reset();
一般可實現軟體復位。

辦法3:用軟體實現的硬復位。需要犧牲一個單片機引腳,且增加了單片機外部電路構造的復雜性,很不可取。

辦法4:類似辦法3,同樣需要犧牲一個單片機引腳,且增加了單片機外部電路構造的復雜性,很不可取。但不能把它單單地當成是復位,應該叫上電復位。

辦法5:Atmel 89C不帶內狗,S的有內狗,只是一條指令就行。如STC的單片機有軟體復位指令,即ISP_CONTR,地址在0E7H 單元(即str ISP_CONTR=0xE7),MOV ISP_CONTR,#00100000B(C語言為ISP_CONTR=0x20),內狗也是一條指令MOV WDT_CONTR,#00111100B!
STC 51系列單片機Datasheet中指出:傳統的8051 單片機由於硬體上未支持此功能,用戶必須用軟體模擬實現,實現起來較麻煩。現STC 新推出的增強型8051 根據客戶要求增加了ISP_CONTR 特殊功能寄存器,實現了此功能。用戶只需簡單的控制ISP_CONTR 特殊功能寄存器的其中兩位 SWBS / SWRST 就可以系統復位了。

辦法6:程序從頭(上電復位處)開始運行,且只有一個循環這種情況,當然可以用goto,如在main()的開頭設一個start:,在程序的唯一循環中設定一個條件,然後goto命令。但需要注意,如果是在中斷常式里,那麼中斷掛號寄存器仍置位,同級中斷不能執行。所以必須先使中斷掛號寄存器清零,EA = 0。只有RETI指令可以使中斷掛號寄存器清零。51單片機有兩級中斷優先順序,所以需要執行兩次RETI指令。這用匯編是很簡單的事,而C則比較難以實現。但是,goto命令盡量不要用,因為goto會到處亂竄,而且goto不能跑到函數外面去執行一個命令。

最後總結如下:最好使用辦法5最為簡潔方便,使用辦法2實現也不失為一種好方法

❸ AVR單片機中晶振校準如何實現怎麼測晶振是否校準

AVR本身功能只能校準片內RC吧,外部晶振本身就是一個基準,正常情況下偏差是很小的,可以通過兩端的電容微調。要完全校準只能通過一個外部基準時鍾來測出偏差值並記錄下來,再在軟體里根據偏差來調整
另外一般時鍾晶振偏差會小很多,32.768K或它的倍頻。

❹ 單片機怎麼進行軟體復位STC89C52

就從復位口引出一個按鍵和原來的復位開關並聯就可以了。
用其它IO做需要軟體配合,不通用。

❺ 單片機調試的方法和步驟是什麼

首先,了解硬體介面以及功能,以便於配置IO埠;
第二,根據硬體設計以及功能需要,編寫單片機程序;
第三,編譯程序,把程序燒寫到單片機中,或者鏈接debug調試器,在線對單片機進行模擬;
第四,在線模擬可以支持單步調試和斷點調試,測試單片機的軟體功能;
第五,如果出現問題,首先分析是軟體邏輯的問題,還是硬體方面的問題,以便於對症下葯;
最後,將軟體寫入單片機的flash中,將單片機加密,防止其他人竊取單片機內部代碼。

❻ 請問pic單片機怎麼軟體強行復位。請教

(1)兩邊都是輸入的話,那就是沒人去置高低電平,呈現三態里的高阻態。(2)如果左側單片機I/O是高或低電平,那右側是就相應的電平;如果左側單片機I/O是輸入或空接,那高阻態電平不確定你不就是用光耦嘛,使用上拉或下拉的方法使光耦輸入有一個確定電平就行了。即如你圖所示,光耦二極體輸入上方接上拉限流電阻到高電平,光耦二極體輸入下方接地,你的單片機I/O接到光耦的二極體輸入端(上拉電阻下方)即可。

❼ 溫度感測器PT100應用電路

溫度感測器PT100是一種穩定性和線性都比較好的鉑絲熱電阻感測器,可以工作在200℃ 至 650℃ 的范圍。本電路選擇其工作在 -19℃ 至 500℃ 范圍。

整個電路分為兩部分,一是感測器前置放大電路,一是單片機 A/D 轉換和顯示,控制,軟體非線性校正等部分。

前置放大部分原理圖如下: { pt100.date }

工作原理:

感測器的接入非常簡單,從系統的 5V 供電端僅僅通過一支 3K92 的電阻就連接到 PT100 了。這種接法通常會引起嚴重的非線性問題,但是 由於有了單片機的軟體校正作為後盾,因此就簡化了感測器的接入方式。

按照 PT100 的參數,其在 0℃ 到 500℃ 的區間內,電阻值為 100 至 280.9Ω,我們按照其串聯分壓的揭發,使用公式:Vcc/(PT100+3K92)* PT100 = 輸出電壓(mV),可以計算出其在整百℃時的輸出電壓。

❽ 軟體如何校正 單片機的電壓表

實際測量最有效的辦法,如果你的電路足夠穩定

閱讀全文

與單片機的軟體校正相關的資料

熱點內容
域外伺服器是什麼意思 瀏覽:637
大眾點評伺服器怎麼老卡頓 瀏覽:556
javavector與list的區別 瀏覽:313
java初始化類數組 瀏覽:302
java字元串轉換成json對象 瀏覽:647
android非阻塞socket 瀏覽:358
編譯系統概念 瀏覽:450
天眼通app能做什麼 瀏覽:555
魅族手機怎麼加密圖庫 瀏覽:8
rpa編譯器 瀏覽:570
車載雲伺服器記錄 瀏覽:738
四川金星壓縮機製造有限公司 瀏覽:53
移動平台圖片壓縮演算法 瀏覽:35
銀行項目java 瀏覽:569
怎樣將pdf轉換為ppt 瀏覽:595
純凈伺服器怎麼開服 瀏覽:286
比澤爾壓縮機如何換油 瀏覽:818
編譯鏈接如何生成exe 瀏覽:74
jre編譯運行環境 瀏覽:271
怎麼解壓鏡像系統 瀏覽:190