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

單片機2CF

發布時間:2025-07-14 14:21:57

1. 單片機 psw是什麼

程序狀態寄存器PSW。
程序狀態寄存器是計算機系統的核心部件——運算器的一部分,PSW用來存放兩類信息:一類是體現當前指令執行結果的各種狀態信息,如有無進位(CY位),有無溢出(OV位),結果正負(SF位),結果是否為零(ZF位),奇偶標志位(P位)等。
另一類是存放控制信息,如允許中斷(IF位),跟蹤標志(TF位)等。有些機器中將PSW稱為標志寄存器FR(Flag
Register)。
51單片機的PSW是一個8位寄存器,用來存放指令執行後的一些的狀態,通常由CPU來填寫,但是用戶也可以改變各狀態位的值。
(1)單片機2CF擴展閱讀
單片機技術的開發:
1、CPU開發。開發單片機中的CPU匯流排寬度,能夠有效完善單片機信息處理功能緩慢的問題,提高信息處理效率與速度,開發改進中央處理器的實際結構,能夠做到同時運行2-3個CPU,從而大大提高單片機的整體性能。
2、程序開發。嵌入式系統的合理應用得到了大力推廣,對程序進行開發時要求能夠自動執行各種指令,這樣可以快速准確地採集外部數據,提高單片機的應用效率。
3、存儲器開發。單片機的發展應著眼於內存,加強對基於傳統內存讀寫功能的新內存的探索,使其既能實現靜態讀寫又能實現動態讀寫,從而顯著提高存儲性能。
參考資料來源:網路-psw

2. tms320f28335片內存儲器一般包括哪些種類

tms320f28335片內存儲器一般包括SARAM,FLASH和OTP。

1、 TMS320F28335片上SARAM:

(1)在TMS320F28335晶元中,有34k×16位的單周期單址ram,分為M0、M1和l0-l7 10個塊。

(2)Mo和M1塊中的saram大小為1K×16位。重置後,堆棧指針指向M1塊的起始地址,堆棧指針向上增長。M0和M1段都可以映射到程序和數據區域。

(3)l0-l7塊中Salam的大小為4K×16位,可以映射到程序空間和數據空間,L0—L3可以映射到兩個不同的地址空間,並通過晶元上的Flash密碼保護,從而避免上述程序或數據的存在和其他人的非法復制。

2、TMS320F28335片上FLASH和OTP:

在TMS320F28335晶元上有256K×16位的嵌入式快閃記憶體和1K×16位的可編程EEPROM主存儲器,它們受片上快閃記憶體的密碼保護,快閃記憶體由8個32K×16位扇區組成,用戶可以擦除、編程和驗證任何扇區,而其他扇區保持不變,但是,不能在一個扇區上執行程序來擦除和編程其他扇區。

3、TMS320F28335外部存儲器介面:

(1)TMS32 F2335的外部存儲器介麵包括:20位地址線、16位(最大32位)數據線、3條晶元選擇控制線和讀寫控制線,這3個剪輯映射到3個存儲區域zone0、zone6和zone7,這三個存儲器可以分別設置不同的等待時間。

(2)分區0存儲區:0x004000-0x004fff,4K×16位,可編程至少一個等待周期。6區存儲區:0x1000000-0x1fff,1m×16位,10ns,至少一個等待周期,7區存儲區:0x200000-0x2fff,1m×16位,70ns,至少一個等待周期。

(2)單片機2CF擴展閱讀:

TMS320F28335主要特點:

1、基於TMS320F28335的浮點DSP控制器。

2、Ti公司主要推出高性能TMS320C28X系列DSP控制器,主頻可達150MHz。

3、具有I2C、SPI、ECAN、epwm等匯流排介面,適用於各種工業控制設備。

4、體積小,性能強,便攜性高,適用於各種手持設備。

5、滿足高低溫、振動和工業環境應用的要求。

3. 單片機指令

