- 單片機(jī)C語言程序設(shè)計實訓(xùn)100例:基于STC8051+Proteus仿真與實戰(zhàn)
- 彭偉
- 2660字
- 2022-05-05 20:18:18
1.2 STC8051單片機(jī)簡介
1999年,STC(宏晶科技公司簡稱)于深圳市成立,目前已是全球最大的8051單片機(jī)設(shè)計公司,也是新一代增強(qiáng)型8位單片微型計算機(jī)標(biāo)準(zhǔn)的制定者和領(lǐng)導(dǎo)廠商。STC主要從事增強(qiáng)型8051單片機(jī)研發(fā)、生產(chǎn)和銷售,是國內(nèi)最大的8051單片機(jī)經(jīng)銷商。2011年3月,STC從深圳市遷至南通市,更名為南通國芯微電子有限公司。
STC8051單片機(jī)有89、90、10、11、12、15這幾個大系列,每個系列都有自己的特點。其中,89系列與AT89系列完全兼容,是12T單片機(jī);15系列是最新推出的產(chǎn)品,最大的特點是內(nèi)部集成了高精度的R/C時鐘,可以完全不用外接晶振。典型STC8051單片機(jī)(例如STC15W4K32S4單片機(jī))的主要資源如圖1-3所示。

圖1-3 典型STC8051單片機(jī)(STC15W4K32S4單片機(jī))的主要資源
1. 典型STC8051單片機(jī)(STC15W4K32S4單片機(jī))主要性能
(1)大容量RAM:具有4096B片內(nèi)大容量RAM數(shù)據(jù)存儲器。
(2)大容量Flash:16/32/40/48/56/58/61/63.5KB片內(nèi)Flash程序存儲器,擦寫次數(shù)10萬次以上。
(3)大容量E2PROM:內(nèi)置的E2PROM擦寫次數(shù)可達(dá)10萬次以上。
(4)寬電壓:2.5~5.5V。
(5)低功耗:支持低速、空閑、掉電模式(可由外部中斷或?qū)S枚〞r器喚醒)。
(6)ISP/IAP引腳:用于支持在系統(tǒng)編程/在應(yīng)用編程,無須編程器/仿真器。
(7)高速度:1個時鐘/機(jī)器周期,增強(qiáng)型8051單片機(jī)內(nèi)核,速度比傳統(tǒng)8051單片機(jī)快7~12倍。
(8)外部復(fù)位可省:編程時16級復(fù)位門檻電壓可選,內(nèi)置高可靠復(fù)位電路。
(9)外部晶振可省:編程時內(nèi)部時鐘頻率可設(shè)置為5~30MHz(相當(dāng)于普通8051單片機(jī)的60~360MHz)
(10)內(nèi)部高精度R/C時鐘(±0.3%),±1%溫漂(-40~85℃),±0.6%常溫下溫漂(-20~65℃)。
(11)通用I/O端口:62/46/42/38/30/26個,復(fù)位后為準(zhǔn)雙向口/弱上拉(8051單片機(jī)傳統(tǒng)I/O端口)
(12)高速ADC:8通道10位,速度可達(dá)30萬次/s。
(13)比較器:可當(dāng)1路ADC使用,并可用于掉電檢測,支持外部CMP+與CMP-引腳信號進(jìn)行比較,可產(chǎn)生中斷信號,并可在CMPO引腳上產(chǎn)生輸出(可設(shè)置極性),也支持外部CMP+引腳信號與內(nèi)部參考信號進(jìn)行比較。
(14)PWM/CCP引腳:6通道15位高精度PWM引腳(帶死區(qū)控制)+2通道CCP引腳(利用它的高速脈沖可實現(xiàn)2路11~16位PWM),可用來實現(xiàn)8路DAC或2個16位定時器或2個外部中斷。
(15)7個定時/計數(shù)器:5個16位可重裝載定時/計數(shù)器(T0~T4,其中T0、T1兼容普通8051單片機(jī)的定時/計數(shù)器),并均可實現(xiàn)時鐘信號輸出。另外,SysClkO引腳可將系統(tǒng)時鐘信號對外分頻輸出(÷1或÷2或÷4或÷16),2路CCP引腳可再實現(xiàn)2個定時器。
(16)可編程時鐘信號輸出引腳:對內(nèi)部系統(tǒng)時鐘信號或外部引腳的時鐘信號進(jìn)行分頻輸出。
① T0在P3.5引腳輸出時鐘信號。
② T1在P3.4引腳輸出時鐘信號。
③ T2在P3.0引腳輸出時鐘信號。
④ T3在P0.4引腳輸出時鐘信號。
⑤ T4在P0.6引腳輸出時鐘信號。以上5個定時/計數(shù)器輸出時鐘信號均可1~65536級分頻輸出。
⑥ 系統(tǒng)時鐘在P5.4/SysClkO對外輸出時鐘信號(STC15系列8-pin單片機(jī)的主時鐘信號通過P3.4/MCLKO引腳對外輸出)。
(17)4個UART:為完全獨立的高速異步串行通信模塊,分時切換可當(dāng)9組串口使用。
(18)硬件SPI:可通過專門指令與兼容SPI接口的器件通信。
STC15W4K32S4單片機(jī)的不同封裝形式及引腳如圖1-4所示。STC15W4K32S4單片機(jī)參考電路如圖1-5所示。

