Ⅰ 簡述51單片機程序載入步驟
但編輯程序在載入的時候,它的步驟其實非常簡單,這個你可以直接按一下它的載入按鈕。
Ⅱ 單片機上電時內部各個存儲器狀態
首先單片機復位也分別幾種:掉電再通電,按復位按鈕,程序復位,通過外部介面復位。
各晶元的復位電路大同小異,這里以51系列單片機為例,上電後,保持RST一段高電平時間,就能達到上電復位的操作目的。
常見的復位電路如下:
1.掉電再通電,這里就視為冷啟動吧
這種情況下單片機的復位操作使單片機進入初始化狀態,其中包括使程序計數器PC=0000H,這表明程序從0000H地址單元開始執行。單片機冷啟動後,片內RAM為隨機值,特殊功能寄存器復位後的狀態為確定值,具體可參考相應單片機的說明書。
2.按復位按鈕
這種情況下單片機的復位操作也會使程序計數器PC=0000H,程序重新從 0000H 地址執行,但是與第1種情況不同的是,片內RAM為復位前的狀態值,也就是說,運行中的復位操作不改變片內RAM區中的內容。而特殊功能寄存器復位後的狀態為確定值,具體可參考相應單片機的說明書。
51單片機復位後特殊功能寄存器的初始值
特殊功能寄存器 初始值 特殊功能寄存器 初始值
ACC 00H TCON 00H
B 00H TMOD 00H
PSW 00H TL0 00H
SP 07H TH0 00H
DPTR 0000H TL1 00H
P0~P3 FFH TH1 00H
PCON 0XXX 0000B T2CON 00H
AUXR XXX0 0XX0B T2MOD XXXX XX00B
AUXR1 XXXX XXX0B RCAP2L 00H
IE 0X00 0000B RCAP2H 00H
IP XX00 0000B TL2 00H
SCON 00H TH2 00H
SBUF XXXX XXXXXB WDTRST XXXX XXXXB
表中部分符號的含義如下:
PSW=00H:表明復位後自動選擇第0組工作寄存器組為當前工作寄存器組
SP=07H:表明堆棧指針指向片內RAM07H單元,堆棧的壓入操作為先加後壓,所以第一個被壓入的數據存放在08H單元中
P0~P3=FFH:表明各埠寫入1,此時各埠既可作輸入口,也可以作輸出口
AUXR=XXX0 0XX0:表明ALE引腳在CPU不訪問外部存儲器期間有脈沖信號輸出
AUXR1=XXXX XXX0:表明選擇DPTR0作數據指針
IE=00H:表明各中斷均關閉
TCON=00H:表明T0,T1 均被停止
SCON=00H:表明串口處於方式0,允許發送,不允許接收
PCON=00H:表明SMOD=0,波特率不加倍。PD=0,IDL=0,單片機處於正常工作方式。
3.程序復位
這種情況下單片機的復位操作由程序內部控制,功能要視乎程序的編寫。例如我們可以操作使程序計數器PC=0000H,同時
添加RAM初始化程序,清0或置1,同時設置某些特殊寄存器的值,或者其他操作,總之這是一種軟體操控的復位,功能可靈活控制。
4.外部介面復位待研究。
P.S.
1.什麼是冷啟動?熱啟動呢?
冷啟動就是在不加電的情況下啟動系統,熱啟動就是在加電的情況下重啟系統!
例子:
冷啟動是之直接按下電源開關啟動計算機。
熱啟動是之在已開機的狀態下在開始菜單中選擇重新啟動計算機,這叫做熱啟動。
Ⅲ 單片機程序載入不進去什麼原因
1:軟體沒有設置好!具體怎麼設置,請提供單片機類型和下載軟體
2:硬體電路問題,比如跳帽的連接,或者一些故障!
Ⅳ c51單片機復位電路的工作原理
如S22復位鍵按下時:RST經1k電阻接VCC,獲得10k電阻上所分得電壓,形成高電平,進入「復位狀態」
當S22復位鍵斷開時:RST經10k電阻接地,電流降為0,電阻上的電壓也將為0,RST降為低電平,開始正常工作
(4)單片機載入態擴展閱讀:
復位電路是一種用來使電路恢復到起始狀態的電路設備,它的操作原理與計算器有著異曲同工之妙,只是啟動原理和手段有所不同。復位電路,就是利用它把電路恢復到起始狀態。就像計算器的清零按鈕的作用一樣,以便回到原始狀態,重新進行計算。
和計算器清零按鈕有所不同的是,復位電路啟動的手段有所不同。一是在給電路通電時馬上進行復位操作;二是在必要時可以由手動操作;三是根據程序或者電路運行的需要自動地進行。復位電路都是比較簡單的大都是只有電阻和電容組合就可以辦到了,再復雜點就有三極體等配合程序來進行了。
單片機復位電路主要有四種類型:
(1)微分型復位電路:
(2)積分型復位電路:
(3)比較器型復位電路:
比較器型復位電路的基本原理。上電復位時,由於組成了一個RC低通網路,所以比較器的正相輸入端的電壓比負相端輸入電壓延遲一定時間.而比較器的負相端網路的時間常數遠遠小於正相端RC網路的時間常數。
因此在正端電壓還沒有超過負端電壓時,比較器輸出低電平,經反相器後產生高電平.復位脈沖的寬度主要取決於正常電壓上升的速度.由於負端電壓放電迴路時間常數較大,因此對電源電壓的波動不敏感.但是容易產生以下二種不利現象:
(1)電源二次開關間隔太短時,復位不可靠:
(2)當電源電壓中有浪涌現象時,可能在浪涌消失後不能產生復位脈沖。
為此,將改進比較器重定電路,如圖9所示.這個改進電路可以消除第一種現象,並減少第二種現象的產生.為了徹底消除這二種現象,可以利用數字邏輯的方法和比較器配合,設計的比較器重定電路。此電路稍加改進即可作為上電復位和看門狗復位電路共同復位的電路,大大提高了復位的可靠性。
Ⅳ 單片機有哪幾種工作狀態
單片機有哪幾種?
好多好多種。
Ⅵ 單片機有幾種輸出狀態是非高即低嗎
單片機輸出口有三種狀態:高,低,高阻。可以使用兩個輸出口完成這個功能。
Ⅶ 51單片機狀態字寄存器如何使用
在單片機中狀態寄存器PSW是一個用了比較多的寄存器,除了D1位空著外,其它的7位都要使用,其中D7位Cy,是進(借)位位,當做加法或減法時,進位標志和借位標志都是由它來表示.當位和位之間相互傳送時也不能少了它,必須要經它中轉.
D6位Ac位是輔助進位標志,當做加法或減法時由第四位向第五位進位或借位時,它會被置1.它也用於十進制調整(DA
A).
D5位是用戶標志位,當程序因某種原因"跑偏"後,用戶可以用它來標志程序該從哪兒開始執行.不重復已經執行過的指令.
D4、D3位合在一塊兒,指明工作寄存器的組別,這主要用於比較復雜一些的程序,R0組寄存器不夠用的情況下用到R1、R2、R3組的寄存器時要用到這二位。
D2位OV是溢出標志,當運算的結果超出-127~+128時它會置1,表示運算出錯。
D0位是奇偶標志位,它隨時隨地都在檢測A累加器中「1」的奇偶。當奇數時置「1」反之,清零。這一功能主要用與發送數據時,作奇偶校驗,可以防止傳輸出錯。
一般編程中用的最多的是Cy位,對應的指令是JC,JNC
Ⅷ 什麼是引導程序載入器為什麼單片機上會有有什麼用
實際上就是Bootloader,
1,自啟動模式:在這種模式下,bootloader從目標機上的某個固態存儲設備上將操作系統載入到RAM中運行,整個過程並沒有用戶的介入。
2,交互模式:在這種模式下,目標機上的bootloader將通過串口或網路等通行手段從開發主機(Host)上下載內核映像等到RAM中。可以被bootloader寫到目標機上的固態存儲煤質中,或者直接進入系統的引導。也可以通過串口接收用戶的命令。
Ⅸ 單片機中如何使用狀態寄存器STATUS
很少直接讀取、判斷,一般都通過間隔的方式在用,而且用的很頻繁。
加法、進位是最典型的。大於一個字長的加法指令,低位字加法直接加,之後的字,都需要用帶進位的加法,這個進位,就是存在狀態寄存器中,用戶不需要判斷這個進位標志。由加法指令直接產生,帶進位加法指令使用。同樣,減法、乘法、除法,以及各種運算指令都會根據設定的規則去影響不同的標志位,這些標志位都存在狀態寄存器。
另外,條件跳轉的跳轉條件判斷,實際上就是判斷各種狀態位的狀態,比如如果a大於b則跳轉,實際上就是先執行a-b,根據結果設置進位,然後根據進位是否置位來跳轉。一般,進位標志置位,說明有借位,即a小於b,如果無進位標志,則說明 a大於等於b。
其他還有一些標志,表示CPU當前狀態的,需要具體的晶元具體的分析了。
結論,如果不使用匯編語言編程,狀態寄存器了解一下就可以,大部分的細節都是在自動運轉的,用戶不需要很明白。如果用匯編,那要看每條指令的時候,一定要看清楚,它是怎麼根據結果設置狀態寄存器的,指令手冊裡面都會列出來的。