導航:首頁 > 操作系統 > 單片機OP

單片機OP

發布時間:2022-04-14 18:34:40

A. 什麼是單片機

單片機的幾部份

一、匯流排:我們知道,一個電路總是由元器件通過電線連接而成的,在模擬電路中 ,連連線並不成為一個問題,因為各器件間一般是串列關系,各器件之間的連線並不很 多,但計算機電路卻不一樣,它是以微處理器為核心,各器件都要與微處理器相連,各 器件之間的工作必須相互協調?所以就需要的連線就很多了,如果仍如同模擬電路一樣 ,在各微處理器和各器件間單獨連線線,則線的數量將多得驚人,所以在微處理機中引 入了匯流排的概念,各個器件共同享用連線,所有器件的8根數據線全部接到8根公用的線 上,即相當於各個器件並聯起來,但僅這樣還不行,如果有兩?器件同時送出數據,一 個為0,一個為1,那麼,接收方接收到的究竟是什麼呢?這種情況是是不允許的,所以 要通過控制線進行控制,使器件分時工作,任何時候只能有一個器件發送數據(可以有 多個器件同時接收)。器件的數據線也就被稱為數據匯流排,器件所有的控制線被稱 控制 匯流排。
在單片機內部或者外部存儲器及其它器件中有存儲單元,這些存儲單元要被分配 地址,才能 用,分配地址當?也是以電信號的形?給出的,由於存儲單元比較多,所以 ,用於地址分的線也較多,這些線被稱為地址匯流排。

二、數據、地址、指令:之所以將這三者放在一起,是因為這三者的本質都是一樣的—數字,或者說都是?串『0』和『1』組成的序列。換言之,地址、指令也都是數據 。指令由單片機晶元的設計者規定的一種數字,它與我們常用的指令助記符有著嚴格的 一一對應關,不可以由 單片機的開發者更改。地址:是尋找單片機內部、外部的存儲 單元、輸入輸出口的依據,內 單元的地址值已由芯?設計者規定好,不可更改,外部的 單元可以由單片機開發者自行決,但有一些地址單元是一定要有的(詳見程序的執行過 程)。數據:這是由微處理機處理的 象,在各種 不同的應用電路中各不相同,一般而言,被處理的數據可能有這么幾種情況:

