0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

8bitMCU相關(guān)設(shè)置寄存器及注意事項(xiàng)

中穎電子 ? 來源:中穎電子 ? 作者:中穎電子 ? 2022-07-03 16:10 ? 次閱讀

1、 8bitMCU 通用I/O 結(jié)構(gòu)圖

端口模塊如下圖(79系列圖):

77973eb6-f84c-11ec-ba43-dac502259ad0.png

2、相關(guān)設(shè)置寄存器及注意事項(xiàng):

端口控制寄存器

xxHH 第7位 第6位 第5位 第4位 第3位 第2位 第1位 第0位
PxCR (xxH, Bank0) PxCR.7 PxCR.6 PxCR.5 PxCR.4 PxCR.3 PxCR.2 PxCR.1 PxCR.0
讀/寫 讀/寫 讀/寫 讀/寫 讀/寫 讀/寫 讀/寫 讀/寫 讀/寫
復(fù)位值(POR/WDT/LVR/PIN) 0 0 0 0 0 0 0 0
位編號(hào) 位符號(hào) 說明
7-0 PxCRy
x = 0-7,y = 0-7
端口輸入/輸出控制寄存器
0:輸入模式
1:輸出模式

PxCR寄存器控制I/O輸入輸出狀態(tài)設(shè)置。

當(dāng)寄存器設(shè)置成輸入模式時(shí),Px寄存器讀取的是端口電平狀態(tài)。

當(dāng)寄存器設(shè)置成輸出模式時(shí),Px寄存器讀取的是數(shù)據(jù)寄存器的值。

如有未使用到的I/O,需要設(shè)置輸出固定電平以免I/O浮動(dòng)電平帶來的漏電流。

端口上拉電阻控制寄存器

xxH 第7位 第6位 第5位 第4位 第3位 第2位 第1位 第0位
PxPCR (xxH, Bank0) PxPCR.7 PxPCR.6 PxPCR.5 PxPCR.4 PxPCR.3 PxPCR.2 PxPCR.1 PxPCR.0
讀/寫 讀/寫 讀/寫 讀/寫 讀/寫 讀/寫 讀/寫 讀/寫 讀/寫
復(fù)位值
(POR/WDT/LVR/PIN)
0 0 0 0 0 0 0 0
位編號(hào) 位符號(hào) 說明
7-0 PxPCRy
x = 0-7,y = 0-7
輸入端口內(nèi)部上拉電阻控制
0:內(nèi)部上拉電阻關(guān)閉
1:內(nèi)部上拉電阻開啟

端口數(shù)據(jù)寄存器

xxH 第7位 第6位 第5位 第4位 第3位 第2位 第1位 第0位
Px (xxH, Bank0) Px.7 Px.6 Px.5 Px.4 Px.3 Px.2 Px.1 Px.0
讀/寫 讀/寫 讀/寫 讀/寫 讀/寫 讀/寫 讀/寫 讀/寫 讀/寫
復(fù)位值(POR/WDT/LVR/PIN) 0 0 0 0 0 0 0 0
位編號(hào) 位符號(hào) 說明
7-0 Px.y
x = 0-7,y = 0-7
端口數(shù)據(jù)寄存器

79系列單片機(jī) Px 寄存器都在位尋址區(qū)(例如:80H,88H等),都可以進(jìn)行位尋址操作。

在初始化設(shè)施PxCR(輸出狀態(tài))前,請(qǐng)優(yōu)先設(shè)置Px寄存器,避免WDT,,OVL等復(fù)位帶來的端口電平變化。

當(dāng)PxCR寄存器設(shè)置成輸入狀態(tài)時(shí),操作讀取對(duì)應(yīng)Px,是讀取對(duì)應(yīng)引腳電平狀態(tài)。

當(dāng)PxCR寄存器設(shè)置成輸出狀態(tài)時(shí),根據(jù)指令來分別對(duì)應(yīng) 讀取的是寄存器還是引腳電平。

