單片機引腳讀寫(xiě)操作

發(fā)布時(shí)間:2013-4-7 14:08    發(fā)布者:wp1981
關(guān)鍵詞: 單片機 , 引腳
李椋

自己總結下單片機引腳的用法。

使用單片機時(shí)肯定會(huì )用到單片機的IO引腳。以51單片機P1口為例。內部結構如圖所示



當單片機進(jìn)行寫(xiě)操作時(shí),引腳鎖存器(D觸發(fā)器)CLK端接收有效電平,然后內部總線(xiàn)上需要寫(xiě)的數據就會(huì )通過(guò)D觸發(fā)器傳輸到Q'。當寫(xiě)1時(shí)Q'為0,使MOSFET截止,因此外部引腳電平為1.當寫(xiě)0時(shí)Q'為1,MOSFET飽和導通,此時(shí)引腳可以看成接地,所以引腳為0。

如果對單片機IO口進(jìn)行讀操作。由圖可以看出讀操作包括讀寄存器和讀引腳。以前知道有這兩種區別,但是從來(lái)沒(méi)仔細區分過(guò)。從圖中可以看出讀寄存器時(shí)讀寄存器上的三態(tài)緩沖器打開(kāi),Q端的值直接傳到了內部總線(xiàn)上,而下面的讀引腳三臺緩沖器是高阻態(tài),讀引腳時(shí)則相反。

匯編語(yǔ)言中對讀寄存器和讀引腳做了一定的區別,但說(shuō)實(shí)話(huà)我在看匯編代碼時(shí)還是區分不清兩者的區別,F在大家對單片機編程應該大部分采用的都是C語(yǔ)言,在我看來(lái),C語(yǔ)言中已經(jīng)極大的淡化了讀寄存器還是讀引腳的區別。

有些人說(shuō)a=P1是讀引腳(a是某個(gè)字符變量),P1=P1|0x00是讀寄存器(可能是認為這里P1進(jìn)行了一次邏輯運算,只有寄存器中的值才能進(jìn)行邏輯運算),但我在用C語(yǔ)言時(shí)感覺(jué)用P1=P1|0x00也是讀的引腳。也有些人說(shuō)看經(jīng)過(guò)編譯器編譯后的匯編代碼才能分辯出兩者的區別,不知道這里大家怎么看讀引腳和讀寄存器?

在讀引腳時(shí)需要先向引腳鎖存器中寫(xiě)1。因為如果引腳寄存器中是0的話(huà)會(huì )導通MOSFET,使外部端口一直是低電平,即使外面接的是高電平在讀引腳的時(shí)候也讀的是0。以前知道需要這樣做,但讀引腳的時(shí)候一直沒(méi)寫(xiě)過(guò)1,發(fā)現讀的也對,現在我覺(jué)得這樣寫(xiě)不符合規范。

一般來(lái)說(shuō)單片機在上電復位后默認引腳寄存器的值是1,這樣一來(lái)關(guān)斷了MOSFET,而我們在使用單片機的時(shí)候如果這個(gè)引腳作為輸入,也不會(huì )讓它變成一會(huì )兒輸出一會(huì )兒輸入,使得能夠準確的讀出外部端口的值,F在我在寫(xiě)程序時(shí)如果端口做為輸入引腳,我會(huì )在初始化里對其寫(xiě)一次1。當然,以后就不用寫(xiě)了,因為寫(xiě)了一次1后沒(méi)有其他的寫(xiě)操作,引腳鎖存器中會(huì )一直保持這個(gè)值不變。當然,如果某個(gè)單片機引腳同時(shí)作為輸出和輸入引腳復用時(shí),則必須在輸出完成后變成輸入前先向其寫(xiě)1,再讀引腳的值。
本文地址:http://selenalain.com/thread-113111-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
hongsayang 發(fā)表于 2013-4-8 04:10:08
nice
yangguang100 發(fā)表于 2013-4-14 14:59:57
謝謝分享
電子愛(ài)好無(wú)極限 發(fā)表于 2013-4-17 22:42:11
wccd 發(fā)表于 2013-4-22 12:52:38
學(xué)習學(xué)習
sunmoonnjch 發(fā)表于 2013-4-20 11:31:22
看國外芯片資料解釋的更清晰!
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)在線(xiàn)工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页