圖1-4 STC15W4K32S4單片機(jī)的不同封裝形式及引腳

圖1-5 STC15W4K32S4單片機(jī)參考電路
2. STC15系列單片機(jī)I/O端口的工作模式
STC15系列單片機(jī)(簡稱STC15)I/O端口有多種工作模式以適應(yīng)不同需求,這一點有別于傳統(tǒng)型8051單片機(jī)。
1)設(shè)置配置I/O端口的工作模式
STC15的I/O端口有P0.0~P0.7,P1.0~P1.7,P2.0~P2.7,P3.0~P3.7,P4.0~P4.7,P5.0~P5.5,P6.0~P6.7,P7.0~P7.7。可用軟件設(shè)置這些I/O端口的4種工作模式,分別為準(zhǔn)雙向端口/弱上拉(傳統(tǒng)8051單片機(jī)輸出)模式、推挽/強(qiáng)上拉模式、高阻輸入模式、開漏模式。STC15系列單片機(jī)的I/O端口上電復(fù)位后為準(zhǔn)雙向端口/弱上拉(傳統(tǒng)8051單片機(jī)的I/O端口)模式。STC15 I/O端口工作模式的設(shè)定如表1-1所示。每個I/O端口驅(qū)動電流均可達(dá)到20mA,但40針以上單片機(jī)整個芯片最大驅(qū)動電流不要超過120mA,20針以上32針以下(含32針)單片機(jī)整個芯片最大驅(qū)動電流不超過90mA。
表1-1 STC15 I/O端口工作模式的設(shè)定

雖然每個I/O端口在弱上拉(準(zhǔn)雙向口)/強(qiáng)推挽輸出/開漏模式時均能承受20mA的灌電流,但還是要注意添加限流電阻,阻值可為1kΩ、560Ω、472Ω等。在強(qiáng)推挽輸出時,引腳能輸出20mA的拉電流(同樣要加限流電阻),整個芯片工作電流推薦不超過90mA,即從MCU-VCC流入、MCU-GND流出的電流建議都不要超過90mA,整體流入/流出電流建議也不要超過90mA。
2)4種工作模式的結(jié)構(gòu)
(1)準(zhǔn)雙向口/弱上拉模式。
準(zhǔn)雙向口/弱上拉模式用于引腳的輸出和輸入功能而不用重新配置引腳的輸出狀態(tài)。這是因為當(dāng)引腳輸出高電平時,引腳的驅(qū)動能力很弱,允許外部裝置將其拉為低電平。當(dāng)引腳輸出低電平時,引腳的驅(qū)動能力很強(qiáng),可吸收相當(dāng)大的電流。
準(zhǔn)雙向口/弱上拉模式結(jié)構(gòu)如圖1-6所示。準(zhǔn)雙向口/弱上拉模式結(jié)構(gòu)有3個上拉晶體管以適應(yīng)不同的需要。在3個上拉晶體管中,有1個上拉晶體管稱為弱上拉晶體管。弱上拉晶體管提供基本驅(qū)動電流使引腳輸出高電平。當(dāng)引腳輸出高電平而由外部裝置將其下拉到低電平時,弱上拉晶體管關(guān)閉而極弱上拉晶體管維持開狀態(tài)。為了把這個引腳強(qiáng)拉為低電平,外部裝置必須有足夠的灌電流能力使引腳上的電壓降到門檻電壓以下。

