51單片機簡介
\\\插播一條:文章末尾有驚喜喲~///
一、51單片機標識信息
通常我們所說的51單片機是指以51內核擴展出的單片機。出產51單片機的廠商很多,51單片機的型號也很多。下表列出了一些51單片機的廠商和型號。
以上提到的單片機都是51內核擴展出來的單片機,只有學會了51單片機的應用,這些單片機也就根本都能使用了。單片機都是相通的,不管是51單片機還是其它單片機,都是用戶編程控制來實現一定的功能。
接下來的一個系列的文章中以STC89C516RD+單片機為根底進行講解。下面我們對這個單片機的標識進行解釋:
STC—前綴,表示晶片為STC公司生成的產品。
8—表示該晶片為8051內核的晶片。
9—表示內部含FLASH存儲器,還有如80C51中的0表示內部含Mask ROM(掩模ROM)存儲器;如87C51中7表示內部焊EPROM存儲器(紫外線可擦除ROM)。
C—表示該器件為CMOS產品。還有如89LV52和89LE58中的LV和LE都表示該晶片為低電壓產品(通常為3.3V電壓供電);而89S52表示該晶片含有可串行下載功能的FLASH存儲器,即具有ISP可在線編程功能。
5—固定不變。
16—表示該晶片內部程序存儲空間的大小。16為63KB,還有如1為4KB,2為8KB,3為13KB,4為16KB,8為32KB。程序空間大小決定了一個晶片所能裝入執行代碼的多少。一般來說,程序存儲空間越大晶片價格也越高,所以我們在選擇晶片時要依據自己須要對單片機型號進行選擇。只有程序能裝的下,同類晶片的不同型號不會影響其功能。
RD+—表示單片機內部RAM的代銷,RD+表示內部RAM為1280B,還有如RC為512B。
二、 51單片機外部引腳介紹
51單片機有多種封裝,我們這個系列文章對應的單片機是40腳的PDIP封裝。該封裝的引腳圖如下圖所示。
PDIP封裝的單片機的實物圖如下圖所示。
另外,還有20,28,32,44等不同引腳數的51單片機。44腳PQFP/LQFP封裝的單片機的引腳圖如下圖所示。
PQFP/LQFP封裝的單片機的實物圖如下圖所示。
44引腳的單片機還有PLCC封裝,引腳圖如下圖所示。
PLCC封裝單片機的實物圖如下圖所示。
雖然單片機的封裝和引腳定義不同,但是其只是外在形式的不同,內部構造和使用方法是相同的,接下來我們以PDIP封裝的單片機為例對單片機的引腳進行講解。
VCC(40腳)、VSS(20腳)—單片機的電源引腳,不同型號的單片機須要接入對應的電源電源電壓。開發板上配帶的單片機的供電電壓為5V,低壓單片機的電壓為3.3V,用戶在使用時要查看晶片手冊,確保接入正確的電壓。
XTAL1(19腳)、XTAL2(18腳)—外部時鐘引腳,XTAL1為內部振蕩電路的輸寫端,XTAL2為內部振蕩電路的輸出端。8051的時鐘有兩種方式,一種是片內時鐘振蕩方式,須要在這兩個引腳上外接石英晶體和振蕩電容,振蕩電容的值一般為10pf~30pf;另一種是外部時鐘方式,須要將XTAL1接地,外部時鐘信號由XTAL2腳輸寫。
RST(9腳)—單片機復位引腳。當輸寫不間斷兩個機器周期以上為高電平時為有效,用來完成單片機的復位初始化操作,復位後程序計數器PC=0000H,即復位後將從程序存儲器的0000H單元讀取第一條指令碼,通俗的講,就是單片機從頭初始執行程序。
PSEN(29腳)—程序存儲器允許輸出控制端。在讀外部程序存儲器時PSEN低電平有效,以實現外部程序存儲器單元的讀操作,由於此時我們使用的單片機內部已經有足夠大的ROM,所以簡直沒有人再去擴展外部ROM,因此這個引腳大家只需了解即可。
ALE/PROG(30腳)—在單片機擴展外部RAM時,ALE用於控制把P0口的輸出低8位地址送鎖存器鎖存起來,以實現低位地址和數據的隔離。ALE有可能是高電平也可能是低電平,當ALE是高電平時,允許地址鎖存信號,當訪問外部存儲器時,ALE信號會跳變(即由正變負)將P0口上低8位地址信號送入鎖存器;當ALE是低電平時,P0口上的內容和鎖存器輸出一致。關於鎖存器的內容,我們後面會有詳細介紹。在沒有訪問外部存儲器期間,ALE以1/6振蕩周期頻次輸出(即6分頻),當訪問外部存儲器時,以1/12振蕩周期輸出(即12分頻)。從這裡能夠看到,當系統沒有進行擴展時,ALE會以1/6振蕩周期的固定頻次輸出,因此能夠作為外部時鐘,或作為外部定時脈衝使用。PROG為編程脈衝的輸寫端,單片機的內部有程序存儲器(ROM),它的作用是用來寄存用戶須要執行的程序,那麼我們怎樣才能將寫好的程序存入這個ROM中呢?實際上,我們是通過編程脈衝輸寫才寫進去的,這個脈衝的輸寫埠就是PROG。此時有很多單片機都已經不須要編程脈衝引腳往內部寫程序了,假如我們用的STC單片機,它能夠直接通過串口往裡面寫程序,只須要三條線與計算機相連即可。而且此時的單片機內部都已經帶有豐盛的RAM,所以也不須要再擴展RAM了,因此ALE/PROG這個引腳的用途也已經不大。
EA(31腳)— EA接高電平時,單片機讀取內部程序存儲器。當擴展有外部ROM時,當讀取完內部ROM後自動讀取外部ROM。EA接低電平時,單片機直接讀取外部ROM。8031單片機內部是沒有ROM的,所以在使用8031單片機時,這個引腳是一直接低電平的。8751單片機燒寫內部EPROM時,利用此引腳輸寫21V的燒寫電壓。由於此時我們用的單片機都有內部ROM,所以一般在設計電路時此引腳始終接高電平。
I/O口引腳—P0口、P1口、P2口和P3口。
P0口(32腳~39腳)—雙向8位三態I/O口,每個口可獨立控制。51單片機P0口內部沒有上拉電阻,為高阻狀態,所以不能正常地輸出高/低電平,因此該組I/O口在使用時務必要外接上拉電阻,一般我們選擇接入10k歐的上拉電阻。
P1口(1腳~8腳)—准雙向8位I/O口,每個口可獨立控制,內帶上拉電阻,這種接口輸出沒有高阻狀態,輸寫也不能鎖存,故不是真正的雙向I/O口。之所以稱它為「准雙向」是由於該口在作為輸寫使用前,要先向該口進行寫1操作,然後單片機內部才可正確讀出外部信號,也就是要使其先有個「准」備過程,所以才稱為準雙向口。單片機P1.0引腳的第二功能為T2定時器/計數器的外部輸寫,P1.1引腳的第二功能為T2EX捕捉、重裝觸發,即T2的外部控制端。
P2口(21腳~28腳)—准雙向8位I/O口,每個口可獨立控制,內帶上拉電阻,與P1口相似。
P3口(10腳~17腳)—准雙向8位I/O口,每個口可獨立控制,內帶上拉電阻,作為第一功能使用時就當做普通I/O口,與P1口相似,作為第二功能使用時,各引腳的定義如下表所示。值得強調的是,P3口的每一個引腳均可獨立定義為第一功能的輸寫/輸出或第二功能。
P3口的第二功能定義
51單片機與STM32單片機架構的區別
佳沫
單片機第一步——51單片機
俗話說:「天才第一步,XX紙尿褲。」哈哈!扯遠了。不過,我們今天說的,的確可能是絕大多數嵌入式工程師或者電子愛好者接觸的第一款單片機——51單片機。圖為51單片機驅動LED點陣的電子制?
嵌入式Li...發表於嵌入式
單片機51和stm32編程步驟一樣嗎?
我是在10年前自學的單片機。那個時候主要是學的51單片機入門的,從零根底到靠這個找到工作前後大略花了3-5個月左右,詳細多久我忘記了。那個時候競爭還沒此時這麼大,很多新型的單片機也?
沒際單片機
單片機是什麼?51單片機和stm32有什麼區別?
我是10年前就接觸單片機了,當時這個名字其實聽著挺low的,也很冷門。假如在幾年前,你說沒聽過單片機那很正常,假如放到今天,你沒聽過,那只能說你有點掉隊了。由於你每天接觸單片機的?
沒際單片機發表於沒際百科
彩蛋:最近有同學跟我要單片機的資料,我特意花幾個月時間,總結了我10年產品研發經驗,資料包幾乎覆蓋了C語言、單片機、模電數電、原理圖和PCB設計、單片機高級編程等等,非常適合初學者入門和進階。除此以外,再含淚分享我壓箱底的22個熱門開源項目,包含源碼+原理圖+PCB+說明文檔,不是市面上打包賣的那種課程,我認為教程多未必是好事,10年前我自學快,除了自身執行力以外,還有就是教程少。不要害羞做伸手黨,等你一個小紅點。後期我也會組建一些純技術交流的小圈子,讓大家能認識更多的大佬,有個好的圈子,你對行業的認知一定是最前沿的。