今天下班早,所以繼續學習51單片機!
STC89C52RC系列單片機最小應用系統
最小系統中,我覺得最重要的是兩個部分,一個是複位電路,一個是時鐘電路
複位電路,往往在實際應用過程中加上手動複位方式,如下圖:
這裡涵蓋兩種複位方式,1、上點複位;2、手動複位
為什麼要複位電路呢?
我在學習的過程中,覺得複位有兩個作用,這兩個作用是相輔相成的,不能分開的,一個作用是對單片機寄存器初始化,使單片機寄存器狀态恢複到設計時确定的狀态;另一個作用是告訴單片機CPU要從何處(地址)執行程序。
複位電路的原理是單片機RST引腳接收到大約2us以上的電平型号,所以使用電容充放電原理,隻要電容放電時間大于這個值,就可以了。電容的大小并不是一成不變的。
且除了上述的上電複位和手動複位,看門狗複位。
看門狗複位的存在,是為了解決防止程序時間長了,受到幹擾,程序跑飛的情況發生的,如果不在規定的時間内”喂狗“的話,就認為CPU處于異常狀态,看門狗就會強迫CPU複位。
時鐘電路
為什麼要時鐘電路呢?
單片機的時鐘電路十分簡單,就是一個晶體振蕩器,為單片機提供一個節拍,單片機的每一步程序,都是依據這個節拍的控制下執行的,單片機沒有時鐘電路是不能正常工作的,就像是現實生活中,如果沒有了時間,那個整個宇宙就亂套了一樣。
這就是單片機正常工作所依賴的最小應用系統,缺乏其中一個就不能組成一個正常工作的系統了。
STC89C52RC有四組I/O口,分别記為P0,P1,P2,P3口,所有的I/O口有三種工作類型:準雙向口/弱上拉(标準8051輸出模式)、僅為輸入(高阻)、開漏輸出
其中P1、P2、P3上電複位後為準雙向口/弱上拉模式,P0口上電複位後是開漏輸出,P0通常用于總線擴展用,不用加上拉電阻,做I/O口用時,需加上10K-4.7K上拉電阻。
P0口的灌電流最大為12mA,其他I/O口最大為6mA,如果大于這個值的話,單片機會發熱,甚至會造成不可逆的損壞。(灌電流:流向單片機的電流;拉電流:流出單片機的電流。)
準雙向輸出
準雙向口帶有一個幹擾抑制電路,使得準雙向口讀外部狀态前,要先鎖存“1”,才可以讀到外部正确的狀态。(上電為高電平的由來)。
開漏輸出
這裡就隻介紹這兩種I/O結構。
下一節介紹51單片機指令集,當然隻是介紹,有人說有C語言為什麼要學習彙編指令集,這個我隻想說,為了後期的程序調試,為了在嵌入式的道路上走的更遠,雖然51單片機是複雜指令集,但是由于寄存器少的原因,更适合我們從彙編入手,當然編程還是用C語言,彙編隻是讓我們能夠認識單片機的寄存器狀态,C語言在編譯後也是變成了彙編指令,所以好處是大大的。
學習彙編指令集一定要耐得住性子,我也是第一次學習,所以我們共同進步,希望我分享出來的知識,讓你喜歡。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!