1、端口寄存器讀-改-寫指令舉例:

ANL P0, #立即數(shù) ;P0->立即數(shù)&(與)P0->P0

ORL P0, A ; P0->A|(或)P0->P0

INC P0 ;P0->P0+1->P0

CPL P0.0 ;P0.0->P0.0~(取反)->P0.0

2、引腳電平讀取指令舉例:

MOV A,P0 ;P0->A

MOV R0, P0 ; P0->R0

不管端口是否共享為其它功能,對(duì)端口寫操作都是針對(duì)端口數(shù)據(jù)寄存器。

當(dāng)?shù)诙δ苡袥_突時(shí),按照端口共享表格中的優(yōu)先級(jí)來決定輸出功能。

通常I/O的優(yōu)先級(jí)是低于其他功能的。

以下圖為例,當(dāng)P0.6引腳上BUZ功能和LED功能同時(shí)選中時(shí),引腳輸出LED波形。

77ac6174-f84c-11ec-ba43-dac502259ad0.png

當(dāng)允許端口復(fù)用為其它功能時(shí),用戶可以修改PxCR﹑PxPCR,但在復(fù)用的其它功能被禁止前,這些操作不會(huì)影響端口狀態(tài)。

當(dāng)允許端口復(fù)用為其它功能時(shí),任何對(duì)端口的讀寫操作只會(huì)影響到數(shù)據(jù)寄存器的值,端口引腳值保持不變,直到復(fù)用的其它功能關(guān)閉。

3、I/O開漏模式介紹:

77bf668e-f84c-11ec-ba43-dac502259ad0.png

在I/O章節(jié)有選擇N溝道開漏功能的寄存器時(shí),可以實(shí)現(xiàn)I/O的N溝道開漏功能(注意上圖紅線處,IO管腳的電壓不得超過VDD+0.3V電壓)

如果I/O章節(jié)沒有該選項(xiàng)的寄存器,但是又有TWI通訊功能,那么在TWI功能開啟時(shí),引腳自動(dòng)切換成N溝道開溝。關(guān)閉TWI功能,自動(dòng)切換回普通I/O。

芯片電源輸入端建議加去耦電路,防止VDD端出現(xiàn)瞬間的高壓引入導(dǎo)致的電路損壞。

4、施密特及TTL功能介紹:

施密特功能介紹:

施密特輸入特性是輸入高電平閾值為0.8VDD,輸入低電平閾值為0.2VDD。

VDD=5V舉例,輸入高電平>=4V,端口讀取的電平為高,輸入低電平<=1V,端口讀取的電平為低。相對(duì)應(yīng)的引腳是否具有施密特功能,請(qǐng)查詢電氣特性章節(jié)(輸入高電壓2和輸入低電壓2中注明有施密特功能的引腳,例如INT0-4,T3-T5等)。普通I/O不具有施密特功能。

TTL功能介紹:

TTL電平輸入特性是

1、輸入高電平閾值為0.25VDD+0.8,輸入低電平閾值為0.15VDD(VDD=2.7V~4.5V)

以VDD=3.3V舉例,輸入高電平>=1.625V,端口讀取的電平為高,輸入低電平<=0.495V,端口讀取的電平為低。

2、 輸入高電平閾值為2.0V,輸入低電平閾值為0.8V(VDD=4.5V~5.5V)

以VDD=5V舉例,輸入高電平>=2V,端口讀取的電平為高,輸入低電平<=0.8V,端口讀取的電平為低。

選擇TTL電平功能可與VDD電壓為3.3V的WIFI模塊直接通過以Uart或者TWI的方式通訊,又或者直接接收外部中斷信號(hào)(INT0-4),不需要外加電平轉(zhuǎn)換電路。(芯片是否有TTL功能請(qǐng)查詢I/O章節(jié)及電氣特性章節(jié))

端口輸入模式選擇寄存器如下(TTL和CMOS選擇)