單片機指令功能一覽表
助記符 代碼 說明
MOV A,Rn E8~EF 寄存器A
MOV A,direct E5 dircet 直接位元組送A
MOV A,@Ri ER~E7 間接RAM送A
MOV A,#data 74 data 立即數送A
MOV Rn,A F8~FF A送寄存器
MOV Rn,dircet A8~AF dircet 直接位元組送寄存器
MOV Rn,#data 78~7F data 立即數送寄存器
MOV dircet,A F5 dircet A送直接位元組
MOV dircet,Rn 88~8F dircet 寄存器送直接位元組
MOV dircet1,dircet2 85 dircet1 dircet2 直接位元組送直接位元組
MOV dircet,@Ro 86~87 間接RAM送直接位元組
MOV dircet,#data 75 dircet data 立即數送直接位元組
MOV @Ri,A F6~F7 A送間接RAM
MOV @Ri,#data 76~77 data 直接位元組送間接RAM
MOV @Ri,#data 76~77 data 立即數送間接RAM
MOV DPTR,#data16 90 data 15~8 16位常數送數據指針
data7~0
MOVC A,@A+DPTR 93 由((A)+(DPTR))定址的程序存貯
器位元組選A
MOVC A,@A+PC 83 由((A)+(PC));定址的程序存貯器位元組送A
MOVX A,@Ri E2~E3 送外部數據(8位地址)送A
MOVX A,@DPTR E0 送外部數據(16位地址)送A
MOVX @Ri,A F2~F3 A送外部數據(8位地址)
MOVX @DPTR,A F0 A送外部數據(16位地址)
PUSH dircet C0 dircet 直接位元組進棧,SP加1
POP dircet D0 dircet 直接位元組退棧,SP減1
XCH A,Rn C8~CF 交換A和寄存器
XCH A,dircet C5 dircet 交換A和直接位元組
XCH A,@Ri C6~C7 交換A和間接RAM
XCH A,@Ri D6~D7 交換A和間接RAM的低位
SWAP A C4

算術操作 (A的二個半位元組交換)
ADD A,Rn 28~2F 寄存器加到A
ADD A,dircet 25 dircet 直接位元組加到A
ADD A,@Ri 26~27 間接RAM加到A
ADD A,#data 24data 立即數加到A
ADD A,Rn 38~3F 寄存器和進位位加到A
ADD A,dircet 35dircet 直接位元組和進位位加到A
ADD A,@Ri 36~37 間接位元組和進位位加到A
ADD A,data 34 data 立即數和進位位加到A
ADD A,Rn 98~9F A減去寄存器和進位位
ADD A,dircet 95 dircet A減去直接位元組和進位位
ADD A,@Ri 36~37 間接RAM和進位位加到A
ADD A,data 34 data 立即數和進位位加到A
SUBB A,Rn 98~9F A減去寄存器和進位位
SUBB A,dircet 95 dircet A減去直接位元組和進位位
SUBB A,@Ri 96~97 A減去間接RAM和進位位
SUBB A,#data 94 data A減去立即數和進位位
INC A 04 A加1
INC Rn 08~0F 寄存器加1
INC dircet 05 dircet 直接位元組加1
INC @Ri 06~07 間接RAM加1
DEC A 14 A減1
DEC Rn 18~1F 寄存器減1
DEC dircet 15 dircet 直接位元組減1
DEC @Ri 16~17 間接RAM減1
INC DPTR A3 數據指針加1
MUL AB A4 A乘以B
DIV AB 84 A除以B
DA A D4 A的十進制加法調整

邏輯操作
ANL A,Rn 58~5F 寄存器「與」到A
ANL A,dircet 55 dircet 直接位元組「與」到A
ANL A,@Ri 56~57 間接RAm「與」到A
ANL A,#data 54 data 立即數「與」到A
ANL dircet A 52 dircet A「與」到直接位元組
ANL dircet,#data 53 dircet data 立即數「與」到直接位元組
ORL A,Rn 48~4F 寄存器「或」到A
ORL A,dircet 45 dircet 直接位元組「或」到A
ORL A,@Ri 46~47 間接RAM「或」到A
ORL A,#data 44 data 立即數「或」到A
ORL dircet,A 42 dircet A「或」到直接位元組
ORL dircet,#data 43 dircet data 立即數「或」到直接位元組
XRL A,Rn 68~6F 寄存器「異或」到A
XRL A,dircet 65 dircet 直接位元組「異或」到A
XRL A,@Ri 66~67 間接RAM「異或」到A
XRL A,#data 64 data 立即數「異或」到A
XRL dircet A 62 dircet A「異或」到直接位元組
XRL dircet,#data 63 dircet data 立即數「異或」到直接位元組
CLR A E4 清零
CPL A F4 A取反
RL A 23 A左環移
RLC A 33 A通過進位左環移
RR A 03 A右環移
RRC A 13 A通過進位右環移

