版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、80C51單片機(jī)引腳圖及引腳功能介紹首先我們來(lái)介紹一下單片機(jī)的引腳圖及引腳功能(如下圖所示),引腳的具體功能將在下面詳細(xì)介紹n.0P1.7RST/VmRXD/P3.Cm/F31一IFT0/F3.2INTT/F3.3T0/F3.4T1/F35而蹌6而F3T一XTAL1JITALE焰一EA/VftAU/PBDGF2TF26F2S一E24一FN3P22F21F20ViSXTAMXTAL2EST/VnEA/Vif+FSENALE/FROG+-二二二二<,L口,PSOC51口口口扣P2F3地址數(shù)據(jù)總線地址總鰻雙功能口單片機(jī)的40個(gè)引腳大致可分為4類(lèi):電源、時(shí)鐘、控制和I/O引腳。1. 電源:2.
2、VCC-芯片電源,接+5V;VSS-接地端;時(shí)鐘:XTAL1、XTAL2-晶體振蕩電路反相輸入端和輸出端。 控制線:控制線共有4根,ALE/PROG:地址鎖存允許/片內(nèi)EPRO陶程脈沖ALE功能:用來(lái)鎖存P0口送出的低8位地址PROG功能:片內(nèi)有EPROM勺芯片,在EPROMS程期間,此引腳輸入編程脈沖。PSEN:夕卜RO皿選通信號(hào)。RST/VPD:復(fù)位/備用電源。 RST(Reset)功能:復(fù)位信號(hào)輸入端。 VPD功能:在Vcc掉電情況下,接備用電源。EA/Vpp:內(nèi)外RO曜擇/片內(nèi)EPRO陶程電源。 EA功能:內(nèi)外ROM先擇端。 Vpp功能:片內(nèi)有EPROM勺芯片,在EPRO陶程期間,施加
3、編程電源Vpp。I/O線80C51共有4個(gè)8位并行I/O端口:P0、P1、P2、P3口,共32個(gè)引腳。P3口還具有第二功能,用于特殊信號(hào)輸入輸出和控制信號(hào)(屬控制總線)。拿到一塊單片機(jī),想要使用它,首先必須要知道怎樣去連線,我們用的一塊89C51的芯片為例,我們就看一下如何給它連線。1、電源:這當(dāng)然是必不可少的了。單片機(jī)使用的是5V電源,其中正極接40管腳,負(fù)極(地)接20管腳。2、振菰電路:?jiǎn)纹瑱C(jī)是一種時(shí)序電路,必須供給脈沖信號(hào)才能正常工作,在單片機(jī)內(nèi)部已集成了振蕩器,使用晶體振蕩器,接18、19腳。只要買(mǎi)來(lái)晶體震蕩器,電容,連上就能了,按圖1接上即可。3、復(fù)位管腳:按圖1中畫(huà)法連好,至于復(fù)
4、位是何含義及為何需要復(fù)要復(fù)位,在單片機(jī)功能中介紹。4、EA管腳:EA管腳接到正電源端。至此,一個(gè)單片機(jī)就接好,通上電,單片機(jī)就開(kāi)始工作了。我們的第一個(gè)任務(wù)是要用單片機(jī)點(diǎn)亮一只發(fā)光二極管LED,顯然,這個(gè)LED必須要和單片機(jī)的某個(gè)管腳相連,不然單片機(jī)就沒(méi)法控制它了,那么和哪個(gè)管腳相連呢?單片機(jī)上除了剛才用掉的5個(gè)管腳,還有35個(gè),我們將這個(gè)LED和1腳相連。(見(jiàn)圖1,其中R1是限流電阻)按照這個(gè)圖的接法,當(dāng)1腳是高電平時(shí),LED不亮,只有1腳是低電平時(shí),LED才發(fā)亮。因此要1腳我們要能夠控制,也就是說(shuō),我們要能夠讓1管腳按要求變?yōu)楦呋虻碗娖?。即然我們要控?腳,就得給它起個(gè)名字,總不能就叫它一腳
5、吧?叫它什么名字呢?設(shè)計(jì)已經(jīng)起好了,就叫它P1.0,這是規(guī)定,不能由我們來(lái)更改。51芯片的INTEL公司4?0*880310012345HIftIL-pppppp6?pp0123456722222222pppppppprl_w圖1單片機(jī)簡(jiǎn)易應(yīng)用電路圖單片機(jī)簡(jiǎn)易編程名字有了,我們又怎樣讓它變'高'或變'低'呢?叫人做事,說(shuō)一聲就能,這叫發(fā)布命令,要計(jì)算機(jī)做事,也得要向計(jì)算機(jī)發(fā)命令,計(jì)算機(jī)能聽(tīng)得懂的命令稱(chēng)之為計(jì)算機(jī)的指令。讓一個(gè)管腳輸出高電平的指令是SETS讓一個(gè)管腳輸出低電平的指令是CLR。因此,我們要P1.0輸出高電平,只要寫(xiě)SETBP1.0,要P1.0輸出低電
6、平,只要寫(xiě)CLRP1.0就能了?,F(xiàn)在我們已經(jīng)有辦法讓單片機(jī)去將P10輸出高或低電平了,但是我們?cè)鯓硬拍苡?jì)算機(jī)執(zhí)行這條指令呢?總不能也對(duì)計(jì)算機(jī)也說(shuō)一聲了事吧。要解決這個(gè)問(wèn)題,還得有幾步要走。第一,計(jì)算機(jī)看不懂SETBCLR之類(lèi)的指令,我們得把指令翻譯成計(jì)算機(jī)能懂的方式,再讓計(jì)算機(jī)去讀。計(jì)算機(jī)能懂什么呢?它只懂一樣?xùn)|西一一數(shù)字。因此我們得把SETBP1.0變?yōu)?D2H,90H),把CLRP1.0變?yōu)?C2H,90H),至于為什么是這兩個(gè)數(shù)字,這也是由51芯片的設(shè)計(jì)者-INTEL規(guī)定的,我們不去研究。第二步,在得到這兩個(gè)數(shù)字后,怎樣讓這兩個(gè)數(shù)字進(jìn)入單片機(jī)的內(nèi)部呢?這要借助于一個(gè)硬件工具"編
7、程器"。如果你還不知道是什么是編程器,我來(lái)介紹一下,就是把你在電腦上寫(xiě)出來(lái)來(lái)的代碼用匯編器等編譯器生成的一個(gè)目標(biāo)燒寫(xiě)到單片機(jī)的eprom里面去的工具,80c51這種類(lèi)型的單而目前最新的片機(jī)編程是一件很麻煩的事情,必要要先裝到編程器上編程后才能在設(shè)備上使用,89S51單片機(jī)居然在線編程(isp)功能,不用拔出來(lái)利用簡(jiǎn)單的電路就可以實(shí)現(xiàn)把代碼寫(xiě)入單片機(jī)內(nèi)部.我們將編程器與電腦連好,運(yùn)行編程器的軟件,然后在編緝區(qū)內(nèi)寫(xiě)入(D2H,90H)見(jiàn)圖2,寫(xiě)入?燈不亮?這就對(duì)了,因?yàn)槲覀儗?xiě)好,拿下片子,把片子插入做好的電路板,接通電源什么進(jìn)去的指令就是讓ADDRESSeoooooQo000000100
8、000002000(100030HEXASCIIFFFFFFFFFFFFFFFF-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF-FFFFFFFFFFFFFFFFFFFFFFFFFFFF-FFFFFFFFFFFFFFFFP10輸出高電平,燈當(dāng)然不亮,要是亮就錯(cuò)了。現(xiàn)在我們?cè)贀芟逻@塊芯片,重新放回到編程器上,將編緝區(qū)的內(nèi)容改為(C2H,90H),也就是CLRP1.0,寫(xiě)片,拿下片子,把片子插進(jìn)電路板,接電,好,燈亮了。因?yàn)槲覀儗?xiě)入的()就是讓P10輸出低電平的指令。這樣我們看到,硬件電路的連線沒(méi)有做任何改變,只要改變寫(xiě)入單片機(jī)中的
9、內(nèi)容,就能改變電路的輸出效果。MCS-51單片機(jī)的特殊功能寄存器5時(shí)鐘電路1ROMRAM定時(shí)/計(jì)茸器中央處理器7CPUROM1廠V'POPlP2P3串行接口TxD中斷系統(tǒng)INTOINTIMCS-51單片機(jī)結(jié)構(gòu)框圖從圖中我們可以看出,在51單片機(jī)內(nèi)部有一個(gè)CPU用來(lái)運(yùn)算、控制,有四個(gè)并行I/O口,分別是PO、P1、P2、P3,有ROM用來(lái)存放程序,有RAM用來(lái)存放中間結(jié)果,此外還有定時(shí)/計(jì)數(shù)器,串行I/O口,中斷系統(tǒng),以及一個(gè)內(nèi)部的時(shí)鐘電路。在一個(gè)51單片機(jī)的內(nèi)部包含了這么多的東西。對(duì)圖進(jìn)行進(jìn)一步的分析,我們已知,對(duì)并行I/O口的讀寫(xiě)只要將數(shù)據(jù)送入到相應(yīng)I/O口的鎖存器就可以了,那么對(duì)于
10、定時(shí)/計(jì)數(shù)器,串行I/O口等怎么用呢?在單片機(jī)中有一些獨(dú)立的存儲(chǔ)單元是用來(lái)控制這些器件的,被稱(chēng)之為特殊功能寄存器(SF0。事實(shí)上,我們已接觸過(guò)P1個(gè)個(gè)特殊功能寄存器了,還有哪些呢?看下表符號(hào)地址功能介紹BFOHB寄存器ACCEOH累加器.PSWDOH程序狀態(tài)字LPJB8H中斷優(yōu)先級(jí)控制寄存器P3jBOHP3口鎖存器EEA8H中斷允許控制寄存器P2AOHP2口鎖存器SBUF99H串行口鎖存器SCON98H串行口/制寄存器Pl90HP1口鎖存器TH1SDH定時(shí)器/計(jì)數(shù)器1高8位)THO;8CH定時(shí)器/計(jì)數(shù)器1(低8位)|TL18BH定時(shí)器/計(jì)數(shù)器0高8位)ILO8AH定時(shí)器/計(jì)數(shù)器0(低8位)TM
11、OD89H定時(shí)器/計(jì)數(shù)器方式控制寄存器TCON88H定時(shí)器/斗數(shù)器控制寄存器DPH83H數(shù)據(jù)地址指針(高8位)DPL82H數(shù)據(jù)地址指針低8位)SP81H堆棧指針PO80HP0口鎖存器PCON87H電源控制寄存器卜面,我們介紹一下幾個(gè)常用的SFR1、ACC-是累加器,通常用A表示。這是個(gè)什么東西,可不能從名字上理解,它是一個(gè)寄存器,而不是一個(gè)做加法的東西,ACC中的為什么給它這么一個(gè)名字呢?或許是因?yàn)樵谶\(yùn)算器做運(yùn)算時(shí)其中一個(gè)數(shù)一定是在緣故吧。它的名字特殊,身份也特殊,稍后在中篇中我們將學(xué)到指令,可以發(fā)現(xiàn),所有的運(yùn)算類(lèi)指令都離不開(kāi)它。自身帶有全零標(biāo)志乙若A=0則Z=1;若A乒0則z=0。該標(biāo)志常用
12、作程序分枝轉(zhuǎn)移的判斷條件。2、B-一個(gè)寄存器。在做乘、除法時(shí)放乘數(shù)或除數(shù),不做乘除法時(shí),隨你怎么用。3指針寄存器程序計(jì)數(shù)器PC指明即將執(zhí)行的下一條指令的地址,16位,尋址64KB范圍,復(fù)位時(shí)PC=0000H堆棧指針SP指明棧頂元素的地址,8位,可軟件設(shè)置初值,復(fù)位時(shí)SP=07H數(shù)據(jù)指針DPTRR0R1DPTR指明訪問(wèn)的數(shù)據(jù)存儲(chǔ)器的單元地址,16位,尋址范圍64KBDPTR=DPH+DPL。可以用它來(lái)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器中的任一單元,如果不用,也可以作為通用寄存器來(lái)用,由我們自已決定如何使用。分成DPL(低8位)和DPH倚8位)兩個(gè)寄存器。用來(lái)存放16位地址值,以便用間接尋址或變址尋址的方式對(duì)片外
13、數(shù)據(jù)RAM或程序存儲(chǔ)器作64K字節(jié)范圍內(nèi)的數(shù)據(jù)操作4、PSW-程序狀態(tài)字。這是一個(gè)很重要的東西,里面放了CPU工作時(shí)的很多狀態(tài),借此,我們可以了解CPU的當(dāng)前狀態(tài),并作出相應(yīng)的處理。它的各位功能請(qǐng)看下表:CY進(jìn)位標(biāo)志。8051中的運(yùn)算器是一種8位的運(yùn)算器,我們知道,8位運(yùn)算器只能表示到0-255,如果做加法的話,兩數(shù)相加可能會(huì)超過(guò)255,這樣最高位就會(huì)丟失,造成運(yùn)算的錯(cuò)誤,怎么辦?最高位就進(jìn)到這里來(lái)。這樣就沒(méi)事了。有進(jìn)、借位,C憐1;無(wú)進(jìn)、借位,CY=0例:78H+97H(01111000+10010111)AG輔助進(jìn)、借位(高半字節(jié)與低半字節(jié)間的進(jìn)、借位)。例:57H+3AH(0101011
14、1+00111010)下面我們逐一介紹各位的用途F0:用戶(hù)標(biāo)志位,由用戶(hù)(編程人員)決定什么時(shí)候用,什么時(shí)候不用。RS<RSO:工作寄存器組選擇位。這個(gè)我們已知了。0V:溢出標(biāo)志位。運(yùn)算結(jié)果按補(bǔ)碼運(yùn)算理解。有溢出,OV=1;無(wú)溢出,。壯0。什么是溢出我們后面的章節(jié)會(huì)講到。P:奇偶校驗(yàn)位:它用來(lái)表示ALU運(yùn)算結(jié)果中二進(jìn)制數(shù)位“1”的個(gè)數(shù)的奇偶性。若為奇數(shù),則P=1,否則為0。運(yùn)算結(jié)果有奇數(shù)個(gè)1,P=1;運(yùn)算結(jié)果有偶數(shù)個(gè)1,P=0。例:某運(yùn)算結(jié)果是78H(01111000),顯然1的個(gè)數(shù)為偶數(shù),所以P=0。5、P0、P1、P2、P3這個(gè)我們已經(jīng)知道,是四個(gè)并行輸入/輸出口的寄存器。它里面的內(nèi)
15、容對(duì)應(yīng)著管腳的輸出。IE:中斷允許控制寄存器寄存器地址A8H位尋址AFiA8H位地址AFAEADACABAAA9A8位符號(hào)EA/ET2ESET1EX1ET0EX0EA中斷允許總控制位當(dāng)EA=0時(shí),中斷總禁止。當(dāng)EA=1時(shí),中斷總允許后中斷的禁止與允許由各中斷源的中斷允許控制位進(jìn)行設(shè)置。EX0(EX1):外部中斷允許控制位當(dāng)EX0(EX1)=0禁止外中斷當(dāng)EX0(EX1)=1允許外中斷ET0(EX1D:定時(shí)/計(jì)數(shù)中斷允許控制位當(dāng)ET0(ET1)=0禁止定時(shí)(或計(jì)數(shù))中斷當(dāng)ET0(ET1)=1允許定時(shí)(或計(jì)數(shù))中斷ET2:定時(shí)器2中斷允許控制位,在AT89S52AT89C52中ES:申行中斷允許控
16、制位當(dāng)EA0禁止申行中斷當(dāng)EA1允許申行中斷IP:中斷優(yōu)先級(jí)控制寄存器寄存器地址B8H位尋址BFiB8H位地址BFBEBDBCBBBAB9B8位符號(hào)/PT2PSPT1PX1PT0PX0PXO-外部中斷0優(yōu)先級(jí)設(shè)定位PTO-時(shí)中斷0優(yōu)先級(jí)設(shè)定位PX"-外部中斷1優(yōu)先級(jí)設(shè)定位PT1一-時(shí)中斷1優(yōu)先級(jí)設(shè)定位ps-PT2-申口中斷優(yōu)先級(jí)設(shè)位7E時(shí)命2優(yōu)先級(jí)設(shè)7E位定時(shí)/計(jì)數(shù)器(1)定時(shí)器方式寄存器:TMOD(2)定時(shí)器控制寄存器:TCON(3)計(jì)數(shù)和器:THO8052/8032增設(shè)專(zhuān)用寄存器TL0;TH1、TL1??捎糜谠O(shè)定計(jì)數(shù)初值。(1)定時(shí)器2控制寄存器T2CON控制、設(shè)置工作方式。(2
17、)計(jì)數(shù)和器:TH2TL2(3)定時(shí)器2捕獲/重裝載寄存器:RCAP2HRCAP2L存放自動(dòng)重裝載到TH2TL2的數(shù)據(jù)TCON定時(shí)器控制寄存器寄存器地址88H,位尋址8F488H位地址8F8E8D8C8B8A8988位符號(hào)TF1TR1TF0TR0IE1IT1IE0IT0TF0(TF1)計(jì)數(shù)溢出標(biāo)志位,當(dāng)計(jì)數(shù)器計(jì)數(shù)溢出時(shí),該位置1TRO(TR1D定時(shí)器運(yùn)行控制位當(dāng)TRO(TR1D=0停止定時(shí)器/計(jì)數(shù)器工作當(dāng)TRO(TR1D=1啟動(dòng)定時(shí)器/計(jì)數(shù)器工作IE0(IE1)外中斷請(qǐng)求標(biāo)志位當(dāng)CPLK樣到P3.2(P3.3)出現(xiàn)有效中斷請(qǐng)求時(shí),此位由硬件置1。在中斷響應(yīng)完成后轉(zhuǎn)向中斷服務(wù)時(shí),再由硬件自動(dòng)活0。
18、ITO(IT1)外中斷請(qǐng)求信號(hào)方式控制位當(dāng)IT0(IT1)=1脈沖方式(后沿負(fù)跳有效)當(dāng)IT0(IT1)=0電平方式(低電平有效)此位由軟件置1或活0。TF0(TF1)計(jì)數(shù)溢出標(biāo)志位當(dāng)計(jì)數(shù)器產(chǎn)生計(jì)數(shù)溢出時(shí),此位由硬件置1。當(dāng)轉(zhuǎn)向中斷服務(wù)時(shí),再有硬件自動(dòng)活0。計(jì)數(shù)溢出的標(biāo)志位的使用有兩種情況:采用中斷方式時(shí),作中斷請(qǐng)求標(biāo)志位來(lái)使用;采用查詢(xún)方式時(shí),作查詢(xún)狀態(tài)位來(lái)使用。2富用誠(chéng)特率及其春敷逸探美系波特亭SMOD定時(shí)STIc/T模式初值方式O:lMHzFUMHzXi女TJXX方式2:375K12MHe1XXX方式12MH1102FFH19.2KILOSSMHt10ZFDH9*6Kl】.Q59MHz0
19、0-IFDH48KILQNMHm001KAH4K1J,05&MHz001¥F4HL2KlE05&MHz00E8H137.5K1L059MH2qIDHUOHf6MH10Q72HQH6MHe0:0iFEEBHTMOD工作方式控制寄存器寄存器地址89H,不可位尋址。位序B7B6B5B4B3B2B1B0位符號(hào)GATEC/TM1M0GATEC/TM1M0GATE-一門(mén)控位當(dāng)=0時(shí),以運(yùn)行TR0(或TR1)啟動(dòng)或禁止定時(shí)器、計(jì)數(shù)器當(dāng)=1時(shí),以TR07INT0(或TR1*/INT1)啟動(dòng)或禁止定時(shí)器、計(jì)數(shù)器GATE0以TRO(TR1)啟動(dòng)定時(shí)器GATE1以INT0(INT1)啟動(dòng)定
20、時(shí)器C/T=0定時(shí)/計(jì)數(shù)工作方式選擇位M1M0工作方式選擇位T2CON定時(shí)器控制寄存器寄存器地址0C8H位尋址0C840CFH位地址CFCECDCCCBCAC9C8位符號(hào)TF2EXF2RCLKTCLKEXEN2TR2C/T2CP/RL2TF2:T2溢出標(biāo)記當(dāng)T2溢出時(shí)TF2=1,TD2只能用軟件活除當(dāng)RCLK=TCL1時(shí),TF2將不置位EXF2T2外部標(biāo)記當(dāng)EXEN21時(shí),T2EX/P1.1引腳上的負(fù)跳變引起T2的捕捉/重裝操作,此時(shí)EXF星1。在T2中斷允許時(shí),EXF星1將引起中斷,EXF2只能用軟件活除。在T2的向上、向下計(jì)數(shù)模式下(DCE降1)EXF2的置位將不引起中斷。RCLK接收時(shí)鐘
21、允許當(dāng)RCLK=1時(shí),T2的溢出脈沖可用作申行口的接收時(shí)鐘信號(hào),適丁申行口模式1、3當(dāng)RCLK=0時(shí),T1的溢出脈沖用作申行口接收時(shí)鐘信號(hào)TCLK發(fā)送時(shí)鐘允許EXEN2T2外部事件(引起捕捉/重裝的外部信號(hào))允許當(dāng)EXEN21時(shí),如果T2沒(méi)有作申行時(shí)鐘輸出(即RCLK+TCLK=0,則在T2EX/P1.1引腳跳變將引起T2的捕捉/重裝操作;當(dāng)EXEN20時(shí),在T2EX引腳的負(fù)跳變將不起作用TR2T2的啟動(dòng)/停止控制C/T2:計(jì)數(shù)定時(shí)CP/RL2捕捉/重裝選擇當(dāng)CP/RLK1且EXEN21時(shí),T2EX/P1.1引腳的負(fù)跳變將引起捕捉操作當(dāng)CP/RLK0且EXEN21時(shí),T2EX/P1.1引腳的負(fù)
22、跳變將引起重裝操作當(dāng)CP/RLK0且EXEN20時(shí),T2的溢出將引起T2的自動(dòng)重裝操作當(dāng)RCLK+TCLK削,CP/RL2控制位不起作用,T2被強(qiáng)制工作丁重裝方式。重裝方式發(fā)生丁T2溢出時(shí),常用來(lái)作波特率發(fā)生器。T2MOD工作方式控制寄存器寄存器地址0C9H不可位尋址-一一一一T2OEDCENT2OE定時(shí)器2輸出允許位,當(dāng)=1時(shí),P1.0/T2引腳輸出連續(xù)脈沖信號(hào)DCEN當(dāng)=1時(shí),T2配置成向上向下計(jì)數(shù)器SCON串行口控制寄存器寄存器地址98H,位尋址9F498H位地址9F9E9D9C9B9A9998位符號(hào)SM0SM1SM2RENTB8RB8TIRI兩個(gè)選擇位對(duì)應(yīng)于四種狀態(tài),所以串行口能以四種
23、方式工作,(UART-異步通訊口)見(jiàn)表2-9。表2-9串行口操作方式選擇SM0SM1方式功能波特率000移位寄存器方式fosc/120118位UART可發(fā)1029位UARTfosc/64或fosc/321139位UART可變SM2多機(jī)通信控制位Mode0時(shí),SM2=0Mode1時(shí),若SM2=1且收到有效的停止位,WJRI=1(產(chǎn)生RI中斷),否則RI=0;Mode2或Mode3時(shí),若SM2=1且收到第九位為1,則RI=1(產(chǎn)生RI中斷),若第九位為0,則RI=0;REN允許/禁止申行口接收的控制位REN=1時(shí),允許接收,REN=0寸,禁止接收TB8:在方式2和方式3中,是被發(fā)送的第9位數(shù)據(jù),可
24、根據(jù)需要由軟件置1或活零,也可以作為奇偶校驗(yàn)位,在方式1中是停止位。RB8在方式2和方式3中,是被接收的第9位數(shù)據(jù)(來(lái)自第TB8位);在方式1中,RB8收到的是停止位,在方式0中不用。TI申行口發(fā)送中斷請(qǐng)求標(biāo)志位當(dāng)發(fā)送完一幀申行數(shù)據(jù)后,由硬件置1;在轉(zhuǎn)向中斷服務(wù)程序后,用軟件活0。RI申行口接收中斷請(qǐng)求標(biāo)志位當(dāng)接收完一幀串行數(shù)據(jù)后,由硬件置1;在轉(zhuǎn)向中斷服務(wù)程序后,用軟件清0。PCON電源控制器及波特率選擇寄存器字節(jié)地址=87H,不可位尋址SMOD-POFGF1GF0PDIDLSMOD一波特率倍增位GF1GF-一用戶(hù)通用標(biāo)記PD-一掉電方式控制位,Pt>1時(shí)進(jìn)入掉電模式IDL空閑方式控制
25、位,IDL=1時(shí)進(jìn)入空閑方式在AT89S51中PCON.也電源斷電標(biāo)記位POF上電是為1中斷編號(hào)中斷源中斷向量-上電復(fù)位0000H0外部中斷INT00003H1定時(shí)器0溢出000BH2外部中斷INT10013H3定時(shí)器1溢出001BH4申行口中斷0023H5定時(shí)器2溢出002BH在C51單片機(jī)編程中,頭文件INTRINS.H的函數(shù)使用起來(lái),就會(huì)讓你像在用編時(shí)一樣簡(jiǎn)便.內(nèi)部函數(shù)描述_crol_字符循環(huán)左移_cror_字符循環(huán)右移_irol_整數(shù)循環(huán)左移_iror_整數(shù)循環(huán)右移_lrol_長(zhǎng)整數(shù)循環(huán)左移_lror_長(zhǎng)整數(shù)循環(huán)右移_nop_空操作8051NOP指令_testbit_測(cè)試并活零位805
26、1JBC指令函數(shù)名:_crol_,_irol_,_lrol_原型:unsignedchar_crol_(unsignedcharval,unsignedcharn);unsignedint_irol_(unsignedintval,unsignedcharn);unsignedint_lrol_(unsignedintval,unsignedcharn);舉例:_crol_,_cror_:將char型變量循環(huán)向左(右)移動(dòng)指定位數(shù)后返回_testbit_:相當(dāng)丁JBCbitvar測(cè)試該位變量并跳轉(zhuǎn)同時(shí)活除。chkfloat:測(cè)試并返回源點(diǎn)數(shù)狀態(tài)。就是匯編中的子函數(shù)_crol_,_cror_:如
27、國(guó)二進(jìn)制數(shù)為01010101那么_crol_(1)左移1位后將高位補(bǔ)低位。結(jié)果10101010。功能:_crol_,_irol_,_lrol_以位形式將val左移n位,該函數(shù)與8051“RLA指令相關(guān),上面幾個(gè)函數(shù)不同丁參數(shù)類(lèi)型。例:#include<intrins.h>main()unsignedinty;C-51程序設(shè)計(jì)37y=0x00ff;y=_irol_(y,4);函數(shù)名:_cror_,_iror_,_lror_原型:unsignedchar_cror_(unsignedcharval,unsignedcharn);unsignedint_iror_(unsignedint
28、val,unsignedcharn);unsignedint_lror_(unsignedintval,unsignedcharn);功能:_cror_,_iror_,_lror_以位形式將val右移n位,該函數(shù)與8051“RRA指令相關(guān),上面幾個(gè)函數(shù)不同丁參數(shù)類(lèi)型例:#include<intrins.h>main()(unsignedinty;y=0x0ff00;y=_iror_(y,4);函數(shù)名:_nop_原型:void_nop_(void);功能:_nop_產(chǎn)生一個(gè)NOP指令,該函數(shù)可用作C程序的時(shí)間比較。C51編譯器在_nop_函數(shù)工作期間不產(chǎn)生函數(shù)調(diào)用,即在程序中直接執(zhí)行
29、了NOP指令。例:P()=1;_nop_();P()=0;函數(shù)名:_testbit_原型:bit_testbit_(bitx);功能:_testbit_產(chǎn)生一個(gè)JBC指令,該函數(shù)測(cè)試一個(gè)位,當(dāng)置位時(shí)返回1,否則返回0。如果該位置為1,則將該位復(fù)位為0。8051的JBC指令即用作此目的。_testbit_只能用丁可直接尋址的位;在表達(dá)式中使用是不允許的。在C51單片機(jī)編程中,頭文件INTRINS.H的函數(shù)使用起來(lái),就會(huì)讓你像在用匯編時(shí)一樣簡(jiǎn)便.內(nèi)部函數(shù)描述_crol_字符循環(huán)左移_cror_字符循環(huán)右移_irol_整數(shù)循環(huán)左移_iror_整數(shù)循環(huán)右移_lrol_長(zhǎng)整數(shù)循環(huán)左移_lror_長(zhǎng)整數(shù)循環(huán)右移_nop_空操作8051NOP指令_testbit_測(cè)試并活零位8051JBC指令函數(shù)名:_crol_,_irol_,_lrol_原型:unsignedchar_crol_(unsignedcharval,unsignedcharn);unsignedint_irol_(u
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 耳石癥的家庭護(hù)理要點(diǎn)
- 2025-2026學(xué)年廣東深圳紅嶺中學(xué)九年級(jí)(上)期中考化學(xué)試題含答案
- 中介員工管理與制度
- 2025九年級(jí)歷史上冊(cè)第六單元資本主義制度的初步確立第19課法國(guó)大革命和拿破侖帝國(guó)習(xí)題課件新人教版
- 2025至2030中國(guó)跨境電商市場(chǎng)運(yùn)營(yíng)分析及未來(lái)潛力與商業(yè)模式研究報(bào)告
- 中小學(xué)消防培訓(xùn)課件
- 2025至2030城市建設(shè)規(guī)劃產(chǎn)業(yè)人口流動(dòng)與基礎(chǔ)設(shè)施需求預(yù)測(cè)報(bào)告
- 中國(guó)經(jīng)濟(jì)學(xué)研究的文化屬性
- 2026年鹽城市公安局大豐分局公開(kāi)招聘警務(wù)輔助人員9人備考題庫(kù)(情報(bào)指揮中心、巡特警大隊(duì))有答案詳解
- 工業(yè)軟件云化轉(zhuǎn)型趨勢(shì)評(píng)估及垂直行業(yè)解決方案與訂閱制商業(yè)模式研究
- 不同時(shí)代的流行音樂(lè)
- 醫(yī)療衛(wèi)生機(jī)構(gòu)6S常態(tài)化管理打分表
- 幾種常用潛流人工濕地剖面圖
- vpap iv st說(shuō)明總體操作界面
- 2023人事年度工作計(jì)劃七篇
- LY/T 1692-2007轉(zhuǎn)基因森林植物及其產(chǎn)品安全性評(píng)價(jià)技術(shù)規(guī)程
- GB/T 20145-2006燈和燈系統(tǒng)的光生物安全性
- 長(zhǎng)興中學(xué)提前招生試卷
- 安全事故案例-圖片課件
- 螺紋的基礎(chǔ)知識(shí)
- 蜂窩煤成型機(jī)課程設(shè)計(jì)說(shuō)明書(shū)
評(píng)論
0/150
提交評(píng)論