![C51單片機引腳功能與特殊功能寄存器詳解_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/db9c3c35-1cfb-4eca-9e4a-9a48638f6e90/db9c3c35-1cfb-4eca-9e4a-9a48638f6e901.gif)
![C51單片機引腳功能與特殊功能寄存器詳解_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/db9c3c35-1cfb-4eca-9e4a-9a48638f6e90/db9c3c35-1cfb-4eca-9e4a-9a48638f6e902.gif)
![C51單片機引腳功能與特殊功能寄存器詳解_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/db9c3c35-1cfb-4eca-9e4a-9a48638f6e90/db9c3c35-1cfb-4eca-9e4a-9a48638f6e903.gif)
![C51單片機引腳功能與特殊功能寄存器詳解_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/db9c3c35-1cfb-4eca-9e4a-9a48638f6e90/db9c3c35-1cfb-4eca-9e4a-9a48638f6e904.gif)
![C51單片機引腳功能與特殊功能寄存器詳解_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/db9c3c35-1cfb-4eca-9e4a-9a48638f6e90/db9c3c35-1cfb-4eca-9e4a-9a48638f6e905.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、C51 單片機引腳功能與特殊功能寄存器詳解51單片機引腳圖及引腳功能介紹首先我們來介紹一下單片機的引腳圖及引腳功能(如下圖所示),引腳的具體功能將在下面詳細介紹F1 2 F1 3 P1F1F1.E TF1 7 84039303735353433SOC5L 32HID/P3.0 TID/P3. 1 商盯P冬2 MT/P3. 3 T0/F3. 4 T1/P3.5 WR/P3. £ RD/F3. 7 HAL1 10111213141E161716ITAI219313029SS2720£S24232221VccFO.OFD.iFD.2FD.3F0.4PD.5fO BPD.7EA/V
2、nmmDC一瓦亟T-2.TF2 BP2.5FE.QYZ.ZP2.1F2.D口P3雙功能口單片機的40個引腳大致可分為4類:電源、時鐘、控制和I/O 引腳。1. 電源:VCC -芯片電源,接+5V;VSS -接地端;2. 時鐘:XTAL1 XTAL2 -晶體振蕩電路反相輸入端和輸出端3. 控制線:控制線共有4根,ALE/PROG地址鎖存允許/片內(nèi)EPRO編程脈沖 ALE功能:用來鎖存P0 口送出的低8位地址 PROG功能:片內(nèi)有EPRO的芯片,在EPRO編程期間,此引腳輸 入編程脈沖。PSEN夕卜ROM讀選通信號。RST/VPD:復(fù)位/備用電源。 RST( Reset)功能:復(fù)位信號輸入端。 V
3、PD功能:在Vcc掉電情況下,接備用電源。EA/Vpp:內(nèi)外ROM選擇/片內(nèi)EPRO編程電源。 EA功能:內(nèi)外ROM選擇端。 Vpp功能:片內(nèi)有EPRO的芯片,在EPRO編程期間,施加 編程電源 Vpp。4. I/O 線51共有4個8位并行I/O端口: PO、P1、P2、P3 口,共32個引 腳。P3 口還具有第二功能,用于特殊信號輸入輸出和控制信號(屬 控制總線)。拿到一塊單片機, 想要使用它,首先必須要知道怎樣去連線,我 們用的一塊 51 的芯片為例,我們就看一下如何給它連線。1、電源:這當(dāng)然是必不可少的了。單片機使用的是 5V 電源, 其 xx 正極接 40 管腳,負極(地)接 20 管
4、腳。2、振蒎電路: 單片機是一種時序電路,必須供給脈沖信號才能正常 工作,在單片機內(nèi)部已集成了振蕩器,使用晶體振蕩器,接18、19腳。只要買來晶體震蕩器,電容,連上就能了,按圖 1 接上即可。3、復(fù)位管腳: 按圖 1xx 畫法連好,至于復(fù)位是何含義及為何需要復(fù) 要復(fù)位,在單片機功能 xx 介紹。4、EA管腳:EA管腳接到正電源端。 至此,一個單片機就接好,通 上電,單片機就開始工作了。我們的第一個任務(wù)是要用單片機點亮一只發(fā)光二極管LED顯然,這個LED必須要和單片機的某個管腳相連,不然單片機就沒法控制它 了,那么和哪個管腳相連呢?單片機上除了剛才用掉的 5 個管腳, 還 有35個,我們將這個L
5、ED和 1腳相連。(見圖1,其中R1是限流電 阻)按照這個圖的接法,當(dāng)1腳是高電平時,LED不亮,只有1腳是 低電平時,LED才發(fā)亮。因此要1腳我們要能夠控制,也就是說,我 們要能夠讓 1 管腳按要求變?yōu)楦呋虻碗娖健?即然我們要控制 1 腳,就 得給它起個名字,總不能就叫它一腳吧?叫它什么名字呢?設(shè)計 51芯片的INTEL公司已經(jīng)起好了,就叫它P1.0,這是規(guī)定,不能由我 們來更改。01 *3456700000000 ppppp PPPIX.314J%二S_T、11-3 #4 123 4 5 t- 7 22222222 ppppp ppp圖1單片機簡易應(yīng)用電路圖單片機簡易編程名字有了,我們又怎
6、樣讓它變'高'或變'低'呢?叫人做事,說一聲就能,這叫發(fā)布命令,要計算機做事,也得要向計算機發(fā)命令,計 算機能聽得懂的命令稱之為計算機的指令。 讓一個管腳輸出高電平的 指令是SETB讓一個管腳輸出低電平的指令是 CLR因此,我們要P1.0輸出高電平,只要寫SET田1.0,要P1.0輸出低電平,只要寫CLRP1.0就能了?,F(xiàn)在我們已經(jīng)有辦法讓單片機去將 P10輸出高或低電平了,但是 我們怎樣才能計算機執(zhí)行這條指令呢?總不能也對計算機也說一聲 了事吧。要解決這個問題,還得有幾步要走。第一,計算機看不懂SETB CLR之類的指令,我們得把指令翻譯 成計算機能懂的方式,
7、 再讓計算機去讀。 計算機能懂什么呢?它只懂 一樣xx數(shù)字。因此我們得把 SETB P1.0變?yōu)椋―2H,90H ),把 CLR P1.0變?yōu)?(C2H,90H ),至于為什么是這兩個數(shù)字,這也是由 51 芯片的設(shè)計者 -INTEL 規(guī)定的,我們不去研究。第二步, 在得到這兩個數(shù)字后, 怎樣讓這兩個數(shù)字進入單片機的 內(nèi)部呢?這要借助于一個硬件工具 "編程器 "。如果你還不知道是什么 是編程器, 我來介紹一下, 就是把你在電腦上寫出來來的代碼用匯編 器等編譯器生成的一個目標(biāo)燒寫到單片機的 eprom里面去的工具, 80c51 這種類型的單片機編程是一件很麻煩的事情,必要要先裝
8、到編 程器上編程后才能在設(shè)備上使用, 而目前最新的 89s51 單片機居然在 線編程( isp )功能,不用拔出來利用簡單的電路就可以實現(xiàn)把代碼 寫入單片機內(nèi)部 .我們將編程器與電腦連好, 運行編程器的軟件, 然后在編緝區(qū)內(nèi) 寫入(D2H,90H見圖2,寫入好,拿下片子,把片子插入做好 的電路板,接通電源什么?燈不亮?這就對了,因為我們寫進去 的指令就是讓 圖 2P10輸出高電平,燈當(dāng)然不亮,要是亮就錯了?,F(xiàn)在我們再撥下 這塊芯片,重新放回到編程器上,將編緝區(qū)的內(nèi)容改為(C2H,90H, 也就是CLR P1.0,寫片,拿下片子,把片子插進電路板,接電,好, 燈亮了。因為我們寫入的()就是讓 P
9、10輸出低電平的指令。這樣我 們看到,硬件電路的連線沒有做任何改變,只要改變寫入單片機中的 內(nèi)容,就能改變電路的輸出效果。MCS-51單片機的特殊功能寄存器時理電路ROMRAM定時/計聲器中央處理器CPUROM串行捲口EP3UP21中新系統(tǒng)MCS-51單片機結(jié)構(gòu)眶從圖中我們可以看出,在51單片機內(nèi)部有一個CPU用來運算、 控制,有四個并行I/O 口,分別是PO、P1、P2、P3,有ROM用來存 放程序,有RAM用來存放中間結(jié)果,此外還有定時/計數(shù)器,串行 I/O 口,xx系統(tǒng),以及一個內(nèi)部的時鐘電路。在一個 51單片機的內(nèi) 部包含了這么多的XX。對圖進行進一步的分析,我們已知,對并行 I/O
10、口的讀寫只要將數(shù)據(jù)送入到相應(yīng)I/O 口的鎖存器就可以了,那么 對于定時/計數(shù)器,串行I/O 口等怎么用呢?在單片機中有一些獨立 的存儲單元是用來控制這些器件的,被稱之為特殊功能寄存器(SFR 事實上,我們已接觸過P1這個特殊功能寄存器了,還有哪些呢?看 下表1符號地址功能介紹BFQHB寄存器ACCEOH舉加器PSWDOH程序狀態(tài)字B8H中斷優(yōu)先級控制寄存器P3BOHP3 口鎖存器fE中斷允許控制寄存器1AOHP2 口鎖存器SBOT99H串行口鎖存器一|SCON98H串行口控制寄存器PlboiJP1 口鎖存器|thi8DH定時器/計數(shù)器1高8位)THO8CH是時器/計數(shù)器1 C低g位)TL18B
11、H定時器/計數(shù)器0高8位甸8ah定時器/計數(shù)器08位TMOD89H定時器/計數(shù)器方式控制寄存器TCON88H定時器/計數(shù)器控制寄存器DPH83H數(shù)據(jù)地址指針(高8位DPL82H數(shù)據(jù)地址指針(f£8位SP81H堆棧指針1PO80HP0 口鎖存器CON87H更源控制寄下面,我們介紹一下幾個常用的 SFR。1、 ACC-是累加器,通常用 A 表示。這是個什么 xx ,可不能從名字 上理解,它是一個寄存器,而不是一個做加法的 XX,為什么給它這 么一個名字呢?或許是因為在運算器做運算時其中一個數(shù)一定是在 ACC中的緣故吧。它的名字特殊,身份也特殊,稍后在中篇中我們將 學(xué)到指令,可以發(fā)現(xiàn),所有
12、的運算類指令都離不開它。自身帶有全零 標(biāo)志乙若A= 0則Z= 1若AM0則z = 0。該標(biāo)志常用作程序分枝 轉(zhuǎn)移的判斷條件。2、 B- 一個寄存器。在做乘、除法時放乘數(shù)或除數(shù),不做乘除法時, 隨你怎么用。3 指針寄存器( 1)程序計數(shù)器 PC指明即將執(zhí)行的下一條指令的地址,16位,尋址64KB范圍, 復(fù)位時 PC = 0000H( 2)堆棧指針 SP指明棧頂元素的地址, 8位,可軟件設(shè)置初值,復(fù)位時 SP = 07H ( 3)數(shù)據(jù)指針 DPTRRO R、1 DPTR指明訪問的數(shù)據(jù)存儲器的單元地址,16位,尋址 范圍64KB DPTR = DPH + DPL可以用它來訪問外部數(shù)據(jù)存儲器中的任一單
13、元,如果不用,也可以作為通用寄存器來用,由我們自已決 定如何使用。 分成DPL(低8位)和DPH高8位)兩個寄存器。用來存 放16位地址值,以便用間接尋址或變址尋址的方式對片外數(shù)據(jù)RAM或程序存儲器作64K字節(jié)范圍內(nèi)的數(shù)據(jù)操作4、PSW 程序狀態(tài)字。這是一個很重要的 xx,里面放了 CPU 工作時的很多狀態(tài),借此,我們可以了解CPU勺當(dāng)前狀態(tài),并作出相 應(yīng)的處理。它的各位功能請看下表:CY進位標(biāo)志。8051中的運算器是一種8位的運算器,我們知 道,8位運算器只能表示到0-255,如果做加法的話,兩數(shù)相加可能 會超過255,這樣最高位就會丟失,造成運算的錯誤,怎么辦?最高 位就進到這里來。這樣就
14、沒事了。有進、借位,CY= 1;無進、借位,CY= 0例:78H+97H(01111000+10010111AC輔助進、借位(高半字節(jié)與低半字節(jié)間的進、借位)。例:57H+3AH( 01010111+00111010D7D6D5D4ACBDRSID3D2DIDORSO_P下面我們逐一介紹各位的用途F0:用戶標(biāo)志位,由用戶(編程人員)決定什么時候用,什么時候不用RS1 RS0工作寄存器組選擇位。這個我們已知了。0V:溢出標(biāo)志位。運算結(jié)果按補碼運算理解。有溢出,0V=1無溢出,OV= 0。什么是溢出我們后面的章節(jié)會講到。P:奇偶校驗位:它用來表示 ALU運算結(jié)果中二進制數(shù)位“的個數(shù)的 奇偶性。若為
15、奇數(shù),則P=1,否則為0。運算結(jié)果有奇數(shù)個1, P= 1; 運算結(jié)果有偶數(shù)個1, P= 0。例:某運算結(jié)果是78H(01111000),顯然1的個數(shù)為偶數(shù),所以P=0b5、P0 P1、P2、P3-這個我們已經(jīng)知道,是四個并行輸入/ 輸出口的寄存器。它里面的內(nèi)容對應(yīng)著管腳的輸出。IE : xx允許控制寄存器寄存器地址 A8H 位尋址 AFH- A8H位地 址AFAEADACABAAA9A8位符號EA/ET2ESET1EX1ET0EX0EA: xx允許總控制位當(dāng)EA=0時,xx總禁止。當(dāng)EA=1時,xx總允許后xx的禁止與允許由各xx源的xx允 許控制位進行設(shè)置。EXO( EX1):外部xx允許控
16、制位當(dāng)EXO( EX1)= 0禁止外xx當(dāng)EXO ( EX1)= 1允許外xxETO(EXI):定時/計數(shù)xx允許控制位當(dāng)ETO (ET1)= 0 禁止定時(或計數(shù))xx當(dāng)ETO (ET1)= 1 允許定時(或計數(shù))xxET2:定時器2xx允許控制位,在 AT89S52 AT52xxES:串行xx允許控制位當(dāng)ES= O禁止串行xx當(dāng)ES= 1 允許串行xxIP : xx優(yōu)先級控制寄存器寄存器地址 B8H 位尋址BFH- B8H位地址BFBEBDBCBBBAB9B8位符號/PT2PSPT1PX1PTOPXOPXO外部xxO優(yōu)先級設(shè)定位PT 定時xxO優(yōu)先級設(shè)定位PX1外部xx1優(yōu)先級設(shè)定位PT1
17、定時xx1優(yōu)先級設(shè)定位PS串口 xx優(yōu)先級設(shè)定位PT2定時器2優(yōu)先級設(shè)定位定時/計數(shù)器(1) 定時器方式寄存器:TMOD(2) 定時器控制寄存器:TCON(3) 計數(shù)寄存器:THQ TLO; TH1 TL1??捎糜谠O(shè)定計數(shù)初值。8052/8032增設(shè)專用寄存器(1) 定時器2控制寄存器T2CON控制、設(shè)置工作方式(2) 計數(shù)寄存器:TH2 TL2(3) 定時器2捕獲/重裝載寄存器:RCAP2H RCAP存放自動重裝載到TH2 TL2的數(shù)據(jù)TCON定時器控制寄存器寄存器地址88H,位尋址8FH 88Ho位地8F8E8D8C8B8A8988址位符號TF1TR1TFOTROIE1IT1IEOITOT
18、FO(TFI)計數(shù)溢出標(biāo)志位,當(dāng)計數(shù)器計數(shù)溢出時,該位置1TRO( TR1)定時器運行控制位當(dāng)TRO (TR1) = 0停止定時器/計數(shù)器工作當(dāng)TRO (TR1) = 1啟動定時器/計數(shù)器工作IE0 (IE1 )外中斷請求標(biāo)志位當(dāng)CPU采樣到P3.2 (P3.3 )出現(xiàn)有效XX請求時,此位由硬件置1。在xx響應(yīng)完成后轉(zhuǎn)向xx服務(wù)時,再由硬件自動清0。ITO (IT1 )外中斷請求信號方式控制位當(dāng)ITO (IT1 ) =1脈沖方式(后沿負跳有效)當(dāng)ITO (IT1 ) = O電平方式(低電平有效)此位由軟件置 1 或清O。TFO (TF1 )計數(shù)溢出標(biāo)志位當(dāng)計數(shù)器產(chǎn)生計數(shù)溢出時,此位由硬件置1。
19、當(dāng)轉(zhuǎn)向xx服務(wù)時,再有硬件自動清O。計數(shù)溢出的標(biāo)志位的使用有兩種情況:米用xx方式時,作xx請求標(biāo)志位來使用;采用查詢方式時,作查 詢狀態(tài)位來使用。«6 2常用波特塞及其4MS選樣關(guān)毎辟SMOD1c/Y模式初值方式OjMfizXXXX方式12MHr1XXX方式 k3:62. 5Kl2MHr10EFFH19 2K102FDH95K1LD5$MHz002FDH4.SK1!002KAH2、1K1 .00;JF4H】Kn G泅】技0Qi 2E&H】3譏5Klh 059MHz002IDHIWHeu血27£H1 -Hr5MHz001FEFBHTMOD工作方式控制寄存器寄存器地址
20、89H,不可位尋址位序B7B6B5B4B3B2B1B0位符號GATEC/TM1M0GATEC/TM1M0GATE門控位當(dāng)=0時,以運行TRO (或TR1)啟動或禁止定時器、計數(shù)器當(dāng)=1時,以TRO*/INTO (或TR1*/INT1 )啟動或禁止定時器、計數(shù)器GATE= 0 以TRO( TR1)啟動定時器GAT匡1 以INTO (INT1)啟動定時器C/T = 0定時/計數(shù)工作方式選擇位M0工作方式選擇位T2CO N定時器控制寄存器寄存器地址0C8H位尋址0C8H- OCFH位地 址CFCECDCCCBCAC9C8位符號TF2EXF2RCLKTCLKEXEN2TR2C/T2CP/RL2TF2:
21、 T2溢出標(biāo)記當(dāng)T2溢出時TF2= 1, TD2只能用軟件清除當(dāng)RCLK=1或 TCLK= 1時,TF2將不置位EXF2 T2外部標(biāo)記當(dāng)EXEN2 1時,T2EX/P1.1引腳上的負跳變引起 T2的捕捉/ 重裝操作,此時 EXF2= 1。在T2xx允許時,EXF2= 1將引起xx, EXF2只能用軟件清除。在T2的向上、向下計數(shù)模式下(DCE* 1) EXF2的置位將不引起xx。RCLK接收時鐘允許當(dāng)RCLQ 1時,T2的溢出脈沖可用作串行口的接收時鐘信號,適于串行口模式1、3當(dāng)RCLQ 0時,T1的溢出脈沖用作串行口接收時鐘信號TCLK發(fā)送時鐘允許EXEN2 T2外部事件(引起捕捉/重裝的外
22、部信號)允許當(dāng)EXEN2 1時,如果T2沒有作串行時鐘輸出(即RCLK+TCLK=O,則在T2EX/P1.1引腳跳變將引起T2的捕捉/重裝操作;當(dāng)EXEN2 0時,在T2EX引腳的負跳變將不起作用TR2: T2的啟動/停止控制C/T2:計數(shù)定時CP/RL2:捕捉/重裝選擇當(dāng)CP/RL2= 1且EXEN2 1時,T2EX/P1.1引腳的負跳變將引起捕捉操作當(dāng)CP/RL2= 0且EXEN2 1時,T2EX/P1.1引腳的負跳變將引起重裝操作當(dāng)CP/RL2= 0且EXEN2 0時,T2的溢出將引起T2的自動重裝操作當(dāng)RCLK+TCLK=tf, CP/RL2控制位不起作用,T2被強制工作于重裝方式。重
23、裝方式發(fā)生于T2溢出時,常用來作波特率發(fā)生器。T2MOD工作方式控制寄存器寄存器地址0C9H不可位尋址一一一一T2OEDCENT2OE定時器2輸出允許位,當(dāng)=1時,P1.0/T2引腳輸出連續(xù)脈沖信號DCE”當(dāng)=1時,T2配置成向上向下計數(shù)器SCON串行口控制寄存器寄存器地址98H,位尋址9FH 98Ho位地址9F9E9D9C9B9A9998位符號SM0SM1SM2RENTB8RB8TIRISM0 SM1串行口工作方式選擇位兩個選擇位對應(yīng)于四種狀態(tài),所以串行口能以四種方式工作,(UART-異步通訊口)見表2-9。|表27串行口抹作方式選擇SMO SM1方式功能00移位寄存器汁式fb 胡 1201
24、13 位 UAR.T刊空1029 位 UARLTfosc/64 或 fagc/321139 位 UAKTSM2多機通信控制位? Mode 0 時,SM2=0? Model時,若SM2=1且收到有效的停止位,貝卩RI=1 (產(chǎn)生Rlxx), 否則Rl=0;? Mode2或Mode3時,若SM2=1且收到第九位為1,貝卩Rl=1 (產(chǎn) 生Rlxx),若第九位為0,貝S Rl=0;REN允許/禁止串行口接收的控制位REN=1時,允許接收,REN=(時,禁止接收TB8:在方式2和方式3xx,是被發(fā)送的第9位數(shù)據(jù),可根據(jù)需要由 軟件置1或清零,也可以作為奇偶校驗位,在方式 1xx是停止 位。RB8在方式
25、2和方式3xx,是被接收的第9位數(shù)據(jù)(來自第TB8位); 在方式1xx, RB8收到的是停止位,在方式0xx不用。TI串行口發(fā)送中斷請求標(biāo)志位當(dāng)發(fā)送完一幀串行數(shù)據(jù)后,由硬件置1;在轉(zhuǎn)向XX服務(wù)程序后,用軟件清0。RI串行口接收中斷請求標(biāo)志位當(dāng)接收完一幀串行數(shù)據(jù)后,由硬件置1;在轉(zhuǎn)向xx服務(wù)程序后,用軟件清0。PCON電源控制器及波特率選擇寄存器字節(jié)地址=87H不可位尋址SMOD-POFGF1GF0PDIDLSMO波特率倍增位GF1 GF0用戶通用標(biāo)記PD一一掉電方式控制位,PD= 1時進入掉電模式IDL 空閑方式控制位,IDL=1時進入空閑方式在AT89S51xxPCON.是電源斷電標(biāo)記位 P
26、OF 上電是為1中斷編號中斷源中斷向量-上電復(fù)位0000H0外部中斷INT00003H1定時器0溢出000BH2外部中斷INT10013H3定時器1溢出001BH4串行口中斷0023H5定時器2溢出002BH在C51單片機編程中,頭文件INTRINS.H的函數(shù)使用起來,就會 讓你像在用編時一樣簡便.內(nèi)部函數(shù)描述_crol_字符循環(huán)xx_cror_字符循環(huán)右移_irol_ 整數(shù)循環(huán)xxror_整數(shù)循環(huán)右移_lrol_ 長整數(shù)循環(huán)xxror_ 長整數(shù)循環(huán)右移_nop_空操作8051 NOP指令_testbit_測試并清零位8051 JBC指令函數(shù)名:_crol_ ,rol_ ,rol_原 型: u
27、nsigned char _crol_(unsigned char val,unsignedchar n);un sig ned int _irol_( un sig ned int val,u nsig ned char n);un sig ned int _lrol_( un sig ned int val,u nsig ned char n);舉例:_crol_,_cror_ :將 char 型變量循環(huán)向左 ( 右)移動指定位數(shù)后返 回_testbit_ : 相當(dāng)于 JBCbitvar 測試該位變量并跳轉(zhuǎn)同時清除。_chkfloat_ : 測試并返回源點數(shù)狀態(tài)。就是匯編中的子函數(shù)。_cr
28、ol_,_cror_ :如國二進制數(shù)為 01010101 那么 _crol_(1) xx1 位后 將高位補低位。結(jié)果 10101010。功 能: _crol_ , _irol_ , _lrol_ 以位形式將 val xxn 位,該函數(shù)與8051 “ RLA指令相關(guān),上面幾個函數(shù)不同于參數(shù)類型。 例:#include <intrins.h> main() unsigned int y;C-5 1 程序設(shè)計 37 y=0x00ff;y=_irol_(y,4);函數(shù)名: _cror_ ,_iror_ ,_lror_原 型: unsigned char _cror_(unsigned ch
29、ar val,unsigned charn);unsigned int _iror_(unsigned int val,unsigned char n);unsigned int _lror_(unsigned int val,unsigned char n);功能:_cror_ ,ror_ ,ror_以位形式將val右移n位,該函數(shù) 與8051 “ RRA指令相關(guān),上面幾個函數(shù)不同于參數(shù)類型。例:#include <intrins.h>main()unsigned int y;y=0x0ff00;y=_iror_(y,4);函數(shù)名: _nop_原 型: void _nop_(vo
30、id);功能: _nop_產(chǎn)生一個NOP指令,該函數(shù)可用作C程序的時間比較。C51編譯器在_門0卩_函數(shù)工作期間不產(chǎn)生函數(shù)調(diào)用,即在程序中直接 執(zhí)行了 NOP指令。例:P()=1;_nop_();P()=0;函數(shù)名: _testbit_原 型: bit _testbit_(bit x);功 能: _testbit_ 產(chǎn)生一個 JBC 指令,該函數(shù)測試一個位,當(dāng)置位 時返回 1,否則返回 0。如果該位置為 1,則將該位復(fù)位為 0。8051 的 JBC 指令即用作此目的。 _testbit_ 只能用于可直接尋址的位;在表 達式中使用是不允許的。在C51單片機編程中,頭文件INTRINS.H的函數(shù)使
31、用起來,就會 讓你像在用匯編時一樣簡便 .內(nèi)部函數(shù) 描述_crol_ 字符循環(huán) xx_cror_ 字符循環(huán)右移_irol_ 整數(shù)循環(huán) xx_iror_ 整數(shù)循環(huán)右移_lrol_ 長整數(shù)循環(huán) xx_lror_ 長整數(shù)循環(huán)右移_nop_ 空操作 8051 NOP 指令_testbit_ 測試并清零位 8051 JBC 指令函數(shù)名: _crol_ , _irol_ , _lrol_原 型: unsigned char _crol_(unsigned char val,unsigned charn);unsigned int _irol_(unsigned int val,unsigned char n);unsigned int _l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代企業(yè)如何通過公關(guān)活動吸引目標(biāo)客戶
- 理論與實踐在文化傳承中尋求創(chuàng)新發(fā)展
- 國慶節(jié)鮮奶活動方案策劃
- Module5 Unit1 He is playing the suona,but the phone rings(說課稿)-2023-2024學(xué)年外研版(三起)英語六年級下冊
- 8《上課了》說課稿-2023-2024學(xué)年道德與法治一年級上冊統(tǒng)編版001
- 2023九年級數(shù)學(xué)上冊 第23章 圖形的相似23.4 中位線說課稿 (新版)華東師大版
- 9 知法守法 依法維權(quán) 說課稿 -2023-2024學(xué)年道德與法治六年級上冊(統(tǒng)編版)
- 2024年四年級英語上冊 Module 4 The world around us Unit 11 Shapes說課稿 牛津滬教版(三起)
- Unit8 I can do this for you 第三課時(說課稿)-2024-2025學(xué)年譯林版(三起)(2024)英語三年級上冊
- 3 光的傳播會遇到阻礙嗎 說課稿-2024-2025學(xué)年科學(xué)五年級上冊教科版
- 城市基礎(chǔ)設(shè)施修繕工程的重點與應(yīng)對措施
- GB 12710-2024焦化安全規(guī)范
- 2022年中考化學(xué)模擬卷1(南京專用)
- 【??途W(wǎng)】2024秋季校園招聘白皮書
- 2024-2025銀行對公業(yè)務(wù)場景金融創(chuàng)新報告
- 新加坡小學(xué)二年級英語試卷practice 2
- 小學(xué)五年級英語20篇英文閱讀理解(答案附在最后)
- 2023年遼寧鐵道職業(yè)技術(shù)學(xué)院高職單招(英語)試題庫含答案解析
- GB/T 23800-2009有機熱載體熱穩(wěn)定性測定法
- T-SFSF 000012-2021 食品生產(chǎn)企業(yè)有害生物風(fēng)險管理指南
- 水庫工程施工組織設(shè)計
評論
0/150
提交評論