控製程序轉移
ACALL addr 11 *1 addr(a7~a0) 絕對子程序調用
LCALL addr 16 12 addr(15~8) 長子程序調用
addr(7~0)
RET 22 子程序調用返回
RETI addr 11 32 中斷調用返回
AJMP addr 11 △1 addr(a7~a6) 絕對轉移
LJMP addr 16 02addr(15~8) 長轉移
addr(7~0)
SJMP rel 80 rel 短轉移,相對轉移
JMP @A+DPTR 73 相對於DPTR間接轉移
JZ rel 60 rel A為零轉移
JNZ rel 70 rel A為零轉移
CJNE A,dircet,rel B5 dircet rel 直接位元組與A比較,不等則轉移
CJNE A,#data,rel B4 data rel 立即數與A比較,不等則轉移
CJNE A,Rn,#data,rel B8~BF data rel 立即數與寄存器比較,不等則轉移
CJNE @Ri,#data,rel B6~B7 data rel 立即數與間接RAM比較,不等則轉移
DJNZ Rn,rel D8~DF rel 寄存器減1,不為零則轉移
DJNZ dircet,rel B5 dircet rel 直接位元組減1,不為零則轉移
NOP 00 空操作
*=a10a9a8l
△=a10a9a80

布爾變數操作
CLR C C3 清零進位
CLR bit C2 清零直接位
SETB C D3 置位進位
SETB bit D2 置位直接位
CPL C B3 進位取反
CPL bit B2 直接位取反
ANL C,bit 82 dit 直接數「與」到進位
ANL C,/bit B0 直接位的反「與」到進位
ORL C,bit 72 bit 直接位「或」到進位
ORL C,/bit A0 bit 直接位的反「或」到進位
MOV C,bit A2 bit 直接位送進位
MOV bit,C 92 bit 進位送直接位
JC rel 40 rel 進位位為1轉移
JNC rel 50 rel 進位位為0轉移
JB bit,rel 20 bit rel 直接位為1相對轉移
JNB bit,rel 30 bit rel 直接位為0相對轉移
JBC bit,rel 10 bit rel 直接位為1相對轉移,然後清零該位

4. 單片機三種燒錄方式ISP,IAP和ICP的區別詳解

單片機ISP、IAP和ICP幾種燒錄方式的區別
玩單片機的都應該聽說過這幾個詞。一直搞不太清楚他們之間的區別。今天查了資料後總結整理如下。
ISP:In System Programing,在系統編程
IAP:In applicaTIng Programing,在應用編程
ICP:In Circuit Programing,在電路編程
ISP是指可以在板級上進行編程,也就是不用拆晶元下來,寫的是整個程序,一般是通過ISP介面線來寫。
IAP雖然同樣也是在板級上進行編程,但是是自已對自已進行編程,在應用中進行編程,也即可以只是更改某一部分而不影響系統的其它部分,另外介面程序是自已寫的,這樣可以進行遠程升級而不影響應用。
打個比喻吧:
1、ISP是把房子拆了再重造一間,那麼在造好之前當然是不能住人的啦!
2、IAP是在造好的房子里邊進行一些裝修,當然人可以繼續住啦!
ICP是在電路編程,是LPC晶元的編程方式,相當於ATMEL的ISP,而LPC的ISP就相當於ATMEL的IAP了。
ISP與IAP的區別
ISP:in system programming, 在系統編程
IAP: in applicaTIn programming 在應用編程
但兩者的操作方式,結果和應用場合有什麼區別
什麼是ISP:
用寫入器將code燒入,不過,晶元可以在目標板上,不用取出來,在設計目標板的時候就將介面設計在上面,所以叫「在系統編程」,即不用脫離系統;
什麼是IAP:
在應用編程,有晶元本身(或通過外圍的晶元)可以通過一系列操作將code寫入,比如一款支持Iap的單片機,內分3個程序區,1作引導程序區,2作運行程序區,3作下載區,晶元通過串口接收到下載命令,進入引導區運行引導程序,在引導程序下將new code內容下載到下載區,下載完畢並校驗通過後再將下載區內容復制到2區,運行復位程序,則Iap完成;
應用場合:
1,ISP 程序升級需要到現場解決,不過好一點的是不必拆機器了;
2,IAP 如果有網管系統的話,用網管下載一切搞定,人不用跑來跑去,
這可能是他們的優點或應用吧
在線編程目前有兩種實現方法:在系統編程(ISP)和在應用編程(IAP)。ISP一般是通過單片機專用的串列編程介面對單片機內部的Flash存儲器進行編程,而IAP技術是從結構上將Flash存儲器映射為兩個存儲體,當運行一個存儲體上的用戶程序時,可對另一個存儲體重新編程,之後將控制從一個存儲體轉向另一個。ISP的實現一般需要很少的外部電路輔助實現,而IAP的實現更加靈活,通常可利用單片機的串列口接到計算機的RS232口,通過專門設計的固件程序來編程內部存儲器。 ISP和IAP很相似,都是不需要把晶元從板子上拔出來,就達到了用PC-MCU的編程介面(JTAG、串口、雙絞線、SPI等)搞定新版本的升級的目的。MCU內部都是首先執行一段獨立的Boot代碼(這段Boot代碼一般是出廠預置,或使用編程器燒錄的,通常只有1k或4k,SST通常是佔用一塊獨立的Block,Philips通常是讓BootROM地址與其他Flash重疊,以達到隱藏的效果),Boot負責控制擦除程序存儲器及給程序存儲器編程的代碼(或是處理器外部提供的執行代碼),然後通過某種與PC計算機的通信方式(如,ether網口),將用戶指定的某個在PC上編譯完成的MCU可運行的二進制代碼文件編程入MCU內的程序存儲器。
ISP和IAP最大的不同是:由誰來觸發。
ISP有4種觸發方式:
1.由外部硬體電路:如VDD保持高電平,給RST連續3個脈沖;
2.檢測狀態位:如ISPEN,為0時PC指針從0000H開始執行;為1時,通過「引導向量」計算出「ISP代碼」的位置。每次復位後都會檢測該狀態位;
3.中止控制符信號觸發晶元復位:中止控制符信號就是指在非同步串列口的接收腳上出現長 達一幀長度的低電平,這里一幀的長度與非同步串列口的工作模式有關。
4.直接調用ISP:用戶程序也可以調用,但是很危險。
4種方式的目的是相同的——進入ISP子程序,比如Philips出廠的ISP子程序在1E00H-1FFFH,只要能引導PC指針指向1E00H就可以了。
而進入ISP代碼的目的是:進入BootROM。
IAP的觸發比較簡單一些,沒有外部觸發。通過一些指示位(SST為SC0/SC1、SFCF;Philips為一段IAP子程序,保存在FF00H~FFFFH地址空間中),達到引導到BootROM的目的。
殊途同歸,ISP、IAP所進入的BootROM裡面駐留的Boot代碼,才是最終目標。
最後一種:並行編程模式。不需要BootROM,直接設置晶元的多個引腳來讓晶元識別命令(如:擦除、寫入、驗證等),從P口傳地址、數據,就可以寫入Flash
用LPC2000的IAP,你自己分配好FLASH空間,指定一個BLOCK用來存放你的數據,然後通過IAP進行寫操作。每次開機後,從這個BLOCK讀你的數據。