1地址(如MOV DPTR,#1000H),即地址1000H送入DPTR。
2方式字或控制字(如MOV TMOD,#3),3即是控制字。
3常數(如MOV TH0,#10H)10H即定時常數。
4實際輸出值(如P1口接彩燈,要燈全亮,則執行指令:MOV P1,#0FFH,要燈全暗, 則執 兄 令:MOV P1,#00H)這里0FFH和00H都是實際輸出值。又如用於LED的字形碼,也是實 際?出的值。 理解了地址、指令的本質,就不難理解程序運行過程中為什麼會跑飛,會把數據當成指 令來 行了。

三、P0口、P2口和P3的第二功能用法 初學時往往對P0口、P2口和P3口的第二功能用法迷惑不解,認為第二功能和原功能之間 要有個切換的過程,或者說要有一條指令,事實?,各埠的第二功能完全是自動?,不需要?指令來轉換。如P3.6、P3.7分別是WR、RD信號,當微片理機外接RAM或有外部I/O口 時,它們揮作第二功能,不能作為通用I/O口使用,只要一微處理機一執行到MOVX指令,就會有相應的信號從 P3. 或P3.7送出,不需要事先用指令說明。事實上『不能作為通用I/O口使用』也並不是『不能?而是(使用者)『不會』將其作為通用I/O口使用。你完全可以在指令中按排一條S ETB P3.7的指令,並且當單片機執行到這條指令時,也會使P3.7變為高電平,但使用者不會 這么做,因為這通常這會導致系統當潰(即死機)。

四、程序的執行過程 單片機在通電復位後8051內的程序計數器(PC)中的值為『0000?,所以程序總是從『0000』單元開始執行,也就是說:在系統的ROM中一定要存在『0000』?個單元,並且在『0000』單元中存放的一定是一條指令。

五、堆棧 堆棧是一個區域,是用來存放數據的,這個區域本身沒有任何特殊之處,就是內部RAM的 一?份,特殊的是它存放和取用數據的方式,即所謂的『先進後出,後進先出』,並且 堆棧有特 的數據傳輸指令,即『PUSH』和甈OP』,有一個特殊的專為其服務的單元,即堆棧指 針SP 每當執一次 PUSH指令時,SP就(在原來值的基礎上)自動加1,每當執行一次POP指令,SP就(在原 來值基礎上)?動減1。由於SP中的值可以用指令加以改變,所以只要在程序開始階段更改了SP值,就可以把堆棧設置在規定的內存單元中,如在程序開始時?用一條MOV SP,#5FH指令,就時把堆棧設置在從內存單元60H開始的單元中。一般程序的開頭總有這 么?條設置堆棧指針的指令,因為開機時,SP的初始值為07H,這樣就使堆棧從08H單元 開始往後?8H到1FH這個區域正是8031的第二、三、四工作寄存器區,經常要被使用,這會造成 數?的渾亂。不? 作者編寫程序時,初始化堆棧指令也不完全相同,這是作者的習慣問 題。當設置好堆棧區?,並不意味著該區域成為一種專用內存,它還是可以象普通內存 區域一樣使用,只是一般情 下編程者不會把它當成?通內存用了。

六、單片機的開發過程 這里所說的開發過程並不是一般書中所說的從任務分析開始,我們假設已設計並製作好 硬體下面就是編寫軟體的工作。在編寫軟體之前,首先要確定一些常數、地址,事實?這些 常?、地址在設計階段已被直接或間接地確定下來了。如當某器件的連線設計好後,其 地址也就確定了,當 器件的功能被確定下來後,其控制字也就被確定了。然後用文本編緝器(如EDIT、CCED 等)寫軟體,編寫好後,用編譯器對源程序文件編譯,查錯,直到沒有語法錯誤,除了極簡 單?程序外,一般應用模擬機對軟體進行調試,直到程序運行正確為止。運行正確後, 就可以寫(將程序固 化在EPROM中)。在源程序被編譯後,生成了擴展名為HEX的目標文件,一般編程器能夠 識別種格式的文件,只要將此文件調入即可寫片。在此,為使大家對整個過程有個認識,舉 一?說明: ORG 0000H LJMP START ORG 040H START: MOV SP,#5FH ;設堆棧 LOOP: NOP LJMP LOOP ;循環 END

B. 單片機的開關檢測電路

外信號通過P2連接器引入OPEN1信號,從OP端有個上拉電阻R8來看,OPEN1信號有兩種狀態,一是低電平狀態,一是開路(或者高阻)狀態;
當輸入低電平時,OP就是低電平,當輸入高阻態時,因為有上拉電阻R8的作用,使得OP得到高電平(接近Vdd);
單片機就可以通過OP的電平狀態來判斷OPEN1的姿態了;

C. 單片機說明中 OTP ROM = 1KW (KW是什麼單位) OP/CP 是什麼

K是千的意思.
W是字長word的意思. word是存儲單位, 單片機不同,word可能不同,一般是10~16bit
1KW合起來就了1000字長

D. 什麼叫單片機

單片機的名詞解析我就不多說了,我說說它的結構吧
目前市面上單片機分幾種51系列(8位,最早被開發的系列)、AVR、PIC、ARM系列
51系列的典型實例就是80C51了,不過由於它不具備在線編程能力,已經淘汰,取而代之的是89S51,它內部集成了運算器、存儲器、輸入輸出單元,具有典型的馮諾依曼結構,簡單的說,它就是一台微型計算機,我們常稱之為微處理器(MCU)。
AVR單片機是ATmega公司推出的,具有哈佛結構的單片機,它具有預取值的功能,教傳統單片機來說,各個性能上都有所提升。
ARM則是新時代的產物,由於人們生活對處理器要求越來越高,對速度以及存儲容量還有片上外設要求越來越高,51等8位單片機已經遠不能滿足了,ARM公司推出的處理器核心,ARM系列處理器,被眾多的晶元製造商認可,並在ARM核心的基礎上加上了諸如AD轉換器,DMA控制器,串口,USB,網口,SD卡讀取介面,攝像頭介面等外設,設計並製造了許多優秀的ARM處理晶元,被廣泛應用與軍事航天等領域。我們生活中用的手機,裡面的主控CPU就是單片機,U盤裡面有單片機,數碼相機等,幾乎無處不在。
硬體設計工程師通過編寫單片機程序,對單片機的各種外設和寄存器進行操作,實現對單片機的控制,一般說來,單片機是可以燒寫程序的,也存在一次性燒寫的單片機。
差不多了吧,我想你應該了解了

E. 單片機OP I/T O/T分別表示什麼意思

通過配置選項或者寄存器選項來配置。在規格書的下方有標識。望採納

F. 單片機裡面的OP_OSC是什麼啊。在程序裡面怎麼去改動。

這個應該是類似其它MCU的熔絲位(fuse), 不是在程序代碼裡面的, 而是在燒寫程序的時候設置的一些選項. 你看看你的燒寫(下載)程序的界面裡面有沒有相關的內容讓你設定.

G. 51單片機是指什麼

單片機又稱MCU,微處理器,可以以用戶編寫的代碼實現高穩定運行而不需要人為監控,多用於控制,顯示,數字模擬信號處理!
創客學院介紹51是單片機的一種,51說的是單片機的內核,例如8051、STC都是51內核的不同系列單片機!當然除了51內核的還有其他的比如:arm,avr、PIC等!
while(--time);
指的是:time按指令周期遞減,直到time遞減到0,然後跳出while循環往下運行後面的指令,while(--time);也可用於延時,延時時間為 t=time*機器周期!

H. 單片機中 #define OP10(bit) if (bit) {P10=1;} else {P10=0;} 是什麼意思

意思是:如果編程時寫了「OP10(bit)」,那麼就等於在這里寫了「if (bit) {P10=1;} else {P10=0;}」,這是為了方便編寫程序的方法。例如,我寫「#define long 10」,而在程序中寫:
if(a==long){....}else{...}
if(b==long){....}else{...}
if(c==long){....}else{...}
if(d==long){....}else{...}
if(e==long){....}else{...}
如果這個程序有問題,long應該等於8,那麼我將」#define long 10「改為「#define long 8」,只用改一個地方,是不是很方便?
還是不懂你試試改下面的程序:
if(a==10){....}else{...}
if(b==10){....}else{...}
if(c==10){....}else{...}
if(d==10){....}else{...}
if(e==10){....}else{...}

I. PID調整中 P i D 各代表什麼(詳細) P值設大後, OP輸出是增大還是減小啊

PID控制器由比例單元(P)、積分單元(I)和微分單元(D)組成。

P值設大後, OP輸出是增大的。

1、比例P控制

比例控制是一種最簡單的控制方式。其控制器的輸出與輸入誤差信號成比例關系。當僅有比例控制時系統輸出存在穩態誤差。

2、積分I控制

為了消除穩態誤差,在控制器中必須引入「積分項」。積分項對誤差取決於時間的積分,隨著時間的增加,積分項會增大。

這樣,即便誤差很小,積分項也會隨著時間的增加而加大,它推動控制器的輸出增大使穩態誤差進一步減小,直到等於零。因此,比例+積分(PI)控制器,可以使系統在進入穩態後無穩態誤差。

3、微分D控制

在微分控制中,控制器的輸出與輸入誤差信號的微分(即誤差的變化率)成正比關系。

自動控制系統在克服誤差的調節過程中可能會出現振盪甚至失穩。其原因是由於存在有較大慣性組件(環節)或有滯後(delay)組件,具有抑制誤差的作用,其變化總是落後於誤差的變化。

解決的辦法是使抑制誤差的作用的變化「超前」,即在誤差接近零時,抑制誤差的作用就應該是零。具有比例+微分的控制器,就能夠提前使抑制誤差的控製作用等於零,甚至為負值,從而避免了被控量的嚴重超調。

所以對有較大慣性或滯後的被控對象,比例+微分(PD)控制器能改善系統在調節過程中的動態特性。




(9)單片機OP擴展閱讀:

PID的用途:

PID用途廣泛、使用靈活,已有系列化產品,使用中只需設定三個參數(Kp,Ti和Td)即可。在很多情況下,並不一定需要全部三個單元,可以取其中的一到兩個單元,但比例控制單元是必不可少的。

首先,PID應用范圍廣。雖然很多工業過程是非線性或時變的,但通過對其簡化可以變成基本線性和動態特性不隨時間變化的系統,這樣PID就可控制了。

其次,PID參數較易整定。也就是,PID參數Kp,Ti和Td可以根據過程的動態特性及時整定。如果過程的動態特性變化,例如可能由負載的變化引起系統動態特性變化,PID參數就可以重新整定。

第三,PID控制器在實踐中也不斷的得到改進

PID在控制非線性、時變、耦合及參數和結構不確定的復雜過程時,工作得不是太好。最重要的是,如果PID控制器不能控制復雜過程,無論怎麼調參數都沒用。

雖然有這些缺點,但簡單的PID控制器有時卻是最好的控制器。


閱讀全文

與單片機OP相關的資料

熱點內容
把文件夾設鎖 瀏覽:568
命令行語句 瀏覽:218
企友3e財務如何連接伺服器 瀏覽:984
華為手機如何刪除卸載app殘留數據 瀏覽:543
rpm的命令作用 瀏覽:365
如何查看網站的伺服器時間 瀏覽:850
編譯局和人民出版社 瀏覽:652
java泛型extends 瀏覽:326
頭條程序員教學 瀏覽:772
安卓合並什麼意思 瀏覽:530
linux在光碟引導 瀏覽:537
imap伺服器地址怎麼查 瀏覽:654
作曲教程pdf 瀏覽:506
pr怎麼壓縮文件大小 瀏覽:863
查看oracle字元集命令 瀏覽:179
鋰電池增加密度 瀏覽:661
linux用戶密碼忘記 瀏覽:242
gb壓縮天然氣 瀏覽:635
圖片拼接不壓縮app 瀏覽:670
我的世界如何編程 瀏覽:86