STC12C5A60S2單片機(jī)是一款功能比較強(qiáng)大的單片機(jī),在眾多的51系列單片機(jī)中,要算國(guó)內(nèi)STC 公司的1T增強(qiáng)系列更具有競(jìng)爭(zhēng)力,因他不但和8051指令、管腳完全兼容,而且其片內(nèi)的具有大容量程序存儲(chǔ)器且是FLASH工藝的,如STC12C5A60S2單片機(jī)內(nèi)部就自帶高達(dá)60K FLASH ROM,這種工藝的存儲(chǔ)器用戶(hù)可以用電的方式瞬間擦除、改寫(xiě)。而且STC系列單片機(jī)支持串口程序燒寫(xiě)。
1、STC12C5A60S2簡(jiǎn)介
STC12C5A60S2/AD/PWM系列單片機(jī)是宏晶科技生產(chǎn)的單時(shí)鐘/機(jī)器周期(1T)的單片機(jī),是高速/低功耗/超強(qiáng)抗干擾的新一代8051單片機(jī),指令代碼完全兼容傳統(tǒng)8051,但速度快8-12倍。內(nèi)部集成MAX810專(zhuān)用復(fù)位電路,2路PWM,8路高速10位A/D轉(zhuǎn)換(250K/S),針對(duì)電機(jī)控制,強(qiáng)干擾場(chǎng)合。
1.增強(qiáng)型8051CPU,1T,單時(shí)鐘/機(jī)器周期,指令代碼完全兼容傳統(tǒng)8051;
2.工作電壓:STC12C5A60S2系列工作電壓:5.5V-3.3V(5V單片機(jī))STC12LE5A60S2系列工作電壓:3.6V-2.2V(3V單片機(jī));
3.工作頻率范圍:0-35MHz,相當(dāng)于普通8051的0~420MHz;
4.用戶(hù)應(yīng)用程序空間8K/16K/20K/32K/40K/48K/52K/60K/62K字節(jié);
5.片上集成1280字節(jié)RAM;
6.通用I/O口(36/40/44個(gè)),復(fù)位后為:準(zhǔn)雙向口/弱上拉(普通8051傳統(tǒng)I/O口),可設(shè)置成四種模式:準(zhǔn)雙向口/弱上拉,推挽/強(qiáng)上拉,僅為輸入/高阻,開(kāi)漏,每個(gè)I/O口驅(qū)動(dòng)能力均可達(dá)到20mA,但整個(gè)芯片最大不要超過(guò)120ma;
7.ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無(wú)需專(zhuān)用編程器,無(wú)需專(zhuān)用仿真器可通過(guò)串口(P3.0/P3.1)直接下載用戶(hù)程序,數(shù)秒即可完成一片;
8.有EEPROM功能(STC12C5A62S2/AD/PWM無(wú)內(nèi)部EEPROM);
9.內(nèi)部集成MAX810專(zhuān)用復(fù)位電路(外部晶體12M以下時(shí),復(fù)位腳可直接1K電阻到地);
10.外部掉電檢測(cè)電路:在P4.6口有一個(gè)低壓門(mén)檻比較器,5V單片機(jī)為1.32V,誤差為+/-5%,3.3V單片機(jī)為1.30V,誤差為+/-3%;
11.時(shí)鐘源:外部高精度晶體/時(shí)鐘,內(nèi)部R/C振蕩器(溫漂為+/-5%到+/-10%以?xún)?nèi))1用戶(hù)在下載用戶(hù)程序時(shí),可選擇是使用內(nèi)部R/C振蕩器還是外部晶體/時(shí)鐘,常溫下內(nèi)部R/C振蕩器頻率為:5.0V單片機(jī)為:11MHz~15.5MHz,3.3V單片機(jī)為:8MHz~12MHz,精度要求不高時(shí),可選擇使用內(nèi)部時(shí)鐘,但因?yàn)橛?u style="color: rgb(51, 51, 51) !important;">制造誤差和溫漂,以實(shí)際測(cè)試為準(zhǔn);
12.共4個(gè)16位定時(shí)器兩個(gè)與傳統(tǒng)8051兼容的定時(shí)器/計(jì)數(shù)器,16位定時(shí)器T0和T1,沒(méi)有定時(shí)器2,但有獨(dú)立波特率發(fā)生器做串行通訊的波特率發(fā)生器再加上2路PCA模塊可再實(shí)現(xiàn)2個(gè)16位定時(shí)器;
13.2個(gè)時(shí)鐘輸出口,可由T0的溢出在P3.4/T0輸出時(shí)鐘,可由T1的溢出在P3.5/T1輸出時(shí)鐘;
14.外部中斷I/O口7路,傳統(tǒng)的下降沿中斷或低電平觸發(fā)中斷,并新增支持上升沿中斷的PCA模塊,PowerDown模式可由外部中斷喚醒,INT0/P3.2,INT1/P3.3,T0/P3.4,T1/P3.5,RxD/P3.0,CCP0/P1.3(也可通過(guò)寄存器設(shè)置到P4.2),CCP1/P1.4(也可通過(guò)寄存器設(shè)置到P4.3);
15.PWM(2路)/PCA(可編程計(jì)數(shù)器陣列,2路):
——也可用來(lái)當(dāng)2路D/A使用
——也可用來(lái)再實(shí)現(xiàn)2個(gè)定時(shí)器
——也可用來(lái)再實(shí)現(xiàn)2個(gè)外部中斷(上升沿中斷/下降沿中斷均可分別或同時(shí)支持);
16.A/D轉(zhuǎn)換,10位精度ADC,共8路,轉(zhuǎn)換速度可達(dá)250K/S(每秒鐘25萬(wàn)次),通用全雙工異步串行口(UART),由于STC12系列是高速的8051,可再用定時(shí)器或PCA軟件實(shí)現(xiàn)多串口;
17.STC12C5A60S2系列有雙串口,后綴有S2標(biāo)志的才有雙串口,RxD2/P1.2(可通過(guò)寄存器設(shè)置到P4.2),TxD2/P1.3(可通過(guò)寄存器設(shè)置到P4.3);
18.工作溫度范圍:-40-+85℃(工業(yè)級(jí))/0-75℃(商業(yè)級(jí))21.封裝:PDIP-40,LQFP-44,LQFP-48I/O口不夠時(shí),可用2到3根普通I/O口線(xiàn)外接74HC164/165/595(均可級(jí)聯(lián))來(lái)擴(kuò)展I/O口,還可用A/D做按鍵掃描來(lái)節(jié)省I/O口,或用雙CPU,三線(xiàn)通信,還多了串口。
STC12C5A60S2引腳功能說(shuō)明
VCC:供電電壓;
GND:接地;
P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每個(gè)管腳可吸收8TTL門(mén)電流。當(dāng)P0口的管腳寫(xiě)“1”時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FLASH編程時(shí),P0口作為原碼輸入口,當(dāng)FLASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部電位必須被拉高;
P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入“1”后,電位被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收;
P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳電位被內(nèi)部上拉電阻拉高,且作為輸入。作為輸入時(shí),P2口的管腳電位被外部拉低,將輸出電流,這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉的優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào);
P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入時(shí),由于外部下拉為低電平,P3口將輸出電流(ILL),也是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口:
P3.0RXD(串行輸入口)
P3.1TXD(串行輸出口)
P3.2INT0(外部中斷0)
P3.3INT1(外部中斷1)
P3.4T0(記時(shí)器0外部輸入)
P3.5T1(記時(shí)器1外部輸入)
P3.6WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)
P3.7RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)
同時(shí)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào);
RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高平時(shí)間;
ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令時(shí)ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效;
PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取址期間,每個(gè)機(jī)器周期PSEN兩次有效。但在訪問(wèn)內(nèi)部部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的PSEN信號(hào)將不出現(xiàn);
EA/VPP:當(dāng)EA保持低電平時(shí),訪問(wèn)外部ROM;注意加密方式1時(shí),EA將內(nèi)部鎖定為RESET;當(dāng)EA端保持高電平時(shí),訪問(wèn)內(nèi)部ROM。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP);
XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入;
XTAL2:來(lái)自反向振蕩器的輸出;
3、STC12C5A60S2系列單片機(jī)的內(nèi)部結(jié)構(gòu)
STC12C5A60S2系列單片機(jī)的內(nèi)部結(jié)構(gòu)框圖如下圖所示。STC12C5A60S2單片機(jī)中包含中央處理器(CPU)、程序存儲(chǔ)器(Flash)、數(shù)據(jù)存儲(chǔ)器(SRAM)、定時(shí)/計(jì)數(shù)器、UART串口、串口2、I/O接口、高速A/D轉(zhuǎn)換、SPI接口、PCA、看門(mén)狗及片內(nèi)R/C振蕩器和外部晶體振蕩電路等模塊。STC12C5A60S2系列單片機(jī)幾乎包含了數(shù)據(jù)采集和控制中所需的所有單元模塊,可稱(chēng)得上一個(gè)片上系統(tǒng)。
4、STC12C5A60S2系列單片機(jī)管腳圖
STC12C5A60S2系列(有第二串口,有A/D轉(zhuǎn)換,有PWM/PCA功能,有內(nèi)部EEPROM)
STC12C5A60AD系列(無(wú)第二串口,有A/D轉(zhuǎn)換,有PWM/PCA功能,有內(nèi)部EEPROM)
STC12C5A60PWM/CCP系列(無(wú)第二串口,無(wú)A/D轉(zhuǎn)換,有PWM/CCP功能,有內(nèi)部EEPROM)
關(guān)于晶振電路:
如果外部時(shí)鐘頻率在33MHz以上時(shí),建議直接使用外部有源晶振如果使用內(nèi)部R/C振蕩器時(shí)鐘(室溫情況下5V單片機(jī)為:11MHz~17MHz,3V單片機(jī)為8MHz~12MHz),XTAL1和XTAL2腳浮空。如果外部時(shí)鐘頻率在27MHz以上時(shí),使用標(biāo)稱(chēng)頻率就是基本頻率的晶體,不要使用三泛音的晶體,否則如參數(shù)搭配不當(dāng),就有可能振在基頻,此時(shí)實(shí)際頻率就只有標(biāo)稱(chēng)頻率的1/3了,或直接使用外部有源晶振,時(shí)鐘從XTAL1腳輸入,XTAL2腳必須浮空。
顯而易見(jiàn),這種單片機(jī)對(duì)開(kāi)發(fā)設(shè)備的要求很低,開(kāi)發(fā)時(shí)間也大大縮短。寫(xiě)入單片機(jī)內(nèi)的程序還可以進(jìn)行加密,這又很好地保護(hù)了你的勞動(dòng)成果。重要的一點(diǎn)STC12C5A60S2目前的售價(jià)與傳統(tǒng)51差不多,市場(chǎng)供應(yīng)也很充足。是一款高性?xún)r(jià)比的單片機(jī)。