5. 為什麼單片機中CJNE,JNB,JB這幾條指令可實現的轉移范圍是負的128到127

單片機跳轉指令解析

控制轉移類指令

條件轉移指令Jcc根據指定的條件確定程序是否發生轉移。如果滿足條件則程序轉移到目標地址去執行程序;不滿足條件,則程序將順序執行下一條指令。

其通用格式為:

Jcc LABEL ;條件滿足,發生轉移:IP?IP+8位位移量

;否則,順序執行:IP?IP+2 其中,LABEL表示目標地址(8位位移量)。因為Jcc指令為2個位元組,所以順序執行就是指令偏移指針IP加2。條件轉移指令跳轉的目標地址只能用前面介紹的段內短距離跳轉(短轉移),即目標地址只能是在同一段內,且在當前IP地址-128~+127個單元的范圍之內。這種定址方式由於是相對於當前IP 的,所以被稱為相對定址方式。條件轉移指令不影響標志,但要利用標志。條件轉移指令Jcc中的cc表示利用標志判斷的條件,共16種。如下圖:

1、判斷單個標志位狀態

這組指令單獨判斷5個狀態標志之一,根據某一個狀態標志是0或1決定是否跳轉。

(1)JZ/JE和JNZ/JNE利用零標志ZF,判斷結果是否為零(或相等)

JE指令(相等時轉移)

JZ指令(等於0時轉移)

這是當ZF=1時轉移到目標地址的條件轉移指令的兩種助記符。這條指令既適用於判斷無符號數的相等,又適用於判斷帶符號數的相等。

JNE指令(不相等轉移)

JNZ指令(不等於0轉移)

這是當ZF=0時能轉移到目標地址的條件轉移指令的兩種助記符。這條指令也是既適用於判斷無符號數,又適用於判斷帶符號數。

(2)JS和JNS利用符號標志SF,判斷結果是正是負。

JS指令(為負轉移)——當滿足SF=1時,轉移到目標地址

JNS指令(為正轉移)——滿足SF=0時,轉移到目標地址

(3)JO和JNO利用溢出標志,判斷結果是否產生溢出

