8051是一種8位元的單芯片微控制器,屬于MCS-51單芯片的一種,由英特爾公司于1981年制造。INTEL公司將MCS51的核心技術授權給了很多其它公司,所以有很多公司在做以8051為核心的單片機,如Atmel、飛利浦、深聯華等公司,相繼開發了功能更多、更強大的兼容產品。
8051單芯片是同步式的順序邏輯系統,整個系統的工作完全是依賴系統內部的時脈信號,用以來產生各種動作周期及同步信號。在8051單片機中已內建時鐘產生器,在使用時只需接上石英晶體諧振器(或其它振蕩子)及電容,就可以讓系統產生正確的時鐘信號。
8051單片微型計算機簡稱為單片機,又稱為微型控制器,是微型計算機的一個重要分支。單片機是70年代中期發展起來的一種超大規模集成電路芯片,是集成CPU、RAM、ROM、I/O接口和中斷系統于同一硅片上的器件。80年代以來,單片機發展迅速,各類新產品不斷涌現,出現了許多高性能新型型號,現已逐漸成為工廠自動化和各控制領域的支柱產業之一。
8051特殊功能寄存器基礎詳解
程序狀態寄存器PSW是計算機系統的核心部件—控制器的一部分,可位尋址,字節地址為D0H,單元地址是D0H~D7H。
PSW寄存器結構
各控制位功能介紹如下:
1)CY:進位標志位,作用有兩種:(1)算術運算中進位或借位時,CY=1。(2)作為布爾代數位處理的累加器。
2)AC:輔助進位標志位,算術運算時低半字節有進位或借位時,AC=1。
3)F0:通用標志位
4)RS1:寄存器組選擇位高位,RS1與RS0選擇四組工作寄存器,每組分別為8個寄存器(R0~R7),如RS1=0、RS0=0,則R0~R7對地址為00H~07H,如RS1=0、RS0=1,則R0~R7對地址為08H~0FH,四組寄存器地址從00H~1FH。5)RS0:寄存器組選擇位低位。
6)OV:溢出標志位,當進行正負號數值的加減運算時,如結果超出7位或2的補碼(+27至-128)時,OV=1
7)USR:用戶定義標志位,保留。
8)P:奇偶標志位,當累加器中有奇數個1,則P=1;偶數個1,則P=0.在串行傳輸時可用來檢測傳送是否有錯
PCON寄存器
PCON主要是為CHMOS型單片機的電源控制而設置的專用寄存器,在CHMOS型單片機中,除SMOD位外,其他位均為虛設的,SMOD是串行口波特率倍增位,當SMOD=1時,串行口波特率加倍。系統復位默認為SMOD=0。單元地址是87H,其結構格式如下:
PCON電源管理寄存器結構
各控制位功能介紹如下:
1)SMOD:該位與串口通信有關。SMOD=0;串口方式1,2,3時,波特率正常。SMOD=1;串口方式1,2,3時,波特率加倍。
2)GF1、GF0:兩個通用工作標志位,用戶可以自由使用。
3)PD:掉電模式設定位。PD=0單片機處于正常工作狀態。PD=1單片機進入掉電(PowerDown)模式,可由外部中斷或硬件復位模式喚醒,進入掉電模式后,外部晶振停振,CPU、定時器、串行口全部停止工作,只有外部中斷工作。
4)IDL:空閑模式設定位。IDL=0單片機處于正常工作狀態。IDL=1單片機進入空閑(Idle)模式,除CPU不工作外,其余仍繼續工作,在空閑模式下可由任一個中斷或硬件復位喚醒。
SCON控制寄存器
SCON控制寄存器,它是一個可位尋址的專用寄存器,用于串行數據的通信控制,字節地址為98H,單元地址是98H~9FH,其結構格式如下:
SCON寄存器結構
各控制位功能介紹如下:
1)SM0、SM1:串行口工作方式控制位。SM0,SM1工作方式:00方式0、01方式1、10方式2、11方式3。
2)SM2:多機通信控制位。多機通信是工作于方式2和方式3,SM2位主要用于方式2和方式3。接收狀態,當串行口工作于方式2或3,以及SM2=1時,只有當接收到第9位數據(RB8)為1時,才把接收到的前8位數據送入SBUF,且置位RI發出中斷申請,否則會將接受到的數據放棄。當SM2=0時,就不管第位數據是0還是1,都難得數據送入SBUF,并發出中斷申請。工作于方式0時,SM2必須為0。
3)REN:允許接收位。REN用于控制數據接收的允許和禁止,REN=1時,允許接收,REN=0時,禁止接收。
4)TB8:發送接收數據位8。在方式2和方式3中,TB8是要發送的——即第9位數據位。在多機通信中同樣亦要傳輸這一位,并且它代表傳輸的地址還是數據,TB8=0為數據,TB8=1時為地址。
5)RB8:接收數據位8。在方式2和方式3中,RB8存放接收到的第9位數據,用以識別接收到的數據特征。
6)TI:發送中斷標志位??蓪ぶ窐酥疚?。方式0時,發送完第8位數據后,由硬件置位,其它方式下,在發送或停止位之前由硬件置位,因此,TI=1表示幀發送結束,TI可由軟件清“0”。
7)RI:接收中斷標志位??蓪ぶ窐酥疚弧=邮胀甑?位數據后,該位由硬件置位,在其他工作方式下,該位由硬件置位,RI=1表示幀接收完成。在串口中斷處理時,TI,RI都需要軟件清“0”,硬件置位后不可能自動清0,此外,在進行緩沖區操作時,需要ES=0,以防止中斷出現。
TCON定時器/計數器控制寄存器
TCON在特殊功能寄存器中,字節地址為88H,單元地址是88H-8FH,由于有位地址,十分便于進行位操作。TCON的作用是控制定時器的啟、停,標志定時器溢出和中斷情況。其中,TFl、TRl、TF0和TR0位用于定時器/計數器;IEl、ITl、IE0和IT0位用于中斷系統。由于TCON是可以位尋址的,因而如果只清溢出或啟動定時器工作,可以用位操作命令。例如:執行“CLRTF0”后則清定時器0的溢出;執行“SETBTR1”后可啟動定時器1開始工作(當然前面還要設置方式定)。
TCON寄存器結構
各控制位功能介紹如下:
1)TF1:定時器1溢出標志位。當定時器1計滿溢出時,由硬件使TF1置“1”,并且申請中斷。進入中斷服務程序后,由硬件自動清“0”,在查詢方式下用軟件清“0”。
2)TR1:定時器1運行控制位。由軟件清“0”關閉定時器1。當GATE=1,且INT1為高電平時,TR1置“1”啟動定時器1;當GATE=0,TR1置“1”啟動定時器1。
3)TF0:定時器0溢出標志。其功能及操作情況同TF1。
4)TR0:定時器0運行控制位。其功能及操作情況同TR1。
5)IE1:外部中斷1請求標志位。
6)IT1:外部中斷1觸發方式選擇位。當IT1=0,為低電平觸發方式;當IT1=1,為下降沿觸發方式。
7)IE0:外部中斷0請求標志位。
8)IT0:外部中斷0觸發方式選擇位。當IT0=0,為低電平觸發方式;當IT0=1,為下降沿觸發方式。
TMOD定時器/計數器模式控制寄存器
定時器/計數器模式控制寄存器TMOD是一個逐位定義的8位寄存器,其中低四位定義定時器/計數器T0,高四位定義定時器/計數器T1,但只能使用字節尋址,其字節地址為89H。其格式為:
TMOD寄存器結構
各控制位功能介紹如下:
1)GATE:門控制。GATE=1時,由外部中斷引腳INT0、INT1和控制寄存器的TR0,TR1來啟動定時器。當INT0引腳為高電平時TR0置位,啟動定時器T0;當INT1引腳為高電平時TR1置位,啟動定時器T。GATE=0時,僅由TR0,TR1置位分別啟動定時器T0、T1。
2)C/T:功能選擇位。C/T=0時為定時功能,C/T=1時為計數功能。置位時選擇計數功能,清零時選擇定時功能。
3)M0、M1:方式選擇功能。由于有2位,因此有4種工作方式M1M0工作方式計數器模式TMOD(設置定時器模式),00方式0,13位計數器TMOD=0x00。01方式1,16位計數器TMOD=0x01。10方式2,自動重裝8位計數器TMOD=0x02。11方式3,T0分為2個8位獨立計數器,T1為無中斷重裝8位計數器TMOD=0x03。
IE中斷使能寄存器
通過設置中斷使能寄存器IE的EA位,使能所有中斷每個中斷源都有單獨的使能位,可通過軟件設置IE中相應的使能位在任何時候使能或禁能中斷,中斷使能寄存器IE可位尋址,IE寄存器地址為A8H,位地址(由低位到高位)為A8H-AFH。
IE寄存器結構
各控制位功能介紹如下:
1)EA:使能標志位置位則所有中斷使能復位則禁止所有中斷
2)ET2:定時器2中斷使能。
3)ES:串行通信中斷使能。
4)ET1:定時器1中斷使能。
5)EX1:外部中斷1使能。
6)ET0:定時器0中斷使能。
7)EX0:外部中斷0使能。
IP中斷優先級寄存器
每個中斷源都可通過設置中斷優先級寄存器IP來單獨設置中斷優先級,如果每個中斷源的相應位被置位,則該中斷源的優先級為高如果相應的位被復位,則該中斷源的優先級為低。此寄存器可位尋址,字節地址為B8H,單元地址是B8H-BDH。
IP寄存器結構
各控制位功能介紹如下:
1)-保留
2)-保留
3)PT2定時器2中斷優先級
4)PS串行通信中斷優先級
5)PT1定時器1中斷優先級
6)PX1外部中斷1優先級
7)PT0定時器0中斷優先級
8)PX0外部中斷0優先級
T2CON定時器/計數器控制寄存器
51系列單片機,如8052第三個定時/計數器定時器2,他的控制位在特殊功能寄存器定時器2控制寄存器可位尋址。通過由軟件設置T2CON,可使定時/計數器以三種基本工作:
方式一,第一種為捕捉方式,設置為捕捉方式時,和定時器0或定時器1一樣以16位方式工作。這種方式通過位EXEN2來選擇,當置位EXEN2時,如果T2EX有負跳變電平,將把當前的數據鎖存在RCAP2H和RCAP2L中,這個事件可用來產生中斷。
方式二,自動重裝方式,其中包含了兩個子功能,由EXEN2來選擇,當EXEN2復位時16位定時器溢出將觸發一個中斷,并將RCAP2H和RCAP2L中的數裝入定時器中。當EXEN2置位時,除上述功能外T2EX引腳的負跳變將產生一次重裝操作。
方式三,用來產生串行口通訊所需的波特率,這通過同時或分別置位RCLK和TCLK來實現,在這種方式中,每個機器周期都將使定時器加1。而不像定時器0和1那樣需要12個機器周期,這使得串行通訊的波特率更高。
T2CON寄存器結構
各控制位功能介紹如下:
1)TF2,定時器2溢出標志位,定時器2溢出時將置位,當TCLK或RCLK為1時將不會置位。
2)EXF2,定時器2外部標志,當EXEN2=1并在引腳T2EX檢測到負跳變時置位,如果定時器2中斷被允許將產生中斷。
3)RCLK,接收時鐘標志當串行口以方式1或3工作時將使用定時器2的溢出率作為串行口接收時鐘頻率。
4)TCLK,發送時鐘標志位當串行口以方式1或3工作時將使用定時器2的溢出率作為串行口接收時鐘頻率。
5)EXEN2,定時器2外部允許標志當EXEN2=1時在T2EX引腳出現負跳變時將造成定時器2捕捉或重裝并置位EXF2產生中斷。
6)TR2,定時器運行控制位置位時定時器2將開始工作否則定時器2停止工作。7)
C/T2,定時器計數方式選擇位如果C/T2=1定時器2將作為外部事件計數器否則對內部時鐘脈沖計數。
8)CP/RL2,捕捉/重裝標志位當EXEN2=1時如果CP/RL2=1T2EX引腳的負跳變將造成捕捉如果CP/RL2=0T2EX引腳的負跳變將造成重裝。
評論
查看更多