微控制器I/O口管腳內部結構(鎖存器,輸出驅動器,三態緩衝器,多路開關)
學習ARM嵌入式的時候,發現自己對以前學過的數模器件的知識遺忘了不少,按照我的進度本來應該繼續學習ARM微處理器控制的課程,但想著後來勢必還會遇到相同的問題所以就準備中斷一下,殺回來把彙編和一些電路知識再總結一下,查漏補缺。如果有寫的不合理的地方,還請多多指教。
言歸正傳,先來一幅圖片來引入今天要講述的三個知識點:
鎖存器(由一個D觸發器構成)
D:資料輸入端;
CP/CLK:時序訊號輸入端;
Q:輸出端;
~Q:反向輸出端;
工作原理:
當D端輸入資料訊號,CP/CLK端沒有時序訊號時,Q和~Q端將不會有訊號輸出;
當D端輸入資料訊號,CP/CLK端有時序訊號時,Q和~Q端有訊號輸出;
當D端和CP/CLK端同時有訊號輸入後突然撤掉CP/CLK訊號時,D的值將會被儲存到(“鎖”)在器件內,此時Q和Q端並沒有訊號輸出,等下一個時序再次輸入到CP/CLK端,Q和
三態緩衝器(三態門)
三態:輸出端的高電平,低電平,高阻態;
這裡小哥偷個懶,百度一哥們兒給的解釋,圖文並茂想必更加清晰;
這裡給各位初學者提個醒:連個三態緩衝器的輸出端並不是說輸出到了鎖存器的D端藉口上,而是輸出到了微控制器內部總線上,至於怎麼傳的那是後話;
輸出驅動器
看圖可知管腳的輸出是靠兩個MOS組成的推輓式結構,而且兩個MOS管一次只能導通一個;
多路開關
首先,P0管口是複用管口,由於多路開關的存在是的P0口既可以用作普通I/O口,也可以用作外部拓展時傳輸資料和地址訊號的匯流排功能;
P0口做低八位地址匯流排和資料匯流排,P2做高八位地址匯流排;