❶ 瑕佽劇疆51緋誨垪鍗曠墖鏈轟覆鍙e伐浣滀簬鎵闇宸ヤ綔鏂瑰紡,搴旀槸瀵瑰摢涓涓撶敤瀵勫瓨鍣ㄨ繘琛屾搷浣
1. 鏁版嵁緙撳啿瀵勫瓨鍣⊿BUF
SBUF 鏄鍙浠ョ洿鎺ュ誨潃鐨勪笓鐢ㄥ瘎瀛樺櫒銆傜墿鐞嗕笂錛屽畠瀵瑰簲鐫涓や釜瀵勫瓨鍣錛屽嵆涓涓鍙戦佸瘎瀛
鍣ㄤ竴涓鎺ユ敹瀵勫瓨鍣錛孋PU 鍐橲BUF 灝辨槸淇鏀瑰彂閫佸瘎瀛樺櫒錛涜籗BUF 灝辨槸璇繪帴鏀跺瘎瀛樺櫒銆傛帴
鏀跺櫒鏄鍙岀紦鍐茬殑錛屼互閬垮厤鍦ㄦ帴鏀朵笅涓甯ф暟鎹涔嬪墠錛孋PU 鏈鑳藉強鏃剁殑鍝嶅簲鎺ユ敹鍣ㄧ殑涓鏂錛屾病
鏈夋妸涓婁竴甯х殑鏁版嵁璇昏蛋鑰屼駭鐢熶袱甯ф暟鎹閲嶅彔鐨勯棶棰樸傚逛簬鍙戦佸櫒錛屼負浜嗕繚鎸佹渶澶х殑浼犺緭閫熺巼錛
涓鑸涓嶉渶瑕佸弻緙撳啿錛屽洜涓哄彂閫佹椂CPU 鏄涓誨姩鐨勶紝涓嶄細浜х敓閲嶅彔闂棰樸
2. 鐘舵佹帶鍒跺瘎瀛樺櫒SCON
SCON 鏄涓涓閫愪綅瀹氫箟鐨8 浣嶅瘎瀛樺櫒錛岀敤浜庢帶鍒朵覆琛岄氫俊鐨勬柟寮忛夋嫨銆佹帴鏀跺拰鍙戦侊紝鎸
紺轟覆鍙g殑鐘舵侊紝SCON 鍗沖彲浠ュ瓧鑺傚誨潃涔熷彲浠ヤ綅瀵誨潃錛屽瓧鑺傚湴鍧98H錛屽湴鍧浣嶄負98H~9FH銆
3. 鎺у埗瀵勫瓨鍣≒CON
鎺у埗瀵勫瓨鍣≒CON 涔熸槸涓涓閫愪綅瀹氫箟鐨8 浣嶅瘎瀛樺櫒錛屼粎鏈楂樹綅SMOD 涓庝覆鍙g殑鎺у埗鏈夊叧銆係MOD 鏄涓茶岄氫俊娉㈢壒鐜囩郴鏁版帶鍒朵綅錛屽綋涓插彛宸ヤ綔鍦ㄥ伐浣滄柟寮1銆2 鏃訛紝鑻ヤ嬌鐢
T1 浣滀負娉㈢壒鐜囧彂鐢熷櫒鍏禨MOD=1 鍒欐嘗鐗圭巼鍔犲 銆
鍒濆嬪寲紺轟緥
void _init(void)
{
TMOD = 0x20; //瀹氭椂鍣═1瀹氫箟涓烘ā寮2
TL1 = 0xFD; TH1 = 0xFD; //璁劇疆娉㈢壒鐜囦負9600bps
PCON = 0x00; //SMOD=0
SCON = 0x70; //SM0,SM1=01--閫夋嫨宸ヤ綔鏂瑰紡1
//SM2=1--澶氭満鎺у埗浣嶇疆1
//REN=1錛嶏紞紱佹㈡帴鏀
//TB8=0錛嶏紞姝ゆ柟寮忔棤瑕佸彂閫佺9浣嶆暟鎹
//RB8=0錛嶏紞姝ゆ柟寮忔棤鎺ユ敹鍒扮殑絎9浣嶆暟鎹
//TI=0錛嶏紞鍙戦佷腑鏂鏍囧織娓0
//RI=0錛嶏紞鎺ユ敹涓鏂鏍囧織娓0
TR1 = 1; //鍚鍔ㄥ畾鏃跺櫒T1
}
❷ 51單片機有哪幾個專用寄存器
1、ACC---是累加器,通常用A表示。
這是個什麼東西,可不能從名字上理解,它是一個寄存器,而不是一個做加法的東西,為什麼給它這么一個名字呢?或許是因為在運算器做運算時其中一個數一定是在ACC中的緣故吧。它的名字特殊,身份也特殊,稍後在中篇中我們將學到指令,可以發現,所有的運算類指令都離不開它。自身帶有全零標志Z,若A=0則Z=1;若A≠0則z=0。該標志常用作程序分枝轉移的判斷條件。
2、B--一個寄存器。
在做乘、除法時放乘數或除數,不做乘除法時,隨你怎麼用。3、PSW-----程序狀態字。
這是一個很重要的東西,裡面放了CPU工作時的很多狀態,藉此,我們可以了解CPU的當前狀態,並作出相應的處理。它的各位功能請看下錶:
CY:進位標志。8051中的運算器是一種8位的運算器,我們知道,8位運算器只能表示到0-255,如果做加法的話,兩數相加可能會超過255,這樣最高位就會丟失,造成運算的錯誤,怎麼辦?最高位就進到這里來。這樣就沒事了。有進、借位,CY=1;無進、借位,CY=0
例:78H+97H(01111000+10010111)
AC:輔助進、借位(高半位元組與低半位元組間的進、借位)。
例:57H+3AH(01010111+00111010) 下面我們逐一介紹各位的用途F0:用戶標志位,由用戶(編程人員)決定什麼時候用,什麼時候不用。
RS1、RS0:工作寄存器組選擇位。這個我們已知了。
0V:溢出標志位。運算結果按補碼運算理解。有溢出,OV=1;無溢出,OV=0。什麼是溢出我們後面的章節會講到。
P:奇偶校驗位:它用來表示ALU運算結果中二進制數位「1」的個數的奇偶性。若為奇數,則P=1,否則為0。 運算結果有奇數個1,P=1;運算結果有偶數個1,P=0。
例:某運算結果是78H(01111000),顯然1的個數為偶數,所以P=0。4、P0、P1、P2、P3------這個我們已經知道,是四個並行輸入/輸出口的寄存器。它裡面的內容對應著管腳的輸出。5、IE-----中斷充許寄存器
按位定址,地址:A8H中斷禁止(即不產生中斷)
EA=1時,各中斷的產生由個別的允許位決定
- (IE.6):保留
ET2(IE.5):定時2溢出中斷充許(8052用)
ES (IE.4):串列口中斷充許(ES=1充許,ES=0禁止)
ET1(IE.3):定時1中斷充許
EX1(IE.2):外中斷INT1中斷充許
ET0(IE.1):定時器0中斷充許
EX0(IE.0):外部中斷INT0的中斷允許
7、IP-----中斷優先順序控制寄存器
按位定址,地址位B8HEA (IE.7):EA=0時,所有中斷禁止(即不產生中斷)
EA=1時,各中斷的產生由個別的允許位決定
- (IE.6):保留
ET2(IE.5):定時2溢出中斷充許(8052用)
ES (IE.4):串列口中斷充許(ES=1充許,ES=0禁止)
ET1(IE.3):定時1中斷充許
EX1(IE.2):外中斷INT1中斷充許
ET0(IE.1):定時器0中斷充許
EX0(IE.0):外部中斷INT0的中斷允許
7、IP-----中斷優先順序控制寄存器
按位定址,地址位B8H6、指針寄存器
(1)程序計數器PC
指明即將執行的下一條指令的地址,16位,定址64KB范圍,
復位時PC = 0000H
(2)堆棧指針SP
指明棧頂元素的地址,8位,可軟體設置初值,復位時SP = 07H
(3)數據指針DPTR
@R0、@R1、@DPTR;指明訪問的數據存儲器的單元地址,16位,定址范圍64KB。 DPTR = DPH + DPL。可以用它來訪問外部數據存儲器中的任一單元,如果不用,也可以作為通用寄存器來用,由我們自已決定如何使用。 分成DPL(低8位)和DPH(高8位)兩個寄存器。用來存放16位地址值,以便用間接定址或變址定址的方式對片外數據RAM或程序存儲器作64K位元組范圍內的數據操作。7、定時/計數器
(1) 定時器方式寄存器:TMOD
(2) 定時器控制寄存器:TCON
(3) 計數寄存器:TH0、TL0;TH1、TL1。可用於設定計數初值。8052/8032增設專用寄存器
(1) 定時器2控制寄存器T2CON;控制、設置工作方式。
(2) 計數寄存器:TH2、TL2
(3) 定時器2捕獲/重裝載寄存器:RCAP2H、RCAP2L
存放自動重裝載到TH2、TL2的數據。
❸ MCS-51系列單片機中的定時器有哪幾個專用寄存器它們各自的作用是什麼
要講定時離不開中斷,兩者結合使用的。定時計數器主要用到TMOD工作模式寄存器,TCON定時器的控制寄存器,EA中斷允許控制寄存器,IP中斷優先順序寄存器 定時器控制寄存器TCON (88H)TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TCONTF0/TF1:定時器0/定時器1溢出中斷申請標志位: =0:定時器未溢出; =1:定時器溢出申請中斷,進中斷後自動清零。TR0/TR1:定時器運行啟停控制位: =0:定時器停止運行; =1:定時器啟動運行。TCON:Timer控制寄存器,是管理定時器工作的SFR(其中低4位管外部中斷)定時器控制寄存器TCON (88H)TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TCONIE0/IE1:外部中斷申請標志位: =0:沒有外部中斷申請; =1:有外部中斷申請。IT0/IT1:外部中斷請求的觸發方式選擇位: =0:在INT0/INT1端申請中斷的信號低電平觸發; =1:在INT0/INT1端申請中斷的信號負跳變觸發.TCON:Timer控制寄存器,低4位管理外部中斷�8�4在CPU已經開放了外部中斷允許的前提下:�8�4在INT0/INT1引腳輸入一個負脈沖或低電平, �8�4TCON寄存器中的IE0/IE1標志位自動變「1」, 檢測到IE0/IE1變「1」後,將產生指令:執行中斷服務程序,�8�4並將IE0/IE1標志位自動清「0」,以備下次申請。外部中斷(INT0,INT1)申請過程 單片機的定時/計數器定時器計數器的概念一、計數的概念
選票:畫「正」。這就是計數,生活中計數的例子處處可見。比如一個水盆在水龍頭下,水龍沒關緊,水一滴滴地滴入盆中。水滴持續落下,盆的容量是有限的,過一段時間之後,水就會逐漸變滿。51單片機中有兩個計數器,分別稱之為T0和T1,這兩個計數器分別是由兩個8位的RAM單元組成的,即每個計數器都是16位的計數器,最大的計數量是65536。
二、定時
計數器是如何作為定時器來用的呢?比如一個鬧鍾,將它定時在1個小時後響鬧,我們也能說成是秒針走了(3600)次,所以時間就轉化為秒針走的次數的,也就是計數的次數了,可見,計數的次數和時間之間十分相關。那麼它們的關系是什麼呢?也就是秒針每一次走動的時間要正好是1秒。
只要計數脈沖的間隔相等,則計數值就代表了時間的流逝。由此,單片機中的定時器和計數器是同一個東西,只不過計數器是記錄的外部的觸發脈沖,而定時器則是由單片機供給一個非常穩定的計數源。供給定時器的是計數源是機器周期也就是由單片機的晶體震盪器經過12分頻後獲得的一個脈沖源(機器周期)。晶振的頻率是很准確的,所以這個計數脈沖的時間間隔也很准。一個12M的晶振,它供給給計數器的脈沖時間間隔是1微秒。計數脈沖的間隔與晶振有關,12M的晶振,計數脈沖的間隔是1微秒。這是邏輯圖,可以看到T1是一個單刀雙擲開關,說明定一個定時/計數器同一時刻要麼作定時用,要麼作計數用,不能同時用;接通T1引腳時作為外部計數用。(T0的引腳是P3.4,T1的引腳是P3.5)。
比如滴水的例子,當水持續落下,盆中的水逐漸變滿,最終會有一滴水使得盆中的水全滿了。這個時候如果再有一滴水落下,水會漫出來,用術語來講就是「溢出」,而每一滴水落下,用術語來說就是發出一個計數脈沖。 水溢出是流到地上,而計數器溢出後就會引發一個定時中斷事件,就象定時的時間一到,鬧鍾就會響一樣。 現在另一個問題是:要有多少個計數脈沖才會產生事件。 剛才已研究過,計數器的容量是16位,也就是最大的計數值到65536,因此計數計到65536就會產生溢出。這個沒有問題,問題是我們現實生活中,經常會有少於65536個計數值的要求,如制葯廠包裝線上,一瓶葯片為100粒,500瓶為一箱 那麼怎麼樣來滿足這個要求呢?舉例 如果是一個空的水盆要1萬滴水滴進去才會滿,我在開始滴水之前就先放入一勺水,還需要10000滴嗎?對了,這時我們就採用預置數的辦法,我要計 100,那我就先放進65436,再來100個脈沖,不就到了65536了嗎。定時也是如此,每個脈沖是1微秒,則計滿65536個脈沖需時65.536 毫秒,但現在我只要10毫秒,怎麼辦?10個毫秒為10000個微秒,所以,只要在計數器裡面放進55536就可以了。溢出的概念和設置任意定時計數的方法3個16位定時器/計數器 ——(51系列有2個16位Timer少一個T2)定時器:對片內機器時鍾(周期方波)進行計數計數器:對Tx引腳輸入的負脈沖進行計數與Timer工作有關的特殊功能寄存器: TCON 和 TMODAT89S52單片機的定時器/計數器單片機定時/計數器內部結構單片機定時/計數器內部結構圖定時器的2個特殊功能寄存器(TCON)TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0定時器控制寄存器TCON (88H)TF0/TF1: 定時器0/1計數溢出標志位。 =1 計數溢出; =0 計數未滿 TF0/TF1標志位可用於申請中斷或供CPU查詢。 在進入中斷服務程序時會自動清零;但在 查詢方式時必須軟體清零。TR0/TR1: 定時器0/1運行控制位。 =1 啟動計數; =0 停止計數TR0/TR1:定時器0/1運行控制位: TR0/TR1 =0 時,Timer0/1停止計數 TR0/TR1 =1 時,Timer0/1啟動計數定時器T0/T1 中斷申請過程�8�4 在已經開放T0/T1中斷允許且已被啟動的前提下:�8�4 T0/T1加滿溢出時 TF0/TF1標志位自動置「1」 �8�4 檢測到TCON中TF0/TF1變「1」後,將產生指令: 執行中斷服務程序,�8�4 TF0/TF1標志位會自動清「0」,以備下次中斷申請。 定時/計數器可按片內機器周期定時,也可對由T0/T1引腳輸入一個負脈沖進行加法計數TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TCON (88H)GATE C / T M1 M0 GATE C / T M1 M0定時器方式寄存器TMOD (89H)T1T0M1,M0:工作方式定義位 ( 定義4 種方式 ):C/T :計數器/定時器選擇位 = 1 外部事件計數器。對T0/T1引腳的負脈沖計數; = 0 片內時鍾定時器。對機器周期脈沖計數定時0 0:13位 定時器——幾乎不用0 1:16位 定時器——經常用到1 0:可自動重裝的 8位 定時器——經常用到1 1:T0 分為2個8位 Timer;T1 此時不工作 ——幾乎不用GATE C / T M1 M0 GATE C / T M1 M0T1T0GATE門控位: Timer可由軟體與硬體兩者控制 �8�4 GATE = 0 ——普通用法 Timer的啟/停由軟體對TRx位寫「1」/「0」控制定時器方式寄存器TMOD(89H)�8�4 GATE = 1 ——門控用法 Timer的啟/停由軟體對TR0/TR1位寫「1」/「0」 和在INT0/INT1引腳上出現的信號的高/低共同控制GATE=0時,定時/計數是否工作,只取決於TR0是否為1。GATE=1,只有TR0為1,且INT0管腳也是高電平,定時/計數才工作。 從電路上看到GATE是一個非門,它與INTx組成一個或門,這個或門與TR0又組成一個與門。當GATE=0時,則~GATE=1(非門),此時無論INT0為高或低,它們相或之後必然為1,此時只要TR0=1,則工作,TR0=0則不工作,不受INT0的影響。當GATE=1時,~GATE=0,則INT0=1時,它們相或為1,此時定時器是否工作受TR0影響;若INT0=0,則無論TR0為什麼,定時器都不能工作,即當GATE=0時,定時器受INT0和TR0共同的作用。 所以,GATE位的狀態決定定時器運行控製取決於TR0的一個條件還是TR0和INT0引腳這兩個條件。當GATE=1時,由於GATE信號封鎖了與門,使引腳 INT0信號無效。而這時候如果TR0=1,則接通模擬開關,使計數器進行加法計數,即定時/計數工作。而TR0=0,則斷開模擬開關,停止計數,定時 /計數不能工作。 當GATE=0時,與門的輸出端由TR0和INT0電平的狀態確定,此時如果TR0=1,INT0=1與門輸出為1,允許定時/計數器計數,在這 種情況下,運行控制由TR0和INT0兩個條件共同控制,TR0是確定定時/計數器的運行控制位,由軟體置位或清「0」。振盪器�8�112TLx THx (8位) (8位)TFx申請中斷Tx端TRx位GATE位INTx端≥1&C/T=0C/T=1控制 開關或門與門非門定時器結構與工作方式工作方式1:——16位的定時/計數器在工作方式1下,計數器的計數值范圍是: 1~65536(216)
當為定時工作方式1時,定時時間的計算公式為:
(216—計數初值)╳晶振周期╳12或 (216—計數初值)╳機器周期
其時間單位與晶振周期或機器周期相同。
�8�4 THx/TLx賦初值:THx賦高8位,TLx賦低8位工作方式1 的編程要點: �8�4 TMOD選方式: 寫「M1,M0」=01 選方式1�8�4 若不用門控位,直接用軟體寫TRx控制啟/停�8�4 若使用門控位,先置位TRx,然後由INTx端 的高/低電平來控制其啟/停�8�4 若要允許中斷,還須先置位ETx、EA等中斷 允許控制位,並編寫中斷服務程序�8�4 若不用中斷,可查詢「計數溢出標志TFx」 的方式工作,但溢出標志TFx須軟體清0工作方式2:——8 位自動重裝的定時/計數器振盪器�8�112TLx (8位)TFx申請中斷Tx端TRx位GATE位INTx端≥1&C/T=0C/T=1控制 =1開關接通或門與門THx (8位)溢出位門開�7�4 THx/TLx賦相同初值 在TLx計數達到0FFH 再加「1」時,TL0 將溢出,進位位直接進入「TFx」去申請 中斷,同時打開三態門,使THx中的值 自動重裝(Copy)進TLx工作方式 2 的編程:�7�4 TMOD寄存器選方式: 寫「M1,M0」 = 10選中方式2�7�4 其他用法與各種方式1完全相同T0: 組織成TL0和TH0兩個8位定時/計數器Timer工作方式 3 ——幾乎無用T1: 不再是定時/計數器了 T1 的TR1和TF1出借給TH0當控制位使用, 剩下的TH1/TL1寄存器只能當作普通寄存 器用。振盪器�8�112TL0 (8位)TF0申請中斷T0端TR0位GATE位INT0端≥1&C/T=0C/T=1控制 =1開關接通或門與門TH0 (8位)TF1申請中斷TR1位控制 =1Timer工作方式 3 結構:�7�4T0成為雙 8位Timer �7�4T1不再有Timer功能 �7�4TF1,TR1出借給TH0 定時器小結: (2個16位加法計數器)�7�4運行/停止由TRx位控制,(當GATE=1時: 由TRx位和Tx引腳上的信號共同控制)�7�4工作方式由TMOD決定; 計數/定時由C/T位決定 工作方式0(13位) 永遠不用 工作方式3(T0拆為雙8位) 幾乎無用 工作方式1(16位) 經常用到 工作方式2(8位自動重裝) 經常用到�7�4從初值按機器周期或外部脈沖遞加,溢出位 TFx申請中斷;中斷允許由ETx位和EA位控制,定時器/計數器的定時/計數范圍 工作方式0:13位定時/計數方式,因此,最多能計到2的13次方,也就是8192次。 工作方式1:16位定時/計數方式,因此,最多能計到2的16次方,也就是65536次。 工作方式2和工作方式3,都是8位的定時/計數方式,因此,最多能計到2的8次方,也說是256次。 預置值計算:用最大計數量減去需要的計數次數即可
❹ 要設置51系列單片機串口工作於所需工作方式,應是對哪個專用寄存器進行操作
控制51單片機串列口的控制寄存器共有兩個:特殊功能寄存器SCON和PCON。下面對這兩個寄存器各個位的功能予以詳細介紹。
1.串列口控制寄存器SCON
串列口控制寄存器SCON的格式如表4.4:
SM0、SM1:串列口4種工作方式的選擇位。
SM2:允許方式2和3的多機通訊控制位。在方式2或3中,如果SM2置為l,則接收到的第9位數據(RB8)為0時不激活RI。在方式1時,如果SM2=1,則只有收到有效的停止位時才會激活RI。在方式0時,SM2必須清0。
REN:允許串列接收位。由軟體置1或清0。REN=l允許接收,REN=O則禁止接收。
TB8:是工作在方式2和3時,要發送的第9位數據。需要時由軟體置1或清0。在許多的通訊協議中該位是奇偶校驗垃。在多機通訊中用來表示是地址幀或是數據幀,TB8=1為地址幀,TB8=0為數據幀。
RB8:當工作在方式2和3時,為接收到的第9位數據。在多機通訊中為地址幀或數據幀的標識位。在方式1,如果SM2=0,RB8是接收到的停止位。在方式0,不使用RB8。
D7 D6 D5 D4 D3 D2 D1 D0
SM0 SM1 SM2 REN TB8 RB8 TI RI
T1:發送中斷標志位,在方式O串列發送第8位數據結束時由硬體置1,或在其它方式串列發送停止位的開始時置1。TI=1時,申請中斷,CPU響應中斷後,發送下一幀數據。TI必須由軟體清0。 表4.4 串列口控制寄存器SCON的格式
RI:接收中斷標志位,在方式O串列接收到第8位數據結束時,由硬體置1。在其它方式中,串列接收到停止位的中間點時置1。RI=1時申請中斷,要求CPU取走數據。但在方式1中,SM2=1時,若未收到有效的停止位,不會對RI置1。RI必須由軟體清0。
SCON的所有位都能由軟體清0。
2.特殊功能寄存器PCON
特殊功能寄存器PCON沒有位定址功能。PCON的格式如表4.5:
表4.5 特殊功能寄存器PCON的格式
D7 D6 D5 D4 D3 D2 D1 D0
SMON × × × × × × ×
SMOD:波特率系數選擇位。
3.串列口工作方式
方式0:8位移位寄存器輸入/輸出方式。在擴展I/O埠外接移位寄存器時常用,其波特率固定為Fosc/12, Fosc為時鍾頻率;
方式1:10位非同步通信方式。其中1個起始位,8個數據位和一個停止位,其波特率計算公式為:波特率=2的SMOD次方/32*(定時器T1的溢出率);
方式2,3:11位非同步通信方式,其中一個起始位,8個數據位,1個附加的第9位和1個停止位,方式2和方式3僅只有波特率不同,方式2的波特率=2的SMOD次方/64*Fosc,方式3的波特率=2的SMOD次方/32*(定時器T1的溢出率)。
此次系統串列口工作方式是:01。
SM0、SM1兩位為01時,串列口以方式1上作,方式1時串列口被控制為波特率可變的8位非同步通訊介面。方式1的波特彩由下式確定:
方式l波特率=2的(SMOD-5)次方*定時器1的溢出率
式中SMOD為PCON寄存器的最高位的值(0或1)。
因為串列口用於連接列印機,所以這里只介紹串列口輸出情況。
串列口以方式1輸出時,數據位由TXD端輸出,發送—幀信息為10位,1位起始位0,8位數據位(先低位)和1位停止位1,CPU執行一條數據寫發送緩沖器SBUF的指令,就啟動發送。當發送完數據位,置「1」中斷標志TI。
❺ 單片機中的SFR是什麼
SFR是Special Function Register特殊功能寄存器。
SFR是80C51單片機中各功能部件對應的寄存器,用於存放相應功能部件的控制命令,狀態或數據。它是80C51單片機中最具有特殊的部分。
現在所有80C51系列功能的增加和擴展幾乎都是通過增加特殊功能寄存器SFR來達到目的的。對於80C51系列中的80C51,共定義了21個特殊功能寄存器。
在80C52中,除了80C51的21個特殊功能寄存器,還增加了5個,共計26個(帶星號的為特殊功能寄存器)。
(5)單片機專用寄存器擴展閱讀:
硬體特性:
晶元:
1、主流單片機包括CPU、4KB容量的RAM、128 KB容量的ROM、 2個16位定時/計數器、4個8位並行口、全雙工串口行口、ADC/DAC、SPI、I2C、ISP、IAP。
2、系統結構簡單,使用方便,實現模塊化;
3、單片機可靠性高,可工作到10^6 ~10^7小時無故障;
4、處理功能強,速度快。
5、低電壓,低功耗,便於生產攜帶型產品
6、控制功能強
7、環境適應能力強。
運算器有兩個功能:
1、執行各種算術運算。
2、執行各種邏輯運算,並進行邏輯測試,如零值測試或兩個值的比較。
運算器所執行全部操作都是由控制器發出的控制信號來指揮的,並且,一個算術操作產生一個運算結果,一個邏輯操作產生一個判決。
控制器:
控制器由程序計數器、指令寄存器、指令解碼器、時序發生器和操作控制器等組成,是發布命令的「決策機構」,即協調和指揮整個微機系統的操作。其主要功能有:
1、 從內存中取出一條指令,並指出下一條指令在內存中的位置。
2、對指令進行解碼和測試,並產生相應的操作控制信號,以便於執行規定的動作。
3、指揮並控制CPU、內存和輸入輸出設備之間數據流動的方向。
網路-sfr
網路-單片機