JO指令(溢出轉移)——OF=1時,轉移到目標地址 JNO指令(未溢出轉移)——OF=0時,轉移到目標地址

(4)JP/JPE和JNP/JPO利用奇偶標志PF,判斷結果中「1」的個數是偶是奇

JP/JPE指令(為偶轉移)——滿足PF=1時轉移 JNP/JPO指令(為奇轉移)——滿足PF=0時轉移 數據通訊為了可靠常要進行校驗。常用的校驗方法是奇偶校驗,即把字元ASCII碼的最高位用作校驗位,是包括校驗位在內的字元中為「1」的個數恆為奇數(奇校驗),或恆為偶數(偶校驗)。若採用奇校驗,在字元ASCII中為「1」的個數已為奇數時,則令其最高位為「0」;否則令最高位為「1」。

(5)JC/JB/JNAE和JNC/JNB/JAE,利用進位標志CF,判斷結果是否進位或借位,CF標志是比較常用的一個標志。 JC——滿足CF=1時轉移 JNC——滿足CF=0時轉移

JB(低於轉移) JNB(不低於轉移) JNAE(不高於等於轉移) JAE(高於等於轉移) 2、用於比較無符號數高低為區別有符號數的大小,無符號數的大小用高(Above)、低(Below)表示,它需要利用CF確定高低、利用ZF標志確定相等(Equal)。兩數的高低分成4種關系:低於(不高於等於)、不低於(高於等於)、低於等於(不高於)、不低於等於(高於);也就分別對應4條指令:JB(JNAE)、 JNB(JAE)、JBE(JNA)、JNBE(JA)。 JA/JNBE

JA即高於轉移,JNBE即不低於且不等於轉移,高於則沒有進位產生,即CF=0,不等於則ZF=0,所以這兩條指令滿足CF=0且ZF=0時轉移

JAE/JNB

高於或等於轉移/不低於轉移是當CF=0(高於就不產生進位)或ZF=1(等於)時轉移。

JB/JNAE

即低於/不高於且不等於轉移,是當CF=1(產生借位)且ZF=0(不相等)時轉移。

JBE/JNA

即低於或等於/不高於轉移,是當CF=1(借位產生)或ZF=1(相等)時轉移。

3、用於比較有符號數大小

判斷有符號數的大(Greater)、小(Less),需要組合OF、SF標志、並利用ZF標志確定相等與否。兩數的大小分成4種關系:小於(不大於等於)、不小於(大於或等於)、小於等於(不大於)、不小於等於(大於);也就分別對應4條指令:JL(JNGE)、JNL(JGE)、JLE(JNG)、 JNLE(JG)。

由上可見,條件轉移指令之前常有CMP、TEST、加減運算、邏輯運算等影響標志的指令,利用這些指令執行後的標志或其組合狀態形成條件。

JG/JNLE

大於/不小於且不等於轉移,是當標志SF與OF同號(即<SF異或OF>=0)且ZF=0時轉移

JGE/JNL大於或等於/不小於轉移,是當標志SF與OF同號(即<SF異或OF>=0)或ZF=0時轉移

JL/JNGL

小於/不大於也不等於時轉移,是當標志SF與OF異號(即<SF異或OF>=1)且ZF=0時轉移

JLE/LNG

小於或等於/不大於轉移,是當標志SF與OF異號(即<SF異或OF>=1)或ZF=1時轉移

4、判斷計數器CX是否為0

JCXZ LABEL ;CX=0,則轉移;否則順序執行

閱讀全文

與單片機2CF相關的資料

熱點內容
android多行注釋的快捷鍵 瀏覽:866
java環境變數的作用 瀏覽:526
phpwebsocket擴展 瀏覽:17
會玩app怎麼把豬頭弄掉 瀏覽:93
戰地3怎麼換伺服器地址 瀏覽:474
qq郵箱app怎麼導出通訊錄 瀏覽:704
命令女主身體 瀏覽:969
java的注釋規范 瀏覽:862
華為mt40e怎麼刪app 瀏覽:91
java用到的技術 瀏覽:618
農行手機app怎麼更新版本 瀏覽:538
初中生程序員職業生涯道路 瀏覽:930
linux部署常用命令 瀏覽:386
博途一直正在編譯組態 瀏覽:433
安卓快手紅包標志不見了怎麼設置 瀏覽:315
mount命令用法 瀏覽:992
編譯原理怎麼畫狀態轉化圖 瀏覽:385
命令行怎麼讀拼音 瀏覽:343
異界爆肝程序員 瀏覽:604
電腦隱私文件加密方法和隱藏技巧 瀏覽:92