單片機I/O口管腳內(nèi)部結(jié)構(gòu)
學(xué)習(xí)ARM嵌入式的時候,發(fā)現(xiàn)自己對以前學(xué)過的數(shù)模器件的知識遺忘了不少,按照我的進度本來應(yīng)該繼續(xù)學(xué)習(xí)ARM微處理器控制的課程,但想著后來勢必還會遇到相同的問題所以就準(zhǔn)備中斷一下,殺回來把匯編和一些電路知識再總結(jié)一下,查漏補缺。如果有寫的不合理的地方,還請多多指教。
言歸正傳,先來一幅圖片來引入今天要講述的三個知識點:
鎖存器(由一個D觸發(fā)器構(gòu)成)
D:數(shù)據(jù)輸入端;
CP/CLK:時序信號輸入端;
Q:輸出端;
~Q:反向輸出端;
工作原理:
當(dāng)D端輸入數(shù)據(jù)信號,CP/CLK端沒有時序信號時,Q和~Q端將不會有信號輸出;
當(dāng)D端輸入數(shù)據(jù)信號,CP/CLK端有時序信號時,Q和~Q端有信號輸出;
當(dāng)D端和CP/CLK端同時有信號輸入后突然撤掉CP/CLK信號時,D的值將會被保存到(“鎖”)在器件內(nèi),此時Q和~Q端并沒有信號輸出,等下一個時序再次輸入到CP/CLK端,Q和~Q將會正常輸出D端傳送的信號;
三態(tài)緩沖器(三態(tài)門)
三態(tài):輸出端的高電平,低電平,高阻態(tài);
這里小哥偷個懶,百度一哥們兒給的解釋,圖文并茂想必更加清晰;
這里給各位初學(xué)者提個醒:連個三態(tài)緩沖器的輸出端并不是說輸出到了鎖存器的D端借口上,而是輸出到了單片機內(nèi)部總線上,至于怎么傳的那是后話;
輸出驅(qū)動器
看圖可知管腳的輸出是靠兩個MOS組成的推挽式結(jié)構(gòu),而且兩個MOS管一次只能導(dǎo)通一個;
多路開關(guān)
首先,P0管口是復(fù)用管口,由于多路開關(guān)的存在是的P0口既可以用作普通I/O口,也可以用作外部拓展時傳輸數(shù)據(jù)和地址信號的總線功能;
P0口做低八位地址總線和數(shù)據(jù)總線,P2做高八位地址總線;
這里解釋一下:不同的單片機結(jié)構(gòu)不同,比如8031系列單片機內(nèi)部沒有程序儲存器ROM,這就是的必須外置ROM,這是就必須犧牲管腳去外接ROM;
友情鏈接:
https://wenku.baidu.com/view/3b2fdb33c77da26924c5b070.html