① STC12的1T模式與12T模式哪個穩定
1T和12T
1T和12T只有在STC12系列以後的單片機里才出現的。前面我們已經說到了,傳統的單片機其實就是12T單片機,也就是晶振頻率會被12分頻後才是指令運行的頻率。到時STC12系列以後的STC單片機出現1T模式,也就是有些指令的執行時只需要兩個晶振周期就能執行完。理論上來說,這樣的運行速度會比傳統單片機快6倍,為什麼加「理論」,因為不是所有的指令都快6倍,只是一部分,還有些是快4倍,快3倍的。具體的需要看STC官方數據手冊,如下圖。
仔細的小夥伴會看到在第5列的第一行里有個小括弧(採用STC-Y2 CPU內核指令集),STC12用的就是這個內核,而到了STC15系列晶元用的是STC-Y5內核,STC8系列用的是STC-Y6內核,Y後面的數字越大,指令優化的越厲害,表現出來的就是運行的更快,STC-Y5內核的指令集里,大部分的匯編指令到時一個晶振周期就執行完成的了,也就是比傳統單片機快12倍。 現在我在做單片機開發的時候,絕大部分都是採用的C語言開發,你還在用匯編,那我只能是膜拜你了。C語言編程的程序方便移植,好理解,容易入門,不需要去記住那些復雜的寄存器,但是確定也明顯,就是效率不高,運行速度我們沒辦法准確的計算出來。編譯器在把C語言代碼轉化為匯編語言的過程我們是沒法控制的,這樣編譯出來的機器代碼我們就沒辦法去計算時間的指令運行時間。 >>>>
軟體模擬和實際開發板
模擬軟體,外國老表開發的,STC國產(好吧,內核還是人家的)。不知道什麼原因,我們不知道,也不敢問,在模擬軟體里就是沒有STC的單片機晶元可以選擇,沒有STC的單片機,我們只能選擇傳統51單片機,這樣一來,模擬的時候,程序運行的速度是傳統的12T模式,也就是晶振頻率12分頻後才是執行的實際頻率。 單片機開發板運行時,因為提問小夥伴用的單片機是STC12系列的晶元,就算他運行在12T模式下,指令系統還是有優化,速度肯定比傳統的指令集要快。更何況呢,他連1T和12T都分不清,運行在1T模式下也是有可能的,所以,今天的問題就來了。實際開發板運行速度肯定會比軟體模擬快。 寫在最後 在很久之前,我就寫過一篇文字,就說了不建議初學單片機的菜鳥從軟體模擬開始。現在還有多少高校的單片機課程還在是以模擬運行的呢,希望是沒有了,但我想,僅僅是我想想。 其實,小代覺得,學單片機的最終是要自己設計屬於自己的東西,比如自己的畢設,更或是親手做一個小禮物俘獲女神的芳心。但是自己寫的代碼永遠都運行在軟體里,沒有實際電路,你又怎麼可能會自己設計電路呢。你不自己看見過電阻,又怎麼可能會知道一個長得很像電阻的電子元件它其實是二極體。 最最後,回到今天的問題上,當我們把軟體模擬運行完美的代碼移植到實際開發板上運行時,代碼是需要做單片機的適配的,比如,採用代碼方式實現的延時函數,比如IO埠的配置,比如某些中斷的入口,比如某些寄存器的定義等等。在移植之前,還是得拿目標晶元的數據手冊來看看。
② STC12LE5A32S2-35I-LQFP44屬於哪個系列的單片機
STC12C5A60S2系列1T單片機簡介
STC12C5A60S2/AD/PWM系列單片機是宏晶科技生產的單時鍾/機器周期(1T)的單片機,是高速/低功耗/超強抗干擾的新一代8051單片機,指令代碼完全兼容傳統8051,但速度快8-12倍。內部集成MAX810專用復位電路,2路PWM,8路高速10位A/D轉換(250K/S),針對電機控制,強干擾場合。
1.增強型8051
CPU,1T,單時鍾/機器周期,指令代碼完全兼容傳統8051
2.工作電壓:STC12C5A60S2系列工作電壓:5.5V-
3.3V(5V單片機)STC12LE5A60S2系列工作電壓:3.6V-
2.2V(3V單片機)
3.工作頻率范圍:0
-
35MHz,相當於普通8051的
0~420MHz
4.用戶應用程序空間8K
/16K
/
20K
/
32K
/
40K
/
48K
/
52K
/
60K
/
62K位元組......
5.片上集成1280位元組RAM
6.通用I/O口(36/40/44個),復位後為:准雙向口/弱上拉(普通8051傳統I/O口)
可設置成四種模式:准雙向口/弱上拉,推挽/強上拉,僅為輸入/高阻,開漏
每個I/O口驅動能力均可達到20mA,但整個晶元最大不要超過55mA
7.
ISP(在系統可編程)/IAP(在應用可編程),無需專用編程器,無需專用模擬器
可通過串口(P3.0/P3.1)直接下載用戶程序,數秒即可完成一片
8.有EEPROM功能(STC12C5A62S2/AD/PWM無內部EEPROM)9.
看門狗10.內部集成MAX810專用復位電路(外部晶體12M以下時,復位腳可直接1K電阻到地)
11.外部掉電檢測電路:在P4.6口有一個低壓門檻比較器
5V單片機為1.32V,誤差為+/-5%,3.3V單片機為1.30V,誤差為+/-3%
12.時鍾源:外部高精度晶體/時鍾,內部R/C振盪器(溫漂為+/-5%到+/-10%以內)
1用戶在下載用戶程序時,可選擇是使用內部R/C振盪器還是外部晶體/時鍾
常溫下內部R/C振盪器頻率為:5.0V單片機為:11MHz~15.5MHz
3.3V單片機為:
8MHz~12MHz
精度要求不高時,可選擇使用內部時鍾,但因為有製造誤差和溫漂,以實際測試為准
13.共4個16位定時器
兩個與傳統8051兼容的定時器/計數器,16位定時器T0和T1,沒有定時器2,但有獨立波特率發生器
做串列通訊的波特率發生器
再加上2路PCA模塊可再實現2個16位定時器
14.
2個時鍾輸出口,可由T0的溢出在P3.4/T0輸出時鍾,可由T1的溢出在P3.5/T1輸出時鍾
15.外部中斷I/O口7路,傳統的下降沿中斷或低電平觸發中斷,並新增支持上升沿中斷的PCA模塊,
Power
Down模式可由外部中斷喚醒,
INT0/P3.2,
INT1/P3.3,
T0/P3.4,
T1/P3.5,
RxD/P3.0,
CCP0/P1.3(也可通過寄存器設置到P4.2
),
CCP1/P1.4
(也可通過寄存器設置到P4.3)
16.
PWM(2路)/PCA(可編程計數器陣列,2路)
---也可用來當2路D/A使用
---也可用來再實現2個定時器
---也可用來再實現2個外部中斷(上升沿中斷/下降沿中斷均可分別或同時支持)
17.A/D轉換,
10位精度ADC,共8路,轉換速度可達250K/S(每秒鍾25萬次)18.通用全雙工非同步串列口(UART),由於STC12系列是高速的8051,可再用定時器或PCA軟體實現多串口
19.
STC12C5A60S2系列有雙串口,後綴有S2標志的才有雙串口,RxD2/P1.2(可通過寄存器設置到P4.2),TxD2/P1.3(可通過寄存器設置到P4.3)
20.工作溫度范圍:-40
-
+85℃(工業級)
/
0
-
75℃(商業級)21.封裝:PDIP-40,LQFP-44,LQFP-48
I/O口不夠時,可用2到3根普通I/O口線外接
74HC164/165/595(均可級聯)來擴展I/O口,
還可用A/D做按鍵掃描來節省I/O口,或用雙CPU,三線通信,還多了串口。
③ stc12c5a60s2單片機能代替12c5a08s2嗎
不能,有8通道10位AD轉換的STC單片機(51系列臘蔽氏)並神;它是STC12C5AXXS2系列中的一個,與STC12C5A60S2是同系列,但互不包含。這兩種區輪散別在於,程序存儲器和EEPROM的容量不同...
④ stc系列單片機與stc12系列單片機有區別么
STC為單片機的公司名,它是宏晶的縮寫
12是該公司單片機的系列編號
舉例:
STC89系列:功能和C52單片機類似
STC11系列:高速運算能力,是89系列的8-12倍
STC12系列:帶AD/DA轉換或PWM輸出,其他和11系列差不多