xxH,Bank1 第7位 第6位 第5位 第4位 第3位 第2位 第1位 第0位
PIMS0 P04S PxxS PxxS PxxS PxxS PxxS PxxS PxxS
讀/寫 讀/寫 讀/寫 讀/寫 讀/寫 讀/寫 讀/寫 讀/寫 讀/寫
復(fù)位值(POR/WDT/LVR/PIN) 0 0 0 0 0 0 0 0
位編號(hào) 位符號(hào) 說明
7 P04S P0.4輸入電平邏輯控制位(不包含端口數(shù)據(jù)寄存器輸入)*
0:輸入高電平閾值為0.8VDD,輸入低電平閾值為0.2VDD(CMOS邏輯,帶施密特)
1:輸入高電平閾值為2.0V,輸入低電平閾值為0.8V(VDD = 4.5 - 5.5V)(TTL邏輯)
輸入高電平閾值為0.25VDD+0.8,輸入低電平閾值為0.15VDD(VDD = 2.7V-4.5V)
注:PowerDown模式下,TLL邏輯無效

*:CPU在任何情況下,讀取端口數(shù)據(jù)寄存器(P0,P1……),其輸入高電平閾值為0.7VDD,輸入低電平閾值為0.3VDD(CMOS邏輯,無施密特);該控制位控制的是其他功能輸入的邏輯電平狀態(tài),例如:INT0 - 4,RXD,SDA等數(shù)字電平輸入。

原文標(biāo)題:中穎8bit 單片機(jī)I/O設(shè)置介紹

文章出處:【微信公眾號(hào):中穎電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6023

    文章

    44376

    瀏覽量

    628358
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    16667

    瀏覽量

    347772
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5253

    瀏覽量

    119201
  • 中穎電子
    +關(guān)注

    關(guān)注

    4

    文章

    171

    瀏覽量

    7372

原文標(biāo)題:中穎8bit 單片機(jī)I/O設(shè)置介紹

