一般第一種接法用的比較多。選擇內部震蕩方式時晶振旁邊有兩個小電容。這兩個電容叫晶振的負載電容,分別接在晶振的兩個腳上和對地的電容,一般在幾十皮發。它會影響到晶振的諧振頻率和輸出幅度。晶振的負載電容=[(Cd*Cg)/(Cd+Cg)]+Cic+△C式中Cd,Cg為分別接在晶振的兩個腳上和對地的電容,Cic(集成電路內部電容)+△C(PCB上電容)經驗值為3至5pf。
各種邏輯芯片的晶振引腳可以等效為電容三點式振蕩器。晶振引腳的內部通常是一個反相器, 或者是奇數個反相器串聯。在晶振輸出引腳 XO 和晶振輸入引腳 XI 之間用一個電阻連接, 對于 CMOS 芯片通常是數 M 到數十M 歐之間。 很多芯片的引腳內部已經包含了這個電阻, 引腳外部就不用接了。這個電阻是為了使反相器在振蕩初始時處與線性狀態, 反相器就如同一個有很大增益的放大器, 以便于起振。
為什么要選擇12MHz的晶振作為時鐘源呢?
這就要說51單片機內部的幾個周期了:指令周期、機器周期、時鐘周期、振蕩周期。
振蕩周期是指為單片機提供定時信號的振蕩源的周期或外部輸入時鐘的周期。
時鐘周期又稱作狀態周期或狀態時間S,它是振蕩周期的兩倍,分為P1節拍和P2節拍,通常在P1節拍完成算術邏輯操作,在P2節拍完成內部寄存器之間的數據傳送操作。(注意P1 和P2的相位關系 )
一個機器周期由6個狀態組成,如果把一條指令的執行過程分作幾個基本操作,則將完成一個基本操作所需的時間稱作機器周期。單片機的單周期指令執行時間就為一個機器周期。
指令周期是執行一條指令所需的全部時間。MCS-51單片機的指令周期通常由1、2、4個機器周期組成。
對于12MHz的晶振,提供了12M的振蕩周期,6M的時鐘周期,1M的機器周期。所以此時51單片機的單指令周期為(1/1M)s=1us.這個1us有什么好處呢?后面大家會知道單片機應用中會有各種各樣的時序,很多時候需要用一小段程序延時來達到時序要求,而1us的單指令周期比較方便計算延時時間以及確定每條語句的執行時間。應該明確的是單片機執行每條語句用的時間是非常確定的,是1us就是1us不會多一點也不會少一點。
下面說說51單片機的總線擴展:
這種結構就是上一篇說到的三總線結構,如圖所示
1、數據總線
51 單片機的數據總線為P0 口,CPU 從P0 口送出和讀回數據。
2、地址總線
51 系列單片機的地址總線為16 位。
為了節約芯片引腳,采用P0 口復用方式,除了作為數據總線外,在ALE 信號時序匹配下,通過外置的數據鎖存器,在總線訪問前半周期從P0口送出低8位地址,后半周期從P0 口送出8 位數據。
高8位地址則通過P2 口送出。
3、控制總線
51 系列單片機的控制總線包括(RD)讀控制信號P3.7 和(WR)寫控制信號P3.6 等,二者分別作為總線模式下數據讀和數據寫的使能信號。
51 單片機總線時序如圖 所示。
從圖2 中可以看出,完成一次總線( 讀寫) 操作周期為T,P0 口分時復用,在T0 期間,P0 口送出低8 位地址,在ALE 的下降沿完成數據鎖存,送出低8位地址信號。在T1 期間,P0 口作為數據總線使用,送出或讀入數據,數據的讀寫操作在讀、寫控制信號的低電平期間完成。
需要注意的是,在控制信號( 讀、寫信號) 有效期間,P2 口送出高8位地址,配合數據鎖存器輸出的低8 位地址,實現16 位地址總線,即64kB 范圍的內的尋址。
由于CPU不可能同時執行讀和寫操作,所以讀、寫信號不可能同時有效。
采用這種總線結構按照規定的時序能夠最大程度的利用單片機的全部地址線。這就是單片機的編址。編址分為線選法和譯碼法,譯碼法分為全譯碼、部分譯碼。線選法的優點是簡單但是非常浪費地址線;全譯碼法能夠最大程度的利用全部地址線,但是電路很復雜需要一些與非門的配合才行。一般用部分譯碼法性價比最高,尤其是在外接了存儲芯片時部分譯碼法很方便。
-
單片機
+關注
關注
6037文章
44565瀏覽量
635984 -
51單片機
+關注
關注
274文章
5704瀏覽量
123726
原文標題:51單片機的時鐘及總線時序和總線擴展
文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論