圖1-6 準(zhǔn)雙向口/弱上拉模式結(jié)構(gòu)
對于5V單片機(jī),弱上拉晶體管電流約為250μA;對于3.3V單片機(jī),弱上拉晶體管電流約為150μA。
第2個上拉晶體管稱為極弱上拉晶體管。當(dāng)引腳懸空時,這個極弱上拉晶體管產(chǎn)生很弱的上拉電流將引腳上拉為高電平。對于5V單片機(jī),極弱上拉晶體管電流約為18μA;對于3.3V單片機(jī),極弱上拉晶體管電流約為5μA。
第3個上拉晶體管稱為強(qiáng)上拉晶體管。當(dāng)端口鎖存器由“0”到“1”跳變時,強(qiáng)上拉晶體管用來加快引腳信號由“0”到“1”轉(zhuǎn)換。當(dāng)發(fā)生這種情況時,強(qiáng)上拉晶體管打開約2個時鐘周期以使引腳能夠迅速上拉到高電平。
STC 1T系列單片機(jī)為3.3V器件,如果用戶在其引腳加上5V電壓,將會有電流從引腳流向電源,這樣導(dǎo)致額外的功率消耗。因此,建議不要在準(zhǔn)雙向口/弱上拉模式中向3.3V單片機(jī)引腳施加5V電壓。
準(zhǔn)雙向I/O端口(弱上拉)帶有一個施密特觸發(fā)輸入以及一個干擾抑制電路。準(zhǔn)雙向端口(弱上拉)讀外部狀態(tài)前,要先鎖存為“1”,這樣才可讀到外部正確的狀態(tài)。
(2)推挽/強(qiáng)上拉模式。
推挽/強(qiáng)上拉模式一般用于I/O端口需要更大驅(qū)動電流的情況。推挽/強(qiáng)上拉模式結(jié)構(gòu)如圖1-7所示。

圖1-7 推挽/強(qiáng)上拉模式結(jié)構(gòu)圖
(3)高阻輸入模式。
I/O端口處于高阻輸入模式時,電流既不能流入引腳,也不能流出引腳。高阻輸入模式結(jié)構(gòu)如圖1-8所示。

圖1-8 高阻輸入模式結(jié)構(gòu)
(4)開漏模式。
I/O端口處于開漏模式時,引腳既可讀外部狀態(tài),也可對外輸出高電平或低電平。當(dāng)引腳要正確讀外部狀態(tài)或?qū)ν廨敵龈唠娖綍r,要外接上拉電阻。開漏模式結(jié)構(gòu)如圖1-9所示。

圖1-9 開漏模式結(jié)構(gòu)
- 從零開始:數(shù)字圖像處理的編程基礎(chǔ)與應(yīng)用
- Progressive Web Apps with React
- Learning C# by Developing Games with Unity 2020
- Redis入門指南(第3版)
- Java面向?qū)ο筌浖_發(fā)
- 控糖控脂健康餐
- Functional Kotlin
- GameMaker Programming By Example
- Scala編程實戰(zhàn)(原書第2版)
- Jenkins Continuous Integration Cookbook(Second Edition)
- 數(shù)據(jù)結(jié)構(gòu)習(xí)題解析與實驗指導(dǎo)
- Visual FoxPro程序設(shè)計習(xí)題集及實驗指導(dǎo)(第四版)
- Java面向?qū)ο蟪绦蛟O(shè)計
- Java Web開發(fā)就該這樣學(xué)
- Magento 2 Beginners Guide