文章出處:【微信號(hào):SINO_25181447,微信公眾號(hào):中穎電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    請(qǐng)問在中斷處理程序中操作寄存器時(shí)的注意事項(xiàng)有哪些?

    在中斷處理程序中操作寄存器時(shí)的注意事項(xiàng)
    發(fā)表于 11-23 14:17

    ADS1211與89C52的接口電路設(shè)計(jì),有什么注意事項(xiàng)?

    ADS1211的結(jié)構(gòu)及特點(diǎn)ADS1211的引腳功能ADS1211的重要寄存器設(shè)置ADS1211與89C52的接口電路設(shè)計(jì),有什么注意事項(xiàng)?
    發(fā)表于 04-22 07:13

    使用DR寄存器有哪些需要注意事項(xiàng)

    什么是DR寄存器?DR寄存器有何性能?使用DR寄存器有哪些需要注意事項(xiàng)呢?
    發(fā)表于 12-07 07:38

    與STM32F767串口控制相關(guān)寄存器有哪些呢

    與STM32F767串口控制相關(guān)寄存器有哪些呢?有何功能?有哪些注意事項(xiàng)呢?
    發(fā)表于 12-10 07:14

    AT32 事件喚醒Deepsleep 模式有什么注意事項(xiàng)

    AT32 事件喚醒Deepsleep 模式有什么注意事項(xiàng)Questions:事件喚醒 Deepsleep 模式有什么注意事項(xiàng)?Answer:可以通過 RTC 鬧鐘事件和外部事件喚醒
    發(fā)表于 05-06 19:47

    Si443x-寄存器設(shè)置

    Si443x-寄存器設(shè)置
    發(fā)表于 03-30 17:10 ?4次下載

    AD轉(zhuǎn)換寄存器設(shè)置

    AD轉(zhuǎn)換寄存器設(shè)置AD轉(zhuǎn)換寄存器設(shè)置AD轉(zhuǎn)換寄存器設(shè)置
    發(fā)表于 11-10 17:36 ?16次下載
    AD轉(zhuǎn)換<b class='flag-5'>寄存器</b><b class='flag-5'>設(shè)置</b>

    SZ/SNZ/LSZ/LSNZ指令功能及注意事項(xiàng)

    下一條指令。這些 指令執(zhí)行過程包含讀寫數(shù)據(jù)存儲(chǔ)操作,當(dāng)[m]為特殊功能寄存器時(shí),因特殊功能寄存器與 MCU 的正確操作密切相關(guān),需注意
    發(fā)表于 05-10 14:40 ?3次下載
    SZ/SNZ/LSZ/LSNZ指令功能及<b class='flag-5'>注意事項(xiàng)</b>

    使用注意事項(xiàng)

    使用注意事項(xiàng)
    發(fā)表于 07-07 19:04 ?0次下載
    使用<b class='flag-5'>注意事項(xiàng)</b>

    寄存器是什么 掌握使用寄存器做設(shè)計(jì)需要注意事項(xiàng)

    既然RTL是以寄存器行為為基礎(chǔ),那么就必須先了解寄存器是什么,并且掌握使用寄存器做設(shè)計(jì)需要注意事項(xiàng)
    的頭像 發(fā)表于 07-13 15:38 ?1293次閱讀
    <b class='flag-5'>寄存器</b>是什么 掌握使用<b class='flag-5'>寄存器</b>做設(shè)計(jì)需要<b class='flag-5'>注意</b>的<b class='flag-5'>事項(xiàng)</b>

    8位MCU EEPROM使用注意事項(xiàng)

    中穎8位MCU EEPROM使用注意事項(xiàng)
    的頭像 發(fā)表于 09-27 15:34 ?930次閱讀
    中<b class='flag-5'>8</b>位MCU EEPROM使用<b class='flag-5'>注意事項(xiàng)</b>

    CPSR寄存器和APSR寄存器的組成

    程序狀態(tài)寄存器的作用就是反映處理的狀態(tài)信息。在程序運(yùn)行期間我們可以通過查看程序狀態(tài)寄存器的狀態(tài)位來進(jìn)行程序的分支跳轉(zhuǎn)處理,或者我們可以設(shè)置程序狀態(tài)
    的頭像 發(fā)表于 10-20 11:38 ?3729次閱讀
    CPSR<b class='flag-5'>寄存器</b>和APSR<b class='flag-5'>寄存器</b>的組成

    輕負(fù)載時(shí)開關(guān)元件工作相關(guān)注意事項(xiàng)

    輕負(fù)載時(shí)開關(guān)元件工作相關(guān)注意事項(xiàng)
    的頭像 發(fā)表于 12-14 15:43 ?326次閱讀
    輕負(fù)載時(shí)開關(guān)元件工作<b class='flag-5'>相關(guān)</b>的<b class='flag-5'>注意事項(xiàng)</b>

    示波器接電流探頭時(shí)的設(shè)置方法及注意事項(xiàng)

    示波器接電流探頭時(shí)的設(shè)置方法及注意事項(xiàng)? 示波器是一種用于觀測(cè)電子信號(hào)波形的重要儀器。在實(shí)際應(yīng)用中,經(jīng)常需要接入電流探頭以觀測(cè)電路中的電流波形。正確的設(shè)置方法和注意事項(xiàng)對(duì)于獲取準(zhǔn)確的波
    的頭像 發(fā)表于 01-08 16:36 ?2678次閱讀

    家用路由的使用技巧和注意事項(xiàng)**

    家用路由器使用技巧包括合理放置、定期重啟、設(shè)置強(qiáng)密碼、設(shè)置訪客網(wǎng)絡(luò)、更新固件、啟用雙頻網(wǎng)絡(luò)和設(shè)置家長控制。注意事項(xiàng)包括避免過度擁擠、防止過度疲勞、防止遮擋信號(hào)、定期檢查網(wǎng)絡(luò)設(shè)備、保護(hù)隱
    的頭像 發(fā)表于 03-21 17:37 ?512次閱讀