Ⅰ 什麼是STC單片機
STC系列單片機是宏晶科技生產的單時鍾/機器周期(1T)的單片機。
它是高速/低功耗/超強抗干擾的新一代8051單片機,指令代碼完全兼容傳統8051,但速度快8-12倍。內部集成MAX810專用復位電路,2路PWM,8路高速10位A/D轉換(250K/S),針對電機控制,強干擾場合。
這種工藝的存儲器用戶可以用電的方式瞬間擦除、改寫。而且STC系列單片機支持串口程序燒寫。顯而易見,這種單片機對開發設備的要求很低,開發時間也大大縮短。寫入單片機內的程序還可以進行加密。
(1)stc1t單片機擴展閱讀
單片機技術的開發
(1)CPU開發。
開發單片機中的CPU匯流排寬度,能夠有效完善單片機信息處理功能緩慢的問題,提高信息處理效率與速度,開發改進中央處理器的實際結構,能夠做到同時運行2-3個CPU,從而大大提高單片機的整體性能。
(2)程序開發。
嵌入式系統的合理應用得到了大力推廣,對程序進行開發時要求能夠自動執行各種指令,這樣可以快速准確地採集外部數據,提高單片機的應用效率。
(3)存儲器開發。
單片機的發展應著眼於內存,加強對基於傳統內存讀寫功能的新內存的探索,使其既能實現靜態讀寫又能實現動態讀寫,從而顯著提高存儲性能。
(4)計算機開發。
進一步優化和開發單機片應激即分析,並應用計算機系統,通過連接通信數據,實現數據傳遞。
Ⅱ 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埠的配置,比如某些中斷的入口,比如某些寄存器的定義等等。在移植之前,還是得拿目標晶元的數據手冊來看看。
Ⅲ STC的1T單片機到底有多快
STC單片機1T模式的速度是在同樣晶振的情況下,是普通51單片機的8~12倍。