51單片機和52單片機區別?STC89LE52與89c51的區別是什么?


1、51單片機和52單片機區別
51單片機和52單片機區別:
1、種類不同:51系列單片機是指51內核,stc89c5X基本都是51內核的種類。
2、大小不同:最后一個數字表示E2prom的大小,E2prom=X*4K,c51就是4K,c52就是8k。
3、配件不同:52還多了一個定時器,所以可以說52是51(這個51是指stc89c51,不是51內核)的增強型。
單片機(Single-ChipMicrocomputer)是一種集成電路芯片,是采用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊硅片上構成的一個小而完善的微型計算機系統,在工業控制領域廣泛應用。從上世紀80年代,由當時的4位、8位單片機,發展到現在的300M的高速單片機。
51單片機
51單片機是對所有兼容Intel 8031指令系統的單片機的統稱。該系列單片機的始祖是Intel的8004單片機,后來隨著Flash rom技術的發展,8004單片機取得了長足的進展,成為應用最廣泛的8位單片機之一,其代表型號是ATMEL公司的AT89系列,它廣泛應用于工業測控系統之中。很多公司都有51系列的兼容機型推出,今后很長的一段時間內將占有大量市場。51單片機是基礎入門的一個單片機,還是應用最廣泛的一種。需要注意的是51系列的單片機一般不具備自編程能力。
功能
·8位CPU·4kbytes程序存儲器(ROM) (52為8K)
·128bytes的數據存儲器(RAM) (52有256bytes的RAM)
·32條I/O口線·111條指令,大部分為單字節指令
·21個專用寄存器
·2個可編程定時/計數器·5個中斷源,2個優先級(52有6個)
·一個全雙工串行通信口
·外部數據存儲器尋址空間為64kB
·外部程序存儲器尋址空間為64kB
·邏輯操作位尋址功能·雙列直插40PinDIP封裝
·單一+5V電源供電
CPU:由運算和控制邏輯組成,同時還包括中斷系統和部分外部特殊功能寄存器;
RAM:用以存放可以讀寫的數據,如運算的中間結果、最終結果以及欲顯示的數據;
ROM:用以存放程序、一些原始數據和表格;
I/O口:四個8位并行I/O口,既可用作輸入,也可用作輸出
T/C:兩個定時/記數器,既可以工作在定時模式,也可以工作在記數模式;
五個中斷源的中斷控制系統;
一個全雙工UART(通用異步接收發送器)的串行I/O口,用于實現單片機之間或單片機與微機之間的串行通信;
片內振蕩器和時鐘產生電路,石英晶體和微調電容需要外接。最佳振蕩頻率為6M—12M。
區別
同樣的一段程序,在各個單片機廠家的硬件上運行的結果都是一樣的,如ATMEL的89C51(已經停產)、89S51, PHILIPS,和WINBOND等,我們常說的已經停產的89C51指的是ATMEL公司的 AT89C51單片機,同時是在原基礎上增強了許多特性,如時鐘,更優秀的是由Flash(程序存儲器的內容至少可以改寫1000次)存儲器取代了原來的ROM(一次性寫入),AT89C51的性能相對于8051已經算是非常優越的了。
不過在市場化方面,89C51受到了PIC單片機陣營的挑戰,89C51最致命的缺陷在于不支持ISP(在線更新程序)功能,必須加上ISP功能等新功能才能更好延續MCS-51的傳奇。89S51就是在這樣的背景下取代89C51的,89S51已經成為了實際應用市場上新的寵兒,作為市場占有率第一的Atmel公司已經停產AT89C51,將用AT89S51代替。89S51在工藝上進行了改進,89S51采用0.35新工藝,成本降低,而且將功能提升,增加了競爭力。89SXX可以向下兼容89CXX等51系列芯片。同時,Atmel不再接受89CXX的定單,大家在市場上見到的89C51實際都是Atmel前期生產的巨量庫存而以。如果市場需要,Atmel當然也可以再恢復生產AT89C51。
89S51相對于89C51增加的新功能包括:
-- 新增加很多功能,性能有了較大提升,價格基本不變,甚至比89C51更低!
-- ISP在線編程功能,這個功能的優勢在于改寫單片機存儲器內的程序不需要把芯片從工作環境中剝離。是一個強大易用的功能。
-- 最高工作頻率為33MHz,大家都知道89C51的極限工作頻率是24M,就是說S51具有更高工作頻率,從而具有了更快的計算速度。
-- 具有雙工UART串行通道。
-- 內部集成看門狗計時器,不再需要像89C51那樣外接看門狗計時器單元電路。
-- 雙數據指示器。
-- 電源關閉標識。
-- 全新的加密算法,這使得對于89S51的盜版變為不可能,程序的保密性大大加強,這樣就可以有效的保護知識產權不被侵犯。
-- 兼容性方面:向下完全兼容51全部字系列產品。比如8051、89C51等等早期MCS-51兼容產品。也就是說所有教科書、網絡教程上的程序(不論教科書上采用的單片機是8051還是89C51還是MCS-51等等),在89S51上一樣可以照常運行,這就是所謂的向下兼容。
比較結果:就如同INTEL的P3向P4升級一樣,雖然都可以跑Windows98,不過速度是不同的。從AT89C51升級到AT89S51 ,也是同理。和S51比起來,C51就要遜色一些,實際應用市場方面技術的進步是永遠向前的。
51單片機和52單片機有什么區別
一般我們稱51單片機是指8031指令系統的單片機,8031指令系統的單片機型號有很多個,比如AT89C51,AT89C52,STC89C51,STC89C52,STC89C58,STC15W408,STC11F04E等等。
芯片內核(CPU)都是一樣的,不同的地方是IO腳有多有少,中斷有多有少,內存RAM,ROM大小不同之類的。
就好像我問你AMD CPU與速龍CPU有什么不一樣,其實速龍CPU也是AMD品牌的產品之一。
你應該說具體型號如:AT89C51與AT89C52有啥不一樣。你自已下載規格書對比兩者內部資源多少吧
最后一個數字表示E2prom的大小,E2prom=最后一個數字*4K,c51就是4K,c52就是8k。 另外ram也不同,52多了一個定時器2,在串行通信中可以設置更高的波特率,定時器2的功能與其他兩個定時器也不一樣。 52是51的增強型,S52比C51,定時器多一個T2(這個東東強悍的很),RAM多128B,ROM多4K,中斷多2個,多一個看門狗,在掉電、數據指針等方面還有一些改進。 S52的最高外接晶振可以達到33MHz,C51大概只有24MHz。 現在市面上,C51都差不多淘汰了,價格兩者接近(可能一樣),要買的話,攤主一般會推薦你買S52。
51單片機和51單片機完全一樣,就是內部ROM程序存儲器 大小區別 ROM:是程序存放指令代碼和一些固定數值,程序運行后不可改動;RAM用于程序運行中數據的隨機存取,掉電后數據消失。 51 內部ROM存儲器 :4kB RAM :128 52 內部ROM存儲器 :8k RAM :256 54 內部ROM存儲器 :16k RAM: 512
52多個定時器,RAM 51是128,52是256。
最后一個數字表示E2prom的大小,E2prom=最后一個數字*4K,c51就是4K,c52就是8k。
另外ram也不同,52多了一個定時器2,在串行通信中可以設置更高的波特率,定時器2的功能與其他兩個定時器也不一樣。
52是51的增強型,S52比C51,定時器多一個T2(這個東東強悍的很),RAM多128B,ROM多4K,中斷多2個,多一個看門狗,在掉電、數據指針等方面還有一些改進。
S52的最高外接晶振可以達到33MHz,C51大概只有24MHz。
現在市面上,C51都差不多淘汰了,價格兩者接近(可能一樣)
51單片機各種型號的區別
8031的特點
8031片內不帶程序存儲器ROM,使用時用戶需外接程序存儲器和一片邏輯電路373,外接的程序存儲器多為EPROM的2764系列。用戶若想對寫入到EPROM中的程序進行修改,必須先用一種特殊的紫外線燈將其照射擦除,之后再可寫入。寫入到外接程序存儲器的程序代碼沒有什么保密性可言。
8051的特點
8051片內有4k ROM,無須外接外存儲器和373,更能體現“單片”的簡練。但是你編的程序你無法燒寫到其ROM中,只有將程序交芯片廠代你燒寫,并是一次性的,今后你和芯片廠都不能改寫其內容。
8751的特點
8751與8051基本一樣,但8751片內有4k的EPROM,用戶可以將自己編寫的程序寫入單片機的EPROM中進行現場實驗與應用,EPROM的改寫同樣需要用紫外線燈照射一定時間擦除后再燒寫。
由于上述類型的單片機應用的早,影響很大,已成為事實上的工業標準。后來很多芯片廠商以各種方式與Intel公司合作,也推出了同類型的單片機,如同一種單片機的多個版本一樣,雖都在不斷的改變制造工藝,但內核卻一樣,也就是說這類單片機指令系統完全兼容,絕大多數管腳也兼容;在使用上基本可以直接互換。人們統稱這些與8051內核相同的單片機為“51系列單片機”。對于學習者來說,學了其中一種,便會所有的51系列。
AT89C51、AT89S51的特點
在眾多的51系列單片機中,要算 ATMEL 公司的AT89C51、AT89S51更實用,因他不但和8051指令、管腳完全兼容,而且其片內的4K程序存儲器是FLASH工藝的,這種工藝的存儲器用戶可以用電的方式瞬間擦除、改寫,一般專為 ATMEL AT89xx 做的編程器均帶有這些功能。顯而易見,這種單片機對開發設備的要求很低,開發時間也大大縮短。寫入單片機內的程序還可以進行加密,這又很好地保護了你的勞動成果。再著,AT89C51、AT89S51目前的售價比8031還低,市場供應也很充足。
AT89S51、52是2003年ATMEL推出的新型品種,除了完全兼容8051外,還多了ISP編程和看門狗功能。我們也專門為這種新片設計了一款 編程、學習、實驗板。
AT89C2051、AT89C1051等的特點
ATMEL公司的51系列還有AT89C2051、AT89C1051等品種,這些芯片是在AT89C51的基礎上將一些功能精簡掉后形成的精簡版。AT89C2051取掉了P0口和P2口,內部的程序FLASH存儲器也小到2K,封裝形式也由51的P40腳改為20腳,相應的價格也低一些,特別適合在一些智能玩具,手持儀器等程序不大的電路環境下應用;AT89C1051在2051的基礎上,再次精簡掉了串口功能等,程序存儲器再次減小到1k,當然價格也更低。
對2051和1051來說,雖然減掉了一些資源,但他們片內都集成了一個精密比較器,別小看這小小的比較器,他為我們測量一些模擬信號提供了極大的方便,在外加幾個電阻和電容的情況下,就可以測量電壓、溫度等我們日常需要的量。這對很多日用電器的設計是很寶貴的資源。
ATMEL的51、2051、1051均有多種封裝,如AT89C(S)51有PDIP、PLCC和PQFP/TQFP等封裝;2051/1051有PDIP和SOIC封裝等。下圖是部分封裝實物。
由于51系列單片機的內核都一樣,所以在51單片機教材方面目前仍然沿用Intel MCS 8051單片機的書籍。開發軟件和工具也是一樣,我們統稱為8051開發系統、環境、等等,如我們網站介紹的匯編程序ASM51、Keil C51、MedWin 等均是針對8051內核單片機的開發軟件。
單對AT89C51、AT89S51來說,在實際電路中可以直接互換8051\8751,替換8031只是第31腳有區別,8031因內部沒有ROM,31腳需接地(GND),單片機在啟動后就到外面程序存儲器讀取指令;而8051/8751/89c51因內部有程序存儲器,31腳接高電平(VCC),單片機啟動后直接在內部讀取指令。也就是51芯片的31腳控制著單片機程序從內部讀取還是從外部讀取,31腳接電源,程序從內部讀取,31腳接地,程序從外部讀取。其他無須改動。另外,AT89C51、AT89s51替換8031后因不用外存儲器,不必安裝原電路的外存儲器和373芯片。
89S51與89C51的區別
很多初學51單片機的網友會有這樣的問題:AT89S51是什么?書上和網絡教程上可都是8051,89C51等!沒聽說過有89S51?!
這里,初學者要澄清單片機實際使用方面的一個產品概念,MCS-51單片機是美國INTE公司于1980年推出的產品,典型產品有 8031(內部沒有程序存儲器,實際使用方面已經被市場淘汰)、8051(芯片采用HMOS,功耗是630mW,是89C51的5倍,實際使用方面已經被市場淘汰)和8751等通用產品,一直到現在, MCS-51內核系列兼容的單片機仍是應用的主流產品(比如目前流行的89S51、89C51等),各高校及專業學校的培訓教材仍與MCS-51單片機作為代表進行理論基礎學習。
有些文獻甚至也將8051泛指MCS-51系列單片機,8051是早期的最典型的代表作,由于MCS-51單片機影響極深遠,許多公司都推出了兼容系列單片機,就是說MCS-51內核實際上已經成為一個8位單片機的標準。
其他的公司的51單片機產品都是和MCS-51內核兼容的產品而以。同樣的一段程序,在各個單片機廠家的硬件上運行的結果都是一樣的,如ATMEL的89C51(已經停產)、89S51, PHILIPS(菲利浦),和WINBOND(華邦)等,我們常說的已經停產的89C51指的是ATMEL公司的 AT89C51單片機,同時是在原基礎上增強了許多特性,如時鐘,更優秀的是由Flash(程序存儲器的內容至少可以改寫1000次)存儲器取帶了原來的ROM(一次性寫入),AT89C51的性能相對于8051已經算是非常優越的了。
不過在市場化方面,89C51受到了PIC單片機陣營的挑戰,89C51最致命的缺陷在于不支持ISP(在線更新程序)功能,必須加上ISP功能等新功能才能更好延續MCS-51的傳奇。89S51就是在這樣的背景下取代89C51的,現在,89S51目前已經成為了實際應用市場上新的寵兒,作為市場占有率第一的Atmel目前公司已經停產AT89C51,將用AT89S51代替。89S51在工藝上進行了改進,89S51采用0.35新工藝,成本降低,而且將功能提升,增加了競爭力。89SXX可以像下兼容89CXX等51系列芯片。同時,Atmel不再接受89CXX的定單,大家在市場上見到的89C51實際都是Atmel前期生產的巨量庫存而以。如果市場需要,Atmel當然也可以再恢復生產AT89C51。
89S51相對于89C51增加的新功能包括:
-- 新增加很多功能,性能有了較大提升,價格基本不變,甚至比89C51更低!
-- ISP在線編程功能,這個功能的優勢在于改寫單片機存儲器內的程序不需要把芯片從工作環境中剝離。是一個強大易用的功能。
-- 最高工作頻率為33MHz,大家都知道89C51的極限工作頻率是24M,就是說S51具有更高工作頻率,從而具有了更快的計算速度。
-- 具有雙工UART串行通道。
-- 內部集成看門狗計時器,不再需要像89C51那樣外接看門狗計時器單元電路。
-- 雙數據指示器。
-- 電源關閉標識。
-- 全新的加密算法,這使得對于89S51的**變為不可能,程序的保密性大大加強,這樣就可以有效的保護知識產權不被侵犯。
-- 兼容性方面:向下完全兼容51全部字系列產品。比如8051、89C51等等早期MCS-51兼容產品。也就是說所有教科書、網絡教程上的程序(不論教科書上采用的單片機是8051還是89C51還是MCS-51等等),在89S51上一樣可以照常運行,這就是所謂的向下兼容。
比較結果:就如同INTEL的P3向P4升級一樣,雖然都可以跑Windows98,不過速度是不同的。從AT89C51升級到AT89S51 ,也是同理。和S51比起來,C51就要遜色一些,實際應用市場方面技術的進步是永遠向前的。
2、STC89LE52與89c51的區別是什么?
89LE52表示是89系列,LE表示低工作電壓(3.3V)52表示是51系列單片機,且片內程序存儲空間是2X4=8KB
而89C51就是普通的5V工作電壓,片內程序存儲空間是1X4=4KB的51單片機
STC89C51RC系列
特性:
增強型8051單片機,6時鐘/機器周期和12時鐘/機器周期可任意選擇,指令代碼完全兼容傳統8051
工作電壓:5.5V - 3.3V (5V單片機) / 3.8V - 2.0V (3V單片機)
工作頻率范圍:0~40MHz,相當于普通8051的 0~80MHz,實際工作頻率可達48MHz.
用戶應用程序空間:4K / 8K / 13K / 16K / 32K / 64K字節
片上集成1280字節或512字節RAM
通用I/O口(35/39個),復位后為:P1/P2/P3/P4是準雙向口/弱上拉(普通8051傳統I/O口);P0口是開漏輸出,作為總線擴展用時,不用加上拉 電阻,作為I/O口用時,需加上拉電阻。
ISP(在系統可編程)/ IAP(在應用可編程),無需專用編程器,無需專用仿真器 可通過串口(RxD/P3.0, TxD/P3.1)直接下載用戶程序, 數秒即可完成一片
有EEPROM功能
看門狗
內部集成MAX810專用復位電路(HD版本和90C版本才有),外部晶體20M以下時,可省外部復位電路。
共3個16位定時器/計數器,其中定時器0還可以當成2個8位定時器使用。
外部中斷4路,下降沿中斷或低電平觸發中斷,PowerDown模式可由外部中斷低電平觸發中斷方式喚醒。
通用異步串行口(UART),還可用定時器軟件實現多個UART
工作溫度范圍:-40 ~ +85℃(工業級) / 0 ~ 75℃(商業級)
封裝:LQFP-44,PDIP-40,PLCC-44,PQFP-44.
3、keil 軟件中沒有找到 STC90c516RD+怎么辦啊
我來回答:
其實,STC大部分的單片機都是51內核或是52內核的。所以在選芯片的時候,只要選一款51體系的芯片就可以。我們用STC的時候,選的都是89C51的芯片。
但有一個問題要注意的就是: 在KEIL 仿真的時候,要注意區別,什么可以仿真,什么不可以仿真,這個就要求對51體系很懂。但如果你的水平足夠高,可以通過分析程序和借助串口來判斷,就沒事。不要求仿真。、
還有一個問題就是。大部分的STC的芯片,雖是51體系,但在51基礎上做了很大的改動。比如說,指令系統,雖沒有增減指令個數,但是,在時序上改動特別大。有些指令1個系統時針就完成了。這在延時,和外圍的接口,方面都要特別注意。一定要仔細看宏晶官網的資料。
當然,官網上提供的資料,有些示例程序,不一定就是最好的。很的程序,都寫得很一般。甚至說很爛。不過,思路是對是。所以,示例程序,只是對你起一個指導做用。如果想寫出好的程序,大部分的功能,最好是都要經過測試。
剛看了一下STC90c516RD+ 這芯片的功能并不是很強,只是FLASH達到了61K。當然,如果用到它增強方面的功能的話。就必須會定義特殊功能寄存器。下面附帶了。
二, reg51.頭文件剖析
我們平時寫單片機應用程序的時候,所使用的頭文件大多都是用的的reg51.h或是用reg52.h。會寫C51的人都會用,但對其頭文件內部的定義有所了解的人確并不多。
下面對其內部做詳細解釋,方便讀者作進一步的了解,并能運用各類型號的單片機。因為增強型號的單片機的增強功能都是通過特殊功能寄存器控制。
打開 reg52.h 頭文件,會發現是由大量的 sfr ,sbit的聲明組成,甚至于還有sfr16.其實這樣的聲明都是與單片機內部功能寄存器(特殊功能寄存器)聯系起來的,下面對其做出詳細解釋
sfr: 聲明變量
SFR 聲明一個變量,它的聲明與其它的C變量聲明基本相同,唯一的區別,SFR在聲明的同時為其指定特殊功能寄存器作為存儲地址,而不同于C變量聲明的整型,字符型等等由編譯器自動分配存儲空間。
如reg52.h頭文件,第一條聲明就是sfr P0 = 0x80;
此處聲明一個變量P0,并指定其存儲地址為特殊功能寄存器0x80;,在加入reg52.h頭文件后。編寫應用程序時P0就可以直接使用而無需定義,對P0的操作就是,對內部特殊功能寄存器(0x80對應用MCU的P0口)的操作,可進行讀寫操作。
如果將第一條聲明改為sfr K0 = 0x80; 那么,如果要把單片機的P0口全部拉低,則不能寫P0=0x00;而應保存后再在應用程序中寫成K0=0x00;否則編譯器會提示“P0為未定義標識符”
使用方法:
sfr [variable] = [address] //為變量分配一個特殊功能寄存器。
1 等號右邊,只能是十進制,十六進制整型的數據常量,,不允許帶操作符的表達式
經典的8051內核支持的SFR地址從0x80H~0xFF 飛利浦80C51MX系列0x180H~0x1FF
2 SFR不能聲明于任何函數內部,包括main函數。只能聲明于函數外。
3 用SFR聲明一個變量后,不能用取地址運算符&獲取其地址, 編譯無法通過,編譯器會提示非法操作。
4 有一點須特別注意,51內核0x80~0xff,為特殊功能寄存器地址區間,但并不是所有的地址都有定義,如果說你所用的MCU芯片上對于某個地址沒有定義,那么用sfr在定義變量的時候,不要把變量的地址分配到未定義的特殊功能寄存器上,雖然編譯時能通過,用KEIL仿真時貌似是沒有問題,但下載到芯片里運行時,是會出問題的。比如說,向一個未定義的特殊功能寄存器執行讀操作,讀出來的就是一個未知的數。(讀者可自行測試,先把串口通信調通,然后做一個簡單的人機交互。讀出一個數后,再發給計算機,用串口調試助手或是串口監控查看。這用方法在仿真的時候很有用。)所以具體那些特殊功能寄存器能夠用,就要查看你使用的芯片手冊。
5
若遇到增強性的單片機,只要知道其擴展的特殊功能寄存器的地址,用SFR定
就可以很方便進行編程。
sbit: 聲明變量
sbit 同樣是聲明一個變量,和SFR 使用方法類似,但是SBIT是用來聲明一個位變量,因為,在51系列的應用中,非常有必要對SFR的單個位進行存取,而通過bit 數據類型,使其具備位尋址功能。
如,在reg52.h中有如下聲明
所以,對EA的操作即是對IE最高位的操作。
但如果想讓 SP DPL DPH PCON TMOC TL0 TL1 TH0 TH1 SBUF這些特殊功能寄存器具備位尋址,采用上述如IE類似的定義,是不行的,雖然修改后,在編譯的時候不會出現錯誤,但只要用到你定義的位變量名時就會出錯。原因是,只有特殊功能寄存器的地址是8的倍數(十六進制以0或8結尾)才能進行位尋址。
打開reg52.h頭文件可以看到,所有用sbit聲明了的特殊功能寄存器的地址均是以0或8結尾
如硬要達到上述要求,可用帶參的宏定義來完成。此處不做詳細說明(意義并不大)。
下面對sbit的使用做詳細介紹:
隨著8051的應用,非常有必要對特殊功能寄存器的單個bit位進行存取,C51編譯器通過sbit 數據類型,提供了對特殊功能寄存器的位操作。
以下是sbit的三種應用形式:
一,
sbit name = sfr-name^bit-position;
二,
sbit name= sft-address^bit-position;
三,
sbit name= sbit-address;
現對上述三種形式的聲明做必要的說明
第一種形式sbit name = sfr-name^bit-position;如sbit OV= PSW^2; 當中的這個特殊功能寄存器必須在此之前已經用sfr 定義,否則編譯會出錯。
bit-position范圍從0~7;
第二種形式 sbit name= sft-address^bit-position如sbit OV =0xD0^2; 與第一種形式不同之外在于,此處直接使用PSW的地址.第一種形式須先定義PSW
第三種形式. sbit name= sbit-address 如sbit OV =0xD2 是直接用的OV的地址
OV的地址計算方式,是OV所在的寄存器地址加上OV的bit-position
注意:
不是所有的SFR都可位尋址。只有特殊功能寄存器的地址是8的倍數(十六進制以0或8結尾)才能進行位尋址,并且sbit聲明的變量名,雖可以是任意取,但是最好不要以下劃線開頭,因為以下劃線開頭的都保留給了C51的頭文件做保留字。
sfr16: 聲明變量
許多8051的派生型單片機,用兩個連續地址的特殊功能寄存器,來存儲一個16bit的值。例如,8052就用了0xCC和0xCD來保存定時/計數寄存器2的高字節和低字節。編譯器提供sfr16這種數據類型,來保存兩個字節的數據。虛擬出一個16bit的寄存器。
如下:
存儲方面為小端存儲方式,低字節在前,高字節在后。定義時,只寫低字節地址,如上,則定義T2為一個16位的特殊功能寄存器。 T2L= 0CCh, T2H= 0CDh
使用方法:
1 等號右邊,只寫兩個特殊功能寄存器的低地址,且只能是十進制,十六進制的整型數據常量,不允許帶操作符的表達式
2 SFR不能聲明于任何函數內部,包括main函數。只能聲明于函數外。
3 用SFR聲明一個變量后,不能用取地址運算符&獲取其地址, 編譯無法通過,編譯器會提示非法操作。
4 當你向一個sfr16寫入數據的時候,KEIL CX51 編譯器生成的代碼,是先寫高字節,后寫低字節,(可通過返匯編窗口查看)在有些情況下,這并非我們所想要的操作順序。使用時,須注意。
5 當你所要寫入sfr16的數據,當是高字節先寫還是低字節先寫非常重要的時候,就只能用sfr 這個關鍵字來定義,并且任意時刻只保存一個字節,這樣操作才能保證寫入正確。
4、AT89C5152與STC89C5152的單片機有什么區別,
一、字節系統不同
1、AT89C51/52:是一種帶4K字節FLASH存儲器的低電壓、高性能CMOS 8位微處理器。
2、STC89C51/52:是STC公司生產的一種低功耗、高性能CMOS8位微控制器,具有8K字節系統可編程Flash存儲器。
二、技術不同
1、AT89C51/52:采用ATMEL高密度非易失存儲器制造技術制造,與工業標準的MCS-51指令集和輸出管腳相兼容。
2、STC89C51/52:使用經典的MCS-51內核,但是做了很多的改進使得芯片具有傳統的51單片機不具備的功能。
三、特點不同
1、AT89C51/52:4k字節Flash閃速存儲器,256字節片內數據存儲器,32 個I/O 口線,兩個16位定時/計數器,一個5向量兩級中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。
2、STC89C51/52:8K字節程序存儲空間;512字節數據存儲空間;內帶4K字節EEPROM存儲空間。
來源:百度百科-STC89C52
來源:百度百科-AT89C51
5、stc89c51和stc89c52的區別是什么
有以下區別:
1、兩者都是直流供電電壓單片機,STC89C51電壓為4.5V-5.5V,STC89LE52的電壓為2.0V-3.8V;
2、STC89c51/52的存儲器不一樣,51有4K,52有8K;內部FLASH變大:AT89C51有 4K 字節的內部 FLASH PERAM,而。AT89C52的內部FLASH PERAM 增加1倍,達到8K。
3、52還多了一個定時器,所以可以說52是51(這個51是指stc89c51,不是51內核)的增強型;
4、中斷源增加:AT89C52除了具備AT89C51的定時器/計數器 T0 和定時器/計數器 T1,還額外增加了一個定時器/計數器 T2。
單機片:
注意點:
1、區分集成電路芯片的引腳。我們觀察單片機的表面(如右圖),有一個凹進去的半圓缺口,它所對應的左邊第一個腳就是這個芯片的腳1。然后按逆時針的方向數下去,依次為2,3,???,40(如左圖)。
2、電容、晶振離單片機越近越好,因為晶振的頻率非常高,易受影響。
3、單片機應該安在鎖緊座上,而不是直接焊在板上。
4、單片機P0口要接上10kΩ的上拉電阻。
責任編輯:David
【免責聲明】
1、本文內容、數據、圖表等來源于網絡引用或其他公開資料,版權歸屬原作者、原發表出處。若版權所有方對本文的引用持有異議,請聯系拍明芯城(marketing@iczoom.com),本方將及時處理。
2、本文的引用僅供讀者交流學習使用,不涉及商業目的。
3、本文內容僅代表作者觀點,拍明芯城不對內容的準確性、可靠性或完整性提供明示或暗示的保證。讀者閱讀本文后做出的決定或行為,是基于自主意愿和獨立判斷做出的,請讀者明確相關結果。
4、如需轉載本方擁有版權的文章,請聯系拍明芯城(marketing@iczoom.com)注明“轉載原因”。未經允許私自轉載拍明芯城將保留追究其法律責任的權利。
拍明芯城擁有對此聲明的最終解釋權。