什么是51單片機(jī)?51單片機(jī)簡介
51單片機(jī)是對兼容英特爾8051指令系統(tǒng)的單片機(jī)的統(tǒng)稱。51單片機(jī)廣泛應(yīng)用于家用電器、汽車、工業(yè)測控、通信設(shè)備中。因?yàn)?1單片機(jī)的指令系統(tǒng)、內(nèi)部結(jié)構(gòu)相對簡單,所以國內(nèi)許多高校用其進(jìn)行單片機(jī)入門教學(xué)。
Intel(英特爾):80C31、80C51、87C51,80C32、80C52、87C52等;
Atmel(艾特梅爾):89C51、89C52、89C2051,89S51(RC),89S52(RC)等;
Philips(飛利浦)、華邦、Dallas(達(dá)拉斯)、Siemens(西門子)等公司的許多產(chǎn)品;
STC(宏晶):STC89C51、STC90C51、STC11系列、STC15系列、STC8系列等。通常我們所說的51單片機(jī)是指以51內(nèi)核擴(kuò)展出的單片機(jī)。出產(chǎn)51單片機(jī)的廠商很多,51單片機(jī)的型號也很多。下表列出了一些51單片機(jī)的廠商和型號。
以上提到的單片機(jī)都是51內(nèi)核擴(kuò)展出來的單片機(jī),只有學(xué)會了51單片機(jī)的應(yīng)用,這些單片機(jī)也就根本都能使用了。單片機(jī)都是相通的,不管是51單片機(jī)還是其它單片機(jī),都是用戶編程控制來實(shí)現(xiàn)一定的功能。
接下來的一個(gè)系列的文章中以STC89C516RD+單片機(jī)為根底進(jìn)行講解。下面我們對這個(gè)單片機(jī)的標(biāo)識進(jìn)行解釋:
STC—前綴,表示芯片為STC公司生成的產(chǎn)品。
8—表示該芯片為8051內(nèi)核的芯片。
9—表示內(nèi)部含F(xiàn)LASH存儲器,還有如80C51中的0表示內(nèi)部含Mask ROM(掩模ROM)存儲器;如87C51中7表示內(nèi)部焊EPROM存儲器(紫外線可擦除ROM)。
C—表示該器件為CMOS產(chǎn)品。還有如89LV52和89LE58中的LV和LE都表示該芯片為低電壓產(chǎn)品(通常為3.3V電壓供電);而89S52表示該芯片含有可串行下載功能的FLASH存儲器,即具有ISP可在線編程功能。
5—固定不變。
16—表示該芯片內(nèi)部程序存儲空間的大小。16為63KB,還有如1為4KB,2為8KB,3為13KB,4為16KB,8為32KB。程序空間大小決定了一個(gè)芯片所能裝入執(zhí)行代碼的多少。一般來說,程序存儲空間越大芯片價(jià)格也越高,所以我們在選擇芯片時(shí)要依據(jù)自己須要對單片機(jī)型號進(jìn)行選擇。只有程序能裝的下,同類芯片的不同型號不會影響其功能。
RD+—表示單片機(jī)內(nèi)部RAM的代銷,RD+表示內(nèi)部RAM為1280B,還有如RC為512B。
這是我對這幾個(gè)月學(xué)習(xí)51單片機(jī)的一些匯總,談?wù)剬?1的一些看法,51大致就是對定時(shí)器,計(jì)算器,中斷,串口的一些操作,前面我淺談一下51的基本操作,后面我會對Sg-90舵機(jī),超聲波,LCD1602,DHT11溫濕度傳感器,IIC-OLED,HC-05藍(lán)牙模塊,esp8266-01sWI-FI模塊,4G模塊,4驅(qū)小車進(jìn)行一個(gè)詳細(xì)的匯總,希望能對大家有所幫助。
1.什么是單片機(jī)
單片機(jī)是一種集成電路芯片,采用超大規(guī)模集成技術(shù)把具有處理數(shù)據(jù)能力的中央處理器CPU、隨機(jī)存儲器ROM、只讀存儲器RAM、定時(shí)器/計(jì)算器、中斷系統(tǒng)和IO口等功能集成到一塊硅片上構(gòu)成的一個(gè)小型計(jì)算機(jī),從當(dāng)時(shí)的4為、8位發(fā)展到現(xiàn)在的300M的高速單片機(jī)。
2.單片機(jī)工作的基本時(shí)序
我們都知道在學(xué)校是通過鈴聲來控制所有班級的上下課時(shí)間,我們都知道單片機(jī)執(zhí)行指令的過程就是從ROM取出一條指令執(zhí)行來完成它在各個(gè)地方的作用,那它什么時(shí)候取指令這個(gè)是順序呢?這里引入一個(gè)時(shí)序的周期,每訪問一次ROM的時(shí)間,就是一個(gè)機(jī)器周期的時(shí)間。
1個(gè)機(jī)器周期 = 6個(gè)狀態(tài)周期 = 12個(gè)時(shí)鐘(振蕩)周期
時(shí)鐘周期:即單片機(jī)的基本時(shí)間單位,若晶體的頻率=12MHZ,那時(shí)鐘周期 = 1/12MHZ,一個(gè)時(shí)鐘周期 = 1/12MHZ = 1/12000 000每秒
機(jī)器周期:即12x1/12 000 000 =0.000001s = 1us,訪問一次ROM取指令的時(shí)間就是1us
3.數(shù)字電路基礎(chǔ)
電平特性
數(shù)字電路中只有兩種電平:高電平和低電平
高電平:5v或者3.3v,取決與單片機(jī)電源
低電平:0V
RS232電平:計(jì)算機(jī)串口的電平
高電平:-12v
低電平:+12v
我們跟電腦通信的時(shí)候,要通過元器件將單片機(jī)的電平轉(zhuǎn)換成電腦能識別的電平,才能跟電腦進(jìn)行通信。
4.二進(jìn)制邏輯運(yùn)算
"與"運(yùn)算
有0得0,全1才1
1&1 = 1,1&0 = 0; 0&0 = 0;
"或"運(yùn)算
有1得1,全0才0;
1|1 = 1;1|0 = 1;0|0 = 0;
"非"運(yùn)算
~1 = 0;~0 = 1;
同樣的一段程序,在各個(gè)單片機(jī)廠家的硬件上運(yùn)行的結(jié)果都是一樣的,如ATMEL的89C51(已經(jīng)停產(chǎn))、89S51, PHILIPS,和WINBOND等,我們常說的已經(jīng)停產(chǎn)的89C51指的是ATMEL公司的 AT89C51單片機(jī),同時(shí)是在原基礎(chǔ)上增強(qiáng)了許多特性,如時(shí)鐘,更優(yōu)秀的是由Flash(程序存儲器的內(nèi)容至少可以改寫1000次)存儲器取代了原來的ROM(一次性寫入),AT89C51的性能相對于8051已經(jīng)算是非常優(yōu)越的了。89S51相對于89C51增加的新功能包括:-- 新增加很多功能,性能有了較大提升,價(jià)格基本不變,甚至比89C51更低。-- ISP在線編程功能,這個(gè)功能的優(yōu)勢在于改寫單片機(jī)存儲器內(nèi)的程序不需要把芯片從工作環(huán)境中剝離。是一個(gè)強(qiáng)大易用的功能。-- 最高工作頻率為33MHz,大家都知道89C51的極限工作頻率是24M,就是說S51具有更高工作頻率,從而具有了更快的計(jì)算速度。-- 具有雙工UART串行通道。-- 內(nèi)部集成看門狗計(jì)時(shí)器,不再需要像89C51那樣外接看門狗計(jì)時(shí)器單元電路。-- 雙數(shù)據(jù)指示器。-- 電源關(guān)閉標(biāo)識。-- 全新的加密算法,這使得對于89S51的盜版變?yōu)椴豢赡?,程序的保密性大大加?qiáng),這樣就可以有效的保護(hù)知識產(chǎn)權(quán)不被侵犯。-- 兼容性方面:向下完全兼容51全部字系列產(chǎn)品。比如8051、89C51等等早期MCS-51兼容產(chǎn)品。也就是說所有教科書、網(wǎng)絡(luò)教程上的程序(不論教科書上采用的單片機(jī)是8051還是89C51還是MCS-51等等),在89S51上一樣可以照常運(yùn)行,這就是所謂的向下兼容。