日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

你好!歡迎來(lái)到深圳市穎特新科技有限公司!
語(yǔ)言
當(dāng)前位置:首頁(yè) >> 技術(shù)中心 >> 單片機(jī)入門 >> 單片機(jī)引腳與端口操作

單片機(jī)引腳與端口操作

關(guān)鍵字:單片機(jī) 單片機(jī)引腳 單片機(jī)端口 作者:admin 來(lái)源:不詳 發(fā)布時(shí)間:2018-05-19  瀏覽:9

以前寫過一篇也是關(guān)于單片機(jī)引腳的文章,寫的非常簡(jiǎn)單,那時(shí)候的見解,今天再次看到單片機(jī)關(guān)于讀引腳和端口的操作時(shí)突然又是非常的不解,上網(wǎng)搜資料很多也都是關(guān)于單片機(jī)IO口結(jié)構(gòu)的解釋,經(jīng)過一番辛苦的搜索終于是找到了關(guān)于端口和引腳的資料,下面是我自己從各個(gè)方面總理的。

首先對(duì)于單片機(jī)IO口一般有第二功能,因?yàn)镻0口比較特別以P0口為例說明。具體的單片機(jī)IO口結(jié)構(gòu)和功能見:戳這里

1. P0口置1是怎么回事,什么時(shí)候置1?

單片機(jī)P0口作為輸入時(shí)需要先給鎖存器置1,以關(guān)閉V2場(chǎng)效應(yīng)管,不置1的話當(dāng)鎖存器的值為0時(shí),V2導(dǎo)通接地使引腳的值為低,不能輸入高電平。至于怎么給P0口置1,就是給P0寄存器置1.

2. P0口怎么要接上拉電阻?有什么用?

見P0口結(jié)構(gòu)圖可知,P0口作為通用IO口,即輸入輸出口時(shí),需要把V1場(chǎng)效應(yīng)管關(guān)閉,多功能開關(guān)連接到鎖存器,高電平信號(hào)通過鎖存器Q'端輸出時(shí)為低電平,V2管截止,V1,V2都截止,輸出既不是高電平又不是低電平,這就是漏極開路輸出。為了能夠輸出高電平需要外接上拉電阻。

3. 讀引腳和讀端口有什么不一樣?

讀引腳是讀P0口引腳上的電平信號(hào),讀端口是讀鎖存器中的值,即就是讀P0口寄存器的值。作為輸出時(shí)引腳和端口的值是一樣的,但是作為輸入時(shí)因?yàn)橥庠O(shè)可以影響引腳的值,所以端口和引腳的值作為輸入時(shí)可以不一樣。

4. 什么時(shí)候讀端口?什么時(shí)候讀引腳?各自的指令是什么?

一般的教科書上都會(huì)強(qiáng)調(diào):讀端口的指令為端口內(nèi)容取反這樣的“讀-修改-寫”指令。而讀引腳之前,先置1,然后用Mov A,Px之類的指令即可。 以下是從web(http://www.dzsc.com/dzbbs/20061112/200765184756359377.html )上搜集的資料:

“ 資料稱: 這樣的指令才有 Read-Modify-Write 功效

ANL (logical AND, e.G., ANL P1,A)

ORL (logical OR, e.g., ORL P2,A)

XRL (logical EX-OR, e.g., XRL P3,A)

JBC (jump if bit = 1 and clear bit, e.g., JBC P1.1, LABEL)

CPL (complement bit, e.g., CPL P3.0)

INC (increment, e.g., INC P2)

DEC (decrement, e.g., DEC P2)

DJNZ (decrement and jump if not zero, e.g., DJNZ P3, LABEL)

MOV PX.Y,C(move carry bit to bit Y of PORT X)

CLR PX.Y(clear bit Y of PORT X)

SETB PX.Y(set bit Y of PORT X)

有沒有讀端口的指令(而不修改端口)?

可以說,沒有直接的讀端口的指令。無(wú)論之前是否置1,以下指令

MOV A, P1

MOV 20H, P1

MOV R0, P1

MOV @R0, P1

讀的都是引腳,盡管不一定讀準(zhǔn)確。

5. 端口的內(nèi)容什么時(shí)候發(fā)生改變?當(dāng)Px口作為輸入,若外部引腳信號(hào)不斷變化,讀取引腳值之后, 端口內(nèi)容是否變化?

某網(wǎng)友的看法與我不謀而合:“ 由于復(fù)位后各引腳寄存器的值是明確的,而以后各引腳的寄存器的值的改變不會(huì)因?yàn)樾酒饷娑?影響到引腳寄存囂的值,引腳的寄存器的值只可能由程序來(lái)改變,所以就沒有必要只讀寄存器的值而不改變寄存器的內(nèi)容了。 ”

參考引腳內(nèi)部結(jié)構(gòu)圖可知,端口就是一個(gè)鎖存器,縱使鎖存器D口數(shù)據(jù)在變(內(nèi)部數(shù)據(jù)線),只要時(shí)鐘觸發(fā)端clk沒有觸發(fā)信號(hào),鎖存器中的內(nèi)容永遠(yuǎn)都不會(huì)改變,也就是說,不管外部引腳信號(hào)如何變,也不管執(zhí)行過多少次讀引腳操作,端口鎖存器中的內(nèi)容是不會(huì)發(fā)生變化的。

那么,端口內(nèi)容何時(shí)變化?答曰:只要執(zhí)行過一次輸出,端口內(nèi)容必為輸出值,因?yàn)槎丝诰褪禽敵龅臄?shù)據(jù)鎖存器。

6. 端口上的內(nèi)容亦即反映到引腳上來(lái)嗎?

Px口如果作為輸出口,由引腳內(nèi)部結(jié)構(gòu)可知,端口內(nèi)容是直接反映到引腳上去的。這對(duì)于P1口更為直接。而其他口,由于有第二功能,是否作為I/O口受內(nèi)部控制信號(hào)的控制

關(guān)于單片機(jī)其他IO口和P0差不多就不多說了,以后再繼續(xù)更新對(duì)IO口的理解,今天就先寫到這里,這里有些資料是引用別人的,在這里非常感謝大家的分享。

編輯:admin  最后修改時(shí)間:2018-05-19

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬(wàn)眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4

苗栗县| 科技| 曲阜市| 永州市| 改则县| 宁夏| 都安| 永仁县| 潼南县| 四会市| 枝江市| 保德县| 临沧市| 乾安县| 正宁县| 荥经县| 余姚市| 台北市| 十堰市| 陕西省| 洪洞县| 襄樊市| 刚察县| 忻城县| 姚安县| 富民县| 贵阳市| 通海县| 凤山市| 红河县| 广平县| 开远市| 巴塘县| 内乡县| 固镇县| 海盐县| 板桥市| 麻城市| 林西县| 望谟县| 青州市|