ATmega16的4个8位的端口都有各自对应的3个I/O端口寄存器,它们占用了I/O空间的12个地址
下面是PA口寄存器—PORTA、DDRA、PINA各个位的具体定义,以及其是否可以通过指令读写操作和RESET复位后的初始值。其它3个口的寄存器的情况与PA口相同,只是地址不一样。
1) 正确使用AVR的I/O口要注意:先正确设置DDRx方向寄存器,再进行I/O口的读写操作。
2) AVR的I/O口复位后的初始状态全部为输入工作方式,内部上拉电阻无效。所以,外部引脚呈现三态高阻输入状态。
3) 因此,用户程序需要首先对要使用的I/O口进行初始化设置,根据实际需要设定使用I/O口的工作方式(输出还是输入),当设定为输入方式时,还要考虑是否使用内部的上拉电阻。
4) 在硬件电路设计时,如能利用AVR内部I/O口的上拉电阻,可以节省外部的上拉电阻。
本文来源:博客园 - M&D
原文链接:https://www.cnblogs.com/mickey-double/p/12175339.html
审核编辑:何安
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
AVR
+关注
关注
11文章
1122浏览量
78054 -
寄存器
+关注
关注
30文章
5028浏览量
117719
发布评论请先 登录
相关推荐
为什么XMC库不使用控制器的端口输出寄存器TESTBOARD_150PC_OUT ?
为什么XMC库不使用控制器的端口输出寄存器TESTBOARD_150PC_OUT ?
程序库仅使用端口输出修改寄存器 Pn_OMR 来设置或
发表于 03-06 06:17
CPU的6个主要寄存器
CPU寄存器是中央处理器内的组成部分,是有限存贮容量的高速存贮部件。寄存器是CPU内部的元件,包括通用寄存器、专用寄存器和控制寄存器。
请问ADUC7023 GPxDAT寄存器中bit16~bit23的作用是什么?
请问 GPxDAT 寄存器 中的 bit16~bit23的作用是什么?
根据数据手册介绍,是用来配置端口x数据输出,但是改变端口电平不是通
发表于 01-11 07:12
CPSR寄存器和APSR寄存器的组成
程序状态寄存器的作用就是反映处理器的状态信息。在程序运行期间我们可以通过查看程序状态寄存器的状态位来进行程序的分支跳转处理,或者我们可以设置程序状态寄存器的模式位来改变处理器的运行模式,或者我们可以设置程序状态
RISC-V CSR寄存器介绍
RISC-V CSR寄存器 CSR是控制状态寄存器,RISC-V中CSR寄存器,需要使用csrr、csrw、csrrw等特定指令进行访问。 M模式和S模式都有自己的CSR寄存器,但是大
我玩Arduino,但我使用寄存器开发
。ArduinoIDE提供了一个非常简洁、易于使用的开发环境,使编写和上传代码变得简单。它提供了一套简化的函数库和API,使开发者可以轻松地与ATmega328P的硬件进行交互,无需深入了解底层的寄存器操作。但是Arduino也可使用寄存器开发。
评论