ATmega16的4個8位的端口都有各自對應(yīng)的3個I/O端口寄存器,它們占用了I/O空間的12個地址
下面是PA口寄存器—PORTA、DDRA、PINA各個位的具體定義,以及其是否可以通過指令讀寫操作和RESET復(fù)位后的初始值。其它3個口的寄存器的情況與PA口相同,只是地址不一樣。
1) 正確使用AVR的I/O口要注意:先正確設(shè)置DDRx方向寄存器,再進行I/O口的讀寫操作。
2) AVR的I/O口復(fù)位后的初始狀態(tài)全部為輸入工作方式,內(nèi)部上拉電阻無效。所以,外部引腳呈現(xiàn)三態(tài)高阻輸入狀態(tài)。
3) 因此,用戶程序需要首先對要使用的I/O口進行初始化設(shè)置,根據(jù)實際需要設(shè)定使用I/O口的工作方式(輸出還是輸入),當(dāng)設(shè)定為輸入方式時,還要考慮是否使用內(nèi)部的上拉電阻。
4) 在硬件電路設(shè)計時,如能利用AVR內(nèi)部I/O口的上拉電阻,可以節(jié)省外部的上拉電阻。
本文來源:博客園 - M&D
原文鏈接:https://www.cnblogs.com/mickey-double/p/12175339.html
審核編輯:何安
-
AVR
+關(guān)注
關(guān)注
11文章
1125瀏覽量
79411 -
寄存器
+關(guān)注
關(guān)注
31文章
5397瀏覽量
122674
發(fā)布評論請先 登錄
相關(guān)推薦
I/O接口與I/O端口的區(qū)別
把ADS7864接DSP5402映射到I/O空間,用端口尋址方式PORTR讀取采樣數(shù)據(jù),是不是每一次讀取的數(shù)據(jù)都是在寄存器0里?
寄存器是什么意思?寄存器是如何構(gòu)成的?

寄存器尋址和直接尋址的區(qū)別
寄存器分為基本寄存器和什么兩種
TCA9554A具有中斷輸出和配置寄存器的低壓8位I2C和SMBus低功耗I/O擴展器數(shù)據(jù)表

具有中斷輸出和配置寄存器的PCA9554遠程8位I2C和SMBus I/O擴展器數(shù)據(jù)表

PCA9554A具有中斷輸出和配置寄存器的遠程8位I2C和SMBus I/O擴展器數(shù)據(jù)表

具有中斷輸出和配置寄存器的 PCA9534A遠程8位I2C和SMBus 低功耗 I/O 擴展器數(shù)據(jù)表

具有中斷輸出、復(fù)位和配置寄存器的PCA9539遠程16位I2C 和SMBus 低功耗 I/O 擴展器數(shù)據(jù)表

具有中斷輸出和配置寄存器的 PCA9535 遠程 16位I2C和SMBus I/O擴展器數(shù)據(jù)表

具有中斷輸出和配置寄存器的PCA9555遠程16位I2C和 SMBus I/O擴展器數(shù)據(jù)表

TCA9537具有配置寄存器的遠程4位I2C和SMBus I/O擴展器數(shù)據(jù)表

PCA9536具有配置寄存器的遠程4位I2C和SMBus I/O擴展器數(shù)據(jù)表

TCA9536具有配置寄存器的遠程4位I2C和SMBus I/O擴展器數(shù)據(jù)表

評論